Pagrindinis skirtumas – išmesti () ir užbaigti ()
Pagrindinis skirtumas tarp šalinimo () ir užbaigimo () yra tas, kad programuotojas turi aiškiai iškviesti šalinimą (), o užbaigimą () iškviečia šiukšlių surinkėjas, prieš sunaikindamas objektą.
Pašalinimas () yra būdas uždaryti arba paleisti nevaldomus išteklius, pvz., failus, objekto saugomus srautus. Užbaigimas yra būdas išvalyti dabartinio objekto turimus nevaldomus išteklius prieš objektą sunaikinant.
Kas yra disponuoti()?
Vienas iš svarbiausių. NET sistema užtikrina automatinį šiukšlių surinkimą. Jis automatiškai išlaisvina nenaudojamų objektų atmintį. Tokiomis programavimo kalbomis kaip C ir C++ programuotojas turi pats tvarkyti atminties valdymą. Tačiau tokiomis kalbomis kaip C, kuri yra sukurta ant. NET framework, suteikia šiukšlių rinktuvą. Tai padeda valdyti atmintį. Jis negali būti naudojamas nevaldomiems atminties ištekliams atlaisvinti. Šiai užduočiai atlikti galima naudoti šalinimo () metodą.
Pašalinimo () metodas gali būti naudojamas norint atlaisvinti išteklius, tokius kaip duomenų bazių jungtys, failų tvarkyklės ir kt. Šis metodas nėra iškviečiamas automatiškai. Todėl programuotojas turėtų įgyvendinti šį metodą. Kai tik iškviečiamas šis metodas, atlaisvinama konkretaus nevaldomo resurso atmintis. Šis metodas nurodytas sąsajoje IDisposeable.
Kas yra užbaigti ()?
Užbaigimo metodą šiukšlių surinkėjas iškviečia tik tada, kai nuoroda į objektą toliau nenaudojama. Šis metodas vadinamas prieš pat sunaikinant objektą. Šis metodas įgyvendinamas naudojant destruktorių. Užbaigimo metodas yra apibrėžtas java.lang.object klasėje. Šis metodas paskelbtas apsaugotu. Jis nėra paskelbtas kaip viešas, kad būtų išvengta kitų klasių prieigos. Apskritai užbaigimo metodas gali sumažinti programos našumą, nes jis iš karto neatlaisvina atminties.
Koks yra šalinimo () ir užbaigimo () panašumas?
Tiek disponuoti (), tiek užbaigti () gali būti naudojami atlaisvinti atmintį, skirtą nevaldomam ištekliui
Kuo skiriasi šalinimas () ir užbaigimas ()?
išmeskite () prieš užbaigimą () |
|
Pašalinimas () yra būdas uždaryti arba išleisti nevaldomus išteklius, pvz., failus, objekto saugomus srautus. | Užbaigimas yra būdas išvalyti dabartinio objekto turimus nevaldomus išteklius prieš objektą sunaikinant. |
Tikslas | |
Dalinimo metodas naudojamas nevaldomiems ištekliams atlaisvinti, kai jis iškviečiamas. | Užbaigimo metodas naudojamas nevaldomiems ištekliams atlaisvinti prieš sunaikinant objektą. |
Apibrėžta sąsaja arba klasė | |
Išmetimas () yra apibrėžtas sąsajoje IDdisposable sąsaja. | Užbaigimas () apibrėžtas java.lang.object class. |
Iškvietimo metodas | |
Programuotojas iškviečia šalinimo metodą. | Šiukšlių surinkėjas iškviečia užbaigimo metodą. |
Prieigos specifikacija | |
Pašalinimo metodas yra viešas. | Užbaigimo metodas apsaugotas. |
Greitis | |
Dalinimo metodas iššaukiamas iš karto. | Užbaigimo metodas iškviečiamas lėtai. |
Performance | |
Išmetimas nesumažins programos našumo. | Užbaigimo metodas gali sumažinti programos našumą. |
Santrauka – išmesti () prieš užbaigimą ()
Šiame straipsnyje aptariamas skirtumas tarp šalinimo ir užbaigimo metodų C. Skirtumas tarp šalinimo () ir užbaigimo () yra tas, kad programuotojas turi aiškiai iškviesti disponuoti (), o užbaigimą () iškviečia šiukšlių surinkėjas, prieš sunaikindamas objektą.