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