Nesta aula, analisamos como funciona o coletor de lixo (
GC) na
JVM, em que os clássicos
Serial/
Parallel/
CMS diferem dos modernos
G1,
ZGC e
Shenandoah, o que são as gerações jovem e antiga, por que ocorrem pausas
Stop-the-World e como minimizá-las. Na prática, veremos como ativar coletores diferentes por flags (
-XX:+UseG1GC,
-XX:+UseZGC,
-XX:+UseShenandoahGC), ajustar pausas (
-XX:MaxGCPauseMillis) e o tamanho do heap (
-Xms/
-Xmx), ler logs (
-Xlog:gc*) e evitar erros comuns (por exemplo, chamar
System.gc() explicitamente).