~/tech-blog/tag/G1 GC — zsh
지금 --명이 보고 있습니다오늘 --누적 --

#G1 GC 8 posts

카테고리를 가로질러 G1 GC를 다룬 글을 모았습니다.

JAVA · JVM

Garbage Collection(GC)

JVM 메모리 구조와 Mark·Sweep·Compaction, 세대별 GC의 동작 원리를 정리하고, Serial GC부터 G1 GC, ZGC까지 주요 GC 알고리즘의 단계와 Stop-The-World 구간을 흐름도로 비교합니다.

2024.09.13 · 20eb3a0 · Java · JVM — 19 min
GC 챌린지 · 3/15

GC의 역할과 튜닝 기준: Ergonomics와 JVM 기본 설정

JVM 프로세스 메모리 구조와 GC가 등장한 배경, GC의 역할과 Mark·Sweep·Compact를 살펴보고, GC 선택과 튜닝이 중요한 이유, Ergonomics가 고르는 기본값과 Pause-Time·Throughput·Footprint 목표, GC 튜닝 순서를 정리합니다.

d2c80a5 · Java · JVM — 22 min
GC 챌린지 · 7/15

GC 종류: Serial, Parallel, G1, ZGC와 CMS, Shenandoah

Oracle JDK 25에서 쓸 수 있는 Serial·Parallel·G1·ZGC의 특징과 기본으로 선택되는 기준, generational ZGC의 버전별 변화, CMS GC가 은퇴한 과정과 Shenandoah GC를 정리합니다.

d2c80a5 · Java · JVM — 12 min
GC 챌린지 · 9/15

G1 GC 핵심 원리: region, mixed collection과 concurrent marking

Serial·Parallel GC의 한계에서 출발해 G1 GC가 heap을 region으로 나눠 쓰는 방식과 Young-Only·Space-Reclamation 단계, mark stack으로 old 객체를 marking하는 과정, mixed collection이 old region을 회수하는 방식을 정리합니다.

ff01f60 · Java · JVM — 21 min
GC 챌린지 · 10/15

G1 GC concurrent marking: SATB, pre-write barrier와 TAMS

G1 GC가 애플리케이션과 동시에 old 객체를 marking할 때 생기는 두 가지 오판과, 이를 막는 pre-write barrier·SATB buffer·mark stack·TAMS 포인터의 동작을 단계별 예제로 정리합니다.

ff01f60 · Java · JVM — 17 min
GC 챌린지 · 11/15

G1 GC의 remembered set과 collection set

G1 GC가 young GC와 mixed GC에서 remembered set으로 collection set 밖의 참조를 찾는 방식과 Rebuild Remembered Set, Merge Heap Roots를 정리합니다.

ff01f60 · Java · JVM — 13 min
GC 챌린지 · 12/15

G1 GC: humongous object, evacuation failure와 full GC

G1 GC의 humongous object 할당·회수와 eager reclamation, evacuation failure와 pinned 객체, full GC가 일어나는 흐름, collection set을 정리합니다.

ff01f60 · Java · JVM — 15 min
GC 챌린지 · 13/15

G1 GC 튜닝: young generation 크기, mixed GC, IHOP

G1 GC를 디폴트 옵션과 MaxGCPauseMillis·-Xmx로 튜닝하는 방법과 heap 크기 조정, young generation 크기 옵션, young GC·mixed GC가 pause time 목표를 넘을 때의 대응, back to back GC, IHOP, full GC와 Sys 시간이 클 때의 해결책을 정리합니다.

ff01f60 · Java · JVM — 22 min
● main 231 posts UTF-8 LF © 2026 코징 RSS · GitHub