Rozdíl Mezi Garbage Collector A Destructor

Obsah:

Rozdíl Mezi Garbage Collector A Destructor
Rozdíl Mezi Garbage Collector A Destructor

Video: Rozdíl Mezi Garbage Collector A Destructor

Video: Rozdíl Mezi Garbage Collector A Destructor
Video: .NET C# Interview questions and answers :- What is Garbage Collector, Gen 0, 1 & 2? 2024, Smět
Anonim

Klíčový rozdíl - Garbage Collector vs Destructor

Většina programovacích jazyků podporuje objektově orientované programování. Jedná se o metodiku pro sestavení programu nebo softwaru pomocí objektů. Objekt je vytvořen pomocí třídy, takže se jedná o instanci třídy. Třída poskytuje popis toho, z čeho by se měl objekt skládat. Při vytváření objektů je objektům přidělena paměť. Přidělená paměť by měla být uvolněna na konci provádění programu, aby byla tato paměť znovu použita pro nějaký jiný objekt. Programovací jazyky, jako je Java a C #. NET, používají pro správu paměti garbage collectors, zatímco jazyky jako C a C ++ vyžadují, aby programátor zvládl správu paměti. Mělo by být přiděleno potřebné množství paměti a na konci provádění by měla být paměť uvolněna. Garbage collector a destruktor se používají k uvolnění paměti. Klíčovým rozdílem mezi garbage collectorem a destruktorem je, že garbage collector je software, který provádí automatickou správu paměti, zatímco destruktor je speciální metoda volaná garbage collectorem během zničení objektu.

OBSAH

1. Přehled a klíčový rozdíl

2. Co je to Garbage Collector

3. Co je Destructor

4. Podobnosti mezi Garbage Collector a Destructor

5. Porovnání vedle sebe - Garbage Collector vs Destructor ve formě tabulky

6. Shrnutí

Co je sběratel odpadků?

Některé programovací jazyky mají prostředí spravovaného kódu. V programovacích jazycích Java a C # se provádí automatická správa paměti. Programátor nemusí uvolňovat paměť používanou objekty. Je pro ně snazší vyvíjet i složité systémy, protože správa paměti se provádí automaticky. V programovacích jazycích, jako jsou C, C ++ a Objective C, by měl program uvolnit paměť objektů zpět do systému. Jazyky jako Java a C # mohou zjistit objekty, které se již nepoužívají. Poté uvolní paměť přidělenou těmto objektům zpět do systému.

V programovacích jazycích C # a Java, pokud existuje třída s názvem Student, lze objekt vytvořit pomocí Student s = new Student (); „Nové“se používá k vytvoření instance třídy Student. Přiděluje paměť v systému. Písmeno „s“označuje blok paměti přidělený tomuto objektu. Jazyková prostředí identifikují, zda jsou objekty používány nebo ne. Pokud se již nepoužívají, uvolní se paměť a lze je použít později.

Rozdíl mezi Garbage Collector a Destructor
Rozdíl mezi Garbage Collector a Destructor

Obrázek 01: Garbage Collector and Destructor

Při spuštění programu jsou bloky paměti alokovány z oblasti paměti systému. Poté program provádí úkoly pomocí této paměti. Když je provádění programu ukončeno, garbage collector zjistí, zda jsou přidělené bloky paměti pro program zásadní nebo ne. Pokud nejsou požadovány, jsou tyto paměťové bloky vráceny do systému. Sběrač odpadků tedy může sledovat vytvořené objekty v programu. Bloky paměti, které již nejsou potřeba, jsou odeslány zpět do systémové paměti paměti. Hlavní výhodou tohoto procesu je potvrzení, že programátor se nemusí soustředit na uvolnění paměti. Vyvažuje výkon a využití paměti.

Co je destruktor?

Destruktor je speciální členská funkce třídy. Vyvolá se vždy, když objekt vyjde z rozsahu. Objekt lze zničit, když skončí funkce nebo na konci provádění programu. Destruktor má stejný název jako název třídy. Konstruktor se používá k vytvoření objektu. Může přijímat parametry. Konstruktor může mít také návratové hodnoty. Ale v destruktoru neexistuje žádný návratový typ nebo přijetí parametrů. Třída se může skládat pouze z jednoho destruktoru. Destruktor je odkazován pomocí vlnovky. Pokud je název třídy Student, pak destruktor je ~ Student () {}.

Sběratel odpadků hledá objekty, které již nejsou vyžadovány. Zajišťuje, že objekty, které již program nepoužívá, by měly být zničeny. Volá destruktor, aby uvolnil paměť a uvolnil prostředky. Destruktory jsou užitečné k uvolnění paměti, zavření souborů, uvolnění síťových prostředků a ukončení databázových připojení. Ve většině programovacích jazyků není nutné psát destruktor, protože garbage collector volá výchozí konstruktor sám. Pokud programátor provedl jakoukoli dynamickou alokaci paměti pomocí ukazatelů v jazyce, jako je C ++, měl by před zničením objektu napsat destruktor, který uvolní paměť.

Jaká je podobnost mezi Garbage Collector a Destructor?

Garbage Collector i Destructor se používají k uvolnění paměti, která již pro program není nutná

Jaký je rozdíl mezi Garbage Collector a Destructor?

Rozdílný článek uprostřed před tabulkou

Garbage Collector vs Destructor

Garbage collector je software, který provádí automatickou správu paměti. Destruktor je speciální metoda volaná garbage collectorem během zničení objektu.
Typ
Sběratel odpadků je software. Destruktor je metoda.

Shrnutí - Garbage Collector vs Destructor

Garbage collector a destruktor jsou dva pojmy spojené s uvolněním paměti. Tento článek pojednával o rozdílech mezi Garbage Collector a destruktorem. Rozdíl mezi garbage collectorem a destruktorem je v tom, že garbage collector je software, který provádí automatickou správu paměti, zatímco destruktor je speciální metoda volaná garbage collectorem během zničení objektu.

Stáhněte si PDF s Garbage Collector vs Destructor

Můžete si stáhnout PDF verzi tohoto článku a použít ji pro offline účely podle citace. Stáhněte si verzi PDF zde: Rozdíl mezi Garbage Collector a Destructor

Doporučená: