Razlika između raspolagati () i dovršiti ()

Ključna razlika - raspolagati () vs Finalizirajte ()
 

ključna razlika između dispose () i finalize () je to dispose () mora izričito pozvati programera, dok finalize () poziva sakupljač smeća prije uništavanja objekta.

Dispose () je metoda za zatvaranje ili oslobađanje neupravljanih resursa kao što su datoteke, potoci u objektu. Finalizacija je metoda za izvođenje operacija čišćenja na neupravljanim resursima koje posjeduje trenutni objekt prije nego što se objekt uništi.

SADRŽAJ

1. Pregled i ključne razlike
2. Što raspolaže ()
3. Što je dovršeno ()
4. Sličnosti između raspolaganja () i dovršiti ()
5. Usporedna usporedba - rasporediti () vs finalizirati () u tabličnom obliku
6. Sažetak

Što je raspolagati ()?

Jedna od najvažnijih prednosti .NET okvira je ta što omogućava automatsko odvoz smeća. Automatski oslobađa memoriju objekata koji se ne koriste. U programskim jezicima kao što su C i C ++, programer mora samostalno upravljati upravljanjem memorijom. Ali na jezicima kao što je C # koji je izgrađen na .NET okviru osigurava sakupljač smeća. Pomaže u upravljanju memorijom. Ne može se koristiti za oslobađanje neupravljanih memorijskih resursa. Za postizanje ovog zadatka može se koristiti metoda dispose ().

Metoda dispose () može se koristiti za oslobađanje resursa, poput veza s bazom podataka, datotekama za upravljanje datotekama itd. Ova metoda se ne poziva automatski. Stoga programer treba primijeniti ovu metodu. Čim se aktivira ova metoda, oslobađa se memorija za određeni neupravljani resurs. Ova metoda je deklarirana u ID sučelju sučelja.

Što je dovršeno ()?

Skupljač smeća naziva metodu dovršavanja samo kada se referenca na neki predmet ne koristi dalje. Ova metoda se naziva neposredno prije uništavanja objekta. Ova se metoda provodi uz pomoć destruktora. Metoda dovršetka definirana je u klasi java.lang.object. Ova metoda je proglašena zaštićenom. Nije javno proglašeno da bi se izbjegao pristup ostalim klasama. Općenito, metoda finalizacije može minimizirati performanse programa jer ne oslobađa memoriju odmah.

Koja je sličnost između dispose () i finalize ()?

  • I dispose () i finalize () mogu se koristiti za oslobađanje memorije dodijeljene za neupravljan resurs.

Koja je razlika između raspolaganja () i dovršiti ()?

dispose () vs finalize ()

Dispose () je metoda za zatvaranje ili oslobađanje neupravljanih resursa kao što su datoteke, potoci u objektu. Završna faza je metoda za izvođenje operacija čišćenja neupravljanih resursa koje drži trenutni objekt prije nego što se objekt uništi.
 Cilj
Metoda zbrinjavanja koristi se za oslobađanje neupravljanih resursa kad se aktiviraju. Metoda dovršetka koristi se za oslobađanje neupravljanih resursa prije nego što se objekt uništi.
Definirano sučelje ili klasa
Dispose () je definiran u ID sučelju sučelja kojim se može koristiti. Završetak () definiran je u klasi java.lang.object.
 Način pozivanja
Način zbrinjavanja poziva programer. Metoda dovršetka poziva se sakupljačem smeća.
pristup Specifier
Metoda zbrinjavanja je javna. Metoda finalizacije je zaštićena.
Ubrzati
Način odlaganja odmah se poziva. Metoda dovršetka poziva se polako.
Izvođenje
Odlaganje neće umanjiti učinkovitost programa. Metoda dovršetka mogla bi umanjiti performanse programa.

Sažetak - odložite () vs Finalizirajte ()

Ovaj članak govori o razlici između načina odlaganja i finalizacije u C #. Razlika između odlaganja () i finaliziranja () je u tome što programer mora eksplicitno pozvati program za odlaganje (), dok skupljač smeća prije uništenja objekta poziva sakupljač smeća.

Referenca:

1.Implement Finalizirati i raspolagati čišćenju neupravljanih resursa. Dostupno ovdje  
2.Sharma, Nitya. "Natrag na osnove - odložite VS finale." C # kutak. Dostupno ovdje  

Ljubaznošću slike:

1.'Csharp Logo'By Andres15alvarez - Vlastiti rad, (CC BY-SA 4.0) putem Commons Wikimedia