La mayoría de los lenguajes de programación admiten programación orientada a objetos. Es una metodología para construir un programa o un software utilizando objetos. Se crea un objeto usando una clase, por lo que es una instancia de una clase. Una clase proporciona la descripción de lo que debe consistir el objeto. Al crear objetos, la memoria se asigna para los objetos. La memoria asignada debe lanzarse al final de la ejecución del programa para reutilizar esa memoria para algún otro objeto. Lenguajes de programación como Java y C#.Utilice la red coleccionistas de basura para la gestión de la memoria, mientras que los idiomas como C y C ++ requieren que el programador maneje la gestión de la memoria. Se debe asignar la cantidad necesaria de memoria, y al final de la ejecución, la memoria debe liberarse. El recolector de basura y el destructor se utilizan para liberar la memoria. El diferencia clave Entre el recolector de basura y el destructor está que Un recolector de basura es un software que realiza la gestión de la memoria automática, mientras que un destructor es un método especial llamado por el recolector de basura durante la destrucción del objeto.
1. Descripción general y diferencia de claves
2. ¿Qué es un recolector de basura?
3. ¿Qué es un destructor?
4. Similitudes entre el recolector de basura y el destructor
5. Comparación de lado a lado: recolector de basura vs destructor en forma tabular
6. Resumen
Algunos lenguajes de programación han administrado entornos de código. En los lenguajes de programación Java y C#, se realiza la gestión de memoria automática. El programador no necesita liberar la memoria utilizada por los objetos. Es más fácil para ellos desarrollar sistemas incluso complejos porque la gestión de la memoria se realiza automáticamente. En lenguajes de programación, como C, C ++ y Objective C, el programa debe liberar la memoria de los objetos al sistema. Idiomas como Java y C# pueden descubrir los objetos que ya no se usan. Posteriormente, liberan la memoria asignada para esos objetos al sistema.
En los lenguajes de programación C# y Java, si hay una clase llamada Estudiante, entonces se puede crear un objeto usando Student S = New Student (); El 'nuevo' se utiliza para crear una instancia de clase de estudiante. Asigna memoria en el sistema. El 's' se refiere al bloque de memoria asignado para ese objeto. Los entornos de lenguaje identifican si los objetos se están utilizando o no. Si no se usan más, entonces la memoria se libera y se puede usar más tarde.
Figura 01: recolector de basura y destructor
Al ejecutar un programa, los bloques de memoria se asignan desde el grupo de memoria del sistema. Luego, el programa realiza las tareas utilizando esa memoria. Cuando termina la ejecución del programa, el recolector de basura calcula si los bloques de memoria asignados para el programa son esenciales o no. Si no son necesarios, esos bloques de memoria se devuelven al sistema. Entonces, el recolector de basura puede rastrear los objetos creados en el programa. Los bloques de memoria que ya no se requieren se envían de regreso al grupo de memoria del sistema. La principal ventaja de este proceso es confirmar que el programador no tiene que concentrarse en la distribución de la memoria. Equilibra el rendimiento y el uso de la memoria.
Un destructor es una función especial para miembro de una clase. Se invoca cada vez que el objeto sale del alcance. El objeto puede destruirse cuando termina una función o al final de la ejecución del programa. El destructor tiene el mismo nombre que el nombre de la clase. El constructor se usa para crear el objeto. Puede aceptar parámetros. El constructor también puede tener valores de retorno. Pero en un destructor, no hay tipo de retorno o aceptación de parámetros. Una clase solo puede consistir en un destructor. Se refiere un destructor utilizando el signo de Tilde. Si el nombre de la clase es estudiante, entonces el destructor es ~ estudiante () .
El recolector de basura busca los objetos que ya no se requieren. Asegura que los objetos que ya no son utilizados por el programa. Llama al destructor para liberar la memoria y desantar los recursos. Los destructores son útiles para liberar memoria, cerrar archivos, liberar recursos de red y cerrar las conexiones de la base de datos. En la mayoría de los lenguajes de programación, no es necesario escribir el destructor porque el recolector de basura llama al constructor predeterminado por su cuenta. Si el programador ha realizado alguna asignación de memoria dinámica usando punteros en un lenguaje como C ++, entonces debe escribir un destructor para liberar la memoria antes de que se destruya el objeto.
Recolector de basura vs destructor | |
Un recolector de basura es un software que realiza administración de memoria automática. | Un destructor es un método especial llamado por el recolector de basura durante la destrucción del objeto. |
Tipo | |
Un recolector de basura es un software. | Un destructor es un método. |
El recolector de basura y el destructor son dos términos asociados con la liberación de la memoria. Este artículo discutió la diferencia entre el recolector de basura y el destructor. La diferencia entre el recolector de basura y el destructor es que un recolector de basura es un software que realiza la gestión de la memoria automática, mientras que un destructor es un método especial llamado por el recolector de basura durante la destrucción del objeto.
Puede descargar la versión PDF de este artículo y usarla para fines fuera de línea según la nota de cita. Descargue la versión PDF aquí: Diferencia entre el recolector de basura y el destructor
1.lyndapodcast. “Cómo funciona la recolección de basura C# | lynda. Tutorial."Cómo funciona la recolección de basura C# | lynda.COM Tutorial, LinkedIn Learning Solutions, 19 de septiembre. 2011. Disponible aquí
2.Destructores en c ."Geeksforgeeks, 27 de mayo de 2017. Disponible aquí
3.Jain, Shubham. "Recolector de basura y destructor en C#."C# esquina. Disponible aquí