HashMap为什么线程非安全

首先,先说明在多线程环境下使用HashMap会产生的问题:

  • resize死循环,扩容(1.8已解决)
  • 数据丢失、数据覆盖

JDK1.7时,HashMap采用头插法连接链表中的元素,在多线程环境下会产生闭环,所以会导致死循环
HashMap为什么线程非安全
JDK1.8中,HashMap采用尾插法连接链表元素,解决了死循环的问题,但是在多线程环境下还会产生数据覆盖,丢失问题