Web · memory

도달 가능성 기반 가비지 컬렉션 흐름

루트에서 참조 그래프를 따라갈 수 있는 객체만 살아 있고, 끊긴 객체는 수거 대상이 됩니다.

Mark and Sweep 단계

gc

Roots

항상 접근 가능한 시작점을 모읍니다.

Reference Graph

객체가 다른 객체를 참조하는 경로를 따라갑니다.

Reachable

루트에서 도달하면 메모리에 남깁니다.

Unreachable

경로가 끊기면 가비지 후보가 됩니다.

Sweep

표시되지 않은 객체의 메모리를 회수합니다.

roots mark graph reachable unreachable sweep

도달 가능성 기반 가비지 컬렉션 흐름 정리

가비지 컬렉션을 이해하면 메모리 누수는 “객체가 남았다”가 아니라 “도달 가능한 참조가 남았다”는 문제로 보입니다.