Diferencia entre dispose () y finalize ()

Diferencia clave - disponer () vs finalizar ()
 

los diferencia clave entre dispose () y finalize () es que dispose () tiene que ser invocado explícitamente por el programador mientras que finalize () es invocado por el recolector de basura antes de destruir el objeto.

El dispose () es un método para cerrar o liberar recursos no administrados, como archivos, flujos retenidos por un objeto. La finalización es un método para realizar operaciones de limpieza en recursos no administrados mantenidos por el objeto actual antes de que se destruya el objeto.

CONTENIDO

1. Resumen y diferencia clave
2. Lo que se dispone ()
3. Lo que se finaliza ()
4. Similitudes entre dispose () y finalize ()
5. Comparación lado a lado: dispose () vs finalize () en forma tabular
6. Resumen

Lo que se dispone ()?

Una de las ventajas más importantes de .NET Framework es que proporciona la recolección automática de basura. Libera automáticamente la memoria de los objetos que no se utilizan. En lenguajes de programación como C y C ++, el programador debe manejar la administración de la memoria por su cuenta. Pero en lenguajes como C # que se basa en .NET framework proporciona el recolector de basura. Ayuda a gestionar la memoria. No se puede utilizar para liberar los recursos de memoria no administrados. El método dispose () se puede utilizar para lograr esta tarea..

El método dispose () se puede usar para liberar recursos como conexiones de base 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 en particular. Este método está declarado en la interfaz IDisposeable..

Lo que se finaliza ()?

El recolector de basura solo invoca el método de finalización cuando no se usa más la referencia a un objeto. Este método se llama justo antes de destruir el objeto. Este método se implementa con la ayuda del destructor. El método de finalización se define en la clase java.lang.object. Este método se declara como protegido. No se declara como público para evitar el acceso de las otras clases. En general, el método de finalización puede minimizar el rendimiento del programa porque no libera la memoria instantáneamente.

¿Cuál es la similitud entre dispose () y finalize ()??

  • Tanto dispose () como finalize () se pueden usar para liberar la memoria asignada para un recurso no administrado.

¿Cuál es la diferencia entre dispose () y finalize ()??

dispose () vs finalize ()

El dispose () es un método para cerrar o liberar recursos no administrados, como archivos, flujos retenidos por un objeto.. La finalización es un método para realizar operaciones de limpieza en recursos no administrados mantenidos por el objeto actual antes de que se destruya el objeto.
 Objetivo
El método de disposición se utiliza para liberar los recursos no administrados cuando se invoca. El método de finalización se utiliza para liberar los recursos no administrados antes de que se destruya el objeto.
Interfaz o clase definida
El dispose () se define en la interfaz IDisposable interface. La finalización () se define en la clase java.lang.object.
 Método de invocación
El método de disposición es invocado por el programador.. El método de finalización es invocado por el recolector de basura.
Especificador de acceso
El método de disposición es público.. El método de finalización está protegido..
Velocidad
El método de disposición se invoca instantáneamente.. El método de finalización se invoca lentamente..
Actuación
La disposición no minimizará el rendimiento del programa.. El método de finalización podría minimizar el rendimiento del programa..

Resumen - disponer () vs finalizar ()

Este artículo discutió la diferencia entre disponer y finalizar los métodos en C #. La diferencia entre dispose () y finalize () es que, dispose () tiene que ser invocado explícitamente por el programador, mientras que finalize () es invocado por el recolector de basura antes de destruir el objeto.

Referencia:

1. Implementar Finalizar y disponer para limpiar los recursos no administrados. Disponible aquí  
2.Sharma, Nitya. "Volver a lo básico - Eliminar Vs Finalizar". C # Corner. Disponible aquí  

Imagen de cortesía:

1.'Csharp Logo'By Andres15alvarez - Trabajo propio, (CC BY-SA 4.0) vía Commons Wikimedia