Saltar al contenido principal

Recolector de basura

El recolector de basura (Garbage Collector, GC) en Java es un sistema automático de gestión de memoria que se encarga de liberar memoria ocupada por objetos que ya no son referenciados o necesarios en un programa. Esta característica es una parte fundamental de la Máquina Virtual de Java (JVM) y permite que los desarrolladores no tengan que gestionar la memoria manualmente, evitando errores comunes como fugas de memoria o referencias a objetos ya liberados.

Su funcionamiento es el siguiente:

  1. Creación de objetos: Cuando un objeto se crea en tu programa, se aloja en la memoria heap de la JVM.
  2. Seguimiento de referencias: La JVM realiza un seguimiento de qué objetos están referenciados por las variables del programa. Mientras un objeto tenga al menos una referencia activa, se considera "en uso" y no será eliminado.
  3. Identificación de objetos innecesarios: Cuando un objeto ya no tiene referencias que apunten a él (por ejemplo, cuando una variable pierde su referencia o queda fuera de ámbito), este objeto se convierte en objeto inaccesible o "basura".
  4. Recolector de basura: El recolector de basura busca estos objetos sin referencias y libera la memoria que ocupan para ser reutilizada por otros objetos nuevos.