1.标记清除算法
分为2个阶段,首先是标记阶段,对所有需要回收的对象进行标记,第二阶段是回收。
主要不足:效率不高,空间产生碎片较多。
2.复制算法
将存活对象移到另一个独立的内存空间。
3.标记整理
对第一种方法的改进,代价高。
上述几种算法可以综合使用。在新生代,如果对象在收集时经常会有很多死去,那么采用复制算法,只需要复制很少的对象即可。老年代,存活率较高,采用标记清除或标记整理。
分为2个阶段,首先是标记阶段,对所有需要回收的对象进行标记,第二阶段是回收。
主要不足:效率不高,空间产生碎片较多。
将存活对象移到另一个独立的内存空间。
对第一种方法的改进,代价高。
上述几种算法可以综合使用。在新生代,如果对象在收集时经常会有很多死去,那么采用复制算法,只需要复制很少的对象即可。老年代,存活率较高,采用标记清除或标记整理。