Java Object.Finalize方法

2018-01-18 16:49 更新

Java面向?qū)ο笤O計 - Java Object.Finalize方法


Java提供了一種在對象即將被銷毀時執(zhí)行資源釋放的方法。

在Java中,我們創(chuàng)建對象,但是我們不能銷毀對象。

JVM運行一個稱為垃圾收集器的低優(yōu)先級特殊任務來銷毀不再引用的所有對象。

垃圾回收器給我們一個機會,在對象被銷毀之前執(zhí)行清理代碼。

Object類有一個finalize()方法,聲明如下:

protected void  finalize() throws   Throwable  {  }

Object類中的finalize()方法不會做任何事情。

你需要覆蓋你的類中的方法。

您的類的finalize()方法將在您的類的對象銷毀之前由垃圾回收器調(diào)用。

例子

以下代碼顯示了如何創(chuàng)建一個Finalize類覆蓋對象類的finalize()方法。

class Finalize {
  private int x;

  public Finalize(int x) {
    this.x = x;
  }

  public void finalize() {
    System.out.println("Finalizing " + this.x);

  }
}

public class Main {
  public static void main(String[] args) {
    for (int i = 0; i < 20000; i++) {
      new Finalize(i);
    }
  }
}

上面的代碼生成以下結(jié)果。



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號