HashMap:線程不安全;key值可以爲null;底層的實現是數組+鏈表/紅黑樹(同一個桶上面鏈的長度大於8時轉化爲紅黑樹);
HashTable:線程安全,當有線程訪問時,使用synchronized將整個表進行獨佔,效率較低;key值不可以爲null;底層實現是數組+鏈表;
concurrentHashMap:線程安全,採用CAS和synchronized操作,每個線程只對訪問數據的桶進行加鎖,提高了併發效率;key值不能爲null;底層的實現是數組+鏈表/紅黑樹。
HashMap:線程不安全;key值可以爲null;底層的實現是數組+鏈表/紅黑樹(同一個桶上面鏈的長度大於8時轉化爲紅黑樹);
HashTable:線程安全,當有線程訪問時,使用synchronized將整個表進行獨佔,效率較低;key值不可以爲null;底層實現是數組+鏈表;
concurrentHashMap:線程安全,採用CAS和synchronized操作,每個線程只對訪問數據的桶進行加鎖,提高了併發效率;key值不能爲null;底層的實現是數組+鏈表/紅黑樹。