Diferența dintre dispose () și finalizarea ()

Diferența cheie - eliminați () vs finalizarea ()
 

diferența cheie între dispose () și finalize () este asta dispose () trebuie să fie invocată în mod explicit de către programator în timp ce finaliza () este invocată de colectorul de gunoi înainte de a distruge obiectul.

Dispoziția () este o metodă de închidere sau de eliberare a unor resurse neadministrate, cum ar fi fișiere, fluxuri deținute de un obiect. Finalizarea este o metodă de efectuare a operațiilor de curățare a resurselor neadministrate deținute de obiectul curent înainte de distrugerea obiectului.

CUPRINS

1. Prezentare generală și diferență cheie
2. Ce este dispose ()
3. Ce se finalizează ()
4. Asemănări între dispose () și finalize ()
5. Comparație comparativă - dispose () vs finalizează () în Formular tabular
6. rezumat

Ce este dispose ()?

Unul dintre cele mai importante avantaje ale .NET Framework este că asigură colectarea automată a gunoiului. Eliberă automat memoria obiectelor care nu sunt utilizate. În limbile de programare, cum ar fi C și C ++, programatorul trebuie să se ocupe de gestionarea memoriei pe cont propriu. Dar, în limbi precum C # care este construit pe .NET framework, asigură colectorul de gunoi. Ajută la gestionarea memoriei. Nu poate fi utilizat pentru a elibera resursele de memorie neadministrate. Metoda Dispose () poate fi utilizată pentru a atinge această sarcină.

Metoda Dispose () poate fi utilizată pentru a lansa resurse cum ar fi conexiunile bazei de date, manipulatorii de fișiere etc. Această metodă nu este apelată automat. De aceea, programatorul ar trebui să implementeze această metodă. Imediat ce această metodă este invocată, memoria pentru resursa neadministrată este eliberată. Această metodă este declarată în ID interfață.

Ce se finalizează ()?

Metoda de finalizare este apelată numai de către colectorul de gunoi când referința la un obiect nu este utilizată în continuare. Această metodă este chemată chiar înainte de distrugerea obiectului. Această metodă este implementată cu ajutorul distrugătorului. Metoda de finalizare este definită în clasa java.lang.object. Această metodă este declarată protejată. Nu este declarat public să evite accesul celorlalte clase. În ansamblu, metoda de finalizare poate minimiza performanța programului deoarece nu eliberează instantaneu memoria.

Care este asemănarea dintre dispose () și finalizarea ()?

  • Ambele dispose () și finalize () pot fi folosite pentru a elibera memoria alocată pentru o resursă neangajată.

Care este diferența dintre eliminarea () și finalizarea ()?

dispose () vs finalize ()

Dispoziția () este o metodă de închidere sau de eliberare a unor resurse neadministrate, cum ar fi fișiere, fluxuri deținute de un obiect. Finalizarea este o metodă de efectuare a operațiilor de curățare a resurselor neadministrate deținute de obiectul curent înainte de distrugerea obiectului.
 Obiectiv
Metoda de dispunere este utilizată pentru a elibera resursele neadministrate atunci când este invocată. Metoda de finalizare este folosită pentru a elibera resursele neadministrate înainte de distrugerea obiectului.
Interfață sau clasă definite
Dispoziția dispose () este definită în interfața ID interfață disponibilă. Finalizarea () este definită în clasa java.lang.object.
 Invocând metoda
Metoda de dispunere este invocată de programator. Metoda de finalizare este invocată de colectorul de gunoi.
accesul specificator
Metoda de dispunere este publică. Metoda de finalizare este protejată.
Viteză
Metoda de dispunere este invocată instantaneu. Metoda de finalizare este invocată lent.
Performanţă
Dispunerea nu va reduce la minimum performanța programului. Metoda de finalizare ar putea minimiza performanța programului.

Rezumat - dispuneți () vs finalizarea ()

Acest articol a discutat diferența dintre eliminarea și finalizarea metodelor din C #. Diferența dintre dispose () și finalize () este că dispose () trebuie să fie invocată explicit de către programator în timp ce finalize () este invocată de colectorul de gunoi înainte de a distruge obiectul.

Referinţă:

1.Efectuarea finalizării și eliminării pentru a curăța resursele neadministrate. Disponibil aici  
2.Sharma, Nitya. "Înapoi la elementele de bază - Eliminarea Vs Finalizați". Disponibil aici  

Datorită fotografiei:

1.'Csharp Logo'By Andres15alvarez - Lucrare proprie, (CC BY-SA 4.0) prin intermediul Commons Wikimedia