ConcurrentHashMap探究

14次阅读

共计 472 个字符,预计需要花费 2 分钟才能阅读完成。

ConcurrentHashMap

ConcurrentHashMap 是线程安全,性能出色的 Map 的线程安全实现,相比较 HashMap 他是线程安全的,相比较 HashTable 他的性能优势非常明显。他的使用很简单,这里主要是想要探究一下 ConcurrentHashMap 的实现原理。
在这里一共有 个问题需要搞明白。

  • ConcurrentHashMap 为什么比 HashTable 的性能要高?
  • ConcurrentHashMap 在 JDK8 和 JDK7 有什么变化,为什么会有这种变化,对我们开发有什么启示?
  • 为什么在 JDK8 中使用 Synchronized 而不是用 ReentrantLock 来实现加锁?

带着这几个问题我们来分析一下 ConcurrentHashMap 的源码吧。

ConcurrentHashMap 定义

在 JDK8 中 ConcurrentHashMap 的定义如下:

public class ConcurrentHashMap<K,V> extends AbstractMap<K,V>
    implements ConcurrentMap<K,V>, Serializable {

正文完
 0