Java · Avançado · Português · Técnico
G1
Coletor de lixo padrão da JVM desde o Java 9. Divide a heap em regiões e prioriza as que têm mais lixo, buscando respeitar uma meta de pausa.
Onde usar
Aparece em -XX:MaxGCPauseMillis e em logs como 'G1 Evacuation Pause'. É o coletor escolhido por padrão em máquinas com recursos suficientes.
Em código
# G1 já é o padrão; só ajusta a meta
java -XX:MaxGCPauseMillis=100 -jar app.jar
# tamanho da região (1 a 32 MB)
java -XX:G1HeapRegionSize=16m -jar app.jarExemplos
O G1 já é o padrão, só ajustamos a meta de pausa.
Aumentei a região do G1 por causa dos objetos grandes.
Cuidado
A meta de pausa é um objetivo, não uma garantia; ajustar demais costuma piorar o resultado. Meça antes de mudar.
Sinônimos
Garbage-First
Origem
G1 vem de Garbage-First, lixo primeiro: coleta antes as regiões com mais lixo.