关闭挂钩是在 JVM 关闭之前隐式调用的线程。所以当JVM正常或突然关闭时,可以使用它来清理资源或保存状态。可以使用以下方法添加关闭挂钩:
public void addShutdownHook(Thread hook){}
Runtime r=Runtime.getRuntime();
r.addShutdownHook(new MyThread());
关于关闭挂钩的一些要点是:
- 关闭挂钩已初始化,但只能在 JVM 关闭时启动。
- 关闭挂钩比
finalizer()
更可靠,因为关闭挂钩不运行的可能性非常小。 - 可以通过调用 Runtime 类的
halt(int)
方法来停止关闭挂钩。