JDK1.8 HashMap两种扩容的情况和转红黑树
JDK1.8 HashMap两种扩容的情况。
1,当map实际数量等于threshold容量的阈值时,会进行两倍扩容。
2,当map中数组中某个桶的链表长度大于树形化阈值TREEIFY_THRESHOLD=8时,
并且map元素的数量小于树形化最小容量MIN_TREEIFY_CAPACITY=64时候,容量进行两倍扩容。
否则树形化阈值8并且map元素个数大于64时,进行链表转红黑树。
put方法
treeifyBean树形化方法:
注: 下图第3行。MIN_TREEIFY_CAPACITY=64,在树化过程时,当map长度小于这个值时,会再次扩容,不会走树化过程。