IT 지식

GC(Garbage Collection)에 대한 고찰

혀가 길지 않은 개발자 2020. 10. 22. 18:58

GC(Garbage Collection)

  -  메모리 관리 기법

  -  프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 기능

  -  GC(Garbage Collection)를 실행하는 스레드를 제외한 모든 스레드들이 작업을 멈춤

 

STW(Stop The World)

  -  GC 실행을 위해 JVM이 애플리케이션 실행을 멈추는 것

  -  GC(Garbage Collection) 작업을 완료한 이후에 중단했던 작업이 재개됨

 

Mark and Sweep

  1) Mark 

    -  GC(Garbage Collection)가 스택의 모든 변수 또는 Reachable 객체를 스캔하면서

       각각 어떤 객체를 참조하고 있는지 찾는 과정. 이 과정에서 STW(Stop The World) 발생.

 

  2) Sweep

    -  Mark 작업 이후 Mark 되어있지 않은 객체들을 Heap에서 제거하는 과정