Thread.yield();
CAS, ABA问题
头插法,1.7的jdk会导致resize死循环
1.8已经去掉了segment,改为每个桶都加锁,原因1,增加并发度,原因2,降低复杂度。
get方法不加锁,因此不能保证强一致性。
1.对baseCount进行cas增加,增加失败,往多个CounterCell随机一个进行自增,两次cas自增失败,就会扩容
2.baseCount+遍历CounterCell,求和
3.根本原因是多线程并发下,对单一个全局变量进行cas自增太耗性能,将自增分散到各个节点,提升性能。