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

java的垃圾回收方法finalize()

时间:2018-07-07 17:37:36      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:nat   lse   main   family   没有   void   通用   用途   一个   

众所周知java有垃圾回收器负责无用对象占据的内存资源。但也有特殊情况的出现,这个时候有一个叫做finalize()的方法负责。finalize()不该拿来作为通用的清理方法。那finalize()真正的用途是什么?

先看一个例子:

class Book{

   boolean checkedOut = false;

   Book(boolean checkOut) {

        checkedout = checkOut;

     }

   void checkIn(){

    checkedOut = false;

     }

  protected void sinalize(){

   if(checkOut)

    System.out.println("错误:确认!")

  }

}

public class TerminationCondition{

  public static void main(String[] args){

   novel.checkIN();

  new Book(ture);

   System.gc();

  }

}如果这个时候没有finalize()来验证终结条件,将很难发现这种缺陷。

 

java的垃圾回收方法finalize()

标签:nat   lse   main   family   没有   void   通用   用途   一个   

原文地址:https://www.cnblogs.com/fly0512/p/9277422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!