CMS 收集器整理

2022-03-21 14:30:53 字數 420 閱讀 7202

步驟:併發標記:(耗時最長,且可與使用者執行緒一起工作)

重新標記:(會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...