Garbage Collection
2주차 - Java의 GC는 왜 세대로 나뉘어 있을까
Eden/S0/S1/Old로 나뉜 Java의 세대별 힙 구조와 Minor/Full GC의 동작, identity hash code로 객체 동일성을 보증하는 방식, TLAB 덕분에 new()가 malloc()보다 빠른 이유까지.
하나의 주제로 이어지는 배움의 기록.
Eden/S0/S1/Old로 나뉜 Java의 세대별 힙 구조와 Minor/Full GC의 동작, identity hash code로 객체 동일성을 보증하는 방식, TLAB 덕분에 new()가 malloc()보다 빠른 이유까지.
Mark & Sweep 알고리즘이 루트에서 시작해 도달 가능한 객체를 표시하고 나머지를 회수하는 원리와, 루트가 될 수 있는 세 부류를 정리.
참조 카운팅이 주력이고 추적 GC가 보조인 파이썬 GC 구조를, CSAPP의 가비지 컬렉터 정의부터 순환 참조와 세대별 수집까지 정리.