关于java:ConcurrentHashMap

15次阅读

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

不全啊

一个 concurrentHashMap 是一个 segment 数组,一个 segment 里是个 hashEntry 数组,对不同的 segment 进行操作无需思考锁竞争。

segment 也有负载因子、阈值,像一个 hashmap,容量也是 2 的幂。

concurrentHashmap 的 put:1. 定位到 segment,2. 对 segment 调用 put

get 办法无需加锁,因为其中波及到的共享变量都应用 volatile 润饰,volatile 能够保障内存可见性,所以不会读取到过期数据。

正文完
 0