Serial,Parallel,CMS,G1四大GC收集器特色小結

輸入圖片說明

1.Serial收集器

一個單線程的收集器,在進行垃圾收集時候,必須暫停其餘全部的工做線程直到它收集結束。算法

特色:CPU利用率最高,停頓時間即用戶等待時間比較長。服務器

適用場景:小型應用多線程

經過JVM參數-XX:+UseSerialGC能夠使用串行垃圾回收器。併發

2.Parallel收集器

採用多線程來經過掃描並壓縮堆線程

特色:停頓時間短,回收效率高,對吞吐量要求高。對象

適用場景:大型應用,科學計算,大規模數據採集等。圖片

經過JVM參數 XX:+USeParNewGC 打開併發標記掃描垃圾回收器。it

3.CMS收集器

採用「標記-清除」算法實現,使用多線程的算法去掃描堆,對發現未使用的對象進行回收。io

  • (1)初始標記
  • (2)併發標記
  • (3)併發預處理
  • (4)從新標記
  • (5)併發清除
  • (6)併發重置

特色:響應時間優先,減小垃圾收集停頓時間效率

適應場景:服務器、電信領域等。

經過JVM參數 -XX:+UseConcMarkSweepGC設置

4.G1收集器 在G1中,堆被劃分紅 許多個連續的區域(region)。採用G1算法進行回收,吸取了CMS收集器特色。

特色:

  • 支持很大的堆,高吞吐量
  • 支持多CPU和垃圾回收線程
  • 在主線程暫停的狀況下,使用並行收集
  • 在主線程運行的狀況下,使用併發收集

實時目標:可配置在N毫秒內最多隻佔用M毫秒的時間進行垃圾回收

經過JVM參數 –XX:+UseG1GC 使用G1垃圾回收器

相關文章
相關標籤/搜索