Vector:線程安全的ArrayList蔚润,所有方法加鎖
CopyOnWriteArrayList:新增和刪除方法復(fù)制一份數(shù)據(jù)并上鎖再處理,讀不影響
ConcurrentHashMap1.7:分16個(gè)桶讀寫分離
ConcurrentHashMap1.8:8個(gè)使用鏈表存儲尺栖,超過8個(gè)轉(zhuǎn)紅黑樹
ThreadLocal:每個(gè)Thread持有ThreadLocalMap(Entry型的數(shù)組Table)
線程隔離原理:不同線程取不同的Table嫡纠,同線程不同下標(biāo)的值
LRU:LinkedHashMap
HashMap加雙鏈表實(shí)現(xiàn)
如果一個(gè)數(shù)據(jù)在最近一段時(shí)間沒有被訪問到,那么在將來它被訪問的可能性也很小延赌。
當(dāng)限定的空間已存滿數(shù)據(jù)時(shí)除盏,應(yīng)當(dāng)把最久沒有被訪問到的數(shù)據(jù)淘汰。
SparseArray:
避免了對key的自動裝箱挫以,key必須為int類型者蠕,數(shù)據(jù)量不大最好在千級以內(nèi)適用。
使用二分查找查詢掐松,內(nèi)部實(shí)現(xiàn)兩個(gè)數(shù)組
ArrayMap:對標(biāo)SparseArray踱侣,數(shù)據(jù)量不大最好在千級以內(nèi)適用,key允許非int大磺。