Java - 对象不是“垃圾收集”和“垃圾收集”。在节目结束?
public class Main {
public static void main(String[] args) throws InterruptedException {
ClassA a = new ClassA();
a = null;
//Runtime.getRuntime().gc();
Thread.sleep(4000);
}
}
public class ClassA {
@Override
public void finalize(){
System.out.println("cleaned");
}
}
使用上面的代码,finalize()永远不会执行。控制台上没有任何内容。
从gc()中删除注释时,执行finalize()和
“已清理”将打印到控制台。
为什么我必须明确地调用垃圾收集器?
没有找到相关结果
已邀请:
1 个回复
净爽
http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html#addShutdownHook%28java.lang.Thread%29