ConcurrentHashMap 参考资料 参考资料 sun.misc.Unsafe objectFieldOffset方法,返回成员属性在内存中的地址相对于对象内存地址的偏移量 Unsafe类详解 为什么要用TreeBin来包装TreeNode,因为TreeNode的话,如果加了锁,红黑树的根节点是会变的,所以锁不住,所以变成锁对象.根节点是内部的. 变量说明 这两个变量相当于要算其中的元素个数baseCountCounterCell每个线程会生成一个随机数,然后和CounterCell的长度减一进行相与,类似于hash, jdk1.8 LongAdder源码学习 LongAdder源码学习 sizeCtl,初始值为0,初始化时减1,然后是 == 阈值