1 方法含義
void java.lang.runtime.addshutdownhook(thread hook) 用來在jvm中增加一個關閉的鈎子。
當程式正常退出,系統調用system.exit方法或虛拟機被關閉時才會執行添加的shutdownhook線程。其中shutdownhook是一個已初始化但并不有啟動的線程,當jvm關閉時會執行系統中已經設定的所有通過方法addshutdownhook添加的鈎子,當系統執行完這些鈎子後,jvm才會關閉。是以可通過這些鈎子在jvm關閉的時候進行記憶體清理、資源回收等工作。
2 示例代碼
public class testruntimeshutdownhook {
public static void main(string[] args) {
thread shutdownhookone = new thread() {
public void run() {
system.out.println("shutdownhook one...");
}
};
runtime.getruntime().addshutdownhook(shutdownhookone);
runnable threadone = new runnable() {
try {
thread.sleep(1000);
} catch (interruptedexception e) {
e.printstacktrace();
system.out.println("thread one doing something...");
runnable threadtwo = new thread() {
thread.sleep(2000);
system.out.println("thread two doing something...");
threadone.run();
threadtwo.run();
輸出如下:
thread one doing something...
thread two doing something...
shutdownhook one...
原貼位址:http://kim-miao.iteye.com/blog/1662550