package com.test.hook;
public class T {
/**
* java 虚拟机关闭钩子
java.lang.Runtim类提供了addShutdownHook(Thread hook)方法,用来添加虚拟机关闭的钩子。
用途
1应用程序正常退出,在退出时执行特定的业务逻辑
2虚拟机非正常退出,比如用户按下ctrl+c,操作系统关闭等。在退出时执行必要的挽救措施。
操作系统来不及通知虚拟机就Over的情况下,这个是没有用处的,比如直接断电
*/
public static void main(String[] args) {
System.out.println("start'''");
Runtime.getRuntime().addShutdownHook(new HookThread());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("end......");
}
}
class HookThread extends Thread{
public void run(){
System.out.println("run .......");
}
}
输出
start'''
end......
hook run ......