From 9cc9218c71de155d4e2d09897264a05d1da390ba Mon Sep 17 00:00:00 2001 From: tangj1992 <694756023@qq.com> Date: Mon, 24 May 2021 10:37:30 +0800 Subject: [PATCH] =?UTF-8?q?Update=20ConcurrentHashMap=E6=BA=90=E7=A0=81+?= =?UTF-8?q?=E5=BA=95=E5=B1=82=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E5=88=86?= =?UTF-8?q?=E6=9E=90.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改错别字 --- .../ConcurrentHashMap源码+底层数据结构分析.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/collection/ConcurrentHashMap源码+底层数据结构分析.md b/docs/java/collection/ConcurrentHashMap源码+底层数据结构分析.md index ebabf4a4..cb5ce818 100644 --- a/docs/java/collection/ConcurrentHashMap源码+底层数据结构分析.md +++ b/docs/java/collection/ConcurrentHashMap源码+底层数据结构分析.md @@ -91,7 +91,7 @@ public ConcurrentHashMap(int initialCapacity,float loadFactor, int concurrencyLe 总结一下在 Java 7 中 ConcurrnetHashMap 的初始化逻辑。 1. 必要参数校验。 -2. 校验并发级别 concurrencyLevel 大小,如果大于最大值,重置为最大值。无惨构造**默认值是 16.** +2. 校验并发级别 concurrencyLevel 大小,如果大于最大值,重置为最大值。无参构造**默认值是 16.** 3. 寻找并发级别 concurrencyLevel 之上最近的 **2 的幂次方**值,作为初始化容量大小,**默认是 16**。 4. 记录 segmentShift 偏移量,这个值为【容量 = 2 的N次方】中的 N,在后面 Put 时计算位置时会用到。**默认是 32 - sshift = 28**. 5. 记录 segmentMask,默认是 ssize - 1 = 16 -1 = 15.