- Java는 명시적 메모리 할당은 가능하지만 명시적 해제는 할 수 없음
- Heap 메모리 특정 오브젝트를 삭제
- 알고리즘에 의한 자동 수행
- GC(Grrbage Collection) 특성상 Application 수행이 정지되는 Stop the world 이 발생.
1. Hotspot JVM에서 발생하는 GC의 종류
Minor GC
: Young Generation에서의 GC
: 빈번하게 발생. GC에 의한 Suspend 현상이 짧게 발생함.
Full GC (Major GC)
: Old Generation, Perm Area의 GC 수행
어플리케이션 수행에 많은 영향. GC에 의한 Suspend 현상이 길게 나타남.
2. Garbage Collection
대표적인 GC 중 Seraial, Parallel Collector 소개
-Serial Collector : 기본 Gabage Collector. Single Tread에서 작동
Suspend 현상이 심하여 거의 사용되지않음.
-Parallel Collector: 멀티코어에서 Throughput 위주 Collector
Young Generation : Parallel Copy
여러개의 GC Thread가 copy 수행.
Old Generation : Mark-and-Compacting 알고리즘이 실행
1. GC를 하게될 메모리 영역을 마크를 한다.
2. Mark영역의 메모리 해제를 하는 Sweep 이 발생한다. 이때 메모리 가용영역의 조각화가 발생한다.
3. 해당 가용영역을 모아주는 Compacting 작업이 발생한다.
'JAVA' 카테고리의 다른 글
Interface default methods (0) | 2020.10.19 |
---|---|
Java8 Function (0) | 2020.10.18 |
Java Heap (0) | 2020.09.04 |
JVM (0) | 2020.08.14 |
자바 면접 질문 정리 (0) | 2020.08.06 |