垃圾收集算法

判断对象是否存活的算法

——>根搜索算法:GC Roots Tracing

当一个对象到GC Roots没有任何引用链相连,证明对象不可用。

 

垃圾收集算法:

1. 标记-清除算法

算法:不用的标记一下,再清除

缺点:效率不高,清除完了有很多不连续的内存碎片。

 

2. 复制算法

算法:一块较大的Eden空间和两块较小的Survivor空间,回收时将eden和survivor上还没死的对象复制到另一块survivor上。

优点:实现简单,运行高效。

缺点:对象存活率较高时要执行太多的复制操作,效率会变低。

 

3. 标记-整理算法

万一对象100%存活,老年代用复制算法就不行了,所以老年代要用标记-整理算法。

算法:不用的标记一下,在清除,再把所有不用的对象向一端移动。

 

4. 分代收集算法

把Java堆分成新生代和老年代,对新生代使用复制算法,对老年代使用标记—整理。

 

3.4 垃圾收集器

3.4.1 Serial收集器

Stop the World,单线程,运行于Client模式下虚拟机很好的选择。

 

3.4.2 ParNew收集器

Serial的多线程版本,Server模式下虚拟机的首选新生代收集器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值