Javaアプリケーションを強制終了するときにメソッドを呼び出すとします。私は自分のアプリケーションで使用したリソースを解放する必要があります。 私を助けてください。javaアプリケーション強制終了時にメソッドを呼び出す
おかげ
Javaアプリケーションを強制終了するときにメソッドを呼び出すとします。私は自分のアプリケーションで使用したリソースを解放する必要があります。 私を助けてください。javaアプリケーション強制終了時にメソッドを呼び出す
おかげ
それはあなたが「強制的に」によって何を意味するかのビットを依存し、私はあなたがシャットダウンフックを追加したい期待しています。
シャットダウンフックは、Javaがシャットダウンしようとするたびに呼び出される小さなスレッドです。あなたはそうのような、ランタイムAPIを使用して1を追加することができます:あなた本当には(マシンをオフにする、またはキルを実行することにより、-9、その上、)シャットダウンを強制する場合は、オペレーティング・システムを、もちろん
Runtime.getRuntime().addShutdownHook(Thread hook)
ます何かをきれいにするチャンスを与えずにJavaをシャットダウンしてください。その場合、あなたはそれについて何もすることができません。
これはあなたが望むものになるでしょう:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
// release your resource
}
});
あなたはShutdownhookを使用する必要があります。次に例を示します。
Runtime.getRuntime().addShutdownHook (
new Thread() {
@Override
public void run() {
System.out.println ("Shutdown hook");
}
});
何でSystem.exitについて()?私はshutdownhookもこのシナリオで呼ばれることはないと思います。 – Manish
はい、System.exit()で呼び出されます。 OSがJavaよりもシャットダウンを強制して、問題がある場合のみです。 – Erica
説明をありがとう! – Manish