Unterschied Zwischen Dispose () Und Finalize ()

Inhaltsverzeichnis:

Unterschied Zwischen Dispose () Und Finalize ()
Unterschied Zwischen Dispose () Und Finalize ()

Video: Unterschied Zwischen Dispose () Und Finalize ()

Video: Unterschied Zwischen Dispose () Und Finalize ()
Video: The difference between classical and operant conditioning - Peggy Andover 2024, Kann
Anonim

Hauptunterschied - dispose () vs finalize ()

Der Hauptunterschied zwischen dispose () und finalize () besteht darin, dass dispose () vom Programmierer explizit aufgerufen werden muss, während finalize () vom Garbage Collector aufgerufen wird, bevor das Objekt zerstört wird.

Dispose () ist eine Methode zum Schließen oder Freigeben nicht verwalteter Ressourcen wie Dateien und Streams, die von einem Objekt gehalten werden. Das Finalisieren ist eine Methode zum Ausführen von Bereinigungsvorgängen für nicht verwaltete Ressourcen, die vom aktuellen Objekt gehalten werden, bevor das Objekt zerstört wird.

INHALT

1. Übersicht und Hauptunterschied

2. Was ist dispose ()

3. Was ist finalize ()

4. Ähnlichkeiten zwischen dispose () und finalize ()

5. Side-by-Side-Vergleich - dispose () vs finalize () in Tabellenform

6. Zusammenfassung

Was ist dispose ()?

Einer der wichtigsten Vorteile von. NET Framework ist die automatische Speicherbereinigung. Der Speicher der nicht verwendeten Objekte wird automatisch freigegeben. In Programmiersprachen wie C und C ++ muss der Programmierer die Speicherverwaltung selbst durchführen. In Sprachen wie C #, die auf. NET Framework basieren, wird der Garbage Collector bereitgestellt. Es hilft, den Speicher zu verwalten. Es kann nicht zum Freigeben der nicht verwalteten Speicherressourcen verwendet werden. Die dispose () -Methode kann verwendet werden, um diese Aufgabe zu erreichen.

Unterschied zwischen dispose () und finalize ()
Unterschied zwischen dispose () und finalize ()

Mit der Methode dispose () können Ressourcen wie Datenbankverbindungen, Dateihandler usw. 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 verwaltete Ressource freigegeben. Diese Methode ist in der Schnittstelle IDisposeable deklariert.

Was ist finalize ()?

Die finalize-Methode wird vom Garbage Collector nur aufgerufen, wenn der Verweis 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 finalize-Methode ist in der Klasse java.lang.object definiert. Diese Methode wird als geschützt deklariert. Es wird nicht als öffentlich deklariert, um den Zugriff der anderen Klassen zu vermeiden. Insgesamt kann die Finalisierungsmethode die Leistung des Programms minimieren, da der Speicher nicht sofort freigegeben wird.

Was ist die Ähnlichkeit zwischen dispose () und finalize ()?

Sowohl dispose () als auch finalize () können verwendet werden, um den für eine nicht verwaltete Ressource zugewiesenen Speicher freizugeben

Was ist der Unterschied zwischen dispose () und finalize ()?

Diff Artikel Mitte vor Tabelle

dispose () vs finalize ()

Dispose () ist eine Methode zum Schließen oder Freigeben nicht verwalteter Ressourcen wie Dateien und Streams, die von einem Objekt gehalten werden. Das Finalisieren ist eine Methode zum Ausführen von Bereinigungsvorgängen für nicht verwaltete Ressourcen, die vom aktuellen Objekt gehalten werden, bevor das Objekt zerstört wird.
Zielsetzung
Die dispose-Methode wird verwendet, um die nicht verwalteten Ressourcen beim Aufrufen freizugeben. Die Finalize-Methode wird verwendet, um die nicht verwalteten Ressourcen freizugeben, bevor das Objekt zerstört wird.
Definierte Schnittstelle oder Klasse
Dispose () wird in der Schnittstelle IDisposable definiert. Finalize () ist in der Klasse java.lang.object definiert.
Methode aufrufen
Die dispose-Methode wird vom Programmierer aufgerufen. Die finalize-Methode wird vom Garbage Collector aufgerufen.
Zugriffsspezifizierer
Die Entsorgungsmethode ist öffentlich. Die Finalisierungsmethode ist geschützt.
Geschwindigkeit
Die Entsorgungsmethode wird sofort aufgerufen. Die Finalisierungsmethode wird langsam aufgerufen.
Performance
Die Entsorgung minimiert die Leistung des Programms nicht. Die Finalisierungsmethode kann die Leistung des Programms minimieren.

Zusammenfassung - dispose () vs finalize ()

In diesem Artikel wurde der Unterschied zwischen Dispose- und Finalize-Methoden in C # erläutert. Der Unterschied zwischen dispose () und finalize () besteht darin, dass dispose () vom Programmierer explizit aufgerufen werden muss, während finalize () vom Garbage Collector aufgerufen wird, bevor das Objekt zerstört wird.

Empfohlen: