Különbség a szemétgyűjtő és a pusztító között

Legfontosabb különbség - Szemétgyűjtő vs Pusztító
 

A legtöbb programozási nyelv támogatja az objektum-orientált programozást. Ez egy módszer egy program vagy szoftver objektumok felhasználásával történő felépítésére. Az objektum osztály használatával hozható létre, tehát egy osztály példánya. Egy osztály leírja, hogy az objektumnak mit kell tartalmaznia. Objektumok létrehozásakor az objektumok számára memóriát kell kiosztani. A kiosztott memóriát a program végrehajtásának végén fel kell szabadítani, hogy ezt a memóriát más objektumhoz újra felhasználhassa. A programozási nyelvek, például a Java és a C # .NET szemetes gyűjtőket használnak a memóriakezeléshez, míg a C és a C ++ nyelv, például a programozótól, a memóriakezelés kezeléséhez szükséges. A szükséges memóriamennyiséget ki kell osztani, és a végrehajtás végén szabadítani kell a memóriát. A Szemétgyűjtőt és a pusztítót memória felszabadítására használják. Az kulcs különbség a szemétgyűjtő és a pusztító között ez az a szemetesgyűjtő olyan szoftver, amely automatikus memóriakezelést hajt végre, míg a pusztító egy speciális módszer, amelyet a szemetesgyűjtő hív meg az objektum megsemmisítése során..

TARTALOMJEGYZÉK

1. Áttekintés és a legfontosabb különbség
2. Mi az a szemétgyűjtő?
3. Mi az a pusztító?
4. A szemétgyűjtő és a pusztító közötti hasonlóságok
5. Összehasonlítás - szemétgyűjtő és pusztító táblázatos formában
6. Összegzés

Mi az a szemétgyűjtő??

Egyes programozási nyelvek kezelték a kódkörnyezeteket. A Java és C # programozási nyelveken az automatikus memóriakezelés történik. A programozónak nem kell felszabadítania az objektumok által használt memóriát. Nekik könnyebb még bonyolult rendszerek kifejlesztése, mert a memóriakezelés automatikusan történik. A C, C ++ és C Objective programozási nyelveknél a programnak vissza kell engednie az objektumok memóriáját a rendszerbe. Az olyan nyelvek, mint a Java és a C # kitalálhatják a már nem használt objektumokat. Ezután visszaadják az objektumok számára elkülönített memóriát a rendszerhez.

A C # és a Java programozási nyelvekben, ha létezik egy Student nevû osztály, akkor egy objektum létrehozható a Student s = new Student () használatával; Az 'új' a Student osztály példányának létrehozására szolgál. Felosztja a memóriát a rendszerben. Az 's' arra a memóriablokkra utal, amelyet az adott objektumhoz hozzárendelt. A nyelvi környezetek azonosítják, hogy az objektumokat használják-e vagy sem. Ha nem használják tovább, akkor a memória felszabadul, és később felhasználható.

01. ábra: Szemétgyűjtő és pusztító

Program futtatásakor a memória blokkjai a rendszer memóriakészletéből kerülnek kiosztásra. Ezután a program a memóriát felhasználva hajtja végre a feladatokat. Amikor a program végrehajtása befejeződik, a szemetesgyűjtő kiszámítja, hogy a program számára előírt memóriablokkok nélkülözhetetlenek-e vagy sem. Ha nincs rá szükség, akkor a memóriablokkok visszakerülnek a rendszerbe. Tehát a szemetesgyűjtő nyomon tudja követni a létrehozott objektumokat a programban. A már nem szükséges memóriablokkok visszakerülnek a rendszer memóriakészletébe. Ennek a folyamatnak a fő előnye annak megerősítése, hogy a programozónak nem kell a memória foglalkoztatására összpontosítania. Kiegyensúlyozza a teljesítményt és a memóriafelhasználást.

Mi az a pusztító??

A pusztító az osztály speciális tagfunkciója. Ez akkor hívódik meg, amikor az objektum kikerül a hatókörből. Az objektum megsemmisíthető, amikor egy funkció leáll, vagy a program végrehajtása végén. A pusztító neve megegyezik az osztály nevével. Az építőt az objektum létrehozására használják. Elfogadhatja a paramétereket. A konstruktornak visszatérési értékei is lehetnek. De a pusztítóban nincs visszatérési típus vagy elfogadó paraméter. Az osztály csak egy pusztítóból állhat. A pusztítót a tilde jel használatával utalják. Ha az osztály neve Student, akkor a pusztító ~ Student () .

A hulladékgyűjtő azokat a tárgyakat keresi, amelyekre már nincs szükség. Biztosítja, hogy azokat a tárgyakat, amelyeket a program már nem használ, megsemmisítsék. Felszólítja a pusztítót a memória felszabadítására és az erőforrások elosztására. A pusztítók hasznosak a memória felszabadításában, a fájlok bezárásában, a hálózati erőforrások felszabadításában és az adatbázis-kapcsolatok bezárásában. A legtöbb programozási nyelvben nem szükséges a pusztítót írni, mert a szemétszedő önmagában hívja az alapértelmezett konstruktort. Ha a programozó bármilyen dinamikus memóriaelosztást végzett mutatók használatával olyan nyelven, mint a C ++, akkor írjon egy pusztítót memória felszabadítására, mielőtt az objektum elpusztulna.

Mi a hasonlóság a szemétgyűjtő és a pusztító között??

  • Mind a Garbage Collector, mind a Destructor olyan memóriát szabadít fel, amelyre a programhoz már nincs szükség.

Mi a különbség a szemétgyűjtő és a pusztító között??

Szemétgyűjtő vs pusztító

A szemétszedő olyan szoftver, amely automatikus memóriakezelést hajt végre. A pusztító egy speciális módszer, amelyet a hulladékgyűjtő hív meg az objektum megsemmisítése során.
 típus
A szemétszedő szoftver. A pusztító módszer.

összefoglalás - Szemetes vs Pusztító

A hulladékgyűjtő és a pusztító két kifejezés a memória felszabadításához. Ez a cikk a szemétgyűjtő és a pusztító közötti különbséget tárgyalta. A szemétgyűjtő és a pusztító közötti különbség az, hogy a hulladékgyűjtő egy olyan szoftver, amely automatikus memóriakezelést hajt végre, míg a pusztító egy speciális módszer, amelyet a szemetesgyűjtő hív meg az objektum megsemmisítése során..

Töltse le a Garbage Collector vs Destructor PDF-jét

Letöltheti a cikk PDF változatát, és offline célokra felhasználhatja, az idézet megjegyzésének megfelelően. Kérjük, töltse le a PDF verziót itt: Különbség a szemétgyűjtő és a pusztító között

Referencia:

1.lyndapodcast. "Hogyan működik a C # szemetesgyűjtés | Lynda. Com bemutató. ” Hogyan működik a C # szemetesgyűjtés | lynda.Com bemutató, LinkedIn Learning Solutions, 2011. szeptember 19. Itt érhető el 
2.Destruktorok C-ben. ” GeeksforGeeks, 2017. május 27. Elérhető itt  
3.Jain, Shubham. „Szemétgyűjtő és pusztító a C #-ben.” C # sarok. Itt érhető el