相关疑难解决方法(0)

shutdown hook vs finalizer方法

我只是不明白为什么必须使用Runtime.addShutdownHook.如果你想在jvm退出时进行一些清理,为什么不重载守护进程类的finalize方法.使用shutdown hook而不是finalize方法有什么好处.

还有一个不推荐使用的函数runFinalizersOnExit.如果我将其设置为false,我相信终结器将无法运行.这与java保证终结器总是在垃圾收集之前运行相矛盾.

java multithreading finalizer shutdown-hook

12
推荐指数
2
解决办法
3726
查看次数

为什么在Java 9中不推荐使用finalize()方法?

(此问题不同于您为什么要实现finalize()?此问题与从Java平台弃用有关,另一个问题与在应用程序中是否应使用此机制有关。)

为什么finalize()在Java 9中不推荐使用该方法?

是的,它可能以错误的方式使用(例如,从垃圾收集中保存对象(尽管仅一次)或尝试关闭其中的某些本机资源(比完全不关闭更好))以及许多其他方法可能会被错误地使用。

那么,finalize()真的有这么危险的或绝对无用,它是必要踢出来的Java?

java finalize java-9

2
推荐指数
1
解决办法
393
查看次数