addShutdownHook
时间: 2024-11-09 22:27:22 浏览: 6
`addShutdownHook()`是Java中的一个方法,它通常用于在JVM(Java虚拟机)关闭之前执行一些清理操作。这个方法存在于`Runtime`或`ThreadMXBean`类中,允许你在应用程序退出前注册一个`Runnable`或`Callable`对象作为终止钩子(shutdown hook)。当JVM收到正常关闭信号(如通过`System.exit()`)或异常情况导致强制关闭时,这些钩子会被执行。
例如:
```java
public class ShutdownExample {
public static void main(String[] args) {
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("Shutting down gracefully...");
// 这里放置你需要在程序关闭前执行的任务
}
});
// 等待一段时间让 shutdown hook 执行
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Exiting application...");
System.exit(0); // 正常退出
}
}
```
在这个例子中,添加了的线程会在JVM关闭时打印一条消息并执行相应的任务。
阅读全文