Rozdiel Medzi Garbage Collector A Destructor

Obsah:

Rozdiel Medzi Garbage Collector A Destructor
Rozdiel Medzi Garbage Collector A Destructor

Video: Rozdiel Medzi Garbage Collector A Destructor

Video: Rozdiel Medzi Garbage Collector A Destructor
Video: Java Garbage Collection, Use of finalize and gc Method in Java 2024, Smieť
Anonim

Kľúčový rozdiel - Zberateľ vs Destruktor

Väčšina programovacích jazykov podporuje objektovo orientované programovanie. Jedná sa o metodiku na zostavenie programu alebo softvéru pomocou objektov. Objekt sa vytvára pomocou triedy, takže ide o inštanciu triedy. Trieda poskytuje popis toho, z čoho by mal objekt pozostávať. Pri vytváraní objektov sa objektom vyhradzuje pamäť. Alokovaná pamäť by mala byť uvoľnená na konci vykonávania programu, aby sa táto pamäť mohla znova použiť pre nejaký iný objekt. Programovacie jazyky ako Java a C #. NET používajú na správu pamäte zberače odpadu, zatiaľ čo jazyky ako C a C ++ vyžadujú, aby programátor zvládol správu pamäte. Malo by byť pridelené potrebné množstvo pamäte a na konci vykonania by mala byť pamäť uvoľnená. Na uvoľnenie pamäte sa používa garbage collector a destruktor. Kľúčovým rozdielom medzi garbage collectorom a destruktorom je, že garbage collector je softvér, ktorý vykonáva automatickú správu pamäte, zatiaľ čo destruktor je špeciálna metóda volaná garbage collectorom počas zničenia objektu.

OBSAH

1. Prehľad a kľúčový rozdiel

2. Čo je to Garbage Collector

3. Čo je to Destructor

4. Podobnosti medzi Garbage Collector a Destructor

5. Porovnanie vedľa seba - Garbage Collector vs Destructor v tabuľkovej forme

6. Zhrnutie

Čo je to smetiar?

Niektoré programovacie jazyky majú prostredia spravovaného kódu. V programovacích jazykoch Java a C # sa vykonáva automatická správa pamäte. Programátor nemusí uvoľňovať pamäť používanú objektmi. Je pre nich jednoduchšie vyvíjať 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 mal program uvoľniť pamäť objektov späť do systému. Jazyky ako Java a C # môžu zistiť objekty, ktoré sa už nepoužívajú. Potom uvoľnia pamäť pridelenú pre tieto objekty späť do systému.

Ak v programovacích jazykoch C # a Java existuje trieda s názvom Student, potom je možné objekt vytvoriť pomocou nástroja Student s = new Student (); „Nové“sa používa na vytvorenie inštancie triedy Student. Prideľuje pamäť v systéme. Písmeno „s“označuje blok pamäte pridelený pre tento objekt. Jazykové prostredia určujú, či sa objekty používajú alebo nie. Ak sa už viac nepoužívajú, pamäť sa uvoľní a môže sa použiť neskôr.

Rozdiel medzi Garbage Collector a Destructor
Rozdiel medzi Garbage Collector a Destructor

Obrázok 01: Zberač a likvidátor odpadu

Pri spustení programu sú bloky pamäte alokované z oblasti pamäte systému. Potom program vykoná úlohy pomocou tejto pamäte. Keď je vykonávanie programu ukončené, garbage collector zistí, či sú alokované bloky pamäte pre program podstatné alebo nie. Ak nie sú požadované, tieto pamäťové bloky sa vrátia do systému. Smetiar teda môže sledovať vytvorené objekty v programe. Bloky pamäte, ktoré už nie sú potrebné, sa odošlú späť do oblasti pamäte systému. Hlavnou výhodou tohto procesu je potvrdenie, že programátor sa nemusí sústrediť na uvoľnenie pamäte. Vyvažuje výkon a využitie pamäte.

Čo je to destruktor?

Deštruktor je špeciálna členská funkcia triedy. Vyvolá sa vždy, keď objekt vyjde z rozsahu. Objekt je možné zničiť po ukončení funkcie alebo na konci vykonávania programu. Deštruktor má rovnaký názov ako názov triedy. Na vytvorenie objektu sa používa konštruktor. Môže akceptovať parametre. Konštruktor môže mať aj návratové hodnoty. Ale v Destruktore neexistuje návratový typ alebo akceptovanie parametrov. Trieda môže pozostávať iba z jedného deštruktora. Destruktor sa odošle pomocou znaku tilda. Ak je názov triedy Student, potom je deštruktor ~ Student () {}.

Smetiar hľadá objekty, ktoré už nie sú potrebné. Zaisťuje, aby boli zničené objekty, ktoré už program nepoužíva. Zavolá deštruktor, aby uvoľnil pamäť a pridelil zdroje. Destruktory sú užitočné na uvoľnenie pamäte, zatvorenie súborov, uvoľnenie sieťových prostriedkov a na ukončenie databázových pripojení. Vo väčšine programovacích jazykov nie je potrebné písať deštruktor, pretože program na odvoz odpadu sám volá predvolený konštruktor. Ak programátor vykonal akékoľvek dynamické prideľovanie pamäte pomocou ukazovateľov v jazyku ako C ++, mal by pred zničením objektu napísať deštruktor, ktorý uvoľní pamäť.

Aká je podobnosť medzi programom Garbage Collector a Destructor?

Garbage Collector aj Destructor sa používajú na uvoľnenie pamäte, ktorá už pre program nie je potrebná

Aký je rozdiel medzi programom Garbage Collector a Destructor?

Rozdielny článok v strede pred tabuľkou

Garbage Collector vs Destructor

Zberač odpadu je softvér, ktorý vykonáva automatickú správu pamäte. Deštruktor je špeciálna metóda, ktorú volá zberač odpadu počas zničenia objektu.
Typ
Smetiar je softvér. Deštruktor je metóda.

Zhrnutie - Zberateľ vs Destruktor

Zberač a deštruktor sú dva pojmy spojené s uvoľňovaním pamäte. Tento článok pojednával o rozdieloch medzi programom Garbage Collector a destruktorom. Rozdiel medzi garbage collectorom a destruktorom je v tom, že garbage collector je softvér, ktorý vykonáva automatickú správu pamäte, zatiaľ čo destruktor je špeciálna metóda volaná garbage collectorom počas zničenia objektu.

Stiahnite si PDF súboru Garbage Collector vs Destructor

Môžete si stiahnuť PDF verziu tohto článku a použiť ju na offline účely podľa citačnej poznámky. Stiahnite si verziu PDF tu: Rozdiel medzi programom Garbage Collector a Destructor

Odporúčaná: