码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA中的finalize()方法

时间:2015-10-14 21:27:50      阅读:183      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!