Pagkakaiba sa pagitan ng dispose () at finalize ()

Talaan ng mga Nilalaman:

Pagkakaiba sa pagitan ng dispose () at finalize ()
Pagkakaiba sa pagitan ng dispose () at finalize ()

Video: Pagkakaiba sa pagitan ng dispose () at finalize ()

Video: Pagkakaiba sa pagitan ng dispose () at finalize ()
Video: Ano ang Certificate of Finality? Paano makakaapekto ito sa pagKolekta ng Labor Awards? 2024, Disyembre
Anonim

Mahalagang Pagkakaiba – itapon () vs i-finalize ()

Ang pangunahing pagkakaiba sa pagitan ng dispose () at finalize () ay ang dispose () ay kailangang tahasang i-invoke ng programmer habang ang finalize () ay hinihingi ng garbage collector bago sirain ang object.

Ang pagtatapon () ay isang paraan upang isara o ilabas ang mga hindi pinamamahalaang mapagkukunan tulad ng mga file, mga stream na hawak ng isang bagay. Ang pagsasapinal ay isang paraan upang magsagawa ng mga operasyon sa paglilinis sa hindi pinamamahalaang mga mapagkukunang hawak ng kasalukuyang bagay bago sirain ang bagay.

Ano ang dispose()?

Isa sa pinakamahalagang bentahe ng. NET framework ay nagbibigay ito ng awtomatikong pagkolekta ng basura. Awtomatikong inilalabas nito ang memorya ng mga bagay na hindi ginagamit. Sa mga programming language tulad ng C at C++, ang programmer ay kailangang hawakan ang memory management sa kanyang sarili. Ngunit sa mga wika tulad ng C na binuo sa. NET framework ay nagbibigay ng garbage collector. Nakakatulong ito na pamahalaan ang memorya. Hindi ito magagamit upang ilabas ang hindi pinamamahalaang mga mapagkukunan ng memorya. Maaaring gamitin ang dispose () method para makamit ang gawaing ito.

Pagkakaiba sa pagitan ng dispose () at finalize ()
Pagkakaiba sa pagitan ng dispose () at finalize ()

Ang dispose () na paraan ay maaaring gamitin upang ilabas ang mga mapagkukunan gaya ng mga koneksyon sa database, mga tagapangasiwa ng file atbp. Ang pamamaraang ito ay hindi awtomatikong tinatawag. Samakatuwid, dapat ipatupad ng programmer ang pamamaraang ito. Sa sandaling gamitin ang pamamaraang ito, ang memorya para sa partikular na hindi pinamamahalaang mapagkukunan ay mailalabas. Ang pamamaraang ito ay ipinahayag sa interface na IDisposeable.

Ano ang finalize ()?

Ang paraan ng pag-finalize ay tinatawag lamang ng tagakolekta ng basura kapag ang reference sa isang bagay ay hindi na ginamit pa. Ang pamamaraang ito ay tinatawag bago lamang sirain ang bagay. Ang pamamaraang ito ay ipinatupad sa tulong ng destructor. Ang paraan ng pag-finalize ay tinukoy sa klase ng java.lang.object. Ang pamamaraang ito ay ipinahayag bilang protektado. Hindi ito idineklara bilang pampubliko upang maiwasan ang pag-access ng ibang mga klase. Sa pangkalahatan, ang paraan ng pag-finalize ay maaaring mabawasan ang pagganap ng programa dahil hindi nito agad na napapalaya ang memorya.

Ano ang Pagkakatulad sa pagitan ng dispose () at finalize()?

Ang parehong dispose () at finalize() ay maaaring gamitin upang palayain ang memorya na inilaan para sa hindi pinamamahalaang mapagkukunan

Ano ang Pagkakaiba sa pagitan ng dispose () at finalize()?

dispose () vs finalize ()

Ang dispose () ay isang paraan upang isara o ilabas ang mga hindi pinamamahalaang mapagkukunan gaya ng mga file, stream na hawak ng isang bagay. Ang pag-finalize ay isang paraan upang magsagawa ng paglilinis sa mga hindi pinamamahalaang mapagkukunan na hawak ng kasalukuyang bagay bago sirain ang bagay.
Layunin
Ginagamit ang paraan ng pagtatapon upang palayain ang hindi pinamamahalaang mga mapagkukunan kapag ito ay ginamit. Ang paraan ng pag-finalize ay ginagamit upang palayain ang hindi pinamamahalaang mga mapagkukunan bago sirain ang bagay.
Tinukoy na Interface o Klase
Ang pagtatapon () ay tinukoy sa interface IDisposable interface. Ang finalize () ay tinukoy sa java.lang.object class.
Paraan ng Pag-invoke
Ang paraan ng pagtatapon ay ginagamit ng programmer. Ang paraan ng pag-finalize ay ginagamit ng basurero.
Access Specifier
Ang paraan ng pagtatapon ay pampubliko. Protektado ang paraan ng pag-finalize.
Bilis
Ang paraan ng pagtatapon ay ginagamit kaagad. Ang paraan ng pag-finalize ay dahan-dahang ginagamit.
Pagganap
Hindi mababawasan ng pagtatapon ang pagganap ng programa. Ang paraan ng pag-finalize ay maaaring mabawasan ang pagganap ng programa.

Buod – itapon () vs tapusin ()

Tinalakay ng artikulong ito ang pagkakaiba sa pagitan ng dispose at finalize na mga pamamaraan sa C. Ang pagkakaiba sa pagitan ng dispose () at finalize () ay, ang dispose () ay kailangang tahasang i-invoke ng programmer habang ang finalize () ay hinihingi ng garbage collector bago sirain ang object.

Inirerekumendang: