如果您没有其他设计更改选择,那么您可能需要的是JVM关闭挂钩,可以添加它以在调用System.exit时运行一段代码.
Shutdown Hooks are a special construct that allow developers to plug
in a piece of code to be executed when the JVM is shutting down. This
comes in handy in cases where we need to do special clean up
operations in case the VM is shutting down.
你可以添加一个关闭钩子,如下所述:
Runtime.getRuntime().addShutdownHook(Thread)
阅读更多关于关闭钩子的信息:
谨慎之言:
We must keep in mind is that it is not guaranteed that shutdown
hooks will always run. If the JVM crashes due to some internal error,
then it might crash down without having a chance to execute a single
instruction. Also, if the O/S gives a SIGKILL
(07001) signal (kill -9 in Unix/Linux)
or TerminateProcess (Windows), then the application is required to
terminate immediately without doing even waiting for any cleanup
activities. In addition to the above, it is also possible to terminate
the JVM without allowing the shutdown hooks to run by calling
Runime.halt() method.