Java proporciona un concepto de recolección de basura para que la memoria sea más eficiente. El término basura significa objetos no referenciados, mientras que la recolección de basura se refiere a un proceso que reclama la memoria de tiempo de ejecución no utilizada automáticamente. Las funciones Free () y Delete () se usan en el lenguaje C y el idioma C ++, respectivamente, para lograr la recolección de basura, sin embargo, en Java, se realiza automáticamente y, por lo tanto, Java proporciona una mejor gestión de la memoria.
Este artículo presenta los siguientes aspectos de la recolección de basura de Java:
Entonces, comencemos!
¿Qué es la recolección de basura en Java?
La destrucción de un objeto "fuera de uso" se puede hacer con la ayuda de la recolección de basura. Ninguna referencia a un objeto significa que no hay necesidad de mantener ese objeto y, por lo tanto, la memoria ocupada/tomada por ese objeto se liberará. El fenómeno de liberar automáticamente la memoria se llama recolección de basura en Java.
Ventajas de la recolección de basura de Java
La recolección de basura Java proporciona múltiples ventajas, algunas de ellas se enumeran a continuación:
Cómo objeto no referenciado
Los objetos que no están referenciados (ninguna parte del programa apunta a ese objeto) pueden ser reclamados mediante recolección de basura. Hay tres formas de objetos no referenciados que se enumeran a continuación:
Asignar una referencia nula
La primera forma de no referenciar los objetos es asignar la referencia nula al objeto.
Estudiante STD = nuevo estudiante ();Ahora, STD está disponible para la recolección de basura.
Asignar una referencia a otros
Otra forma de lograr la recolección de basura es asignando una referencia a otra. Por ejemplo:
Student STD1 = New Student ();Aquí, STD1 es elegible para la recolección de basura.
Objetos anónimos
La tercera forma de no referencia a los objetos es el uso del objeto anónimo.
Estudiante nuevo();Llamando directamente al constructor.
Método finalizar () en la recolección de basura
Es un método de la clase de objeto que se puede invocar/llamarse cada vez antes de que el objeto se recolecte la basura y el propósito del método finalizar () es realizar el procesamiento de limpieza.
Sistema.Método GC ()
Una función que se puede usar para invocar/llamar al recolector de basura para realizar el procesamiento de limpieza.
Ejemplos de recolección de basura de Java
Consideremos un ejemplo práctico para una comprensión profunda de los conceptos:
Ejemplo
En este ejemplo, asignaremos la referencia nula al objeto para que sea elegible para la recolección de basura.
Estudiante de claseAnulamos el método de finalización de la clase de objeto para el procesamiento de limpieza y luego utilizamos el sistema.Función GC () que solicitará al JVM que llame al recolector de basura y, por lo tanto, destruye el objeto:
La salida autentica el funcionamiento de la recolección de basura.
Del mismo modo, las otras dos maneras se pueden usar para no referirse los objetos i.mi. objeto anónimo y asignar una referencia a otro.
Conclusión
En Java, el recolector de basura busca los objetos innecesarios/no utilizados y los elimina de la memoria. Los objetos se pueden no referencias de tres maneras diferentes, como asignar referencia nula, asignar una referencia a otra y usar el objeto anónimo. El método finalize () se invoca/se llama cada vez justo antes de que el objeto se recolecte la basura mientras el sistema.GC () ejecuta el recolector de basura y se puede invocar para el procesamiento de limpieza. Este artículo presenta una descripción detallada de la recolección de basura de Java.