• Java中基于HotSpot虚拟机的垃圾收集器


     

    名称 过程 优缺点

    Serial

    进行垃圾收集时,必须暂停其他所有的工作进程,直到它收集结束。
    是一个单线程收集器

    Stop the world。

    新生代收集器。

    手工设置新生代的大小:-Xmn

    Eden与Survivor区的比例:-XX:SurvivorRatio

    晋升老年代对象年龄:-XX:PretenureSizeThreshold

    简单而高效(运行在Client默认新生代收集器)

    对于Client模式下的虚拟机来说是一个很好的选择

    ParNew

    就是Serial收集器的多线程版本。

    新生代收集器。

    使用-XX:UseConcMarkSweepGC选项来设置默认新生代收集器

    使用-XX:+UseParNewGC来强制使用它。

    运行在Server模式下的虚拟机中首选的新生代收集器。

    在多cpu环境下有较好的效果

    Parallel

    Scavenge

    使用复制算法并行多线程的收集器。

    目标是:达到一个可控制的吞吐量

    新生代收集器。

    经常被称为“吞吐量优先”收集器。

    控制最大垃圾收集停顿时间:-XX:MaxGCPauseMillis

    控制设置吞吐量大小:-XX:GCTimeRatio

    自动调整新生代的大小:-XX:+UseAdaptiveSizePolicy

    没有:良好响应速度,适合需要与用户交互的程序;

    高吞吐量:高效利用CPU,适合在后台运算而不需要太多交互的任务

    自适应调节策略是Parallel Scavenge 与ParNew的一个重要区别。

    Parallel 

    Old

    是Parallel Scavenge的老年代版本,使用多线程和“标记-整理”算法。 注意吞吐量以及CPU资源敏感的场合,都可以优先考虑Paralle Scavenge 加 Parallel Old收集器。
    CMS

     Concurrent Mark Sweep。

    是一种以获取最短回收停顿时间为目标的收集器。

    适合B/S的服务器端。
    基于“标记-清除”算法。

    整体过程分为4个步骤:初始标记、并发标记、重新标记和并发清除。

    并发收集,低停顿。

    3个明显的缺点:对CPU资源非常敏感;无法处理浮动垃圾;收集结束时会有大量空间碎片产生。

    G1

    当今收集器技术发展的最前沿成果之一。

    是一款面向服务端应用的垃圾收集器。

    如果不计算维护Rememberd Set的操作,G1运行大致分为:初始标记、并发标记、最终标记、筛选回收。

    并行与并发;分代收集;空间整合;可预测的停顿(相对于CMS的另一大优势)
  • 相关阅读:
    英飞凌TLE9461V33 SBC芯片
    Lin总线诊断级别定义 CLASS I 、II 、III
    AUTOSAR_SWS_CANInterface 阅读
    AUTOSAR_SWS_CANTransceiverDriver 阅读
    VS2013 快捷键
    Can总线空闲状态时候,TX,RX电平
    postman
    题目2
    Robot Framework 自动化测试
    银行测试 http://blog.csdn.net/stillming/article/details/42275251
  • 原文地址:https://www.cnblogs.com/fankongkong/p/6401035.html
Copyright © 2020-2023  润新知