G1은 Garbage First 이다. 이전 GC들보다 더 큰 메모리를 갖는 muiti processor machine을 타켓으로 높은 throghput과 작은 pause-time 를 목표로 만들어졌다.
G1은 heap은 region으로 구성된다.
region은 default 1MB인 memory 공간이 heap 이 커질수록 크기가 커진다 (설정 가능)
region을 이용해서 genration 별로 연속적인 메모리 공간을 갖지 않아도 되고 GC 수행마다 매번 전체 garbage를 collect 하지 않아도 된다.

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