在JAVA垃圾回收机制中使用的可达性分析算法中,若对象没有被引用链上的任意对象引用,则要进入到F-Queue队列中,然后,根据低调度优先级执行队列中对象的finalize()方法。若此时在对象中的finalize()方法中,让对象成为引用链上任意对象的引用,就可以让对象从F-Queue中退出来,实现自救。
但是在第二次进入到F-Queue中时,就不可能给他自救的机会了,因为对象的finalize()方法只会子系统自动调用一次。
在JAVA垃圾回收机制中使用的可达性分析算法中,若对象没有被引用链上的任意对象引用,则要进入到F-Queue队列中,然后,根据低调度优先级执行队列中对象的finalize()方法。若此时在对象中的finalize()方法中,让对象成为引用链上任意对象的引用,就可以让对象从F-Queue中退出来,实现自救。
但是在第二次进入到F-Queue中时,就不可能给他自救的机会了,因为对象的finalize()方法只会子系统自动调用一次。