IT/Programming
JVM GC(Garbage Collector) - (1) GC란 무엇인가?
Jany
2022. 4. 25. 13:47
반응형
- GC (Garbage Collector)
- JAVA 특성상 JVM에서 구동됨
- 객체가 생성되면 JVM Heap 메모리 점유
- 객체가 참조 되지 않아도 점유하고 있음
- 한정된 메모리에 사용되고 있지 않은 객체가 메모리 공간을 잡고 있어서 자동 수행
- MajorGC (FullGC)
- Minor GC 에서 삭제 되지 않고, Old Generation 영역으로 옮겨진 객체중 미사용 객체 삭제
- MinorGC
- 힙메모리의 Young Generation (Eden, Survivor1/2) 객체 삭제
- STW (Stop-The-World)
- GC 발생시 JVM은 애플리케이션을 멈추고, GC만 동작
- STW 발생시 장애가 발생될 수 있음
- GC 발생 과정
- 객체 생성시 Eden 에 생성됨
- Eden이 가득차게 되면 참조 중인 객체를 Survivor 1영역으로 이동
- Eden의 객체 크키가 남아 있는 Survivor 영역보다 크면 OLD 영역으로 이동
- Survivor 영역이 가득차면 Minor GC 발생
- 참조가 없으면 삭제
- 참조가 있으면 Survivor2 로 이동
- 반복 이후 계속 참조하면 OLD로 이동
반응형