Qual algoritmo de recolha de lixo aplicarías no teu trabalho?
sobes.tech IA
Resposta da IA
A escolha do algoritmo de recolha de lixo (GC) em Java depende dos requisitos da aplicação:
-
Serial GC — recolha simples de um único thread, adequado para aplicações pequenas com requisitos baixos de latência.
-
Parallel GC — multi-thread, otimizado para máxima capacidade de throughput, adequado para aplicações de servidor com grande volume de memória.
-
CMS (Concurrent Mark Sweep) — minimiza as pausas de recolha, funciona em paralelo com a aplicação, adequado para aplicações com requisitos de baixa latência.
-
G1 (Garbage First) — recolha moderno, equilibra entre capacidade de throughput e pausas curtas, funciona bem com grandes heaps.
-
ZGC e Shenandoah — recolhas de baixa latência para heaps muito grandes e aplicações críticas em termos de atrasos (a partir do Java 11+).
Na maioria dos casos, para aplicações modernas, escolheria o G1 GC, pois escala bem e fornece um equilíbrio entre desempenho e latência.
Exemplo de ativação do G1 GC:
java -XX:+UseG1GC -jar myapp.jar