HashMap解析

HashMap解析:

1.8之前  数组+链表;

1.8之后  数组+链表+红黑树;

初始化装载因子为0.75,初始容量为16,最大容量2的30次方;

HashMap解析

 

HashMap解析

 

HashMap解析

 

HashMap解析

 

threshold:阈值,

HashMap解析

扩容机制

初始容量16*0.75=12,桶的容量为16,记录大于12时即第一次扩容为32;

              32*0.75=24,桶的容量为32,记录大于24时第二次扩容为64;

              64*0.75=48 ,桶的容量为64,记录大于48时第三次扩容为128;

 

HashMap解析

 

HashMap解析

 

多线程并发put操作为何会生成环形链表,产生死循环