我希望在强行终止Java应用程序时调用方法。我需要释放我在我的应用程序中使用的资源。 请帮帮我。
由于
答案 0 :(得分:8)
这取决于你的意思“强力”,但我希望你想添加一个Shutdown钩子。
关闭挂钩是小线程,每当Java尝试关闭时都会调用它们。您可以使用Runtime API添加一个,如下所示:
Runtime.getRuntime().addShutdownHook(Thread hook)
当然,如果你真的强制关机(通过关闭机器或在其上运行kill -9),操作系统将关闭Java而不给它机会清理任何东西。在这种情况下,你将无法做任何事情。
答案 1 :(得分:1)
这就是你想要的:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
// release your resource
}
});
答案 2 :(得分:1)
您需要使用Shutdownhook:以下是示例:
Runtime.getRuntime ().addShutdownHook (
new Thread () {
@Override
public void run () {
System.out.println ( "Shutdown hook" );
}
} );