Hauptunterschied – dispose () vs finalize ()
Der Hauptunterschied zwischen dispose() und finalize() besteht darin, dass dispose() explizit vom Programmierer aufgerufen werden muss, während finalize() vom Garbage Collector aufgerufen wird, bevor das Objekt zerstört wird.
Dispose () ist eine Methode, um nicht verw altete Ressourcen wie Dateien oder Streams, die von einem Objekt geh alten werden, zu schließen oder freizugeben. Das Finalisieren ist eine Methode zum Ausführen von Bereinigungsvorgängen an nicht verw alteten Ressourcen, die vom aktuellen Objekt geh alten werden, bevor das Objekt zerstört wird.
Was ist dispose()?
Einer der wichtigsten Vorteile von. NET Framework ist, dass es eine automatische Garbage Collection bereitstellt. Es gibt automatisch den Speicher der nicht verwendeten Objekte frei. In Programmiersprachen wie C und C++ muss sich der Programmierer selbst um die Speicherverw altung kümmern. Aber in Sprachen wie C, das auf dem. NET-Framework aufbaut, stellt es den Garbage Collector bereit. Es hilft, das Gedächtnis zu verw alten. Es kann nicht verwendet werden, um die nicht verw alteten Speicherressourcen freizugeben. Die Methode dispose () kann verwendet werden, um diese Aufgabe zu erfüllen.
Mit der Methode dispose() können Ressourcen wie Datenbankverbindungen, Filehandler etc. freigegeben werden. Diese Methode wird nicht automatisch aufgerufen. Daher sollte der Programmierer diese Methode implementieren. Sobald diese Methode aufgerufen wird, wird der Speicher für die bestimmte nicht verw altete Ressource freigegeben. Diese Methode ist in der Schnittstelle IDisposeable deklariert.
Was ist finalisieren ()?
Die Finalize-Methode wird vom Garbage Collector nur dann aufgerufen, wenn die Referenz auf ein Objekt nicht weiter verwendet wird. Diese Methode wird unmittelbar vor dem Zerstören des Objekts aufgerufen. Diese Methode wird mit Hilfe des Destruktors implementiert. Die Methode finalize ist in der Klasse java.lang.object definiert. Diese Methode wird als geschützt deklariert. Es ist nicht als öffentlich deklariert, um den Zugriff durch die anderen Klassen zu vermeiden. Insgesamt kann die Finalize-Methode die Leistung des Programms minimieren, da sie den Speicher nicht sofort freigibt.
Was ist die Ähnlichkeit zwischen dispose() und finalize()?
Sowohl dispose() als auch finalize() können verwendet werden, um den für eine nicht verw altete Ressource zugewiesenen Speicher freizugeben
Was ist der Unterschied zwischen dispose() und finalize()?
dispose () vs finalize () |
|
Dispose () ist eine Methode zum Schließen oder Freigeben von nicht verw alteten Ressourcen wie Dateien, Streams, die von einem Objekt geh alten werden. | Das Finalisieren ist eine Methode zum Aufräumen von nicht verw alteten Ressourcen, die vom aktuellen Objekt geh alten werden, bevor das Objekt zerstört wird. |
Ziel | |
Die Dispose-Methode wird verwendet, um die nicht verw alteten Ressourcen freizugeben, wenn sie aufgerufen wird. | Die Finalize-Methode wird verwendet, um die nicht verw alteten Ressourcen freizugeben, bevor das Objekt zerstört wird. |
Definierte Schnittstelle oder Klasse | |
Das dispose () ist in der Schnittstelle IDisposable interface definiert. | Das finalize () ist in der Klasse java.lang.object definiert. |
Aufrufende Methode | |
Die Dispose-Methode wird vom Programmierer aufgerufen. | Die Finalize-Methode wird vom Garbage Collector aufgerufen. |
Zugriffsbezeichner | |
Die Dispose-Methode ist öffentlich. | Die Finalisierungsmethode ist geschützt. |
Geschwindigkeit | |
Die Dispose-Methode wird sofort aufgerufen. | Die Finalize-Methode wird langsam aufgerufen. |
Leistung | |
Das Löschen wird die Leistung des Programms nicht minimieren. | Die Finalisierungsmethode kann die Leistung des Programms verringern. |
Zusammenfassung – dispose () vs finalize ()
In diesem Artikel wurde der Unterschied zwischen den Methoden dispose und finalize in C behandelt. Der Unterschied zwischen dispose() und finalize() besteht darin, dass dispose() explizit vom Programmierer aufgerufen werden muss, während finalize() vom Garbage Collector aufgerufen wird, bevor das Objekt zerstört wird.