#MyShutdownHook
public class MyShutdownHook extends Thread{
public MyShutdownHook(String name){
super(name);
}
private static final MyShutdownHook myShutdownHook = new MyShutdownHook("MyShutdownHook");
public static MyShutdownHook getMyShutdownHook(){
return myShutdownHook;
}
@Override
public void run(){
System.out.println("MyShutdownHook execute.");
}
}
#ShutDownHookDemo
public class ShutDownHookDemo {
public static void main(String[] args) throws Exception{
register();
Thread.sleep(3000);
}
public static void register() {
Runtime.getRuntime().addShutdownHook(MyShutdownHook.getMyShutdownHook());
}
/**
* Unregister the ShutdownHook
*/
public static void unregister() {
Runtime.getRuntime().removeShutdownHook(MyShutdownHook.getMyShutdownHook());
}
}