Minor GC, Major GC, Full GC
- GC
- Minor GC
- Major GC
- Full GC
- JVM의 Heap 메모리 구조
- Eden/Young Space
- Survivor 1
- Survivor 2
- Tenured/Old Space
Minor GC
Minor GC는 새로운 객체에 대해서 작동이 된다.
- Minor GC는 JVM이 새로운 객체를 생성할때 메모리가 부족하다면 발생되는 GC
- Eden 영역이 가득차게 되면 Minor GC가 발생된다.
- Minor GC가 발생되었을때 Tenured 영역의 객체 생성은 무시된다.
- 일반적으로 알려진 내용과 달리 Minor GC가 발생될때도 Stop-The-World 상태이다
Major GC와 Full GC의 차이
- Major GC : Tenured 영역
- 대부분의 경우에는 Minor GC가 발생되고 그 다음으로 발생된다.
- Full GC : Heap 메모리 전체 영역
- Tenured/Old Space, Young Space
- Major GC/Full GC를 구별하는 것에 초점을 두는것이 아니라 GC 발생을 통해 Application이 GC로 통해 멈추는 쓰레드로 인해 문제점을 찾는 것을 초점을 두어야 함.
Reference
- https://plumbr.eu/blog/garbage-collection/minor-gc-vs-major-gc-vs-full-gc
- https://plumbr.eu/handbook/garbage-collection-algorithms-implementations#concurrent-mark-and-sweep
'Programing > Java' 카테고리의 다른 글
Java Stream을 이용한 Inner Join / Left Join 기능 (0) | 2018.06.18 |
---|---|
Lombok 상위클래스 필드를 이용한 객체 생성 방법 (0) | 2017.08.06 |
Lombok @Builder Default Value 사용하기 (0) | 2017.08.06 |
Lombok (0) | 2017.07.15 |
Guava Java 라이브러리 (0) | 2017.07.02 |