• 垃圾收集器 参阅<<深入理解JAVA虚拟机>>


    一、新生代
    1、Serial收集器

    新生代单线程复制算法GC(暂停工作线程)----------

    支持组合老年代Serial odl和CMS

    2、ParNew
    Serial多线程版本

    支持组合cms|serial old

    3、Parallel Scavenge
    可控吞吐量-XX:MaxGCPauseMillis 最大垃圾收集停顿时间
    -XX:GCTimeRatio: 设置吞吐量大小

    支持Serial old和Parallel Old

    4、G1

    新生代多线程并行复制算法(暂停工作线程)----------老年代单线程标记整理算法(暂停工作线程)
    二、老年代
    1、Serial OLD(标记-整理)

    2、Parallel Old(标记-整理)

    3、CMS收集器(标记-清除)

    分为4个步骤
    初始标记(STW)->并发标记->重新标记(STW)->并发清除
    初始标记需要标记一下能gc ROOTS关联到的对象,并发标记就是进行GC ROOTS tracing的过程,
    而重新标记为了修正并发标记阶段用户程序运行导致标记标记发生变动的那一部分对象的标记记录,停顿时间比初始标记长比并发标记远短
    缺点:对CPU敏感 线程数(Cnum + 3)/4,无法处理浮动垃圾,碎片化

    G1并行与并发标记整理

  • 相关阅读:
    文件进阶
    文件及文件操作
    字符编码
    集合
    数据类型之字典
    数据类型之列表,元组
    数据类型之数字,字符串
    for 循环语句
    while 循环语句
    深浅拷贝
  • 原文地址:https://www.cnblogs.com/masterZ/p/15186608.html
Copyright © 2020-2023  润新知