본문 바로가기
JAVA&스프링

JAVA JVM 힙 영역과 GC(Garbage Collector)

by 개발고구마 2025. 6. 13.

JVM Heap 영역

- GC가 관리하는 메모리 영역으로 Java에서 사용되는 개체의 인스턴스 및 배열이 저장되는 공간

- 설정에 따라 크기를 변경하거나 고정할 수 있음. 부족 시 OutOfmemoryError 에러 발생

     힙 덤프 분석

- 세대별 컬렉션 이론을 기반으로 설계 및 운영

    Eden, Survivor / New,Old generation / 영구 세대

 

JVM Garbage collector(GC)

- Heap 영역에서 참조되지 않는 개체를 수집 및 제거해 메모리 회수

    ex) 참조자가 선언된 스코프가 닫히는 순간 참조할 방법이 사라져 JVM이 처리

    참조자 선언을 하면서 정적 선언을 하게되면 메모리를 계속 유지. 조심

- Minor/Major(Full) GC

    GC수행 시 프로그램 일시 정지

    stop-the-world (정지해있는 상황)

- GC 속도

    Minor GC가 보통 1초 이내 완료

    Full GC는 수 초 이상 진행되기도 하며 이 지연 때문에 DB연결이 끊기는 등 문제가 발생할 수 있음

 

GC기술 구체적인 내용은 다른 글로 작성