易百教程

273、什么是关闭钩子?

关闭挂钩是在 JVM 关闭之前隐式调用的线程。所以当JVM正常或突然关闭时,可以使用它来清理资源或保存状态。可以使用以下方法添加关闭挂钩:

public void addShutdownHook(Thread hook){}    
Runtime r=Runtime.getRuntime();  
r.addShutdownHook(new MyThread());

关于关闭挂钩的一些要点是:

  • 关闭挂钩已初始化,但只能在 JVM 关闭时启动。
  • 关闭挂钩比 finalizer() 更可靠,因为关闭挂钩不运行的可能性非常小。
  • 可以通过调用 Runtime 类的 halt(int) 方法来停止关闭挂钩。