读书人

Finalize步骤

发布时间: 2012-10-16 09:57:37 作者: rapoo

Finalize方法

Finalize()方法只被对象调用一次,而且,就算你执行了System.gc(),对象也不一定就马上执行Finalize方法。

?

?

public class FinalizeTest {public static FinalizeTest SAVE_OK = null;@Overrideprotected void finalize() throws Throwable {super.finalize();System.out.println("finalize method run");FinalizeTest.SAVE_OK = this;}public static void main(String[] args) throws Exception{SAVE_OK = new FinalizeTest(); //对象引用数为1SAVE_OK = null; //对象引用指数为0System.gc();Thread.sleep(1000); //Finalizer 方法优先级很低,暂停1秒if(SAVE_OK != null){System.out.println("live");}else{System.out.println("dead");}SAVE_OK = null; //对象引用指数为0System.gc();Thread.sleep(1000); //Finalizer 方法优先级很低,暂停1秒if(SAVE_OK != null){System.out.println("live");}else{System.out.println("dead");}}}
output: finalize method runlivedead
?

?

?

读书人网 >编程

热点推荐