Java关闭钩子

Posted

tags:

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

Java关闭钩子

在Java程序中可以通过添加关闭钩子,实现在程序退出时关闭资源的功能。 
使用Runtime.addShutdownHook(Thread hook)向JVM添加关闭钩子

    public void addShutdownHook(Thread hook) {
        SecurityManager sm = System.getSecurityManager();
        if (sm != null) {
            sm.checkPermission(new RuntimePermission("shutdownHooks"));
        }
        ApplicationShutdownHooks.add(hook);
    } 

 

ShutdownHook(Thread hook)方法,可以注册一个JVM关闭的钩子,这个钩子可以在以下几种场景被调用: 
1)程序正常退出 
2)使用System.exit() 
3)终端使用Ctrl+C触发的中断 
4)系统关闭 
5)使用Kill pid命令干掉进程

 

做一个大任务的时候 关闭jvm 这个时候至少把当前拆分的小任务完成后才能关闭。

例如 批量查询

以上是关于Java关闭钩子的主要内容,如果未能解决你的问题,请参考以下文章

Java关闭钩子

tomat(16)关闭钩子

java的关闭钩子(Shutdown Hook)

java web应用程序的关闭钩子

从JDK源码看关闭钩子

JAVA 虚拟机钩子