package com.snail.exam
public final class FinalizerExam {
public static void main(String[] args) {
// シャットダウンフックの登録
Runtime.getRuntime().addShutdownHook(
new Thread() {
public void run() {
System.out.println("ちりぬべき 時知りてこそ 世の中の 花も花なれ 人も人なれ");
}
});
// 無限ループの実行
FinalizerExam thisObj = new FinalizerExam();
thisObj.heartBeat();
}
/**
* 無限ループを行うメソッド(waitを使うためにsynchronizedにしてある)
*/
public synchronized void heartBeat() {
while (true) {
System.out.println("生きてるよ!");
try {
wait(3000L);
} catch (InterruptedException ignoreEx) {
ignoreEx=null;
}
}
}
}
C:\eclipse\workspace\SandBox>SET classpath=%classpath%;C:\eclipse\workspace\SandBox\bin C:\eclipse\workspace\SandBox>java com.snail.exam.FinalizerExam 生きてるよ! 生きてるよ! ちりぬべき 時知りてこそ 世の中の 花も花なれ 人も人なれ
Ctrl+C で VM を終了させると、シャットダウンフックに登録してある Thread#run() が実行される