首页 > 编程语言 > 详细

JAVA中的finalize()方法

时间:2015-10-14 21:27:22      阅读:187      评论:0      收藏:0      [点我收藏+]

【转】JAVA中的finalize()方法

今天早上看Thinking in java的【第四章 初始化和清除】.【  清除:终结和垃圾回收】的时候, 看到了这个东西。

用于清理滴。。。

当然,这个方法来自java.lang.Object

finalize()方法的重写

权限(Access)需要是protected或者是public ,不能是private

finalize()方法不需要显示地调用, 在垃圾回收(GC)时会被自动先行调用的。

据我测试,需要显示地调用垃圾回收方法(System.gc()),并且需要有new出来的尚未被销毁匿名对象的存在(调用其它语言暂不作考虑),finalizze()方法才会被调用

Eg:

public class F {
   public static void main(String args[]) {
      new F();   
      //int a[] = new int[3];   
      //F f= new F();   
      System.gc(); 
    } 
    public void finalize() throws Throwable{            
        //super.finalize();   
        System.out.println("finalize method was called!"); 
    }
}

  

上面的代码中,分别new出了一个匿名对象, 一个整型数组和一个实例对象f,从测试结果看来,只有在创建匿名对象并且显示地调用了  System.gc()方法的时候,finalize方法才被调用了。

JAVA中的finalize()方法

原文:http://www.cnblogs.com/zzzzw/p/4878794.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!