垃圾收集算法(jvm之三)

本文介绍了四种常见的垃圾回收算法:标记-清除算法、复制算法、标记-整理算法及分代收集算法,并探讨了它们的优点和局限性。

(1)标记-清除(Mark-Sweep)算法:先标记回收的对象,再清除。缺点:效率问题,标记、清除的效率不高;空间问题,产生大量不连续的内存碎片。
(2)复制(Copying)算法:把内存划分为两个大小相等的区域,把一个区存活的对象移到另外一个区域,再把这个区域整个清除。
     优点:实现简单、运行高效;缺点:内存为原来的一半。
    (另外一种是依据新生代的对象98%存活率不高,内存可按8:1:1分三块,90%可以用。不过如果不够,须借用老年代的内存了)
(3)标记-整理(Mark-Compact)算法:前半步骤按Mark-Sweep的步骤,后来先将存活的对象移到一端,再清除回收对象。
(4)分代收集(Generational Collection)算法:
    根据对象的存活周期划分内存。一般为新生代和老年代。新生用Copying算法而老年代用Mark-Compact或Mark-Sweep算法。

转载于:https://my.oschina.net/u/566829/blog/62310

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值