GC 동작 방식 및 원리 (1)
·
Java
GC — 세대 가설과 GC RootGC가 객체의 생사를 판별하는 근거와, 실무에서 자주 마주치는 GC Root발 메모리 누수 패턴을 코드와 함께 파헤친다.C와 C++에서는 메모리 할당과 해제를 개발자가 직접 관리해야 한다. Java는 이 과정을 자동화한 GC(Garbage Collector)를 제공한다.GC 알고리즘(G1, ZGC 등)과 Stop-the-World, Card Table, Write Barrier 등 세부 동작은 다음 글에서 다룬다. 이 글에서는 GC가 세대를 나누는 근거와 GC Root, 그리고 GC Root로 인한 메모리 누수 패턴까지만 짚는다.1 GC를 뒷받침하는 3가지 가설GC는 아래 3가지 가설을 근거로 동작 방식을 설계한다.가설내용근거가 되는 설계약한 세대 가설(Weak Gene..