finalize () 방법
자바는 대상이 쓰레기 수집기에서 분리되기 전에 호출되는 방법을 정의할 수 있습니다. 이 방법은finalize () 라고 하는데, 이것은 회수 대상을 제거하는 데 사용됩니다.
예를 들어finalize () 를 사용하면 대상이 열린 파일이 닫혔는지 확인할 수 있습니다.
finalize () 방법에서 대상을 삭제할 때 실행할 동작을 지정해야 합니다.
finalize () 일반 형식은 다음과 같습니다.
protected void finalize(){
//
}
키워드protected는finalize () 방법이 이 클래스 이외의 코드에 호출되지 않도록 하는 한정자입니다.
물론 자바의 메모리 회수는 JVM에서 자동으로 할 수 있다.만약 네가 수동으로 사용한다면 위의 방법을 사용할 수 있다.
public class FinalizationDemo {
public static void main(String[] args) {
Cake c1 = new Cake(1);
Cake c2 = new Cake(2);
Cake c3 = new Cake(3);
c2 = c3 = null;
System.gc(); // Java
} }
class Cake extends Object {
private int id;
public Cake(int id) {
this.id = id;
System.out.println("Cake Object " + id + "is created");
}
protected void finalize() throws java.lang.Throwable {
super.finalize();
System.out.println("Cake Object " + id + "is disposed");
} }
위 코드를 실행하면 출력 결과는 다음과 같습니다.
Cake Object 1is created
Cake Object 2is created
Cake Object 3is created
Cake Object 3is disposed
Cake Object 2is disposed
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.