JAVA虚拟机关闭钩子(Shutdown Hook)

Posted 学海无涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA虚拟机关闭钩子(Shutdown Hook)相关的知识,希望对你有一定的参考价值。

 

程序经常也会遇到进程挂掉的情况,一些状态没有正确的保存下来,这时候就需要在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时,是不会被调用的)

以上是关于JAVA虚拟机关闭钩子(Shutdown Hook)的主要内容,如果未能解决你的问题,请参考以下文章

java的关闭钩子(Shutdown Hook)

java的关闭钩子(Shutdown Hook)

Java关闭钩子的应用 - Shutdown Hook

Mac中(parallels desktop)pd虚拟机关闭时如何访问硬盘?

Mac中(parallels desktop)pd虚拟机关闭时如何访问硬盘?

虚拟机下安装的Linux系统怎么挂起?? 怎么关闭系统才不会对系统有影响?