galvenā atšķirība starp disponēt () un pabeigt () ir tas programmētājs tieši atsaucas uz dispose (), kamēr atkritumu savācējs izsauc finalize () pirms objekta iznīcināšanas.
Dispose () ir metode, lai aizvērtu vai atbrīvotu nepārvaldītus resursus, piemēram, failus, straumes, kas atrodas objektā. Pabeigšana ir metode tīrīšanas operāciju veikšanai ar nepārvaldītiem resursiem, kas atrodas pašreizējā objektā, pirms objekts tiek iznīcināts.
1. Pārskats un galvenās atšķirības
2. Kas ir apglabāšana ()
3. Kas tiek pabeigts ()
4. Līdzības starp atsavināšanu () un pabeigšanu ()
5. Salīdzinājums blakus - iznīciniet () un pabeidziet () tabulas formā
6. Kopsavilkums
Viena no vissvarīgākajām .NET Framework priekšrocībām ir tā, ka tā nodrošina automātisku atkritumu savākšanu. Tas automātiski atbrīvo nelietoto objektu atmiņu. Programmēšanas valodās, piemēram, C un C ++, programmētājam pašam jātiek galā ar atmiņas pārvaldību. Bet tādās valodās kā C #, kas ir veidota uz .NET struktūras pamata, nodrošina atkritumu savācēju. Tas palīdz pārvaldīt atmiņu. To nevar izmantot, lai atbrīvotu neapsaimniekotos atmiņas resursus. Lai sasniegtu šo uzdevumu, var izmantot apglabāšanas () metodi.
Dispose () metodi var izmantot, lai atbrīvotu resursus, piemēram, datu bāzes savienojumus, failu apstrādātājus utt. Šī metode netiek izsaukta automātiski. Tādēļ programmētājam šī metode būtu jāievieš. Tiklīdz tiek izmantota šī metode, tiek atbrīvota konkrētā nepārvaldītā resursa atmiņa. Šī metode ir deklarēta interfeisā IDisposeable.
Pabeigt metodi atkritumu savācējs izsauc tikai tad, ja atsauce uz objektu netiek izmantota tālāk. Šo metodi sauc tieši pirms objekta iznīcināšanas. Šī metode tiek ieviesta ar iznīcinātāja palīdzību. Pabeigšanas metode ir definēta klasē java.lang.object. Šī metode tiek pasludināta par aizsargātu. Tas nav pasludināts par publisku, lai izvairītos no citu klašu piekļuves. Kopumā pabeigšanas metode var samazināt programmas veiktspēju, jo tā uzreiz neatbrīvo atmiņu.
atbrīvoties () vs pabeigt () | |
Dispose () ir metode, lai aizvērtu vai atbrīvotu nepārvaldītus resursus, piemēram, failus, straumes, kas atrodas objektā. | Pabeigšana ir metode, kā veikt tīrīšanu ar nepārvaldītiem resursiem, kas atrodas pašreizējā objektā, pirms objekts tiek iznīcināts. |
Objektīvs | |
Apglabāšanas metode tiek izmantota, lai atbrīvotu neapsaimniekotos resursus, kad tie tiek izsaukti. | Pabeigšanas metode tiek izmantota, lai atbrīvotu neapsaimniekotos resursus pirms objekta iznīcināšanas. |
Noteikta saskarne vai klase | |
Apglabāšana () ir definēta interfeisā IDisposable interfeiss. | Pabeigt () nosaka java.lang.object klasē. |
Piesaukšanas metode | |
Programmētājs izmanto atsavināšanas metodi. | Atkritumu savācējs izmanto pabeigto metodi. |
Piekļuves specifikators | |
Apglabāšanas metode ir publiska. | Pabeigšanas metode ir aizsargāta. |
Ātrums | |
Apglabāšanas metode tiek izsaukta uzreiz. | Pabeigšanas metode tiek izsaukta lēnām. |
Performance | |
Atbrīvošanās no programmas nemazinās darbību. | Pabeigšanas metode var samazināt programmas veiktspēju. |
Šajā rakstā tika apskatīta atšķirība starp disponēšanas un pabeigšanas metodēm C #. Atšķirība starp dispose () un finalize () ir tāda, ka programmētājam ir skaidri jāizsauc dispose (), kamēr atkritumu savācējs izsauc finalize () pirms objekta iznīcināšanas.
1.Izpildīšana Pabeigt un rīkoties, lai attīrītu nepārvaldītus resursus. Pieejams šeit
2.Šarma, Nitja. “Atpakaļ pie pamatiem - atbrīvojieties no darba pabeigšanas.” C # stūris. Pieejams šeit
1.'Csharp Logo'By Andres15alvarez - Savs darbs, (CC BY-SA 4.0), izmantojot Commons Wikimedia