Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 가비지 수집기(GC)를 호출하는 방법은 몇 가지입니까?


Java의 가비지 컬렉션은 데몬 스레드에 의해 수행됩니다. 가비지 수집기(GC)라고 합니다. JVM이 가비지 컬렉터를 실행할 때까지 기다리는 대신 가비지 컬렉터를 실행하도록 JVM에 요청할 수 있습니다. JVM이 우리의 요청을 수락할지 여부를 보장할 수 없습니다.

자바에서는 두 가지 방법으로 가비지 수집기를 수동으로 호출할 수 있습니다.

  • 시스템 클래스 사용
  • 런타임 클래스 사용

시스템 클래스를 사용하여

시스템 클래스에 정적 메서드 gc()가 있습니다. , JVM이 가비지 수집기를 호출하도록 요청하는 데 사용됩니다.

예시

public class SystemClassTest {
   public static void main(String[] args){
      SystemClassTest test = new SystemClassTest();
      test = null;
      System.gc();
   }
   public void finalize() {
      System.out.println("Garbage collected");
   }
}

출력

Garbage collected


런타임 클래스 사용

런타임 싱글톤 클래스입니다. Java에서는 getRuntime() 을 사용하여 런타임 객체를 얻을 수 있습니다. 방법. gc() 메소드는 런타임에서 가져옴 클래스이며 인스턴스 메서드입니다.

예시

public class RuntimeClassTest {
   public static void main(String[] args) {
      RuntimeClassTest test = new RuntimeClassTest();
      test = null;
      Runtime.getRuntime().gc();
   }
   public void finalize() {
      System.out.println("Garbage Collected");
   }
}

출력

Garbage collected