Dallimi kryesor – asgjësoj () vs finalizoj ()
Dallimi kryesor midis dispose () dhe finalize () është se dispose () duhet të thirret në mënyrë eksplicite nga programuesi ndërsa finalizimi () thirret nga mbledhësi i mbeturinave përpara se të shkatërrohet objekti.
Disponimi () është një metodë për të mbyllur ose lëshuar burime të pamenaxhuara si skedarë, transmetime të mbajtura nga një objekt. Finalizimi është një metodë për të kryer operacione pastrimi në burimet e pamenaxhuara të mbajtura nga objekti aktual përpara se objekti të shkatërrohet.
Çfarë është dispose()?
Një nga avantazhet më të rëndësishme të. Korniza NET është se ofron grumbullim automatik të plehrave. Ai automatikisht lëshon kujtesën e objekteve që nuk përdoren. Në gjuhët e programimit si C dhe C++, programuesi duhet të menaxhojë vetë memorien. Por në gjuhë të tilla si C që është ndërtuar në kornizën. NET ofron grumbulluesin e mbeturinave. Ndihmon në menaxhimin e kujtesës. Nuk mund të përdoret për të lëshuar burimet e pamenaxhuara të memories. Metoda dispose () mund të përdoret për të arritur këtë detyrë.
Metoda dispose () mund të përdoret për të lëshuar burime të tilla si lidhjet e bazës së të dhënave, mbajtësit e skedarëve etj. Kjo metodë nuk thirret automatikisht. Prandaj, programuesi duhet ta zbatojë këtë metodë. Sapo thirret kjo metodë, memoria për burimin e veçantë të pamenaxhuar lëshohet. Kjo metodë është deklaruar në ndërfaqen IDisposeable.
Çfarë është finalizimi ()?
Metoda e finalizimit thirret nga mbledhësi i mbeturinave vetëm kur referenca për një objekt nuk përdoret më tej. Kjo metodë quhet pak para shkatërrimit të objektit. Kjo metodë zbatohet me ndihmën e destruktorit. Metoda e finalizimit përcaktohet në klasën java.lang.object. Kjo metodë është deklaruar si e mbrojtur. Nuk është deklaruar si publike për të shmangur aksesin nga klasat e tjera. Në përgjithësi, metoda e finalizimit mund të minimizojë performancën e programit sepse nuk e çliron kujtesën në çast.
Cila është ngjashmëria midis hedhjes () dhe finalizimit ()?
Të dyja dispose () dhe finalize() mund të përdoren për të liruar memorien e alokuar për një burim të pamenaxhuar
Cili është ndryshimi midis hedhjes () dhe finalizimit ()?
dispose () vs finalize () |
|
Disponimi () është një metodë për të mbyllur ose lëshuar burime të pamenaxhuara si skedarë, transmetime të mbajtura nga një objekt. | Finalizimi është një metodë për të kryer operacionet e pastrimit në burimet e pamenaxhuara të mbajtura nga objekti aktual përpara se objekti të shkatërrohet. |
Objektivi | |
Metoda e asgjësimit përdoret për të liruar burimet e pamenaxhuara kur thirret. | Metoda e finalizimit përdoret për të liruar burimet e pamenaxhuara përpara se objekti të shkatërrohet. |
Ndërfaqja ose klasa e përcaktuar | |
Disponimi () përcaktohet në ndërfaqen IDisposable interface. | Finalizimi () përcaktohet në klasën java.lang.object. |
Metoda e thirrjes | |
Metoda e asgjësimit thirret nga programuesi. | Metoda e finalizimit thirret nga mbledhësi i plehrave. |
Specifikuesi i qasjes | |
Metoda e asgjësimit është publike. | Metoda e finalizimit është e mbrojtur. |
Shpejtësia | |
Metoda e asgjësimit thirret në çast. | Metoda e finalizimit thirret ngadalë. |
Performanca | |
Hedhja nuk do të minimizojë performancën e programit. | Metoda e finalizimit mund të minimizojë performancën e programit. |
Përmbledhje – asgjësoj () vs finalizoj ()
Ky artikull diskutoi ndryshimin midis metodave të asgjësimit dhe përfundimit në C. Dallimi midis dispose () dhe finalize () është se dispose () duhet të thirret në mënyrë eksplicite nga programuesi ndërsa finalizimi () thirret nga mbledhësi i mbeturinave përpara se të shkatërrohet objekti.