![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jdk源码
weizhen_
这个作者很懒,什么都没留下…
展开
-
1.7ConcurrentHashMap
使用锁分段技术,利用Segment实现分段锁,每个Segment包含table: transient volatile HashEntry<K,V>[] table; 对于put使用tryLock() 加锁保证并发安全性。对于get无需加锁因为 使用了volatile替换了synchronized。提供了线程间的可见性, 对于key这是使用...原创 2018-07-09 21:37:33 · 315 阅读 · 0 评论 -
1.8ConcurrentHashMap
使用减小锁粒度的方式实现高并发。实现方式较7及之前有较大的变化, 不在使用segment进行锁分段的技术。 直接使用Node存储值,put操作的时候根据hash到的table的节点进行加锁, 而不是对整个table加锁达到减小锁的粒度实现更高的并发性能。 /** * Key-value entry. T...原创 2018-07-09 21:39:59 · 195 阅读 · 0 评论