참고 블로그
Java Garbage Collection
[Java Performance Fundamental 정리] CHAPTER 3. Garbage Collection (2) Hotspot JVM의 Garbage Collection (작성중)
stop the world
- GC을 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것.
- GC 실행 스레드를 제외한 나머지 스레드는 모두 작업을 멈춘다. → 작업 완료 이후에야 중단했던 작업을 다시 시작한다.
- GC 튜닝 =
stop-the-world
시간을 줄이는 것
명시적 메모리 해제
Java는 프로그램 코드에서 메모리를 명시적으로 지정하여 해제하지 않는다.
- 해당 객체를 null로 지정
System.gc()
호출 → 시스템의 성능에 매우 큰 영향을 미치므로 절대 사용하지 말것 ⚠️
Garbage Collector가 더 이상 필요 없는 객체를 찾아 지우는 작업을 한다.
Weak generational hypothesis
- 대부분의 객체는 금방 접근 불가능 상태(unreachable)가 된다
- 오래된 객체에서 젊은 객체로의 참조는 아주 적게 존재한다.