Latest Java Garbage Collection
Java Garbage Collection 요약
Eden, Survivor, Old, Available/Unused, Humongous Region
- Eden : 메모리 할당 시 최초 영역
- Survivor : Eden 영역에서 이동되는 객체가 이동하는 영역
- Old : Survivor 영역에서 살아남은 객체가 이동되는 영역
- Available/Unused region : 사용하지 않는 영역
- Humongous region : 일정 부분을 채우는 큰 객체가 할당되는 영역
GC 작동 단계
- Initial Marking (Minor GC)
- Eden 영역에서 Survivor 영역으로 이동하는 객체들을 마킹
- Concurrent Marking (STW)
- Old Region에서 참조하고 있지 않은 객체 마킹
- Remark (Major GC) (STW)
- Initial Marking에서 참조하고 있지 않은 객체 회수
- Copying/Cleanup (STW)
- Compact
ZGC
- G1보다 더 낮은 Latency와 높은 처리량을 목표로 함
- Compact 하지 않고 새로운 영역 할당을 통해 메모리 조각화 문제 해결
- Load Barrier를 이용해 무결성 문제 보완