jdk1.7版hashmap在多線程環境下的死循環問題

一、背景介紹: 在看JDK1.7的HashMap源碼是看到了resize()的源代碼,當時發現在將old鏈表中引用數據複製到新的鏈表中時,新table[]的列表採用LIFO方式,即隊頭插入。這樣做的目的是:避免尾部遍歷。(尾部遍歷是指新列表插入數據時,每次遍歷舊列表隊尾的位置)因爲,直接插入的效率更高。 然而直接採用隊頭插入,會使得新鏈表數據倒序 二、存在的問題: 採用隊頭插入的方式,導致了Has
相關文章
相關標籤/搜索