读书人

Java虚拟机深入学习之三: Java虚拟机的

发布时间: 2013-02-24 17:58:56 作者: rapoo

Java虚拟机深入学习之三: Java虚拟机的垃圾收集算法

一 标记-清除算法(Mark-Sweep)

首先标记出所有需要回收的对象,标记完成后统一回收。

主要缺点: 1. 标记和清除效率都很低 2. 产生大量不连续的内存碎片,导致后面分配大内存空间失败



二 复制算法

将可用内存划分为大小相等的两块, 每次只使用其中一块。 当这块用完后,就将还存活对象复制到另外一块上面,再把已经使用的内存空间一次清理掉。

主要缺点: 代价太高,至少一半的内存不能使用。



三 标记-整理算法

标记过程和标记-清除算法一致,但是后续步骤是让所有存活的对象都向一端移动,然后清理掉边界以外的内存。


四 分代收集算法

当前商业虚拟机都采用此算法,分为不同对象代,去进行不同管理。

读书人网 >编程

热点推荐