在Java中的程序退出上运行代码

是否可以编写System.exit在终止程序时将调用的方法?

使用Runtime.getRuntime().addShutdownHook(Thread)

关机钩子就是答案…… 这里有一篇关于它们的文章 。 它们不是没有问题的(其中一些在文章中讨论)。

您可以使用关闭钩子。

http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html#addShutdownHook(java.lang.Thread

请注意,如果VMexception中止或调用Runtime.halt(int),则不会运行shutdown hooks。

您可以添加VM关闭挂钩 。

查看关闭钩子,请参阅http://docs.oracle.com/javase/8/docs/technotes/guides/lang/hook-design.html