初学java,有些概念混乱了,
System.gc()是回收内存垃圾的方法,它调用一个finalize(),
那我们可以在finalize()里重新写一些语句,
那么调用System.gc()时就会执行这些语句,
那么finalize()这个方法里面本来有些什么啊?它是用来干什么的?
我们重写的时候是不是就把它本来的内容覆盖了?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sasami615】截止到2008-07-09 10:36:24的历史汇总数据(不包括此帖):
    发帖的总数量:9                        发帖的总分数:310                      每贴平均分数:34                       
    回帖的总数量:6                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:3                        结贴的总分数:60                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:6                        未结的总分数:250                      
    结贴的百分比:33.33 %               结分的百分比:19.35 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主该结一些帖子了
      

  2.   

    finally: 
     
    finally 关键字是对 Java 异常处理模型的最佳补充。 finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。如果没有 finally,您的代码就会很费解。
     
      

  3.   

    Object类的finalize()好像没有内容,只在方法定义上申明抛出异常。
      

  4.   

     protected void finalize() throws Throwable { }
    object的源码,楼上正解
      

  5.   

     我的答案:
      在垃圾回收清除对象之前, 调用 finalize()方法来清除所有活动并释放可能占有的其他类型资源。尽管垃圾回收可以回收内存资源,但不能完全或有效的负责类似关闭文件和终止网络链接这样的事。这就是 finalize()的目的。希望对大家有点帮助!
      

  6.   

    finalize(){
      里面是你要必须执行的代码!
    }