当应用程序发生异常而没有捕获到,会导致程序挂掉,可以添加一个钩子线程,在jvm退出前执行钩子线程中的代码

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
public class Demo {
    
    
    public static void main(String[] args) throws Exception, SecurityException {
        
        //给应用添加一个钩子线程,jvm退出时会执行
        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            System.out.println("exit jvm ");
        }));
        
        int i = 0; 
        int a = 0;
        while(true) {
            i ++;
            Thread.sleep(1_000);
            System.out.println("i = "+ i);
            if(i == 10) {
                a = 3/0;
            }
        }
        
        
    }

}

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄