2013-02-27 63 views
0

據我所知,ConcurrentHashMap將支持表實現爲多個段數組而不是單個數組來提高併發訪問性能。 java中有沒有其他的Map實現在併發環境中的性能比ConcurrentHashMap更好?任何併發映射的性能都比ConcurrentHashMap好?

+1

你有理由相信'ConcurrentHashMap'是你的性能問題的根源嗎?有一個分析器告訴你這是一個問題? – Gray 2013-02-27 19:12:38

+0

另請注意,自從Java第一次推出以來,每種Java版本的性能都有所提高。我認爲我已經讀過Java的Java 8性能比Java 7更好(現在找不到參考)。 – assylias 2013-02-27 19:25:56

+0

你需要一個反映你的使用模式的基準來確定 – 2013-02-27 19:27:15

回答

4

A ConcurrentSkipListMap比ConcurrentHashMap更容忍極高的音量變化,但其攤銷查找時間是O(log(n))而不是O(1)。因此,與所有數據結構一樣,「最佳性能」取決於您的使用模式和「性能」的定義。

+0

你有理由相信ConcurrentSkipListMap比CHM有更好的Map性能嗎? – Gray 2013-02-28 15:12:30

+0

沒有提供「地圖性能」的定義,所以不可能說,正如我在第二句話中指出的那樣。在任何情況下,跳躍列表在每個度量標準中都不會嚴格劣等,所以它可能*對於OP來說會更好,是的。 – Affe 2013-02-28 17:24:10

+0

我只是問你是否知道'ConcurrentSkipListMap'上的_any_操作比CHM快? – Gray 2013-02-28 17:26:20