IT/Programming

JVM GC(Garbage Collector) - (2) GC비교 (CMSgc, G1gc, Zgc)

Jany 2022. 4. 28. 10:18
반응형

GC 종류와 특징

CMS (Concurrent Mark & Sweep) gc

  • 기존 GC 와 다르게 객체를 순서대로 정리하는 Compaction 작업을 하지 않음
  • Inition Mark : 클래스 로더에서 살아 있는 객체 확인
  • Concurrent Mark : 위에서 확인한 객체에서 참고되고 있는 객체 확인
  • Remark : 위에서 새로 추가되거나 참고 끊어진 객체 확인
  • Concurrent Sweep : 정리

G1 (Garbage First) gc

  • jdk9 부터 공식 사용
  • heap 메모리가 Young/Old  논리 분할
  • 영역을 나누지 않고 Region으로 메모리 관리
  • SATB 알고리즘(Snapshot-At-The-Beginning) 

Zgc

  • 오라클에서 개발되고 jdk11에 early access로 포함
  • Region 구조지만 다른 메모리 구조
  • 속도와 안정성을 위해 Colored Pointers, Load Barriers 적용

 

*참고

https://renuevo.github.io/java/garbage-collection/

https://hub.packtpub.com/getting-started-with-z-garbage-collectorzgc-in-java-11-tutorial/

반응형