对象已”死“吗?
在堆中存放着Java世界中几乎所有的对象实例,垃圾收集器在堆进行回收前,第一件事情就是要确定这些对象中,哪些还存活,哪些已经死去(即不可能再被任何途径使用的对象)
- 判断方法:
- 引用计数算法:
- 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器+1;当引用失效时,计数器-1,任何时刻计时器为0的对象就是不可能再被使用的。但是Java虚拟机里面未选用引用计数算法来管理内存,最主要的原因时他很难能解决对象之间相互循环引用的问题,但在微软的COM技术,Python语言,游戏脚本领域被广泛使用。
- 举个栗子:
- 引用计数算法:
public class Demo0801 {
public Object instance = null;
//定义一个object类型的字段
public static