Hogar Audio ¿Qué es un recolector de basura? - definición de techopedia

¿Qué es un recolector de basura? - definición de techopedia

Tabla de contenido:

Anonim

Definición - ¿Qué significa Garbage Collector?

Un recolector de basura es una pieza de software que realiza la gestión automática de la memoria. Su trabajo es liberar cualquier memoria no utilizada y garantizar que no se libere memoria mientras todavía está en uso. Algunos lenguajes, como Java y .NET, cuentan con recolección automática de basura, mientras que otros, como C / C ++, requieren que el programador administre manualmente la memoria.

Techopedia explica recolector de basura

La recolección de basura fue presentada por primera vez por el creador de Lisp, John McCarthy, para facilitar la administración manual de la memoria cuando se trabaja con el lenguaje Lisp.

Las tres técnicas principales utilizadas por un recolector de basura para realizar la administración automática de memoria son las siguientes:

  • Recuento de referencias: la referencia a cada objeto se cuenta mediante una variable de contador. Cuando el contador llega a cero, denota que el objeto ya no es necesario y, por lo tanto, se recicla.
  • Marcar y barrer: se realiza un recorrido recursivo de todos los objetos accesibles en todas las regiones de datos y se marcan los objetos accesibles. Los objetos sin marcar se reciclan.
  • Detener y copiar: el montón de memoria se divide en dos secciones: una sección que contiene los objetos y una sección vacía donde los objetos se transfieren (copian) si se encuentran marcados. Los objetos sin marcar en la primera sección se reciclan vaciándolos.

Cuando se ha liberado un bloque de memoria asignado a un puntero / objeto, el puntero / objeto debe restablecerse a un valor nulo; de lo contrario, está colgando, es decir, apunta a un bloque de memoria no válido.

La recolección de basura ayuda a reducir errores y riesgos de seguridad causados ​​por punteros colgantes y problemas de pérdida de memoria.

Las desventajas de usar un recolector de basura incluyen la sobrecarga adicional en recursos y rendimiento. La ejecución de un recolector de basura también puede ralentizar el sistema y, por lo tanto, disminuir su rendimiento.

¿Qué es un recolector de basura? - definición de techopedia