垃圾收集算法:
标记-清除算法
首先标记出所有需要回收的对象,标记完成后统一回收.
缺点:效率不高,而且出现较多空间碎片,再分配较大对象时无法找到足够的连续内存,再次触发垃圾收集动作.
复制算法
HopSpot虚拟机默认Eden和Survivor的大小比例是8:1.其中Survivor为两块.
当回收时,将Eden 和Survivor还存活的对象复制到另一块Survivor中.
标记整理算法
让存活的对象都向一端移动,然后直接清理掉端边界以外的内存.
适合老年代
分代收集算法
将java堆分为老年代和新生代.
新生代采用复制算法,老年代采用标记清理或标记整理算法.
标记-清除算法
首先标记出所有需要回收的对象,标记完成后统一回收.
缺点:效率不高,而且出现较多空间碎片,再分配较大对象时无法找到足够的连续内存,再次触发垃圾收集动作.
复制算法
HopSpot虚拟机默认Eden和Survivor的大小比例是8:1.其中Survivor为两块.
当回收时,将Eden 和Survivor还存活的对象复制到另一块Survivor中.
标记整理算法
让存活的对象都向一端移动,然后直接清理掉端边界以外的内存.
适合老年代
分代收集算法
将java堆分为老年代和新生代.
新生代采用复制算法,老年代采用标记清理或标记整理算法.
本文深入解析垃圾收集算法,包括标记-清除算法、复制算法(以HopSpot虚拟机为例)及标记整理算法。重点讨论了算法的特点、优缺点以及在Java堆区的应用,特别是老年代和新生代的区别与分代收集策略。
1426

被折叠的 条评论
为什么被折叠?



