HashMap在并发下可能出现的问题分析

  1. 云栖社区>
  2. 博客>
  3. 正文

HashMap在并发下可能出现的问题分析

邴越 2016-05-05 16:11:27 浏览7145
展开阅读全文

我们都知道,HashMap在并发环境下使用可能出现问题,但是具体表现,以及为什么出现并发问题,
可能并不是所有人都了解,这篇文章记录一下HashMap在多线程环境下可能出现的问题以及如何避免。

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

>>HashMap的put和get操作

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

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

对照源码分析一下具体的put操作是如何完成的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public V









网友评论

登录后评论
0/500
评论
邴越
+ 关注