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

轉 https://blog.csdn.net/u013812939/article/details/48782343html

 


1.Serial收集器

一個單線程的收集器,在進行垃圾收集時候,必須暫停其餘全部的工做線程直到它收集結束。
特色:CPU利用率最高,停頓時間即用戶等待時間比較長。
適用場景:小型應用
經過JVM參數-XX:+UseSerialGC能夠使用串行垃圾回收器。


2.Parallel收集器

採用多線程來經過掃描並壓縮堆
特色:停頓時間短,回收效率高,對吞吐量要求高。
適用場景:大型應用,科學計算,大規模數據採集等。
經過JVM參數 XX:+USeParNewGC 打開併發標記掃描垃圾回收器。


3.CMS收集器

採用「標記-清除」算法實現,使用多線程的算法去掃描堆,對發現未使用的對象進行回收。
(1)初始標記
(2)併發標記
(3)併發預處理
(4)從新標記
(5)併發清除
(6)併發重置
特色:響應時間優先,減小垃圾收集停頓時間
適應場景:服務器、電信領域等。
經過JVM參數 -XX:+UseConcMarkSweepGC設置


4.G1收集器

在G1中,堆被劃分紅 許多個連續的區域(region)。採用G1算法進行回收,吸取了CMS收集器特色。
特色:支持很大的堆,高吞吐量
--支持多CPU和垃圾回收線程
--在主線程暫停的狀況下,使用並行收集
--在主線程運行的狀況下,使用併發收集
實時目標:可配置在N毫秒內最多隻佔用M毫秒的時間進行垃圾回收
經過JVM參數 –XX:+UseG1GC 使用G1垃圾回收器

相關文章
相關標籤/搜索