Většina programovacích jazyků podporuje objektově orientované programování. Je to metodika 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 měl objekt sestávat. Při vytváření objektů je pro objekty přidělena paměť. Přidělená paměť by měla být uvolněna na konci provádění programu, aby se tato paměť znovu použila pro nějaký jiný objekt. Programovací jazyky, jako je Java a C # .NET, používají pro správu paměti kolektory odpadků, zatímco jazyky jako C a C ++ vyžadují, aby programátor spravoval 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. Sběratel odpadu a destruktor se používají k uvolnění paměti. klíčový rozdíl mezi sběratelem odpadu a destruktorem je to sběrač odpadu je software, který provádí automatickou správu paměti, zatímco destruktor je speciální metoda, kterou během ničení objektu volá sběratel odpadu..
1. Přehled a klíčový rozdíl
2. Co je sběratel odpadu
3. Co je ničitel
4. Podobnosti mezi sběratelem a ničitelem odpadu
5. Srovnání bok po boku - Sběratel odpadu a Destructor v tabulkové formě
6. Shrnutí
Některé programovací jazyky mají spravovaná prostředí kódů. V programovacích jazycích Java a C # se provádí automatická správa paměti. Programátor nemusí uvolnit paměť používanou objekty. Je pro ně snazší vyvinout i složité systémy, protože správa paměti se provádí automaticky. V programovacích jazycích jako C, C ++ a Objective C by program měl uvolnit paměť objektů zpět do systému. Jazyky, jako je 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 nazvaná 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. 'S' odkazuje na blok paměti přidělený pro tento objekt. Prostředí jazyka určují, zda se objekty používají nebo ne. Pokud se nepoužívají dále, je paměť uvolněna a může být použita později.
Obrázek 01: Sběratel a ničitel odpadu
Při spuštění programu jsou bloky paměti přidělovány z oblasti systémové paměti. Poté program provede úkoly pomocí této paměti. Když je provádění programu ukončeno, sběratel odpadu zjistí, zda jsou alokované bloky paměti pro program nezbytné nebo ne. Pokud nejsou vyžadovány, jsou tyto paměťové bloky vráceny do systému. Sběratel odpadu tedy může sledovat vytvořené objekty v programu. Bloky paměti, které již nejsou nutné, se odešlou zpět do oblasti systémové paměti. Hlavní výhodou tohoto procesu je potvrzení, že se programátor nemusí soustředit na dislokaci paměti. Vyrovnává výkon a využití paměti.
Destruktor je speciální členská funkce třídy. Vyvolá se, kdykoli objekt přesahuje rozsah. Objekt lze zničit na konci 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 Destructoru není žádný návratový typ ani akceptující parametry. Třída se může skládat pouze z jednoho destruktoru. Destruktor je odkazován pomocí znamení vlnovky. Pokud je název třídy Student, destruktor je ~ Student () .
Sběratel odpadu hledá objekty, které již nejsou zapotřebí. Zajišťuje, že objekty, které již program nepoužívá, by měly být zničeny. Volá destruktor, aby uvolnil paměť a přidělil prostředky. Destruktory jsou užitečné pro uvolnění paměti, uzavření souborů, uvolnění síťových prostředků a uzavření databázových připojení. Ve většině programovacích jazyků není nutné psát destruktor, protože sběratel odpadu volá vlastní konstruktor sám. Pokud programátor provedl jakékoli dynamické přidělení paměti pomocí ukazatelů v jazyce, jako je C ++, měl by napsat destruktor, aby uvolnil paměť před zničením objektu..
Sběratel odpadu vs Destructor | |
Sběratel odpadu je software, který provádí automatickou správu paměti. | Destruktor je speciální metoda, kterou během ničení objektu nazývá sběratel odpadu. |
Typ | |
Sběratel odpadu je software. | Destruktor je metoda. |
Sběratel odpadu a destruktor jsou dva termíny spojené s uvolněním paměti. Tento článek pojednává o rozdílu mezi Sběratelem odpadků a destruktorem. Rozdíl mezi sběratelem odpadu a destruktorem je v tom, že sběratelem odpadu je software, který provádí automatickou správu paměti, zatímco destruktor je speciální metoda nazývaná sběratelem odpadu během ničení objektu..
Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si PDF verzi zde: Rozdíl mezi sběratelem a ničitelem odpadu
1.lyndapodcast. „Jak funguje C # kolekce odpadků | lynda. Com tutorial. “ Jak funguje sběr odpadu C # lynda.Com tutoriál, LinkedIn Learning Solutions, 19. září 2011. K dispozici zde
2. Destruktory v C. “ GeeksforGeeks, 27. května 2017. K dispozici zde
3.Jain, Shubham. "Sběratel a ničitel odpadu v C #." C # Corner. K dispozici zde