我正在阅读Kathy Sierra + Bert Bates 撰写的《OCA Java SE 8程序员I考试指南》。
关于finalize方法,我不太了解。它在第218页上指出:
调用
finalize()实际上可以导致保存对象以免被删除。
稍后在第222页:
您可以从中使对象不符合GC条件
finalize()。
英语不是我的母语,但是我在两种情况下都了解该finalize()方法可以防止对象被垃圾回收?是这样吗 还是我误解了?
这实际上完全是理论上的事情:当不再从其他活动对象中引用对象时,它们就有资格进行垃圾回收。
因此:您可以尝试在中创建此类引用finalize()。从理论上讲,这将防止对象被删除。
实际上有一个“模式名称”:object resurrection。现在,如果这是一种模式,还是有更多的反模式可供讨论。
(个人:我永远不会那样做,而且我从来没有遇到过使用这种模式的情况)
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |