在JVM关闭前想做的操作Rumtime
在虚拟机被关闭前想做一些收尾工作,可以使用
Runtime.getRuntime().addShutdownHook(new Thread(){@Overridepublic void run() {log.error("begin to shutdown....");try {sleep(1*1000*60);} catch (InterruptedException e) {e.printStackTrace();}log.error("shutdown completely...");}});?注册新的虚拟机来关闭钩子。
Java 虚拟机会为了响应以下两类事件而关闭:
?
程序正常退出,这发生在最后的非守护线程退出时,或者在调用?exit
(等同于?System.exit
)方法时。或者,?
为响应用户中断而终止?虚拟机,如键入?^C;或发生系统事件,比如用户注销或系统关闭。