java ShutdownHook介紹與使用

胡海超發表於2018-08-09

Java程式經常也會遇到程式掛掉的情況,一些狀態沒有正確的儲存下來,這時候就需要在JVM關掉的時候執行一些清理現場的程式碼。JAVA中的ShutdownHook提供了比較好的方案。

JDK提供了Java.Runtime.addShutdownHook(Thread hook)方法,可以註冊一個JVM關閉的鉤子,這個鉤子可以在一下幾種場景中被呼叫:

  1. 程式正常退出
  2. 使用System.exit()
  3. 終端使用Ctrl+C觸發的中斷
  4. 系統關閉
  5. OutOfMemory當機
  6. 使用Kill pid命令幹掉程式(注:在使用kill -9 pid時,是不會被呼叫的)

相關文章