Kulcskülönbség – selejtezés () vs véglegesítés ()
A legfontosabb különbség a selejtezés () és a véglegesítés () között az, hogy a selejtezést () a programozónak kifejezetten meg kell hívnia, míg a véglegesítést () a szemétgyűjtőnek kell meghívnia az objektum megsemmisítése előtt.
A selejtezés () egy módszer a nem kezelt erőforrások, például fájlok, adatfolyamok bezárására vagy felszabadítására, amelyeket egy objektum tárol. A véglegesítés egy olyan módszer, amellyel az aktuális objektum által birtokolt nem felügyelt erőforrásokon tisztítási műveleteket hajthat végre, mielőtt az objektum megsemmisül.
Mi az a dispose()?
Az egyik legfontosabb előnye. NET keretrendszer az, hogy automatikus szemétgyűjtést biztosít. Automatikusan felszabadítja a nem használt objektumok memóriáját. Az olyan programozási nyelvekben, mint a C és C++, a programozónak egyedül kell kezelnie a memóriakezelést. De az olyan nyelvekben, mint a C, amely a. NET-keretrendszerre épül, biztosítja a szemétgyűjtőt. Segít a memória kezelésében. Nem használható a nem felügyelt memória-erőforrások felszabadítására. A dispose () módszer használható ennek a feladatnak a megvalósítására.
A dispose () módszer használható olyan erőforrások felszabadítására, mint például adatbázis-kapcsolatok, fájlkezelők stb. Ez a módszer nem hívódik meg automatikusan. Ezért a programozónak alkalmaznia kell ezt a módszert. Amint ezt a módszert meghívják, az adott nem felügyelt erőforrás memóriája felszabadul. Ez a módszer az IDisposeable felületen van deklarálva.
Mi az a véglegesítés ()?
A véglegesítés módszert csak akkor hívja meg a szemétgyűjtő, ha az objektumra való hivatkozást nem használják tovább. Ezt a módszert közvetlenül az objektum megsemmisítése előtt hívják meg. Ez a módszer a destruktor segítségével valósul meg. A véglegesítés módszerét a java.lang.object osztály határozza meg. Ez a módszer védettnek van nyilvánítva. Nincs nyilvánossá nyilvánítva, hogy elkerülje a többi osztály hozzáférését. Összességében a véglegesítési módszer minimálisra csökkentheti a program teljesítményét, mivel nem szabadítja fel azonnal a memóriát.
Mi a hasonlóság a selejtezés () és a véglegesítés () között?
A selejtezés () és a véglegesítés () egyaránt használható a nem felügyelt erőforrások számára lefogl alt memória felszabadítására
Mi a különbség a selejtezés () és a véglegesítés () között?
megsemmisítés () vs véglegesítés () |
|
A selejtezés () egy módszer a nem kezelt erőforrások, például fájlok, adatfolyamok bezárására vagy felszabadítására, amelyeket egy objektum tárol. | A véglegesítés egy módszer az aktuális objektum által birtokolt nem felügyelt erőforrások tisztítási műveleteinek végrehajtására, mielőtt az objektum megsemmisül. |
Célkitűzés | |
A selejtezési módszer a nem felügyelt erőforrások felszabadítására szolgál, amikor meghívásra kerül. | A véglegesítés módszerrel felszabadítjuk a nem kezelt erőforrásokat, mielőtt az objektum megsemmisül. |
Meghatározott felület vagy osztály | |
A selejtezés () az IDelhasználható interfészen van megadva. | A véglegesítés () a java.lang.object osztályban van definiálva. |
Módszer meghívása | |
A selejtezési módszert a programozó hívja meg. | A véglegesítési módszert a szemétgyűjtő hívja meg. |
Hozzáférés-specifikátor | |
A selejtezési mód nyilvános. | A véglegesítési módszer védett. |
Sebesség | |
A selejtezési módszer azonnal meghívásra kerül. | A véglegesítési módszer lassan meghívódik. |
Teljesítmény | |
Az ártalmatlanítás nem csökkenti a program teljesítményét. | A véglegesítési módszer minimálisra csökkentheti a program teljesítményét. |
Összegzés – selejtezés () vs véglegesítés ()
Ez a cikk a C selejtezési és véglegesítési módszerei közötti különbséget tárgyalja. A különbség a selejtezés () és a véglegesítés () között az, hogy a selejtezést () a programozónak kifejezetten meg kell hívnia, míg a véglegesítést () a szemétgyűjtőnek kell meghívnia, mielőtt megsemmisítené az objektumot.