1:这里的n是原始数组的长度 2:fh&原始数组长度n1 是为了计算高低位,计算桶在node[]数组的索引才会用fh&(扩容后的数组长度n2-1) 3:计算高低位是为了尽可能的重用链表,提升性能 4:这样计算满足一个规律,对于低位 fh&(n2-1)=fh&(n1-1) 即下标保持不变,对于高位 fh&(n2-1)=fh&(n1-1)+n1即高位下标等于原来索引+原始长度。
并发编程之ConcurrentHashMap源码解读-1.8上一篇文章并发编程之synchronized的前世今生[https://www.jianshu.com/p/849923d9740e],我们介绍了锁的分类,synchroni...