public class Shutdown{
static{
Runtime.getRuntime().addShutdownHook(new Thread(){
public void run(){
//程序关闭前要执行操作
}
});
}
}
PS:
1.当JVM关闭时会并发地执行注册的所有关闭钩子。
对java而言,虚拟机会对以下几种操作进行关闭:
(1)系统调用System.exit()方法。
(2)程序最后一个守护线程退出时,应用程序正常退出。
(3)用户强行中断程序运行,比如ctrl+c等其他方式中断java程序(kill -9中断程序时钩子不会被执行)。
2.钩子线程的运行必须在Linux中,windows有坑。