Hashtable和HashMap和ConcurrentHashMap

1. 數據結構

都是數組+拉鍊實現的哈希表,可是具體實現上差異大了數組

2. 併發

Hashtable全表鎖
HashMap多線程不安全,須要本身封裝
ConcurrentHashMap加細粒度鎖,讀不加鎖,若是讀到空值再加鎖。注意這三個關鍵字final,transient,volatile安全

3. null

Hashtable不容許用 null做爲鍵和值
HashMap容許全局最多一個null鍵,可是容許無數個null值
ConcurrentHashMap不容許用 null做爲鍵和值數據結構

參考文檔
http://blog.csdn.net/kingzone_2008/article/details/8179701
http://zhangshixi.iteye.com/blog/672697
http://ifeve.com/concurrenthashmap/多線程

相關文章
相關標籤/搜索