【面試題】HashMap,HashTable和concurrentHashMap的區別

HashMap:線程不安全;key值可以爲null;底層的實現是數組+鏈表/紅黑樹(同一個桶上面鏈的長度大於8時轉化爲紅黑樹);

HashTable:線程安全,當有線程訪問時,使用synchronized將整個表進行獨佔,效率較低;key值不可以爲null;底層實現是數組+鏈表;

concurrentHashMap:線程安全,採用CAS和synchronized操作,每個線程只對訪問數據的桶進行加鎖,提高了併發效率;key值不能爲null;底層的實現是數組+鏈表/紅黑樹。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章