JDK1.8前多線程併發下HashMap會發生死循環

在JDK1.8以前的版本中,HashMap的底層實現是數組+鏈表。當調用HashMap的put方法添加元素時,若是新元素的hash值或key在原Map中不存在,會檢查容量size有沒有超過設定的threshold,若是超過則須要進行擴容,擴容的容量是原數組的兩倍,具體代碼以下:算法 void addEntry(int hash, K key, V value, int bucketIndex) {
相關文章
相關標籤/搜索