Kulcskülönbség - ártalmatlanítás () vs véglegesítés ()
A legfontosabb különbség az ártalmatlanítás () és a véglegesítés () között az, hogy a programozónak kifejezetten meg kell hívnia az ártalmatlanítást (), míg az objektum megsemmisítése előtt a véglegesítést () a szemétszedő hívja meg.
A dispose () egy módszer a nem kezelt erőforrások, például egy objektum által birtokolt fájlok, adatfolyamok bezárására vagy felszabadítására. A véglegesítés egy módszer az aktuális objektum birtokában lévő nem kezelt erőforrások tisztítási műveleteinek végrehajtására az objektum megsemmisítése előtt.
TARTALOM
1. Áttekintés és kulcsfontosságú különbségek
2. Mi a dispose ()
3. Mi a véglegesítés ()
4. A hasonlóságok a dispose () és a finalise () között
5. Egymás melletti összehasonlítás - dispose () vs finalize () a
6. táblázatos formában. Összegzés
Mi az a dispose ()?
A. NET keretrendszer egyik legfontosabb előnye, hogy automatikus szemétszállítást biztosít. Automatikusan felszabadítja a nem használt objektumok memóriáját. Az olyan programozási nyelvekben, mint a C és a C ++, a programozónak egyedül kell kezelnie a memóriakezelést. De olyan nyelveken, mint a C #, amely a. NET keretrendszerre épül, biztosítja a szemétszedőt. Segít a memória kezelésében. Nem használható a nem kezelt memóriaforrások felszabadítására. A dispose () metódus használható a feladat elérésére.
A dispose () metódus felhasználható erőforrások, például adatbázis-kapcsolatok, fájlkezelők stb. Felszabadítására. Ezt a metódust nem hívják meg automatikusan. Ezért a programozónak végre kell hajtania ezt a módszert. Amint ezt a módszert meghívják, felszabadul az adott nem kezelt erőforrás memóriája. Ezt a módszert az IDisposeable felület deklarálja.
Mi a véglegesítés ()?
A véglegesítési módszert a szemétgyűjtő csak akkor hívja meg, 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ési módszert a java.lang.object osztály határozza meg. Ezt a módszert védettnek nyilvánítják. Nincs nyilvánosnak 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 minimalizálhatja a program teljesítményét, mert nem szabadítja fel azonnal a memóriát.
Milyen a hasonlóság az ártalmatlanítás () és a véglegesítés () között?
A dispose () és a finalize () egyaránt felhasználhatók a nem kezelt erőforrásokhoz rendelt memória felszabadítására
Mi a különbség az ártalmatlanítás () és a véglegesítés () között?
Különböző cikk a táblázat előtt
dispose () vs finalize () |
|
A dispose () egy módszer a nem kezelt erőforrások, például egy objektum által birtokolt fájlok, adatfolyamok bezárására vagy felszabadítására. | A véglegesítés egy módszer az aktuális objektum birtokában lévő nem kezelt erőforrások megtisztítására, mielőtt az objektum megsemmisülne. |
Célkitűzés | |
Az elidegenítési módszer a nem kezelt erőforrások felszabadítására szolgál, amikor meghívásra kerül. | A véglegesítési módszert a nem kezelt erőforrások felszabadítására használják az objektum megsemmisítése előtt. |
Meghatározott felület vagy osztály | |
A dispose () az IDisposable interface felületen van meghatározva. | A véglegesítést () a java.lang.object osztály határozza meg. |
Meghívó módszer | |
A dispose metódust a programozó hívja meg. | A véglegesítési módszert a szemétszedő hívja meg. |
Hozzáférés-specifikátor | |
Az ártalmatlanítási módszer nyilvános. | A véglegesítési módszer védett. |
Sebesség | |
Az ártalmatlanítási módszer azonnal meghívásra kerül. | A véglegesítési módszert lassan alkalmazzák. |
Teljesítmény | |
Az ártalmatlanítás nem csökkenti a program teljesítményét. | A véglegesítési módszer minimalizálhatja a program teljesítményét. |
Összegzés - ártalmatlanítás () vs véglegesítés ()
Ez a cikk a C # -ben található diszponálás és véglegesítés módszerek közötti különbséget tárgyalta. A különbség az ártalmatlanítás () és a véglegesítés () között az, hogy a programot kifejezetten meg kell hívnia a dispose () -ra, míg az objektum megsemmisítése előtt a véglegesítést () a szemétszedő hívja meg.