참조되지 않은 개체를 삭제하는 프로세스를 가비지 컬렉션(GC)이라고 합니다. . 객체가 참조되지 않으면 사용되지 않는 객체로 간주되므로 JVM 해당 개체를 자동으로 파괴합니다.
개체를 GC에 적합하게 만드는 방법에는 여러 가지가 있습니다.
객체에 대한 참조 무효화
사용 가능한 모든 개체 참조를 "null " 객체 생성 목적이 달성되면
예시
public class GCTest1 { public static void main(String [] args){ String str = "Welcome to TutorialsPoint"; // String object referenced by variable str and it is not eligible for GC yet. str = null; // String object referenced by variable str is eligible for GC. System.out.println("str eligible for GC: " + str); } }
출력
str eligible for GC: null
참조 변수를 다른 개체에 재할당하여
다른 객체를 참조하도록 참조 변수를 만들 수 있습니다. 참조 변수를 개체에서 분리하고 다른 개체를 참조하도록 설정하여 재할당하기 전에 참조한 개체가 GC에 적합하도록 합니다.
예시
public class GCTest2 { public static void main(String [] args){ String str1 = "Welcome to TutorialsPoint"; String str2 = "Welcome to Tutorix"; // String object referenced by variable str1 and str2 and is not eligible for GC yet. str1 = str2; // String object referenced by variable str1 is eligible for GC. System.out.println("str1: " + str1); } }
출력
str1: Welcome to Tutorix