为JVM关闭时添加钩子,可以用来做一些日志处理,清理内存数据,保存内存数据等操作
public void addShutdownHook(Thread hook) {
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(new RuntimePermission("shutdownHooks"));
}
ApplicationShutdownHooks.add(hook);
}
源码如下,可以添加多个钩子,当JVM结束时会一一调用。如下
Runtime.getRuntime().addShutdownHook(shutdownHook);