知識鋪: 致力於打造輕知識點,持續更新每次的知識點較少,閱讀不累。不佔太多時間,不停的來喚醒你記憶深處的知識點。算法
1、GC回收器的 4個指標:服務器
1.Throughput,非gc時間與總運行時間的比重。多線程
2.Pauses,gc過程當中程序的暫停次數,暫停平均時長,最大時長。併發
3.Footprint ,當前使用堆內存大小。學習
4.Promptness,無引用的對象多久才被gc。線程
2、串行垃圾回收器code
原理:暫停全部工做線程,一個一個內存區域來收集。對象
建議:通常面向C端用戶,不建議使用。blog
命令:-XX:+UseSerialGC
ip
表明回收器:
⑴ Serial 針對新生代
⑵ Serial old 針對老年代
3、並行垃圾回收器
原理:使用多線程進行垃圾回收
建議:以吞吐量爲主服務器
命令:-XX:+UseParallGC
表明回收器:
⑴ ParNew 針對新生代
⑵ Parallel Scavenge 針對新生代,以吞吐量爲主
⑶ Parallel Old 針對老年代,以吞吐量位主,能夠配合 ⑵ 一塊兒使用
3、併發標記掃描垃圾回收器 CMS
原理:多線程,標記清理,通常老年代使用,觸發Full GC
建議:以響應時間爲主的服務器
命令:-XX:+UseConcMarkSweepGC
表明回收器:CMS
特色:
1.分兩次短暫的暫停,代替整理算法的長暫停
2.提升響應時間,吞吐量有所降低。
3.會出現碎片,配合命令
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=1 對老年代進行壓縮整理,配置進行了多少次Full GC以後執行一次內存壓縮。
-XX:ParallelGCThreads 配置並行垃圾回收線程數
(4).G1垃圾回收器
原理:分割內存,不一樣區域。
建議:堆內存大的狀況使用,服務器端適用。
特色:並行併發進行回收,壓縮內存,標記整理
本文由zshipu.com學習筆記或整理或轉載,若有侵權請聯繫,必改之。