HashMap线程不安全的全部体现
作者:互联网
我们都知道HashMap不安全,但是他都体现在哪几点呢?本编文章做下梳理。
1、jdk1.7
1、多线程put操作后,get操作导致死循环。
2、多线程put非NULL元素后,get操作得到NULL值。
3、多线程put操作,导致元素丢失。
这里可以参考以小白过去理解走过的坑,带你理解HashMap扩容死循环问题
2、jdk1.8
2.1 值覆盖的问题
加入此时A,B 两个线程同时进入if,且他们的hash值一样,且他们所在的数据位置没有数据。就有可能导致线程 1 put 进去的数据,被线程2放进去的数据进行覆盖。
标签:NULL,HashMap,体现,线程,put,多线程,死循环 来源: https://blog.csdn.net/qq_42292373/article/details/112494905