标签:java
Java的垃圾回收器在回收某个对象的内存之前,会调用finalize()方法进行资源清理。
如果程序在终止之前始终没有进行垃圾回收,那么对象的finalize()是始终不会调用的。
关于finalize()我们有以下几点说明:
public class StringDemo {
private static StringDemo demo = null;
public static void main(String[] args) {
System.out.println("new=" + new StringDemo());
System.out.println("new=" + new StringDemo());
System.out.println("new=" + new StringDemo());
System.gc();
System.runFinalization();
demo.info();
}
public void info() {
System.out.println("-----info-----");
}
@Override
protected void finalize() throws Throwable {
demo = this;
System.out.println("this=" + this);
System.out.println("demo=" + demo);
}
} 
标签:java
原文地址:http://blog.csdn.net/zhaokaiqiang1992/article/details/42293291