其他分享
首页 > 其他分享> > HashMap线程不安全的全部体现

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