62,614
社区成员
发帖
与我相关
我的任务
分享
public class FinalizeEscapeGC {
public static FinalizeEscapeGC gc=null;
public static void isAlive(){
System.out.println("yes,i am alive!!!");
}
public static void isDead(){
System.out.println("no, i am dead!!!");
}
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("Finalize method is executed!!!");
gc=this;
}
public static void main(String[] args) throws Throwable{
gc=new FinalizeEscapeGC();
gc=null;
System.gc();
Thread.sleep(500);
if(gc!=null)
isAlive();
else
isDead();
gc=null;
System.gc();
Thread.sleep(500);
if(gc!=null)
isAlive();
else
isDead();
}
}