Переглянути джерело

更新 '_posts/Java-HashMap.md'

aaronwei 3 роки тому
батько
коміт
a30ef3d363
1 змінених файлів з 6 додано та 6 видалено
  1. 6 6
      _posts/Java-HashMap.md

+ 6 - 6
_posts/Java-HashMap.md

@@ -11,13 +11,13 @@ tags: Java
 
 ## 1 初始容量
 
-### 1.1 初始大小16 ,扩容因子是0.75 ,比如16的大小,达到12就要扩容 
+###    1.1 初始大小16 ,扩容因子是0.75 ,比如16的大小,达到12就要扩容 
 
-### 1.2 在new HashMap()如果设置默认大小,会在第一次put的时候进行设置容量大小
+###    1.2 在new HashMap()如果设置默认大小,会在第一次put的时候进行设置容量大小
 
 ## 2 数据结构
 
-### 2.1 各种map对比
+###    2.1 各种map对比
 
 
 | Map | 数据结构 | 描述 |
@@ -26,13 +26,13 @@ tags: Java
 | LinkedHashMap     | 数组+双向链表     | 非线程安全,有序     |
 | ConcurrentHashMap     | 数组+链表/红黑树     | 线程安全     |
 
-### 2.2 hash key 处理
+###    2.2 hash key 处理
      容量是2次幂,比如 一个16 的大小容量 在key 得到一个hashCode 后在进行 (16-1)& hashCode = index(存放的位置)
      位运算 15 的二进制 1111 位运算 就是相同位都是1 则为1 否则为0 比如 15 & 2 = 2 ,15 & 17 = 1
      
-### 2.3 hash冲突当 链表数据达到8会转换成红黑树数据结构,当红黑树退到大小为6时转换成链表 红黑树(O(logN))
+###    2.3 hash冲突当 链表数据达到8会转换成红黑树数据结构,当红黑树退到大小为6时转换成链表 红黑树(O(logN))
      
-### 2.3 线程安全ConcurrentHashMap
+###    2.3 线程安全ConcurrentHashMap
      ConcurrentHashMap 锁的维度是每个数组元素,每个entity都是用 volatile 进行修饰