步驟:併發標記:(耗時最長,且可與使用者執行緒一起工作)
重新標記:(會stp)
併發清除:(耗時最長,且可與使用者執行緒一起工作)
總體來說:可以看作,cms的記憶體**過程是與使用者執行緒一起併發執行的。
缺點:解決:
2、無法處理浮動垃圾:
2、併發清理階段使用者執行緒執行需要預留空間,老年代沒有填充滿就會進行gc。
3、老年代gc如果預留空間不足,會出現「concurrent mode failure」,此時虛擬機會啟動後被預案,臨時啟用 serial old 收集器,會導致停頓時間變長。
3、基於標記-清除演算法:
-xx:cmsfullgcsbeforecompaction引數:設定n次不壓縮的fgc後跟著來一次帶壓縮的fgc。預設為0,即每次fgc都進行碎片整理。
面試之一 CMS收集器整理
cms收集器整理 white 步驟 併發標記 耗時最長,且可與使用者執行緒一起工作 重新標記 會stp 併發清除 耗時最長,且可與使用者執行緒一起工作 總體來說 可以看作,cms的記憶體 過程是與使用者執行緒一起併發執行的。缺點 解決 2 無法處理浮動垃圾 2 併發清理階段使用者執行緒執行需要預留空...
JVM垃圾收集器之CMS收集器
cms concurrent mark sweep 收集器是一種以獲取最短 停頓時間為目標的收集器。1 cms使用的演算法 cms使用的演算法為 標記 清除 演算法 2 執行過程4步驟 a 初始標記 cms initial mark b 併發標記 cms concurrent mark c 重新標記...
並行收集器
預設情況下伺服器上選擇並行收集器。1 並行收集器 這裡也稱為吞吐量收集器 是類似於序列收集器的分代收集器 主要區別在於多個執行緒用於加速垃圾收集。使用命令列選項啟用並行收集器 xx useparallelgc。2 可以使用命令列選項控制垃圾收集器執行緒的數量 xx parallelgcthreads...