Razlika Med Zbiralcem Smeti In Destruktorjem

Kazalo:

Razlika Med Zbiralcem Smeti In Destruktorjem
Razlika Med Zbiralcem Smeti In Destruktorjem

Video: Razlika Med Zbiralcem Smeti In Destruktorjem

Video: Razlika Med Zbiralcem Smeti In Destruktorjem
Video: Плюсы и минусы прицепа SCHMITZ 2024, November
Anonim

Ključna razlika - zbiralec smeti vs destruktor

Večina programskih jezikov podpira objektno usmerjeno programiranje. Gre za metodologijo za izdelavo programa ali programske opreme z uporabo predmetov. Predmet je ustvarjen z uporabo razreda, torej je primerek razreda. Razred vsebuje opis vsebine predmeta. Pri ustvarjanju predmetov se za predmete dodeli pomnilnik. Dodeljeni pomnilnik je treba sprostiti na koncu izvajanja programa, če ga želite ponovno uporabiti za drug objekt. Programski jeziki, kot sta Java in C #. NET, uporabljajo zbiralnike smeti za upravljanje pomnilnika, medtem ko jeziki, kot sta C in C ++, zahtevajo, da programer upravlja s pomnilnikom. Dodeliti je treba potrebno količino pomnilnika, na koncu pa naj se sprosti pomnilnik. Zbiralnik smeti in destruktor se uporabljata za sprostitev pomnilnika. Ključna razlika med zbiralcem smeti in destruktorjem je v tem, da je zbiralnik smeti programska oprema, ki izvaja samodejno upravljanje pomnilnika, medtem ko je destruktor posebna metoda, ki jo zbiralec smeti imenuje med uničenjem predmeta.

VSEBINA

1. Pregled in ključna razlika

2. Kaj je zbiralnik smeti

3. Kaj je destruktor

4. Podobnosti med zbiralcem smeti in destruktorjem

5. Vzporedna primerjava - zbiralnik smeti proti destruktorju v tabelarni obliki

6. Povzetek

Kaj je zbiralec smeti?

Nekateri programski jeziki imajo upravljana kodna okolja. V programskih jezikih Java in C # se izvaja samodejno upravljanje pomnilnika. Programerju ni treba sprostiti pomnilnika, ki ga uporabljajo predmeti. Zanje je lažje razviti celo zapletene sisteme, ker se upravljanje s pomnilnikom izvaja samodejno. V programskih jezikih, kot so C, C ++ in Objective C, mora program sprostiti pomnilnik predmetov nazaj v sistem. Jezika, kot sta Java in C #, lahko ugotovita predmete, ki se ne uporabljajo več. Nato sprostijo pomnilnik, dodeljen za te predmete, nazaj v sistem.

Če obstaja programski jezik C # in Java, če obstaja razred, imenovan Študent, lahko objekt ustvarite s pomočjo Študent s = nov Študent (); 'Novo' se uporablja za ustvarjanje primerka predmeta Student. Dodeljuje pomnilnik v sistemu. Znak 's' se nanaša na pomnilniški blok, dodeljen za ta objekt. Jezikovna okolja določajo, ali se predmeti uporabljajo ali ne. Če jih ne uporabljate več, se pomnilnik sprosti in ga lahko uporabite pozneje.

Razlika med zbiralcem smeti in destruktorjem
Razlika med zbiralcem smeti in destruktorjem

Slika 01: Zbiralnik in odstranjevalec smeti

Med izvajanjem programa se bloki pomnilnika dodelijo iz pomnilniškega sistema sistema. Nato program izvede naloge z uporabo tega pomnilnika. Ko je izvajanje programa končano, zbiralec smeti ugotovi, ali so dodeljeni bloki pomnilnika za program bistveni ali ne. Če niso potrebni, se ti pomnilniški bloki vrnejo v sistem. Zbiralec smeti lahko sledi ustvarjenim predmetom v programu. Pomnilniški bloki, ki niso več potrebni, se pošljejo nazaj v sistemsko pomnilniško področje. Glavna prednost tega postopka je potrditi, da se programerju ni treba osredotočiti na sprostitev pomnilnika. Uravnoteži zmogljivost in porabo pomnilnika.

Kaj je destruktor?

Destruktor je posebna funkcija člana razreda. Pokliče se, kadar objekt izstopi iz obsega. Objekt je mogoče uničiti, ko se funkcija konča ali na koncu izvajanja programa. Destruktor ima isto ime kot ime razreda. Konstruktor se uporablja za ustvarjanje predmeta. Sprejema lahko parametre. Konstruktor ima lahko tudi vrnjene vrednosti. Toda v destruktorju ni vrste vrnitve ali sprejemljivih parametrov. Razred je lahko sestavljen samo iz enega destruktorja. Destruktor se napoti z uporabo znaka tilde. Če je ime razreda Student, je destruktor ~ Student () {}.

Zbiralnik smeti išče predmete, ki niso več potrebni. Zagotavlja, da je treba predmete, ki jih program ne uporablja več, uničiti. Destruktor pokliče, da sprosti pomnilnik in sprosti vire. Destruktorji so uporabni za sprostitev pomnilnika, zapiranje datotek, sprostitev omrežnih virov in zapiranje povezav z bazo podatkov. V večini programskih jezikov destruktorja ni treba pisati, ker zbiralec smeti prikliče privzeti konstruktor sam. Če je programer izvedel kakršno koli dinamično dodeljevanje pomnilnika s kazalci v jeziku, kot je C ++, mora napisati destruktor, da sprosti pomnilnik, preden se objekt uniči.

Kakšna je podobnost med zbiralcem smeti in destruktorjem?

Tako Garbage Collector kot Destructor se uporabljata za sprostitev pomnilnika, ki za program ni več potreben

Kakšna je razlika med zbiralcem smeti in destruktorjem?

Diff Article Sredina pred mizo

Zbiralnik smeti vs Destructor

Zbiralnik smeti je programska oprema, ki izvaja samodejno upravljanje pomnilnika. Destruktor je posebna metoda, ki jo med uničenjem predmeta pokliče zbiralnik smeti.
Tip
Zbiralnik smeti je programska oprema. Destruktor je metoda.

Povzetek - Zbiralnik smeti vs Destructor

Zbiralnik smeti in destruktor sta dva izraza, povezana s sproščanjem pomnilnika. Ta članek je obravnaval razliko med zbiralnikom smeti in destruktorjem. Razlika med zbiralnikom smeti in destruktorjem je v tem, da je zbiralnik smeti programska oprema, ki izvaja samodejno upravljanje pomnilnika, medtem ko je destruktor posebna metoda, ki jo med uničenjem predmeta pokliče zbiralnik smeti.

Prenesite PDF zbirke Garbage Collector vs Destructor

Lahko prenesete različico tega članka v PDF obliki in jo uporabite za namene brez povezave, kot je navedeno v opombi o navedbi. Prosimo, prenesite različico PDF tukaj: Razlika med zbiralcem smeti in destruktorjem

Priporočena: