1.JDK8以前是頭插法,JDK8後是尾插法
2.爲什麼要從頭插法改成尾插法?
A.因爲頭插法會造成死鏈,參考鏈接
B.JDK7用頭插是考慮到了一個所謂的熱點數據的點(新插入的數據可能會更早用到),但這其實是個僞命題,因爲JDK7中rehash的時候,舊鏈表遷移新鏈表的時候,如果在新表的數組索引位置相同,則鏈表元素會倒置(就是因爲頭插) 所以最後的結果 還是打亂了插入的順序 所以總的來看支撐JDK7使用頭插的這點原因也不足以支撐下去了 所以就乾脆換成尾插 一舉多得
1.JDK8以前是頭插法,JDK8後是尾插法
2.爲什麼要從頭插法改成尾插法?
A.因爲頭插法會造成死鏈,參考鏈接
B.JDK7用頭插是考慮到了一個所謂的熱點數據的點(新插入的數據可能會更早用到),但這其實是個僞命題,因爲JDK7中rehash的時候,舊鏈表遷移新鏈表的時候,如果在新表的數組索引位置相同,則鏈表元素會倒置(就是因爲頭插) 所以最後的結果 還是打亂了插入的順序 所以總的來看支撐JDK7使用頭插的這點原因也不足以支撐下去了 所以就乾脆換成尾插 一舉多得