易百教程

184、finalize() 方法的目的是什么?

finalize()方法在对象被垃圾回收之前调用。 它用于执行清理处理。 JVM 的垃圾收集器只收集那些由 new 关键字创建的对象。 所以如果创建了一个没有new的对象,可以使用finalize方法进行清理处理(销毁剩余的对象)。 清理处理是释放所有资源、网络的过程,这些资源、网络以前使用过但不再需要。 必须记住,它不是保留关键字,finalize 方法存在于对象类中,因此它在每个类中都可用,因为对象类是 java 中每个类的超类。 在这里,我们必须注意,既不能保证终结,也不能保证垃圾回收。 如下示例:

public class FinalizeTest {  
    int j=12;  
    void add()  
    {  
        j=j+12;  
        System.out.println("J="+j);  
    }  
    public void finalize()  
    {  
        System.out.println("Object is garbage collected");  
    }  
    public static void main(String[] args) {  
        new FinalizeTest().add();  
        System.gc();  
        new FinalizeTest().add();  
    }  
}