ConcurrentHashMap在JDK 1.7与JDK 1.8中的比较分析
发布时间
阅读量:
阅读量
在Java 8版本中对ConcurrentHashMap这个常用工具类进行了改进,并与Java 7版本在多个方面进行了比较研究。然而,在Java 7版本中的Segment类的设计理念仍然具有重要的参考价值与学习意义。本博客将重点对比介绍ConcurrentHashMap在两个不同版本中的特点及其性质。
Java 7 版本的 ConcurrentHashMap
我们首先来看一下 Java 7 版本中的 ConcurrentHashMap 的结构示意图:

通过图示可知,在 ConcurrentHashMap 中实现了 Segment 的分隔,并使每个 Segment 都继承了 ReentrantLock 功能。这种设计相当于一把专有锁机制将各段之间的上锁操作相互独立互不干扰。相较于传统的 Hashtable 方法每次都需要对整个对象进行加lock操作而言 显著提升了并发性能的原因在于其内部采用了相互独立的多把专用lock机制
每个Segment采用的数据结构类似于HashMap,并由数组与链表结合而成采用拉链法实现数据存储机制。系统预设分配了从
全部评论 (0)
还没有任何评论哟~
