Különbség a selejtezés () és a véglegesítés () között

Tartalomjegyzék:

Különbség a selejtezés () és a véglegesítés () között
Különbség a selejtezés () és a véglegesítés () között

Videó: Különbség a selejtezés () és a véglegesítés () között

Videó: Különbség a selejtezés () és a véglegesítés () között
Videó: Segítés magunkon és másokon, helyesen 1. 2024, November
Anonim

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.

Különbség a selejtezés () és a véglegesítés () között
Különbség a selejtezés () és a véglegesítés () között

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.

Ajánlott: