【周刊】 JDK1.7中HashMap死环问题及JDK1.8中对HashMap的优...

一、JDK1.7中HashMap扩容死锁问题我们首先来看一下JDK1.7中put方法的源码我们打开addEntry方法如下,它会判断数组当前容量是否已经超过的阈值,例如假设当前的数组容量是16,加载因子为0.75,即超过了12,并且刚好要插入的索引处有元素,这时候就需要进行扩容操作,可以看到resize扩容大小是原数组的两倍,仍然符合数组的长度是2的指数次幂我们再进入resize方法如下,它首先会对...

【周刊】 Dubbo应用服务迁移到Kubernetes集成方案

Dubbo应用迁移到docker的问题Dubbo是阿里开源的一套服务治理与rpc框架,服务的提供者通过zookeeper把自己的服务发布上去,然后服务调用方通过zk获取服务的ip和端口,dubbo客户端通过自己的软负载功能自动选择服务提供者并调用,整个过程牵涉到的三方关系如下图所示。在正常的情况下,这三方都在同一个互通的网段,provider提供给zk的就是获取到的本机地址,consumer能访问到...

初创公司5大Java服务困局,阿里工程师如何打破?
Java源码

初创公司5大Java服务困局,阿里工程师如何打破?

7 0

初创公司遇到的每一个问题都可能攸关生死。创业之初更应该总结行业的常见问题,对比方案寻找最优解。阿里巴巴地图技术专家常意在技术圈摸爬滚打数年,接触了各式各样的Java服务端架构。服务端问题见得多了,也就更能分辨出各种方案的优劣。今天,常意总结了5大初创公司存在的Java服务端难题,并尝试性地给出了一些...

阅读全文
Dubbo应用服务迁移到Kubernetes集成方案
CentOS

Dubbo应用服务迁移到Kubernetes集成方案

15 0

Dubbo应用迁移到docker的问题Dubbo是阿里开源的一套服务治理与rpc框架,服务的提供者通过zookeeper把自己的服务发布上去,然后服务调用方通过zk获取服务的ip和端口,dubbo客户端通过自己的软负载功能自动选择服务提供者并调用,整个过程牵涉到的三方关系如下图所示。在正常的情况下,...

阅读全文
JDK1.7中HashMap死环问题及JDK1.8中对HashMap的优化源码详解
Java源码

JDK1.7中HashMap死环问题及JDK1.8中对HashMap的优化源码详解

29 0

一、JDK1.7中HashMap扩容死锁问题我们首先来看一下JDK1.7中put方法的源码我们打开addEntry方法如下,它会判断数组当前容量是否已经超过的阈值,例如假设当前的数组容量是16,加载因子为0.75,即超过了12,并且刚好要插入的索引处有元素,这时候就需要进行扩容操作,可以看到resi...

阅读全文
MySQL

mysql事务表锁表,解锁,锁事务命令说明

51 0

1. mysql都有什么锁MySQL有三种锁的级别:页级、表级、行级。表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒...

阅读全文
什么是索引?MySQL常见的几种索引类型和原理
MySQL

什么是索引?MySQL常见的几种索引类型和原理

179 0

在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。更通俗的说,数据库索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。MySQL索引的建立对于MySQL的高...

阅读全文