有效的Java - 永远不要依赖终结器来更新关键的持久状态

Ren*_*jam 0 java finalizer

为什么不应该这样做?当执行垃圾收集时将调用终结器,为什么我们不能在这里添加持久性相关代码?

小智 5

正如书中解释的那样

JLS不仅不能保证终结器能够及时执行,也不能保证它们会被执行.完全可能,甚至可能,程序终止而不对某些不再可达的对象执行终结器.