HashMap死循环原因
单线程扩容
- 初始情况

- 开始扩容

- 最终结果

多线程扩容导致死循环
- 两个线程A与B同时进行扩容

- A线程先进行扩容

注意:此时若A线程挂起,开始执行B线程
- B开始第一次循环扩容

- 第二次循环

e2指向下一个元素,next指向下下个元素
- 第三次循环

3需要指向下一个节点,即为2导致死循环
参考
Enjoy Reading This Article?
Here are some more articles you might like to read next:
注意:此时若A线程挂起,开始执行B线程
e2指向下一个元素,next指向下下个元素
3需要指向下一个节点,即为2导致死循环
Here are some more articles you might like to read next: