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에서 제거하는 과정