知識鋪: 致力于打造輕知識點,持續(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)系,必改之。