java的垃圾回收方法finalize()

Posted 诗酒-趁年华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的垃圾回收方法finalize()相关的知识,希望对你有一定的参考价值。

众所周知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()的主要内容,如果未能解决你的问题,请参考以下文章

java的垃圾回收方法finalize()

java 怎么对一个对象强制垃圾回收

java有自动垃圾回收机制

面试题-Java基础-垃圾回收

java中是怎样进行垃圾回收的?

java回收finalize方法的作用(编程思想)