Sobes.tech
Junior — Middle

¿Qué algoritmo de recolección de basura aplicarías en tu trabajo?

sobes.tech AI

Respuesta de la IA

La elección del algoritmo de recolección de basura (GC) en Java depende de los requisitos de la aplicación:

  • Serial GC — recolector simple de un solo hilo, adecuado para aplicaciones pequeñas con bajos requisitos de latencia.

  • Parallel GC — multihilo, optimizado para la máxima capacidad de procesamiento, adecuado para aplicaciones de servidor con gran volumen de memoria.

  • CMS (Concurrent Mark Sweep) — minimiza las pausas de recolección, funciona en paralelo con la aplicación, adecuado para aplicaciones con requisitos de baja latencia.

  • G1 (Garbage First) — recolector moderno, equilibra entre capacidad de procesamiento y pausas cortas, funciona bien con grandes montones.

  • ZGC y Shenandoah — recolectores de baja latencia para montones muy grandes y aplicaciones críticas en cuanto a retrasos (a partir de Java 11+).

En la mayoría de los casos, para aplicaciones modernas, elegiría G1 GC, ya que escala bien y proporciona un equilibrio entre rendimiento y latencia.

Ejemplo de activación de G1 GC:

java -XX:+UseG1GC -jar myapp.jar