zoukankan      html  css  js  c++  java
  • 对JVM添加ShutdownHook管理停止时的操作

    对JVM添加ShutdownHook管理停止时的操作

    JVM准备停止时,添加ShutdownHook监听状态,可处理一些对象的生命周期

    简单例子

    public class Demo {
    
        public static void main(String[] args) throws IOException {
            System.out.println("Start.");
    
            // adding hook
            Runtime.getRuntime().addShutdownHook(new Thread(new Hook(),"hook"));
            Runtime.getRuntime().addShutdownHook(new Thread(new Hook2(),"hook2"));
    
            // imitate do something...
            System.in.read();
    
            System.out.println("Shutdown.");
        }
    
    
        static class Hook implements Runnable{
            @Override
            public void run() {
                // 当jvm准备停止时执行此hook
                System.out.println(Thread.currentThread().getName()+": Hook Running.");
            }
        }
    
        static class Hook2 implements Runnable{
            @Override
            public void run() {
                try {
                    Thread.sleep(3000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                // 当jvm准备停止时执行此hook
                System.out.println(Thread.currentThread().getName()+": Hook Running.");
            }
        }
    }
    
  • 相关阅读:
    webpack2.x抽取css
    window.print控制打印样式
    Vue2.x中的父子组件相互通信
    Vue2.x中的父组件数据传递至子组件
    NodeJs之fs的读写删移监
    设计
    mycat服务启动{管理模块启动过程}
    mycat初探
    zookeeper总结
    rocketmq总结
  • 原文地址:https://www.cnblogs.com/xcmelody/p/13201906.html
Copyright © 2011-2022 走看看