El diferencia clave entre desechar () y finalizar () es que desechar () debe ser invocado explícitamente por el programador, mientras que el recolector de basura invoca la finalización () antes de destruir el objeto.
La disposición () es un método para cerrar o liberar recursos no administrados como archivos, transmisiones en poder de un objeto. La finalización es un método para realizar operaciones de limpieza en recursos no administrados en poder del objeto actual antes de que se destruya el objeto.
1. Descripción general y diferencia de claves
2. ¿Qué está desechando ()
3. ¿Qué es finalizar ()
4. Similitudes entre disposición () y finalizar ()
5. Comparación lado a lado - Dispose () vs Finalize () en forma tabular
6. Resumen
Una de las ventajas más importantes de .Marco neto es que proporciona recolección de basura automática. Libera automáticamente la memoria de los objetos que no se usan. En lenguajes de programación como C y C ++, el programador debe manejar la gestión de la memoria por su cuenta. Pero en idiomas como C# que se basa en .Marco neto proporciona el recolector de basura. Ayuda a administrar la memoria. No se puede usar para liberar los recursos de memoria no administrados. El método DISPOSE () se puede usar para lograr esta tarea.
El método Dispose () se puede utilizar para liberar recursos como conexiones de bases de datos, manejadores de archivos, etc. Este método no se llama automáticamente. Por lo tanto, el programador debe implementar este método. Tan pronto como se invoca este método, se libera la memoria para el recurso no administrado particular. Este método se declara en la interfaz idisisable.
El método finalizar solo es llamado por el recolector de basura cuando la referencia a un objeto no se usa más. Este método se llama justo antes de destruir el objeto. Este método se implementa con la ayuda del destructor. El método finalizar se define en el Java.lang.clase de objeto. Este método se declara protegido. No se declara como público evitar acceder por las otras clases. En general, el método finalizar puede minimizar el rendimiento del programa porque no libera la memoria al instante.
desechar () vs finalize () | |
La disposición () es un método para cerrar o liberar recursos no administrados como archivos, transmisiones en poder de un objeto. | La finalización es un método para realizar operaciones de limpieza en recursos no administrados en poder del objeto actual antes de que se destruya el objeto. |
Objetivo | |
El método de eliminación se utiliza para liberar los recursos no administrados cuando se invoca. | El método finalizar se utiliza para liberar los recursos no administrados antes de que se destruya el objeto. |
Interfaz o clase definida | |
La disposición () se define en la interfaz Idisposable de interfaz. | La finalización () se define en Java.lang.clase de objeto. |
Método de invocación | |
El método de eliminación es invocado por el programador. | El método finalizar es invocado por el recolector de basura. |
Especificador de acceso | |
El método de eliminación es público. | El método finalizar está protegido. |
Velocidad | |
El método de eliminación se invoca instantáneamente. | El método finalizar se invoca lentamente. |
Actuación | |
La disposición no minimizará el rendimiento del programa. | El método finalizar podría minimizar el rendimiento del programa. |
Este artículo discutió la diferencia entre los métodos de eliminación y finalización en C#. La diferencia entre Dispose () y Finalize () es que, el programador debe invocar explícitamente ().
1.Implementar finalizar y deshacerse de limpiar los recursos no administrados. Disponible aquí
2.Sharma, nitya. "Volver a lo básico - Dispose vs Finalize."C# esquina. Disponible aquí
1.'Csharp logo'by andres15alvarez - trabajo propio, (cc by -sa 4.0) a través de Commons Wikimedia