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.
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
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ță.
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.
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. |
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.
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
1.'Csharp Logo'By Andres15alvarez - Lucrare proprie, (CC BY-SA 4.0) prin intermediul Commons Wikimedia