ConcurrentHashMap的数据结构+以及各个版本之间的区别

ConcurrentHashMap 1.7与1.8的区别
1、锁结构不同
2、put的流程不同
3、size的计算方式不同(1.8使用的使用base+cell[]计算,有点类似于LongAdder,1.7使用三级通缉判断是否一样,不一样通过分段式加锁再求和)
4、数据结构不同,1.6 ReentrantLock+Segment+HashEntry 需要两次Hash 1.8只需要一次hash synchronized+CAS+HashEntry+红黑树

ConcurrentHashMap的数据结构+以及各个版本之间的区别_第1张图片
1.7的数据结构

跳转地址:跳转

你可能感兴趣的:(数据结构)