Diferența cheie – eliminare () vs finalizare ()
Diferența cheie dintre dispose () și finalize () este că dispose () trebuie să fie invocat în mod explicit de către programator, în timp ce finalize () este invocat de către colectorul de gunoi înainte de a distruge obiectul.
Dispare () este o metodă de a închide sau de a elibera resurse negestionate, cum ar fi fișiere, fluxuri deținute de un obiect. Finalizarea este o metodă de a efectua operațiuni de curățare a resurselor negestionate deținute de obiectul curent înainte ca obiectul să fie distrus.
Ce este eliminarea()?
Unul dintre cele mai importante avantaje ale. NET framework este că oferă colectarea automată a gunoiului. Eliberează automat memoria obiectelor care nu sunt folosite. În limbaje de programare precum C și C++, programatorul trebuie să se ocupe singur de gestionarea memoriei. Dar în limbaje precum C care este construit pe. NET framework oferă colectorul de gunoi. Ajută la gestionarea memoriei. Nu poate fi folosit pentru a elibera resursele de memorie negestionate. Metoda de eliminare () poate fi folosită pentru a realiza această sarcină.
Metoda dispose () poate fi folosită pentru a elibera resurse, cum ar fi conexiuni la baze de date, gestionari de fișiere etc. Această metodă nu este apelată automat. Prin urmare, programatorul ar trebui să implementeze această metodă. De îndată ce această metodă este invocată, memoria pentru resursa particulară neadministrată este eliberată. Această metodă este declarată în interfața IDisposeable.
Ce este finalizarea ()?
Metoda finalize este apelată de colectorul de gunoi numai atunci când referința la un obiect nu este folosită în continuare. Această metodă este apelată chiar înainte de distrugerea obiectului. Această metodă este implementată cu ajutorul destructorului. Metoda finalize este definită în clasa java.lang.object. Această metodă este declarată protejată. Nu este declarat public pentru a evita accesul de către celel alte clase. În general, metoda finalize poate minimiza performanța programului, deoarece nu eliberează memoria instantaneu.
Care este asemănarea dintre eliminarea () și finalizarea ()?
Atât elimina () cât și finalize() pot fi folosite pentru a elibera memoria alocată pentru o resursă negestionată
Care este diferența dintre eliminarea () și finalizarea ()?
dispose () vs finaliza () |
|
Dispunerea () este o metodă de a închide sau de a elibera resurse negestionate, cum ar fi fișiere, fluxuri deținute de un obiect. | Finalizarea este o metodă de a efectua operațiuni de curățare a resurselor negestionate deținute de obiectul curent înainte ca obiectul să fie distrus. |
Obiectiv | |
Metoda de eliminare este folosită pentru a elibera resursele negestionate atunci când este invocată. | Metoda finalize este folosită pentru a elibera resursele negestionate înainte ca obiectul să fie distrus. |
Interfață sau clasă definită | |
Eliminarea () este definită în interfața ID interfață de unică folosință. | Finalizarea () este definită în clasa java.lang.object. |
Metoda de invocare | |
Metoda de eliminare este invocată de programator. | Metoda finalize este invocată de colectorul de gunoi. |
Specificator de acces | |
Metoda de eliminare este publică. | Metoda de finalizare este protejată. |
Viteza | |
Metoda de eliminare este invocată instantaneu. | Metoda de finalizare este invocată încet. |
Performanță | |
Eliminarea nu va minimiza performanța programului. | Metoda de finalizare ar putea minimiza performanța programului. |
Rezumat – eliminare () vs finalizare ()
Acest articol a discutat despre diferența dintre metodele de eliminare și finalizare în C. Diferența dintre dispose () și finalize () este că, dispose () trebuie să fie invocat în mod explicit de către programator, în timp ce finalize () este invocat de către colectorul de gunoi înainte de a distruge obiectul.