垃圾回收算法

回收对象的年龄——对象熬过垃圾收集过程的次数

标记清除算法

 

标记出所有需要回收的对象,标记完后统一回收掉所有标记的对象,标记的过程就是判断对象是否为垃圾。

缺点:

1、执行效率不稳定。标记和清楚两个过程的执行效率都随对象数量增长而降低

2、内存空间的碎片化。会产生大量不连续的内存碎片,需分配大对象时不得不提前触发另一次垃圾收集

标记复制算法

将可用内存按容量划分成相同的两块,每次只用一块,当这一块用完把还存活着的复制到另一块,在清楚使用过的内存空间。

优点:

实现简单,运行高效

缺点

大量的空间浪费

jvm的内存分配为啥是8:1:1

由于大部分的新生代都是朝生夕灭的,很少可以活过第一轮收集,所以内存分配大小比例一般是8:1:1,先放8的那部分,满了后活下来的和其中一个1里活下来的复制到另一个1里,然后清空。

标记整理算法

 

标记出所有还存活的对象,让所有存活的对象都向内存空间一端移动,然后直接清理掉边界以外的内存

分代算法:

根据对象存活周期的不同将内存划分为几块,一般是新生代和老年代,新生代基本采用复制算法,老年代采用标记整理算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值