Garbage Collection
🧹 Garbage Collection이란?
정의
Garbage Collection은 더 이상 사용하지 않는 메모리를 자동으로 회수하는 메모리 관리 방식이다.
주로 JVM 같은 환경에서 사용되며, 개발자가 직접 메모리를 해제하지 않아도 되도록 도와준다.
⚙️ 특징
- 개발자가 직접 메모리를 해제하지 않아도 된다.
- 메모리 누수를 줄이는 데 도움이 된다.
- 실행 시점에 따라 성능 영향이 있을 수 있다.
- 참조 관계를 기준으로 회수 대상을 판단한다.
🧭 GC가 동작하는 기본 흐름
- 객체가 생성되면 메모리를 차지한다.
- 참조되지 않는 객체를 찾는다.
- GC Roots에서 도달할 수 없는 객체를 회수 대상으로 판단한다.
- 필요 없는 메모리를 정리한다.
🔍 자주 보는 개념
- GC Roots
- Reachability
- Mark and Sweep
- Stop-the-World
GC Roots
- 현재 살아 있다고 판단할 수 있는 시작점이다.
- 스택, static 변수, 실행 중인 스레드 등이 포함될 수 있다.
Mark and Sweep
- 살아 있는 객체를 표시하고
- 표시되지 않은 객체를 정리하는 방식이다.
Stop-the-World
- GC 수행 중 애플리케이션의 실행이 잠시 멈추는 현상이다.
- GC 튜닝에서 자주 고려하는 부분이다.
🧩 JVM과의 관계
Garbage Collection은 JVM의 중요한 동작 방식 중 하나다.
Heap 영역과 직접적으로 연결되며, 메모리 상태와 애플리케이션 성능에 큰 영향을 준다.
🔍 함께 보면 좋은 문서
HeapJVMMAT
📌 정리
- GC는 불필요한 객체를 정리해 메모리를 확보한다.
- 참조 가능 여부를 기준으로 회수 대상을 판단한다.
- JVM의 성능과 메모리 관리에 큰 영향을 준다.
댓글남기기