1、标记-清除
标记出需要回收的对象
在标记完成后统一回收所有被标记的对象
不足:
效率不高,产生内存碎片太多
2、复制算法
将整个内存等分为两块
当一块的内存用完了
将存活的对象复制到另一块上面
将刚使用过的这块内存清理
优点:实现简单,运行高效,没有碎片产生
不足:空间代价高,将内存缩小了一半
3、标记-整理算法
让所有存活的对象都向一端移动
清理调端边界以外的内存
4、分代收集
将Java堆分为新生代和老年代
新生代:每次垃圾收集都有大批对象死去,少量对象存活(方法2)
老年代:对象存活率高(标记-整理)
本文出自 “11801219” 博客,请务必保留此出处http://11811219.blog.51cto.com/11801219/1795266
原文地址:http://11811219.blog.51cto.com/11801219/1795266