如何确定垃圾对象
2012-08-20 11:16
225 查看
在标记阶段,最重要的工作是区分垃圾对象。
为了区分垃圾,首先要确定所谓Root set。
Root set是内存对象的集合,在程序的当前上下文环境中,这些对象肯定可以访问。
很明显,属于Root set的对象如果引用了其他的对象,那么那些被引用的对象也不是垃圾对象。
标记的思路就是从Root set出发,遍历所有Root set能访问到的对象,对他们进行标记,表明这些对象不是垃圾对象,这是一个递归的搜索过程。
当整个遍历结束之后,那些没有被标记的对象就是垃圾对象。
为了区分垃圾,首先要确定所谓Root set。
Root set是内存对象的集合,在程序的当前上下文环境中,这些对象肯定可以访问。
很明显,属于Root set的对象如果引用了其他的对象,那么那些被引用的对象也不是垃圾对象。
标记的思路就是从Root set出发,遍历所有Root set能访问到的对象,对他们进行标记,表明这些对象不是垃圾对象,这是一个递归的搜索过程。
当整个遍历结束之后,那些没有被标记的对象就是垃圾对象。
相关文章推荐
- GC 如何确定那个对象是垃圾
- 如何在运行时确定对象类型(RTTI)
- 如何在运行时确定对象类型(RTTI)
- 如何在运行时确定对象类型(RTTI)
- 4、如何强制垃圾回收一个对象?(java)
- 下面的示例演示如何使用传递到事件处理方法的 GridViewCommandEventArgs 对象确定引发事件的按钮的命令名。
- 【jvm】Java虚拟机(jvm)如何查找垃圾对象
- 如何在运行时确定对象类型(RTTI)
- jvm垃圾回收机制(二)算法和如何进行判断对象是否回收实例
- GC是如何判断一个对象为"垃圾"的?被GC判断为"垃圾"的对象一定会被回收吗?
- 看Java中对象引用如何严重影响垃圾收集器(1)
- 学习之如何确定用到哪些IO类对象
- Jvm(20),如何定义为垃圾对象----引用计数法
- 如何在运行时确定对象类型(RTTI)
- 如何在运行时确定对象类型(RTTI)
- 如何确定竞品对象-如何收集竞品数据
- 垃圾收集(GC)中如何确定哪些内存是"垃圾
- 看Java中对象引用如何严重影响垃圾收集器(2)
- 如何在运行时确定对象类型(RTTI)
- 如何在运行时确定对象类型(RTTI)