JDK1.7,采用分段鎖技術
本質上還是采用陣列+鏈表的形式存盤鍵值對的,為了提高并發,把原來的整個 table 劃分為 n 個 Segment ,從整體來看,它是一個由 Segment 組成的陣列,每個 Segment 里邊是由 HashEntry 組成的陣列,每個 HashEntry之間又可以形成鏈表,我們可以把每個 Segment 看成是一個小的 HashMap,其內部結構和 HashMap 是一模一樣的,當對某個 Segment 加鎖時,不會影響到其他 Segment 的讀寫,降低鎖的競爭,
JDK1.8,采用的是Synchronized + CAS + volatile
Synchronized 由于鎖優化和鎖升級性能得到了很大提升,通過 CAS 樂觀鎖實作原子操作,利用volatile保證可見性,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274862.html
標籤:其他
上一篇:2021-04-10
下一篇:小型企業網組網 同時實作高可靠性
