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学习笔记或整理或转载,若有侵权请联系,必改之。

相关文章
相关标签/搜索