我知道Java中的终结器存在严重的性能问题 - 请参阅此主题以获取详细信息:为什么终结器会产生"严重的性能损失"?
现在我有一个场景,我想禁止某个类的子类有终结器.AfaIk,这可以通过添加最终的空终结器来完成:
protected final void finalize() throws Throwable {}
Run Code Online (Sandbox Code Playgroud)
这样一个空的终结器是否已经触发了已知的性能问题?或者GC会将其检测为空终结器并将对象视为普通的非终结对象吗?
原因是使用自己的受控终结过程的框架.实现上述类的子类的用户可以通过添加自己的Java终结器来破坏此过程.此外,如果需要完成,它将迫使他们使用预期的最终化过程.