Atšķirība Starp Iznīcināšanu () Un Pabeigšanu ()

Satura rādītājs:

Atšķirība Starp Iznīcināšanu () Un Pabeigšanu ()
Atšķirība Starp Iznīcināšanu () Un Pabeigšanu ()

Video: Atšķirība Starp Iznīcināšanu () Un Pabeigšanu ()

Video: Atšķirība Starp Iznīcināšanu () Un Pabeigšanu ()
Video: NKVD un Gestapo sadarbība / Cотрудничество НКВД и Гестапо 2024, Decembris
Anonim

Galvenā atšķirība - iznīcināt () un pabeigt ()

Galvenā atšķirība starp iznīcināšanu () un pabeigšanu () ir tāda, ka programmētājam ir skaidri jāpiesauc utilizācija (), kamēr atkritumu savācējs pirms objekta iznīcināšanas izsauc finalize ().

Dispose () ir metode, kā aizvērt vai atbrīvot nepārvaldītus resursus, piemēram, objektam piederošus failus, straumes. Pabeigšana ir metode tīrīšanas darbību veikšanai pašreizējā objekta rīcībā esošajiem nepārvaldītajiem resursiem, pirms objekts tiek iznīcināts.

SATURS

1. Pārskats un galvenās atšķirības

2. Kas ir iznīcināt ()

3. Kas ir pabeigt ()

4. Līdzības starp iznīcināt () un pabeigt ()

5. Blakus salīdzinājums - iznīcināt () vs pabeigt () 6. tabulas formā

. Kopsavilkums

Kas ir iznīcināt ()?

Viena no svarī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 neizmantoto 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 Framework, nodrošina atkritumu savācēju. Tas palīdz pārvaldīt atmiņu. To nevar izmantot, lai atbrīvotu nepārvaldītos atmiņas resursus. Šī uzdevuma sasniegšanai var izmantot metodi iznīcināt ().

Atšķirība starp iznīcināšanu () un pabeigšanu ()
Atšķirība starp iznīcināšanu () un pabeigšanu ()

Metodi dispise () var izmantot, lai atbrīvotu resursus, piemēram, datu bāzes savienojumus, failu apstrādātājus utt. Šī metode netiek automātiski izsaukta. Tāpēc programmētājam būtu jāievieš šī metode. Tiklīdz tiek izmantota šī metode, tiek atbrīvota konkrētā nepārvaldītā resursa atmiņa. Šī metode ir deklarēta saskarnē IDisposeable.

Kas ir pabeigt ()?

Pabeigšanas metodi atkritumu savācējs izsauc tikai tad, kad atsauce uz objektu vairs netiek izmantota. Šo metodi sauc tieši pirms objekta iznīcināšanas. Šī metode tiek ieviesta ar destruktora 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 piekļuves citām klasēm. Kopumā pabeigšanas metode var samazināt programmas veiktspēju, jo tā uzreiz neatbrīvo atmiņu.

Kāda ir līdzība starp iznīcināšanu () un pabeigšanu ()?

Gan iznīcināt (), gan pabeigt () var izmantot, lai atbrīvotu nepārvaldītajam resursam atvēlēto atmiņu

Kāda ir atšķirība starp iznīcināšanu () un pabeigšanu ()?

Atšķirīgs raksts vidū pirms tabulas

iznīcināt () vs pabeigt ()

Dispose () ir metode, kā aizvērt vai atbrīvot nepārvaldītus resursus, piemēram, objektam piederošus failus, straumes. Pabeigšana ir metode, kā veikt attīrīšanas darbības ar neapsaimniekotajiem resursiem, kas atrodas pašreizējā objektā, pirms objekts tiek iznīcināts.
Mērķis
Iznīcināšanas metodi izmanto, lai atbrīvotu nepārvaldītos resursus, kad tā tiek izsaukta. Pabeigšanas metodi izmanto, lai atbrīvotu nepārvaldītos resursus pirms objekta iznīcināšanas.
Definēta saskarne vai klase
Dispose () ir definēts interfeisā IDisposable. Finalize () ir definēts klasē java.lang.object.
Uzaicināšanas metode
Atbrīvošanās metodi izsauc programmētājs. Pabeigšanas metodi izsauc atkritumu savācējs.
Piekļuves specifikators
Atbrīvošanās metode ir publiska. Pabeigšanas metode ir aizsargāta.
Ātrums
Iznīcināšanas metode tiek izsaukta uzreiz. Pabeigšanas metode tiek izmantota lēnām.
Izrāde
Atbrīvošanās nesamazinās programmas veiktspēju. Pabeigšanas metode var samazināt programmas veiktspēju.

Kopsavilkums - iznīcināt () vs pabeigt ()

Šajā rakstā tika apspriesta atšķirība starp iznīcināšanas un pabeigšanas metodēm C #. Atšķirība starp iznīcināšanu () un pabeigšanu () ir tāda, ka programmētājam ir skaidri jāpiesaucas utilizēšanai (), kamēr atkritumu savācējs pirms objekta iznīcināšanas izsauc finalize ().

Ieteicams: