Der Schlüsselunterschied Zwischen Dispose () und Finalize () ist das Dispose () muss vom Programmierer ausdrücklich aufgerufen werden, während der Abschluss () vom Müllsammler aufgerufen wird, bevor das Objekt zerstört wird.
Der Dispose () ist eine Methode, um nicht verwaltete Ressourcen wie Dateien zu schließen oder zu veröffentlichen, und Streams, die von einem Objekt gehalten werden. Die Finalize ist eine Methode zur Durchführung von Reinigungsvorgängen für nicht verwaltete Ressourcen, die vom aktuellen Objekt gehalten werden, bevor das Objekt zerstört wird.
1. Überblick und wichtiger Unterschied
2. Was ist entsetzt ()
3. Was ist finalize ()
4. Ähnlichkeiten zwischen Dispose () und Finalize ()
5. Seite an Seite Vergleich - dispose () vs ending () in tabellarischer Form
6. Zusammenfassung
Einer der wichtigsten Vorteile von .Netto -Framework ist, dass es eine automatische Müllsammlung bietet. Es gibt automatisch den Speicher der Objekte frei, die nicht verwendet werden. In Programmiersprachen wie C und C ++ muss der Programmierer selbst die Speicherverwaltung bewältigen. Aber in Sprachen wie C#, auf die sich aufgebaut hat .Net -Framework bietet den Müllsammler. Es hilft, den Speicher zu verwalten. Es kann nicht verwendet werden, um die nicht verwalteten Speicherressourcen freizugeben. Die Methode von Dispose () kann verwendet werden, um diese Aufgabe zu erreichen.
Die Methode von Dispose () kann verwendet werden, um Ressourcen wie Datenbankverbindungen, Dateihandler usw. freizugeben. Diese Methode wird nicht automatisch aufgerufen. Daher sollte der Programmierer diese Methode implementieren. Sobald diese Methode aufgerufen wird, wird der Speicher für die jeweilige nicht verwaltete Ressource veröffentlicht. Diese Methode ist in der Schnittstelle idisponousable deklariert.
Die Abschlussmethode wird nur vom Garbage Collector aufgerufen, wenn der Verweis auf ein Objekt nicht weiter verwendet wird. Diese Methode wird kurz vor der Zerstörung des Objekts aufgerufen. Diese Methode wird mit Hilfe des Destruktors implementiert. Die Abschlussmethode ist in der Java definiert.Lang.Objektklasse. Diese Methode wird als geschützt deklariert. Es wird nicht als öffentlich erklärt, um den Zugriff auf die anderen Klassen zu vermeiden. Insgesamt kann die Abschlussmethode die Leistung des Programms minimieren, da sie den Speicher nicht sofort freien.
dispose () gegen endgültig () | |
Der Dispose () ist eine Methode, um nicht verwaltete Ressourcen wie Dateien zu schließen oder zu veröffentlichen, und Streams, die von einem Objekt gehalten werden. | Die Finalize ist eine Methode zur Durchführung von Reinigungsvorgängen für nicht verwaltete Ressourcen, die vom aktuellen Objekt gehalten werden, bevor das Objekt zerstört wird. |
Zielsetzung | |
Die Entsendungsmethode wird verwendet, um die nicht verwalteten Ressourcen zu befreien, wenn sie aufgerufen wird. | Die Abschlussmethode wird verwendet, um die nicht verwalteten Ressourcen zu befreien, bevor das Objekt zerstört wird. |
Definierte Schnittstelle oder Klasse | |
Der Dispose () ist in der Schnittstellen -IDisposable -Schnittstelle definiert. | Die Finalize () ist in Java definiert.Lang.Objektklasse. |
Aufrufmethode | |
Die Entsendung wird vom Programmierer aufgerufen. | Die Abschlussmethode wird vom Müllsammler aufgerufen. |
Zugriffsspezifizierer | |
Die Entsendung ist öffentlich. | Die Abschlussmethode ist geschützt. |
Geschwindigkeit | |
Die Entsendung wird sofort aufgerufen. | Die Abschlussmethode wird langsam aufgerufen. |
Leistung | |
Die Entsorgung minimiert nicht die Leistung des Programms. | Die Abschlussmethode kann die Leistung des Programms minimieren. |
In diesem Artikel wurde der Unterschied zwischen den Methoden in C# erörtert. Der Unterschied zwischen Dispose () und Finalize () besteht darin, dass Dispose () vom Programmierer ausdrücklich aufgerufen werden muss, während der Abschluss () vom Müllsammler aufgerufen wird, bevor das Objekt zerstört wird.
1.Implementierung von Finanzierung und Entsorgung, um nicht verwaltete Ressourcen zu bereinigen. Hier verfügbar
2.Sharma, Nitya. „Zurück zu den Grundlagen - dispose vs finalize.”C# Ecke. Hier verfügbar
1.'CSHARP Logo'By Andres15alvarez - eigene Arbeit, (CC BY -SA 4.0) über Commons Wikimedia