【深入理解Java虚拟机】------ 学习0303 垃圾收集算法

垃圾收集算法:


1.标记-清除算法

简介:最基础的算法,分为“标记”和“清除”两个阶段。标记需要回收对象,然后统一回收。

主要缺点·效率不足

     ·空间问题:清理后会产生大量不连续的内存碎片,后续分配大对象时不得不提前触发另一次垃圾收集动作


2.复制算法(新生代)

简介:将内存分为大小相等的两块,每次只使用其中一块。

优点:实现简单、运行高效   缺点:内存只有原来的一半

(IBM研究):将内存分为一块较大的Eden和两块较小的Survivor,比例为8:1:1 -- 在回收时,将Eden和Survivor中存活的对象一次性复制到另外一块Survivor空间上。


3.标记-整理算法(老年代-复制操作较多)

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


4.分代垃圾收集算法

一般把Java堆分为新生代和老年代,选取上述几种算法进行处理。


总结:商业虚拟机的分代垃圾收集算法主要就是复制算法和标记-整理的集合。

记录不明确的点:目前新生代和老生代的关系没讲到,怎么从新生代到老生代



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值