【原创】如何判断对象已死?
2012-07-25 16:30
141 查看
如何判断对象是否可以被回收掉?对象已经没有价值了?对象已死?
1. 引用计数算法
给对象添加一个引用计数器,每当该对象被其它对象引用的时候,计数器就加1,当某一个引用失效的时候就减1,如果对象的引用计数器持续一段时间内都为0,该对象就可以被回收。
应用:COM、FlashPlayer、Python
2. 根搜索算法:
选一些特定的对象为“GC Roots”对象作为起点,从这个起点开始向下搜索,搜索走过的路径为一个引用链,当一个对象到 GC Roots 没有任何引用链的时候,该对象就可以被回收。
应用:Java,C#
引用计数法的缺点就是无法处理相互引用的对象。
1. 引用计数算法
给对象添加一个引用计数器,每当该对象被其它对象引用的时候,计数器就加1,当某一个引用失效的时候就减1,如果对象的引用计数器持续一段时间内都为0,该对象就可以被回收。
应用:COM、FlashPlayer、Python
2. 根搜索算法:
选一些特定的对象为“GC Roots”对象作为起点,从这个起点开始向下搜索,搜索走过的路径为一个引用链,当一个对象到 GC Roots 没有任何引用链的时候,该对象就可以被回收。
应用:Java,C#
引用计数法的缺点就是无法处理相互引用的对象。
相关文章推荐
- Java虚拟机如何判断对象已死?(哪些内存需要回收)
- jvm如何判断对象已死?
- jvm如何判断对象已死?
- 浅谈如何分类判断PB当中指定对象是否存在?(原创)
- jvm如何判断对象已死?
- 如何判断对象已死(可杀之)
- 六、jvm之如何判断对象已死?
- 如何判断对象已死
- 原创---switch(T obj)选择语句如何判断是某一个对象
- 如何判断变量是数组还是对象
- 如何判断Javascript对象是否存在
- 如何判断对象是否在摄像机的可视范围内
- java虚拟机中如何判断对象已经可以garbage collected
- Java GC如何判断对象是否为垃圾
- 如何判断Javascript对象是否存在
- 【原创】如何判断文件为文本文件还是二进制文件
- GC是如何判断一个对象为"垃圾"的?被GC判断为"垃圾"的对象一定会被回收吗?
- 如何判断对象是否“构造”成功?
- JS如何判断一个对象为空
- js如何判断一个对象{}是否为空对象,没有任何属性