Можно ли написать метод, который System.exit вызовет при завершении программы?
Запуск кода на выходе программы в Java
Ответ 1
Используйте Runtime.getRuntime().addShutdownHook(Thread)
.
Ответ 2
Крюки выключения - это ответ... вот статья о них. Они не имеют проблем (некоторые из них обсуждаются в статье).
Ответ 3
Вы можете использовать крюк выключения.
http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)
Обратите внимание, что прерывания выключения не будут выполняться, если VM прерывается анормально или вызывается Runtime.halt(int).
Ответ 4
Посмотрите на крючки выключения, см. http://docs.oracle.com/javase/8/docs/technotes/guides/lang/hook-design.html
Ответ 5
Вы можете добавить Завершение работы VM.