GC와 메모리 압력 예제가 실행되는 순서
GC 루트에서 참조 경로 추적에서 시작해 할당률·생존률·정지 시간을 함께 관찰까지 값과 책임이 이동한다.
-
1
GC 루트에서 참조 경로 추적
실행 스레드 스택, static 필드, JNI 참조 등에서 이어진 객체는 회수되지 않습니다.
-
2
도달하지 않는 객체만 회수 후보
젊은 영역에서 자주 수집하고 오래 살아남은 객체를 이전해 전체 힙 작업을 줄입니다.
-
3
할당률·생존률·정지 시간을 함께 관찰
짧은 객체가 많아도 할당 속도가 지나치면 GC가 자주 일어납니다.
실행 순서 retained 목록이 배열을 계속 가리키는 동안 GC 대상이 아니며 clear 뒤에도 수집 시점은 JVM이 결정합니다.