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

JDK1.8 concurrentHashMap 同步机制难点解析

详解Java多线程并发问题

Collections.synchronizedMap()与ConcurrentHashMap的区别

调试JDK1.8源码的方法

Hashmap 和并发 HashMap 有啥区别? [复制]