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.
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
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.
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.
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. |
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.
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
1.'Csharp Logo'By Andres15alvarez - Vlastiti rad, (CC BY-SA 4.0) putem Commons Wikimedia