当Java程序突然退出时,是否可以执行某些操作?

如果程序突然退出或有任何异常,我需要记录日志.例如,当某人在运行程序时按下Ctrl C时,我需要记录它突然退出.我怎样才能做到这一点?

解决方法

您可以尝试使用 shutdown hook.从文档中,钩子将在以下情况下执行:

>程序正常退出
> VM终止

这涵盖了你的^ C情况,但无疑会涵盖机器被拔掉的情况(除非机器上有某种冗余硬件).

Here是关于设计的一些注意事项.

原油示例:

Runtime.getRuntime().addShutdownHook(new Thread() {
    @Override
    public void run() {
        System.out.println("System was shutdown");
    }
});

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...