3.4.1 hash map 整體框架是數組結構,每一個位置儲存同hashcode的鏈表與j7對比,j8變更的是,儲存的鏈表改成紅黑樹,從On時間複雜度降低至Ologn3.4.2 concurrentHashMap不可擴容數組儲存16個segment,每個sement為線程安全的數組,每一個數組類似 ...
3.4.1 hash map
整體框架是數組結構,每一個位置儲存同hashcode的鏈表
與j7對比,j8變更的是,儲存的鏈表改成紅黑樹,從On時間複雜度降低至Ologn
3.4.2 concurrentHashMap
不可擴容數組儲存16個segment,每個sement為線程安全的數組,每一個數組類似hash map,數組的位置儲存鏈表。
因此segment也被稱為分段鎖。合起來導致全局線程安全
因此,併發數最多是16個(併發的操作位置在不同的segment上)
3.4.3HashTable
遺留下的類,繼承dictionary類,線程安全的,但沒有CHM快,因為CHM有分段鎖。線程不安全可用HM替代
3.4.3 TreeMap
加入了排序功能,迭代器,遍歷的結果是排序後的
3.4.4 LinkedHashMap
加入了保有插入順序的功能;迭代器,遍歷的結果是排序後的