>  기사  >  Java  >  Java 가비지 수집에서 finalize()의 역할에 대한 자세한 설명

Java 가비지 수집에서 finalize()의 역할에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-01-17 15:46:471844검색

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 중국어 홈페이지를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.