Java 8有关finalize方法的断言正确吗?

chi*_*tiz 3 java finalize

我正在阅读Kathy Sierra + Bert Bates 撰写的《OCA Java SE 8程序员I考试指南》

关于finalize方法,我不太了解。它在第218页上指出:

调用finalize()实际上可以导致保存对象以免被删除。

稍后在第222页:

您可以从中使对象不符合GC条件finalize()

英语不是我的母语,但是我在两种情况下都了解该finalize()方法可以防止对象被垃圾回收?是这样吗 还是我误解了?

Gho*_*ica 5

这实际上完全是理论上的事情:当不再从其他活动对象中引用对象时,它们就有资格进行垃圾回收。

因此:您可以尝试在中创建此类引用finalize()。从理论上讲,这将防止对象被删除。

实际上有一个“模式名称”:object resurrection。现在,如果这是一种模式,还是有更多的模式可供讨论。

(个人:我永远不会那样做,而且我从来没有遇到过使用这种模式的情况)