Java-100天知識進階-GC種類-知識鋪(六)

知識鋪: 致力于打造輕知識點,持續(xù)更新每次的知識點較少,閱讀不累。不占太多時間,不停的來喚醒你記憶深處的知識點。

file

一、GC回收器的 4個指標:

1.Throughput,非gc時間與總運行時間的比重。

2.Pauses,gc過程中程序的暫停次數(shù),暫停平均時長,最大時長。

3.Footprint ,當前使用堆內(nèi)存大小。

4.Promptness,無引用的對象多久才被gc。

二、串行垃圾回收器

原理:暫停所有工作線程,一個一個內(nèi)存區(qū)域來收集。

建議:一般面向C端用戶,不建議使用。

命令:-XX:+UseSerialGC

代表回收器:

⑴ Serial    針對新生代

⑵ Serial old 針對老年代
file

三、并行垃圾回收器

原理:使用多線程進行垃圾回收

建議:以吞吐量為主服務器

命令:-XX:+UseParallGC

代表回收器:

⑴ ParNew  針對新生代

⑵ Parallel Scavenge 針對新生代,以吞吐量為主

⑶ Parallel Old 針對老年代,以吞吐量位主,可以配合 ⑵ 一起使用

file

三、并發(fā)標記掃描垃圾回收器 CMS

原理:多線程,標記清理,一般老年代使用,觸發(fā)Full GC

建議:以響應時間為主的服務器

命令:-XX:+UseConcMarkSweepGC

代表回收器:CMS

特點:

     1.分兩次短暫的暫停,代替整理算法的長暫停

     2.提高響應時間,吞吐量有所下降。

  3.會出現(xiàn)碎片,配合命令 

         -XX:+UseCMSCompactAtFullCollection 

         -XX:CMSFullGCsBeforeCompaction=1 對老年代進行壓縮整理,配置進行了多少次Full GC之后執(zhí)行一次內(nèi)存壓縮。

         -XX:ParallelGCThreads 配置并行垃圾回收線程數(shù)
file

(4).G1垃圾回收器

原理:分割內(nèi)存,不同區(qū)域。

建議:堆內(nèi)存大的情況使用,服務器端適用。

特點:并行并發(fā)進行回收,壓縮內(nèi)存,標記整理

本文由zshipu.com學習筆記或整理或轉載,如有侵權請聯(lián)系,必改之。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容