JAvaプログラミング思想練習問題-第5章練習10-finalize方法1


テーマ:finalizeメソッドを持つクラスを作成し、メソッドにメッセージを印刷します.mainでクラスのオブジェクトを作成します.このプログラムの動作を説明してみます.
分析:多くの場合、finalize方法を書く必要はありません.jvmゴミ回収器が私たちにすべてを手伝ってくれたので、私たちはいつそれを必要としますか?オブジェクトがnewで取得したメモリ領域でない場合、またはnaiveメソッドを呼び出してメソッドで他の方法でメモリ領域を取得した場合、finalizeメソッドを使用してコンパイラにメモリ領域を解放する方法を教える必要があります.
そのワークフローは、ゴミ回収器がオブジェクトの空間を解放する準備ができたら、finalizeメソッドを呼び出して、次のゴミ回収動作が発生したときに、本当に回収されます.
fianlizeメソッドはプロファイルメソッドではなく、いつまでも呼び出されない可能性があることに注意してください.
package iteye;

public class test {
	
	@Override
	public void finalize(){
		System.out.println("start finalize  "+this);
	}
	public static void main(String[] args)  {
		test t=new test();
		t=null;
		System.gc();
	
	}
}

実行後に発見された時に出力され、時には出力されず、finalizeの不確実性を説明します.