En esta lección explicamos cómo funciona el recolector de basura (
GC) en la
JVM, en qué se diferencian los recolectores clásicos
Serial/
Parallel/
CMS de los modernos
G1,
ZGC y
Shenandoah, qué son las generaciones joven y vieja, por qué se producen las pausas
Stop-the-World y cómo minimizarlas. En la práctica veremos cómo activar distintos GC mediante opciones (
-XX:+UseG1GC,
-XX:+UseZGC,
-XX:+UseShenandoahGC), ajustar las pausas (
-XX:MaxGCPauseMillis) y el tamaño del heap (
-Xms/
-Xmx), leer los logs (
-Xlog:gc*) y evitar errores típicos (por ejemplo, llamar a
System.gc() de forma explícita).