2017-04-06 10 views
0

Java ConcurrrentHashMapはどのように内部的に動作しますか? 「put」と「get」メソッドで実際に何をしているのですか?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)、Luke! –

+0

[GrepCode](http://grepcode.com/project/repository.grepcode.com/java/root/jdk/openjdk)はあなたの友人です。 – QBrute

答えて

2

hereを確認してください。 この記事では、現在のjava 8 ConcurrentHashMapデザインにステップバイステップの進歩を試みました。

0

ConcurrentHashMapは、一度に1つのスレッドでコードにアクセスできるスレッドセーフです。 ConcurrentHashMapはマップの特定の部分を同期またはロックします。 ConcurrentHashMapのパフォーマンスを最適化するために、MapはConcurrencyレベルに応じて異なるパーティションに分割されています。したがって、Mapオブジェクト全体を同期させる必要はありません。また、ConcurrentHashMapはNULL値を許可しません。したがって、ConcurrentHashMapでキーをnullにすることはできません

関連する問題