ConcurrentHashMap
是 Java 中的一个高性能线程安全的哈希表实现,随着 JDK 版本的迭代,其内部实现也经历了多次优化和改进。每个版本的改动针对不同的场景和需求进行了性能提升和问题修复。以下分别描述了 JDK 7、JDK 8 和 JDK 17 的主要设计和区别,并探讨了 JDK 17 的优化。
JDK 7 中的 ConcurrentHashMap
在 JDK 7 中,ConcurrentHashMap
使用的是 分段锁(Segment-based locking) 的设计。这种设计是通过将整个哈希表分成若干段(Segment),每段锁住部分桶来允许更高的并发度。
- 设计特点 :
-
- 哈希表被划分为多个
- 哈希表被划分为多个