HashMap线程不安全 resize()死循环 过程分析 原因分析 resize()死循环 在JDK1.8之前,HashMap在动态扩容时复制旧table中的链表结点到新扩容后的newTab中使用的是头插法,每个节点都是插入在链表的头部,这也是导致多线程环境下出现环形链表死循环的根本原因。 过程分析 清晰思路只简化出核心代码: while(null != e) { //①断开链表前读取下一个节点,否则将会丢失链表 Entry<K,V> next = e.next; //头插法, e.next