update
This commit is contained in:
@@ -314,14 +314,14 @@ final Node<K,V>[] resize() {
|
||||
|
||||
### JDK7 和 8 HashMap 有什么区别?
|
||||
|
||||
* JDK8 实现引入红黑树,优化链表过长的查询效率
|
||||
* 1.7 采用头插法,1.8采用尾插法; 解决多线程中出出现链表成环的问题 ; (hashmap本来就是非线程安全的,为啥要在多线程中使用hashmap)
|
||||
* JDK8 实现引入红黑树,优化链表过长的查询效率;当链表长度大于8是链表的存储结构会被修改成红黑树的形式, 查询效率从O(N)提升到O(logN)。链表长度小于6时,红黑树的方式退化成链表。
|
||||
* 1.7 采用头插法, 链表插入是从链表头部插入 ; 1.8采用尾插法, 因此在resize的时候仍然保持原来的顺序; 解决并发多线程中出出现链表成环的问题 ; (hashmap本来就是非线程安全的,为啥要在多线程中使用hashmap)
|
||||
|
||||
|
||||
|
||||
### 链表上使用的头插还是尾插方式?
|
||||
|
||||
1.7 采用头插法,1.8采用尾插法; 解决多线程中出出现链表成环的问题
|
||||
1.7 采用头插法,1.8采用尾插法; 解决多线程中出出现链表成环的问题, 因此在resize的时候仍然保持原来的顺序
|
||||
|
||||
|
||||
### 多线程下死循环问题
|
||||
|
||||
Reference in New Issue
Block a user