ホームページ  >  記事  >  Java  >  Javaガベージコレクションfinalize()の役割の詳細説明

Javaガベージコレクションfinalize()の役割の詳細説明

高洛峰
高洛峰オリジナル
2017-01-17 15:46:471820ブラウズ

finalizeメソッドの使用例

package test;
    
class TestGC {
  private String str = "hello";
    
  TestGC(String str) {
    this.str = str;
  }
    
  public void finalize() {
    System.out.println(str);
  }
}
    
public class Hello {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自动生成方法存根
    System.out.println("hello");
    
    TestGC test = new TestGC("test1");
    test = new TestGC("test2");
    test = null;//注释掉这一句,test1被回收。加上则先回收test2,后test1
    System.gc();
  }
}

Finalize()メソッドはObjectクラスで定義されているため、すべてのクラスがそれを継承します。サブクラスは、finalize() メソッドをオーバーライドして、システム リソースを整理したり、その他のクリーンアップ作業を実行したりします。ガベージ コレクターがオブジェクトを削除する前に、finalize() メソッドがオブジェクトに対して呼び出されます。

上記は、Java ガベージ コレクションにおける Finalize() の使用法の紹介です。皆さんの学習に役立つことを願っています。

Java ガベージ コレクションにおける Finalize() の役割の詳細な説明と関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。