Garbage Collector
가비지 컬렉터와 메모리 할당 전략
출처 : JVM 밑바닥까지 파헤치기 3장
자바의 GC가 처리 해야 할 문제 세가지
어떤 메모리를 회수해야 하나?
자바의 참조 개념
강한 참조 (strong reference) : 가장 전통적인 정의의 참조로, 프로그램 코드에서 참조를 할당하는 것. 강한 참조 관계가 남아있는 객체는 가비지 컬렉터가 절대 회수하지 않는다.
부드러운 참조 (soft reference) : 유용하지만 필수는 아닌 객체. 메모리 오버플로가 나기 직전에 두 번째 회수를 위한 회수 목록에 추가된다.
약한 참조 (weak reference) : 부드러운 참조와 비슷하지만 연결 강도가 더 약하다. 다음번 가비지 컬렉션까지만 살아있다.
유령 참조 (phantom reference) : 참조 중에 가장 약하다. 객체 수명에 아무런 영향을 주지 않으며, 유령 참조를 통해 객체 인스턴스를 가져오는 것마저 불가능하다.
가비지 컬렉터를 측정하는 가장 중요 지표 세가지
처리량
지연 시간
메모리 사용량
언제 회수해야 하나?
어떻게 회수해야 하나?
Last updated