HashMap 和 ConcurrentHashMap 的区别
Posted lk13227
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap 和 ConcurrentHashMap 的区别相关的知识,希望对你有一定的参考价值。
- 线程安全性不同, HashMap 是线程不安全的, ConcurrentHashMap 是线程安全的.
- ConcurrentHashMap 采用锁分段技术, 将整个 Hash 桶进行了分段 segment, 也就是将这个大的数组分成了几个小的片段 segment, 而且每个 segment 片段上面都有锁的存在, 那么在插入元素的时候就需要先找到应该插入到哪一个 segment 片段, 然后再在这个片段上进行插入, 而且这里还需要获取 segment 锁.
- ConcurrentHashMap 相比 HashTable 让锁的粒度更精细一些, 并发性能更好.
以上是关于HashMap 和 ConcurrentHashMap 的区别的主要内容,如果未能解决你的问题,请参考以下文章
JDK1.8 concurrentHashMap 同步机制难点解析