2017-04-06 75 views
0

Java ConcurrrentHashMap在内部是如何工作的? 我的意思是它实际上对“放”和“获取”方法做了什么?java ConcurrrentHashMap如何在内部工作?

+0

那么,使用For^H^H^H [source](https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/share /classes/java/util/concurrent/ConcurrentHashMap.java),卢克! –

+0

[GrepCode](http://grepcode.com/project/repository.grepcode.com/java/root/jdk/openjdk)是你的朋友。 – QBrute

回答

2

看看吧here。 在这篇文章中,我试图一步一步的进展到当前的Java 8 ConcurrentHashMap设计。

0

ConcurrentHashMap是线程安全的,即代码可以一次由单个线程访问。 ConcurrentHashMap同步或锁定Map的某个部分。为了优化ConcurrentHashMap的性能,Map根据并发级别分为不同的分区。这样我们就不需要同步整个Map对象。另外,ConcurrentHashMap不允许NULL值。因此,密钥不能为空ConcurrentHashMap