HashMap 和 HashTable 以及ConcurrentHashMap 結構及區別

HashMap (數組 + 鏈表 + 紅黑樹(鏈表長度超過8會變成紅黑樹))非線程安全原因: 1.添加元素:哈希碰撞時 add 添加元素時是通過頭結點來添加的, 這時候就會存在多線程安全問題 (A寫入新的頭結點後、B也寫入新的頭結點),B的寫入操作就會覆蓋A的 2.刪除鍵值元素:同上,, 多線程修改的時候 其中一個線程修改的時候 把自己內存的數據寫回去的時候,可能其他的線程已經把這個位置修改過了,
相關文章
相關標籤/搜索