我已阅读的关于java finalize方法的所有内容均表示使用而不是。看起来它几乎不能保证被调用,即使它出现问题也可能出现问题。是否有任何需要java的finalize方法?
还有一些问题提出了什么时候使用它,似乎普遍的共识是从不。
我从来没有用它自己(因为警告不主要),我还没有看到它的任何地方使用。
是否有任何适合的情况?有没有别的办法的情况?
如果不是,那为什么呢?是否有内部类使用它并要求方法可用?或者它只是不应该在那里的东西?
我不在的时候,我应该使用它那么多的兴趣(已回答“从不”),但澄清为什么它甚至没有给出“绝不”这个问题的答案。如果它如此无用和危险,为什么它没有被折旧和清除?
http://stackoverflow.com/questions/158174/why-would-you-ever-implement-finalize – Alex
@Alex我的问题是类似的,但我不认为它是完全一样的。我并没有问这么多为什么我会用它(我不应该)为什么它首先出现在那里(因为我不应该)。由于某种原因,java API是否需要它?由于某种原因,JVM是否必须在所有对象上看到该方法?或者有没有其他的选择? (其中的第三个问题由你链接的问题解决,但前两个不是)。 – Matthew
@Alex我编辑了我的标题,使这个区别更清晰一些。 – Matthew