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+红黑树
1.7的数据结构
跳转地址:跳转
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+红黑树
1.7的数据结构
跳转地址:跳转
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/179807.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!