/** MyObject.java */
public class MyObject {
static int count;
MyObject() {
++count;
}
public static void main(String[] args) {
MyObject obj1 = new MyObject();
MyObject obj2 = new MyObject();
MyObject obj3 = new MyObject();
System.out.println("目前有" +count+ "個物件");
obj2 = null;
System.out.println("請求G.C.");
System.gc();
System.out.println("目前剩餘" +count+ "個物件");
}
protected void finalize() throws Throwable {
--count;
String tName = Thread.currentThread().getName();
System.out.println("執行finalize()的是:" + tName);
}
}
輸出結果:
目前有3個物件
請求G.C.
目前剩餘3個物件
執行finalize()的是:Finalizer
輸出結果:
目前有3個物件
請求G.C.
目前剩餘3個物件
執行finalize()的是:Finalizer
沒有留言:
張貼留言