Razlika Med Dispose () In Finalize ()

Kazalo:

Razlika Med Dispose () In Finalize ()
Razlika Med Dispose () In Finalize ()

Video: Razlika Med Dispose () In Finalize ()

Video: Razlika Med Dispose () In Finalize ()
Video: iPad 3 vs iPad 4 - сравниваем. Есть ли смысл менять и покупать? 2024, November
Anonim

Ključna razlika - dispose () vs finalize ()

Ključna razlika med dispose () in finalize () je v tem, da mora programer izrecno priklicati dispose (), medtem ko zbiralnik smeti pred uničenjem predmeta pokliče finalize ().

Dispose () je metoda za zapiranje ali sprostitev neupravljanih virov, kot so datoteke, tokovi, ki jih hrani objekt. Dokončaj je metoda za izvajanje operacij čiščenja neupravljanih virov, ki jih ima trenutni objekt, preden je objekt uničen.

VSEBINA

1. Pregled in ključna razlika

2. Kaj je odstranjevanje ()

3. Kaj je finalizacija ()

4. Podobnosti med dispose () in finalize ()

5. Vzporedna primerjava - dispose () vs finalize () v tabelarnem obrazcu

6. Povzetek

Kaj je dispose ()?

Ena najpomembnejših prednosti okolja. NET je, da omogoča samodejno zbiranje smeti. Samodejno sprosti pomnilnik predmetov, ki se ne uporabljajo. V programskih jezikih, kot sta C in C ++, se mora programer sam ukvarjati z upravljanjem pomnilnika. Toda v jezikih, kot je C #, ki je zgrajen na okolju. NET, ponuja zbiralnik smeti. Pomaga pri upravljanju spomina. Ni ga mogoče uporabiti za sprostitev neupravljanih pomnilniških virov. Za dosego te naloge je mogoče uporabiti metodo dispose ().

Razlika med dispose () in finalize ()
Razlika med dispose () in finalize ()

Metodo dispose () lahko uporabimo za sprostitev virov, kot so povezave z bazami podatkov, upravljavci datotek itd. Ta metoda se ne pokliče samodejno. Zato bi moral programer to metodo izvesti. Takoj, ko se ta metoda prikliče, se sprosti pomnilnik za določen neupravljani vir. Ta metoda je navedena v vmesniku IDisposeable.

Kaj je finalize ()?

Metodo dokončanja pokliče zbiralnik smeti šele, ko se sklic na objekt ne uporablja več. Ta metoda se pokliče tik pred uničenjem predmeta. Ta metoda se izvaja s pomočjo destruktorja. Metoda dokončanja je definirana v razredu java.lang.object. Ta metoda je razglašena za zaščiteno. Ni razglašeno za javno, da bi se izognili dostopu drugih razredov. Na splošno lahko metoda dokončanja zmanjša delovanje programa, ker ne sprosti pomnilnika takoj.

Kakšna je podobnost med dispose () in finalize ()?

Tako dispose () kot dokončanje () lahko uporabite za osvoboditev pomnilnika, dodeljenega za neupravljani vir

Kakšna je razlika med dispose () in finalize ()?

Diff Article Sredina pred mizo

dispose () vs finalize ()

Dispose () je metoda za zapiranje ali sprostitev neupravljanih virov, kot so datoteke, tokovi, ki jih hrani objekt. Dokončaj je metoda za čiščenje neupravljanih virov, ki jih ima trenutni objekt, preden je objekt uničen.
Cilj
Metoda odstranjevanja se uporablja za osvoboditev neupravljanih virov, ko se ta prikliče. Metoda dokončanja se uporablja za osvoboditev neupravljanih virov, preden se objekt uniči.
Določeni vmesnik ali razred
Dispose () je definiran v vmesniku IDisposable interface. Zaključek () je definiran v razredu java.lang.object.
Klicna metoda
Programer prikliče metodo dispose. Metodo dokončanja prikliče zbiralec smeti.
Določnik dostopa
Metoda odstranjevanja je javna. Metoda dokončanja je zaščitena.
Hitrost
Metoda odstranjevanja se sproži takoj. Metoda dokončanja se prikliče počasi.
Izvedba
Odstranjevanje ne bo zmanjšalo uspešnosti programa. Metoda dokončanja lahko zmanjša učinkovitost delovanja programa.

Povzetek - dispose () vs finalize ()

Ta članek je obravnaval razliko med metodama odstranjevanja in dokončanja v C #. Razlika med dispose () in finalize () je v tem, da mora programer izrecno priklicati dispose (), medtem ko zbiralnik smeti pred uničenjem objekta prikliče finalize ().

Priporočena: