Java垃圾回收finalize()作用详解


finalize 方法使用案例

package test; 
   
class TestGC { 
  private String str = "hello"; 
   
  TestGC(String str) { 
    this.str = str; 
  } 
   
  public void finalize() { 
    System.out.println(str); 
  } 
} 
   
public class Hello { 
  /** 
   * @param args 
   */
  public static void main(String[] args) { 
    // TODO 自动生成方法存根 
    System.out.println("hello"); 
   
    TestGC test = new TestGC("test1"); 
    test = new TestGC("test2"); 
    test = null;//注释掉这一句,test1被回收。加上则先回收test2,后test1 
    System.gc(); 
  } 
}

    finalize() 方法是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

以上就是关于Java垃圾回收finalize()的用法介绍,希望对大家的学习有所帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3