HotSpot Jvm垃圾收集器学习笔记

一. 垃圾回收算法

1. 标记清除;

2. 复制;

3. 标记整理;

二. 垃圾收集器

1. Serial: 单线程,串行,新生代复制算法,老年代标记整理算法;

2. SerialOld: serial的老年代版本,标记整理,作为cms的后备;

3. PerNew: serial的多线程版本,也是串行,新生代复制算法,老年代标记整理算法;

4. Parallel Scavenge: 关注最大停顿时间和吞吐量,新生代复制算法,老年代标记整理算法;

5. CMS: 标记清除, 初试标记---并发标记---重新标记---并发清除;

6. G1: 满足最大停顿时间要求和最大吞吐量要求,堆分作多个区域Region,自己维护优先列表,根据手机时间要求,优先回收价值最高的Region,

三. 判断对象是否回收的方式:

1. 引用计数: 无法处理循环引用!

2. 可达性算法: GC Roots---虚拟机栈中引用的对象,方法区中类静态属性引用的对象,方法区中常量引用的对象,原生方法栈引用的对象;

四. 标记对象可回收

1. 对象到GC Roots无引用链,进行第一次标记;

2. 对象重写了finalize()方法且未执行,将对象插入F-Queue队列中,由JVM自动创建的一个低优先级的Finalizer线程触发finalize()方法,这是对象最后的逃脱方法,进行二次标记,如果与Gc Roots引用链建立了联系,则第二次标记时将此对象移出待回收集合;

(GC发生时,快速枚举GC Roots:扫描OopMap,不用遍历全局对象)

五. HotSpot Jvm默认的垃圾收集器: UseParallelGC, 使用组合收集器:

    Parallel Scavenge(PS Scavenge) --- 新生代 --- 复制算法;

    Serial Old(Ps MarkSweep,与SerialOld类似) --- 老年代 --- 标记清除算法;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值