jdk1.7中hashmap擴容時不會產生死循環
- 2020 年 11 月 20 日
- 筆記
在擴容時 transfer( ) 方法中
newTable 新數組 局部變數
table 舊數組 全局變數
當第一個鏈表進行while循環時
執行到 e.next = newTable[i]; 時 newTable[i]肯定為null。
導致 舊數組table 中 當前鏈表對象的next已經為null了 。
所以即使是多執行緒的情況下不會死循環
在擴容時 transfer( ) 方法中
newTable 新數組 局部變數
table 舊數組 全局變數
當第一個鏈表進行while循環時
執行到 e.next = newTable[i]; 時 newTable[i]肯定為null。
導致 舊數組table 中 當前鏈表對象的next已經為null了 。
所以即使是多執行緒的情況下不會死循環