JVM
정의
Specification
동작 구조
Class Loader
런타임에 동적으로 클래스를 메모리에 로딩하는 역할
.class 파일을 묶어서 JVM 이 운영체제로부터 할당 받은 메모리 영역인 Runtime Data Area 로 적재
단계
종류
동작 방식
Execution Engine (실행 엔진)
정의
종류
Garbage Collector (가비지 컬렉터, GC)
정의
장점
단점
대상 객체
어디서든 참조하지 않는 객체 ⇒ Unreachable 한 객체다
동작 원리
- Mark And Sweep 알고리즘
- 루트에서부터 해당 객체에 접근 가능한지에 대한 여부를 메모리 해제의 기준으로 삼는다.
- 과정
- Mark 과정 : Root 로부터 그래프 순회를 통해 연결된 객체를 찾아내어 각각 어떤 객체를 참조하는지 마킹한다.
- Sweep 과정 : 참조하고 있지 않는 객체는 Heap 에서 제거한다.
- Compact 과정 : 분산된 객체를 Heap 의 시작 주소로 모아 메모리가 할당된 부분과 그렇지 않은 부분으로 압축한다.