자바는 메모리 관리를 개발자가 아닌 GC(가비지콜렉터)라는 쓰레드를 생성하여 사용하지 않는 객체를 제거합니다. 일반적으로는 JVM에 의해 자동으로 GC가 실행됩니다.

Garbage Collector

Untitled

가비지콜렉션은 일반적으로 객체사용시간에따라 세대를 구분한다.

Young 영역(Young Generation)

Old 영역(Old Generation)

예외적인 상황으로 Old영역에 위치한 객체가 Young영역에 위치한 객체를 참조하는 경우도 있을 것이다. 이경우를 위해 자바에서는 카드테이블을 만들어 Old영역에 있는 객체가 Young영역의 객체를 참조할 때마다 그에대한 정보를 표시한다. 따라서 Young영역에서는 가비지컬렉션이 진행될 때 카드테이블만을 조회하며 GC의 대상인지 식별할 수 있다.