Väčšina programovacích jazykov podporuje objektovo orientované programovanie. Je to metodika na zostavenie programu alebo softvéru pomocou objektov. Objekt sa vytvára pomocou triedy, takže ide o inštanciu triedy. Trieda poskytuje opis toho, z čoho by mal objekt pozostávať. Pri vytváraní objektov je pre objekty vyhradená pamäť. Na konci vykonávania programu by sa mala uvoľnená pamäť uvoľniť, aby sa táto pamäť opätovne použila pre iný objekt. Programovacie jazyky, ako napríklad Java a C # .NET, používajú na správu pamäte kolektory odpadu, zatiaľ čo jazyky ako C a C ++ vyžadujú, aby programátor zvládal správu pamäte. Malo by sa prideliť potrebné množstvo pamäte a na konci vykonávania by sa mala uvoľniť pamäť. Zberač odpadu a deštruktor sa používajú na uvoľnenie pamäte. kľúčový rozdiel medzi zberačom a likvidátorom odpadu je to zberač odpadu je softvér, ktorý vykonáva automatickú správu pamäte, zatiaľ čo deštruktor je špeciálna metóda nazývaná zberačom odpadu počas ničenia objektu..
1. Prehľad a kľúčový rozdiel
2. Čo je zberateľ odpadu
3. Čo je ničiteľ
4. Podobnosti medzi zberačmi a likvidátorom odpadu
5. Porovnanie vedľa seba - Zberač odpadu a Destructor v tabuľkovej forme
6. Zhrnutie
Niektoré programovacie jazyky spravujú prostredia kódov. V programovacích jazykoch Java a C # sa vykonáva automatická správa pamäte. Programátor nemusí uvoľniť pamäť používanú predmetmi. Je pre nich ľahšie vyvinúť aj zložité systémy, pretože správa pamäte sa vykonáva automaticky. V programovacích jazykoch ako C, C ++ a Objective C by program mal uvoľniť pamäť objektov späť do systému. Jazyky ako Java a C # dokážu zistiť objekty, ktoré sa už nepoužívajú. Potom uvoľnia pamäť vyhradenú pre tieto objekty späť do systému.
V programovacích jazykoch C # a Java, ak existuje trieda s názvom Študent, potom je možné vytvoriť objekt pomocou Študent s = new Student (); „Nový“ sa používa na vytvorenie inštancie triedy Student. V systéme prideľuje pamäť. Symbol „s“ označuje blok pamäte pridelený pre tento objekt. Jazykové prostredia určujú, či sa objekty používajú alebo nie. Ak sa nepoužívajú ďalej, pamäť sa uvoľní a môže sa použiť neskôr.
Obrázok 01: Zberač a likvidátor odpadu
Pri spustení programu sa bloky pamäte prideľujú z oblasti systémovej pamäte. Potom program vykoná úlohy pomocou tejto pamäte. Po skončení vykonávania programu zberač odpadu zisťuje, či sú alokované bloky pamäte pre program nevyhnutné alebo nie. Ak sa nevyžadujú, tieto pamäťové bloky sa vrátia do systému. Zberač odpadu teda môže sledovať vytvorené objekty v programe. Pamäťové bloky, ktoré už nie sú potrebné, sa odosielajú späť do oblasti systémovej pamäte. Hlavnou výhodou tohto procesu je potvrdenie, že programátor sa nemusí sústrediť na prideľovanie pamäte. Vyvažuje výkon a využitie pamäte.
Deštruktor je špeciálna členská funkcia triedy. Vyvolá sa vždy, keď objekt presahuje rozsah. Objekt môže byť zničený, keď funkcia skončí alebo na konci vykonávania programu. Deštruktor má rovnaký názov ako názov triedy. Konštruktor sa používa na vytvorenie objektu. Môže akceptovať parametre. Konštruktor môže mať aj návratové hodnoty. Ale v Destructor nie je žiadny návratový typ ani akceptujúce parametre. Trieda sa môže skladať iba z jedného deštruktora. Deštruktor sa uvádza pomocou znamienka vlnovky. Ak je názov triedy Student, deštruktor je ~ Student () .
Zberač odpadu hľadá objekty, ktoré už nie sú potrebné. Zabezpečuje zničenie objektov, ktoré sa už v programe nevyužívajú. Vyzýva deštruktor, aby uvoľnil pamäť a pridelil prostriedky. Destruktory sú užitočné na uvoľnenie pamäte, zatvorenie súborov, uvoľnenie sieťových prostriedkov a na zatvorenie databázových pripojení. Vo väčšine programovacích jazykov nie je potrebné písať deštruktor, pretože zberač odpadu volá vlastný predvolený konštruktor. Ak programátor vykonal akékoľvek dynamické pridelenie pamäte pomocou ukazovateľov v jazyku, ako je C ++, mal by napísať deštruktor, aby uvoľnil pamäť pred zničením objektu..
Zberač odpadu a Destructor | |
Zberač odpadu je softvér, ktorý vykonáva automatickú správu pamäte. | Deštruktor je špeciálna metóda, ktorú nazýva zberateľ odpadu počas ničenia objektu. |
typ | |
Zberač odpadu je softvér. | Deštruktor je metóda. |
Zberač odpadu a deštruktor sú dva termíny spojené s uvoľňovaním pamäte. Tento článok sa zaoberal rozdielom medzi zberačmi a likvidátorom odpadu. Rozdiel medzi zberačom odpadu a deštruktorom je v tom, že zberač odpadu je softvér, ktorý vykonáva automatickú správu pamäte, zatiaľ čo deštruktor je špeciálna metóda nazývaná zberačom odpadu počas ničenia objektu..
Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ju na účely offline podľa citácie. Stiahnite si PDF verziu tu: Rozdiel medzi zberačmi a likvidátorom odpadu
1.lyndapodcast. „Ako funguje zber odpadu C # | Lynda. Výučba. “ Ako funguje zber odpadu C # lynda.Com tutorial, LinkedIn Learning Solutions, 19. september 2011. K dispozícii tu
2.Destruktory v C. “ GeeksforGeeks, 27. mája 2017. K dispozícii tu
3.Jain, Shubham. "Zberač a likvidátor odpadu v C #." C # Roh. K dispozícii tu