G1은 Garbage First 이다. 이전 GC들보다 더 큰 메모리를 갖는 muiti processor machine을 타켓으로 높은 throghput과 작은 pause-time 를 목표로 만들어졌다.

특징

G1 heap

G1은 heap은 region으로 구성된다.

region은 default 1MB인 memory 공간이 heap 이 커질수록 크기가 커진다 (설정 가능)

region을 이용해서 genration 별로 연속적인 메모리 공간을 갖지 않아도 되고 GC 수행마다 매번 전체 garbage를 collect 하지 않아도 된다.

Untitled

G1 dptjsms 1,2,4,6,8,16,32,64 크기의 region을 사용할 수 있고, 기본적으로 heap 에는 2048~4095개의 region을 가질 수 있다. 모든 region의 크기는 동일하고 JVM 실행중에 크기가 변경되지 않는다.