JVM垃圾回收算法和回收器

JVM垃圾回收算法和垃圾回收器

判断对象的存活:
引用计数法,优点,快方便,简单,缺点对象互相引用,很难判断该对象是否回收
可达性分析(java中使用):
通过GCRoots,当一个对象到GCRoots没有任何引用链相连,则证明此对象不可用

finalize,使对象不被jvm回收,但是jvm不能保证

各种引用
强引用:=赋值的
软引用SoftReference:
垃圾回收器在内存充足的情况下不去回收它,在内存不足时才去回收
弱引用WeakReference:
垃圾回收器扫描到该对象的时候,无论内存是否充足,都会将该对象回收
虚引用PhantomReference
幽灵引用,最弱,被垃圾回收的时候收到一个通知

GC
MinorGC:
特点发生在新生代,发生的较频繁,执行速度较快
触发条件:Eden空间不足

Full GC
主要发生在老年代,(新生代也会回收)较少发生,执行速度慢

垃圾回收算法
复制算法:
HotSpot虚拟机新生代的比例是8:1:1,也是因为复制算法
标记清楚算法:
首先标记所需要回收的对象
统一回收被标记的对象
标记个清除的效率都不高,会产生不连续的内存碎片
标记整理算法:
标记回收,然后在整理

垃圾回收器
分代收集器:新生用复制,老年代用标记

并行:垃圾收集的多线程同事进行
并发:垃圾收集的多线程,和应用的多线程同时进行

Concurrent Mark Sweep CMS
注重响应性能
垃圾回收的四个过程
优点是和用户线程一起工作,缺点,cpu资源敏感,有浮动垃圾,会产生空间碎片

G1垃圾回收器
G1把堆划分成多个大小相等的区域,新生代和老年代不在物理隔离
G1的模式:Yong GC,用于新生代,复制算法
Mixed GC 不是Full GC
优点:空间整合,可预测的停顿

STW 是什么呢?
Stop The World
GC收集器个我们的GC调优的目标就是尽可能减少STW的时间个次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

張義帥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值