垃圾回收器

Serial收集器:最基础,历史最悠久的收集器,单线程(serialization)。采用标记复制算法+stop the world。客户端模式下默认收集器

ParNew收集器:是Serial收集器的多线程版本。除了Serial收集器外,只有ParNew能与CMS配合工作

Parallel Scavenge收集器:同样也是标记复制算法,但其关注点是吞吐量(运行用户代码的时间与处理器总耗时)

Serial Old收集器:Serial收集器的老年代版本,单线程的,使用标记整理算法。现在主要作为CMS的后备预案使用

Parallel Old收集器:Parallel Scavenge的老年代版本,多线程,使用标记整理算法。这两者配合吞吐量优先才名副其实

CMS(Concurrent Mark Sweep)收集器:目标是最短回收停顿时间。使用标记清除算法,空间碎片严重时(Concurrrent Mode Failure)采用标记整理(Serial Old收集器预案)

Garbage First(G1)收集器:基于Region内存布局,收集的范围不再是新生代老年代,而是CSet(Collection Set)。也是JDK9默认收集器。

内存分配:前面说了很多内存回收,再说一说内存分配

对象优先在Eden区分配,如果Eden区没有足够的空间进行分配,虚拟机将发起一次MinorGC

大对象直接进入老年代。长期存活的对象也进入老年代

动态对象年龄判定,默认大于等于15岁就进入老年代,但如果某一年龄对象加起来已经超过一半内存了,那就用这个年龄值作为标准

空间分配担保,在MinorGC之前,检查老年代是否有足够连续空间存放新生代对象。如果有可以安全执行。如果没有,检查均值,合适就进行一次冒险,不合适就进行Full GC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值