你知道HashMap在高并发下可能会出现哪些问题吗

点击Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章

做一个积极的人

编码、改bug、提升自己

我有一个乐园,面向编程,春暖花开!

作者:邴越 原文地址:https://www.cnblogs.com/binyue/p/3726403.html

我们都知道,HashMap在并发环境下使用可能出现问题,但是具体表现,以及为什么出现并发问题,

可能并不是所有人都了解,这篇文章记录一下HashMap在多线程环境下可能出现的问题以及如何避免。

在分析HashMap的并发问题前,先简单了解HashMap的put和get基本操作是如何实现的。

1.HashMap的put和get操作

大家知道HashMap内部实现是通过拉链法解决哈希冲突的,也就是通过链表的结构保存散列到同一数组位置的两个值,

put操作主要是判空,对key的hashcode执行一次HashMap自己的哈希函数,得到bucketindex位置,还有对重复key的覆盖操作。

推荐阅读