hashMap产生的循环依赖问题
1.看这个 :
转:
hashMap产生的循环依赖问题
如何解决
1.为了解决这个问题,jdk1.8把扩容是复制元素到新数组由 头插法 改成了 尾插法 。此外,引入了红黑树,提升遍历节点的效率
2.此外,HashMap是非线程安全的,要避免在多线程的环境中使用HashMap,而应该改成使用ConcurrentHashMap。
所以总结一下要避免发生死循环的问题的方法:
- 改成ConcurrentHashMap
PS. 即使JDK升级到1.8任然有死循环的问题。
新table是处于线程A自己栈中,是线程私有的,不肥线程2的影响