在Node链表长度超过7的时候会执行treeifyBin方法进行树的转换.
但是在treeifyBin方法里又判断了tab(也就是放Node链表的数组)的长度不超过64时, 仅执行resize
我想问的是, 链表的长度和tab的length有毛关系?
为什么链表超长了,需要resize tab?
以下为部分源码
// bincount 就是链表的长度. TREEIFY_THRESHOLD默认为8
if (binCount >= TREEIFY_THRESHOLD - 1)
treeifyBin(tab, hash);
// MIN_TREEIFY_CAPACITY 默认为64
if (tab == null || (n = tab.length) < MIN_TREEIFY_CAPACITY)
resize();