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

知識鋪: 致力於打造輕知識點,持續更新每次的知識點較少,閱讀不累。不佔太多時間,不停的來喚醒你記憶深處的知識點。算法

file

1、GC回收器的 4個指標:服務器

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

2.Pauses,gc過程當中程序的暫停次數,暫停平均時長,最大時長。併發

3.Footprint ,當前使用堆內存大小。學習

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

2、串行垃圾回收器code

 原理:暫停全部工做線程,一個一個內存區域來收集。對象

 建議:通常面向C端用戶,不建議使用。blog

 命令:-XX:+UseSerialGCip

 表明回收器: 

   ⑴ Serial    針對新生代

   ⑵ Serial old 針對老年代

file

3、並行垃圾回收器

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

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

  命令:-XX:+UseParallGC

  表明回收器:

   ⑴ ParNew  針對新生代

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

⑶  Parallel Old 針對老年代,以吞吐量位主,能夠配合 ⑵ 一塊兒使用

file

3、併發標記掃描垃圾回收器 CMS

  原理:多線程,標記清理,通常老年代使用,觸發Full GC

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

  命令:-XX:+UseConcMarkSweepGC

  表明回收器:CMS

  特色:

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

        2.提升響應時間,吞吐量有所降低。

     3.會出現碎片,配合命令 

            -XX:+UseCMSCompactAtFullCollection 

            -XX:CMSFullGCsBeforeCompaction=1 對老年代進行壓縮整理,配置進行了多少次Full GC以後執行一次內存壓縮。

            -XX:ParallelGCThreads 配置並行垃圾回收線程數

file

(4).G1垃圾回收器

    原理:分割內存,不一樣區域。

    建議:堆內存大的狀況使用,服務器端適用。

    特色:並行併發進行回收,壓縮內存,標記整理

本文由zshipu.com學習筆記或整理或轉載,若有侵權請聯繫,必改之。

相關文章
相關標籤/搜索