Java虛擬機——CMS收集器

1:是什麼

     CMS (Concurrent Mark Sweep)收集器是-種以獲取最短回收停頓時間爲⽬標的收集器。 ⽬前很⼤⼀部分的Java應⽤集中在互聯⽹站或者B/S系統的服務端上,這類應⽤尤其重 視服務 的響應速度,希望系統停頓時間最短,以給⽤戶帶來較好的體驗。CMS 收集器是基於標記-清除算法實現的,用戶線程和垃圾線程同時執行。用戶幾乎感受用不到線程的暫停。也就是併發。

 

2:步驟流程

初始標記(CMS initial mark) -----標記⼀下 GC Roots 能直接關聯到的對象,速度很快

併發標記(CMS concurrent mark --------併發標記階段就是進⾏ GC RootsTracing 的過程

重新標記(CMS remark) -----------爲了修正併發標記期間因⽤戶程序導致標記產⽣變動的標記記錄

併發清除(CMS concurrent sweep)

 3:CMS垃圾收集器缺點

CPU資源⾮常敏感

⽆法處理浮動垃圾,程序在進⾏併發清除階段⽤戶線程所產⽣的新垃圾

標記清除算法存在空間碎⽚

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章