🧹 Garbage Collection이란?

정의

Garbage Collection은 더 이상 사용하지 않는 메모리를 자동으로 회수하는 메모리 관리 방식이다.

주로 JVM 같은 환경에서 사용되며, 개발자가 직접 메모리를 해제하지 않아도 되도록 도와준다.

⚙️ 특징

  • 개발자가 직접 메모리를 해제하지 않아도 된다.
  • 메모리 누수를 줄이는 데 도움이 된다.
  • 실행 시점에 따라 성능 영향이 있을 수 있다.
  • 참조 관계를 기준으로 회수 대상을 판단한다.

🧭 GC가 동작하는 기본 흐름

  1. 객체가 생성되면 메모리를 차지한다.
  2. 참조되지 않는 객체를 찾는다.
  3. GC Roots에서 도달할 수 없는 객체를 회수 대상으로 판단한다.
  4. 필요 없는 메모리를 정리한다.

🔍 자주 보는 개념

  • 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 영역과 직접적으로 연결되며, 메모리 상태와 애플리케이션 성능에 큰 영향을 준다.

🔍 함께 보면 좋은 문서

  • Heap
  • JVM
  • MAT

📌 정리

  • GC는 불필요한 객체를 정리해 메모리를 확보한다.
  • 참조 가능 여부를 기준으로 회수 대상을 판단한다.
  • JVM의 성능과 메모리 관리에 큰 영향을 준다.

연결문서

댓글남기기