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了 。
所以即使是多線程的情況下不會死循環