Language/JAVA

Java Garbage Collection

개랭갱깽스타 2019. 9. 11. 16:48

용어

  • stop-the-world: GC를 실행하기 위해 JVM이 애플리캐이션을 멈추는 것
  • GC튜닝: stop-the-world 시간을 줄이는 것

개념

  • weak generational hypothesis
    • 대부분의 객체는 금방 접근 불가능 상태(unreachable) 상태가 된다.
    • 오래된 객체에서 젊은 객체로의 참조는 아주 적게 존재한다.
    • HotSpot VM에서 물리적 공간을 나누 영역
      • Young(Young Generation) 영역
        • 새롭게 생성한 객체의 대부분이 여기 위치
        • 대부분의 객체가 금방 접근 불가능 상태가 되기 때문에 매우 많은 객체가 Young 영역에 생성되었다가 사라짐
        • 이 영역에서 객체가 사라질 때 Minor GC가 발생한다고 함
      • Old(Old Generation ) 영역
        • 접근 불가능 상태로 되지 않아 Young 영역에서 살아남은 객체가 여기로 복사
        • 대부분 Young 영역보다 크게 할당
        • 크기가 큰 만큼 Young 영역보다 GC는 적게 발생
        • 이 영역에서 객체가 사라질 때 Major GC(혹은 Full GC)가 발생했다고 함

참고자료

반응형