爲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);