题目列表:
- ConcurrentHashMap 的存储结构是怎样的?
- ConcurrentHashMap 的并发控制机制?
问题:ConcurrentHashMap 的存储结构是怎样的?
回答思路
- 介绍基本结构;
- 存储结构介绍;
-
- 节点数组;
- 哈希值的计算;
- 哈希值的定位
- 总结
1. 简单介绍基本结构
- Java7:
ConcurrentHashMap
的内部结构是由一组桶(segments)组成的,每个桶本质上是一个独立的哈希表。 - Java8:
ConcurrentHashMap
不再使用Segment数组,而是采用了与HashMap
类似的节点数组加链表和红黑树的结构,但增加了并发控制的机制。
2. 存储结构
核心概念:节点数组和哈希值的计算和定位。