导语
垃圾回收机制本身依托于对象的可触及性,也就是从根节点开始是否可以访问到这个对象,如果可以则说明这个对象是可触及的,也就是可达的。如果访问不到说明这个对象已经不能被使用到了。到这个时候这个对象就要被进行回收了。那么一个对象是否可以回收就要对其可触及性进行分析。保证可以在相对安全的情况下进行垃圾回收。
引言
判断什么情况下对象进行回收,下面给出了3种情况
- 从根节点开始,可以达到这个对象
- 对象的所有应用都被释放,但是对象有可能在finalize()函数中复活
- 对象的finalize()函数被调用,并且没有复活,那就进入到了不可及的状态,不可及对象不能被复活,因为finalize()函数只能被调用一次。
对于以上的三种情况,只有在对象不可及时才可以被回收。
对象复活
示例代码
public class CanReliveObj