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