JVM의 GC는 사용하지 않는 객체를 자동으로 제거해 메모리를 관리하는 기능이다.
GC는 Heap 영역에서만 동작한다.
GC 대상
- 어디에서도 참조되지 않는 객체
- 스택, static, JNI 등 GC Root에서 접근 불가한 객체
GC 과정 요약


- 객체 생성 → Eden
- Eden 가득 차면 Minor GC
- 살아남은 객체 → Survivor
- 오래 살아남으면 → Old
- Old 가득 차면 Major(Full) GC
Minor GC
- Young Generation 대상
- 빠름
- Eden 정리 + Survivor 이동
- STW 발생
Major / Full GC
- Old Generation 대상
- 느림
- 전체 Heap 정리
- STW 길어 서비스 영향 큼
GC는 살아있는 객체만 남기고 나머지를 자동으로 제거한다.
'Backend' 카테고리의 다른 글
| @Transactional(propagation = REQUIRES_NEW) (0) | 2026.01.04 |
|---|---|
| Chunk Commit (0) | 2025.12.28 |
| 웹서버 ServerTokens, ServerSignature 설정 (0) | 2025.12.07 |
| JTA(Transaction) Timeout (0) | 2025.11.30 |
| Files.delete()와 deleteIfExists() 차이점 (0) | 2025.11.16 |