zoukankan      html  css  js  c++  java
  • Java-100天知识进阶-GC种类-知识铺(六)

    知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累。不占太多时间,不停的来唤醒你记忆深处的知识点。

    file

    一、GC回收器的 4个指标:

    1.Throughput,非gc时间与总运行时间的比重。

    2.Pauses,gc过程中程序的暂停次数,暂停平均时长,最大时长。

    3.Footprint ,当前使用堆内存大小。

    4.Promptness,无引用的对象多久才被gc。

    二、串行垃圾回收器

    原理:暂停所有工作线程,一个一个内存区域来收集。

    建议:一般面向C端用户,不建议使用。

    命令:-XX:+UseSerialGC

    代表回收器:

    ⑴ Serial    针对新生代

    ⑵ Serial old 针对老年代

    file

    三、并行垃圾回收器

    原理:使用多线程进行垃圾回收

    建议:以吞吐量为主服务器

    命令:-XX:+UseParallGC

    代表回收器:

    ⑴ ParNew  针对新生代

    ⑵ Parallel Scavenge 针对新生代,以吞吐量为主

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

    file

    三、并发标记扫描垃圾回收器 CMS

    原理:多线程,标记清理,一般老年代使用,触发Full GC

    建议:以响应时间为主的服务器

    命令:-XX:+UseConcMarkSweepGC

    代表回收器:CMS

    特点:

    1.分两次短暂的暂停,代替整理算法的长暂停

    2.提高响应时间,吞吐量有所下降。

    3.会出现碎片,配合命令

    -XX:+UseCMSCompactAtFullCollection

    -XX:CMSFullGCsBeforeCompaction=1 对老年代进行压缩整理,配置进行了多少次Full GC之后执行一次内存压缩。

    -XX:ParallelGCThreads 配置并行垃圾回收线程数

    file

    (4).G1垃圾回收器

    原理:分割内存,不同区域。

    建议:堆内存大的情况使用,服务器端适用。

    特点:并行并发进行回收,压缩内存,标记整理

    本文由zshipu.com学习笔记或整理或转载,如有侵权请联系,必改之。

  • 相关阅读:
    用JavaScript实现div的鼠标拖拽效果
    JavaScript插件制作-tab选项卡
    javascript插件制作学习-制作步骤
    JavaScript实现页面滚动到div区域div以动画方式出现
    RabbitMQ生产者消费者
    基于TCP/IP协议的socket通讯client
    基于TCP/IP协议的socket通讯server
    MQTT 发布者订阅者
    linux实用命令
    RabbitMQ CentOS6.5 安装
  • 原文地址:https://www.cnblogs.com/sblig/p/11938642.html
Copyright © 2011-2022 走看看