码迷,mamicode.com
首页 > 编程语言 > 详细

JVM垃圾收集算法(标记-清除、复制、标记-整理)

时间:2016-10-16 16:39:40      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

 【JVM垃圾收集算法】

1)标记-清除算法:

  标记阶段:先通过根节点,标记所有从根节点开始的对象,未被标记的为垃圾对象(错了吧?)

  清除阶段:清除所有未被标记的对象

2)复制算法:

  将原有的内存空间分为两块,每次只使用一块,在垃圾回收时,将正在使用的内存中的存活对象复制到未被使用的内存块中,然后清除正在使用的内存块中的所有对象。

3)标记-整理算法:

  标记阶段:先通过根节点,标记所有从根节点开始的可达对象,未被标记的为垃圾对象

  整理阶段:将所有的存活对象压缩到内存的一段,之后清理边界所有的空间

 

三种算法的比较:

  效率: 复制 > 标记整理 > 标记清除  (此处的效率只是简单的对比时间复杂度,实际情况不一定如此)

  内存利用率: 标记整理 > 标记清除 > 复制

  内存整齐度: 复制 = 标记整理 > 标记清除

 

JVM垃圾收集算法(标记-清除、复制、标记-整理)

标签:

原文地址:http://www.cnblogs.com/wangyichuan/p/5966772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!