【问题标题】:How to invoke method before console program terminates itself如何在控制台程序自行终止之前调用方法
【发布时间】:2014-03-18 09:24:24
【问题描述】:

我想在程序终止之前序列化控制台应用程序中的一些对象(不简单地在 main 方法的末尾添加此代码)?

这样可以解决吗?

【问题讨论】:

  • 你可以通过addShutdownHook(Thread hook)来做。
  • 因为这样就不能保证程序异常退出时(例如在控制台中按Ctrl+C)会执行代码。关闭钩子中的代码将执行。
  • 嗯,有道理。感谢您的回答。

标签: java serialization termination application-close


【解决方案1】:

您可以如下注册一个shutDownHook:

public class Task implements Runnable {
    public void run() {
        yourWork();
    }
}

public class App{
    static {
        Runtime.getRuntime().addShutDownHook(new Thread(new Task()));
    }
    public static void main(String[] args){
        .
        .
        .
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    相关资源
    最近更新 更多