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()的用法介绍,希望对大家的学习有所帮助。