1. 程式人生 > >偏向鎖+自旋鎖+輕量級鎖??????

偏向鎖+自旋鎖+輕量級鎖??????

lock 當前 span sed 需要 back 默認 ase -c

首先了解對象頭MARK(對象頭標記,32位):

存儲GC標記對象年齡對象Hash鎖信息(鎖記錄的指針,偏向鎖線程的ID)

大部分情況是沒有競爭的,所以可以通過偏向來提高性能

所謂的偏向,即鎖會偏向於當前已經占有鎖的線程通過將對象頭Mark的標記設置為偏向,並將線程ID寫入對象頭Mark 只要沒有競爭,獲得偏向鎖的線程,在將來進入同步塊,不需要做同步 ,當其他線程請求相同的鎖時,偏向模式結束 -XX:+UseBiasedLocking 默認啟用 在競爭激烈的場合,偏向鎖會增加系統負擔

?????

偏向鎖+自旋鎖+輕量級鎖??????