在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