Belangrijkste verschil - dispose () versus finalize ()
Het belangrijkste verschil tussen dispose () en finalize () is dat dispose () expliciet moet worden aangeroepen door de programmeur, terwijl finalize () wordt aangeroepen door de garbage collector voordat het object wordt vernietigd.
De dispose () is een methode om onbeheerde bronnen te sluiten of vrij te geven, zoals bestanden en streams die door een object worden vastgehouden. De afronding is een methode om opschoningsbewerkingen uit te voeren op onbeheerde bronnen die door het huidige object worden vastgehouden voordat het object wordt vernietigd.
INHOUD
1. Overzicht en belangrijkste verschil
2. Wat is dispose ()
3. Wat is finalize ()
4. Overeenkomsten tussen dispose () en finalize ()
5. Vergelijking naast elkaar - dispose () versus finize () in tabelvorm
6. Samenvatting
Wat is weggooien ()?
Een van de belangrijkste voordelen van. NET-framework is dat het automatische garbagecollection biedt. Het geeft automatisch het geheugen vrij van de objecten die niet worden gebruikt. In programmeertalen zoals C en C ++ moet de programmeur het geheugen zelf beheren. Maar in talen zoals C # die is gebouwd op. NET-framework biedt de garbage collector. Het helpt om het geheugen te beheren. Het kan niet worden gebruikt om de onbeheerde geheugenbronnen vrij te geven. De methode dispose () kan worden gebruikt om deze taak uit te voeren.
De methode dispose () kan worden gebruikt om bronnen vrij te geven, zoals databaseverbindingen, bestandshandlers enz. Deze methode wordt niet automatisch aangeroepen. Daarom moet de programmeur deze methode implementeren. Zodra deze methode wordt aangeroepen, wordt het geheugen voor de specifieke onbeheerde bron vrijgegeven. Deze methode wordt gedeclareerd in de interface IDisposeable.
Wat is finaliseren ()?
De finalize-methode wordt alleen aangeroepen door de garbage collector als de verwijzing naar een object niet verder wordt gebruikt. Deze methode wordt aangeroepen net voordat het object wordt vernietigd. Deze methode wordt geïmplementeerd met behulp van de destructor. De finalize-methode wordt gedefinieerd in de klasse java.lang.object. Deze methode wordt als beschermd verklaard. Het wordt niet als openbaar verklaard om toegang door de andere klassen te vermijden. Over het algemeen kan de afrondingsmethode de prestaties van het programma minimaliseren omdat het geheugen niet onmiddellijk wordt vrijgemaakt.
Wat is de overeenkomst tussen dispose () en finalize ()?
Zowel dispose () als finalize () kunnen worden gebruikt om het toegewezen geheugen voor een onbeheerde bron vrij te maken
Wat is het verschil tussen dispose () en finalize ()?
Diff Artikel Midden voor Tafel
dispose () versus finaliseren () |
|
De dispose () is een methode om onbeheerde bronnen te sluiten of vrij te geven, zoals bestanden en streams die door een object worden vastgehouden. | Het finaliseren is een methode om opschoningsbewerkingen uit te voeren op onbeheerde bronnen die door het huidige object worden vastgehouden voordat het object wordt vernietigd. |
Doelstelling | |
De dispose-methode wordt gebruikt om de onbeheerde bronnen vrij te maken wanneer deze wordt aangeroepen. | De finalisatiemethode wordt gebruikt om de onbeheerde bronnen vrij te maken voordat het object wordt vernietigd. |
Gedefinieerde interface of klasse | |
De dispose () wordt gedefinieerd in de interface IDisposable-interface. | De finalize () wordt gedefinieerd in de klasse java.lang.object. |
Aanroepende methode | |
De verwijderingsmethode wordt aangeroepen door de programmeur. | De finalize-methode wordt aangeroepen door de garbage collector. |
Toegang tot Specifier | |
De verwijderingsmethode is openbaar. | De afrondingsmethode is beveiligd. |
Snelheid | |
De verwijderingsmethode wordt onmiddellijk aangeroepen. | De afrondingsmethode wordt langzaam aangeroepen. |
Prestatie | |
Het weggooien zal de prestaties van het programma niet verminderen. | De finalisatiemethode kan de prestaties van het programma minimaliseren. |
Samenvatting - dispose () versus finalize ()
In dit artikel werd het verschil besproken tussen methoden voor verwijderen en finaliseren in C #. Het verschil tussen dispose () en finalize () is dat dispose () expliciet moet worden aangeroepen door de programmeur, terwijl finalize () wordt aangeroepen door de garbage collector voordat het object wordt vernietigd.