Skirtumas Tarp šalinimo () Ir Užbaigimo ()

Turinys:

Skirtumas Tarp šalinimo () Ir Užbaigimo ()
Skirtumas Tarp šalinimo () Ir Užbaigimo ()

Video: Skirtumas Tarp šalinimo () Ir Užbaigimo ()

Video: Skirtumas Tarp šalinimo () Ir Užbaigimo ()
Video: ИГРА ПРОФЕССИОНАЛОВ. Что такое сознание? Фильм 1 2024, Lapkritis
Anonim

Pagrindinis skirtumas - sunaikinti () ir baigti ()

Esminis skirtumas tarp šalinimo () ir užbaigimo () yra tas, kad programuotojas turi aiškiai kreiptis į šalinti (), o prieš sunaikindamas objektą šiukšlių surinkėjas kreipiasi į baigtį ().

„Dispose ()“yra būdas uždaryti arba išleisti nevaldomus išteklius, tokius kaip failai, srautai, kuriuos laiko objektas. Baigimas yra metodas atlikti valymo veiksmus su nevaldomais ištekliais, esančiais dabartiniame objekte, prieš objektą sunaikinant.

TURINYS

1. Apžvalga ir pagrindiniai skirtumai

2. Kas yra dispose ()

3. Kas yra finalize ()

4. Panašumai tarp dispose () ir finalise ()

5. Šoninis palyginimas - dispose () vs finalise ()

6 lentelėje. Santrauka

Kas yra dispose ()?

Vienas iš svarbiausių. NET Framework privalumų yra tai, kad jis suteikia automatinį šiukšlių surinkimą. Jis automatiškai atlaisvina nenaudojamų objektų atmintį. Programavimo kalbomis, tokiomis kaip C ir C ++, programuotojas turi pats tvarkyti atminties valdymą. Tačiau šiomis kalbomis, pvz., C #, sukurta ant. NET Framework, šiukšlių surinkėjas. Tai padeda valdyti atmintį. Jo negalima naudoti nevaldomų atminties išteklių atlaisvinimui. Šiai užduočiai pasiekti gali būti naudojamas metimas ().

Skirtumas tarp šalinimo () ir užbaigimo ()
Skirtumas tarp šalinimo () ir užbaigimo ()

„Dispose ()“metodą galima naudoti išleidžiant išteklius, tokius kaip duomenų bazių ryšiai, failų tvarkytuvai ir kt. Šis metodas nėra automatiškai iškviečiamas. Todėl programuotojas turėtų įgyvendinti šį metodą. Kai tik pasitelkiamas šis metodas, atlaisvinama konkretaus nevaldomo šaltinio atmintis. Šis metodas yra deklaruojamas sąsajoje IDisposeable.

Kas yra baigti ()?

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 destruktoriaus pagalba. Baigimo metodas yra apibrėžtas klasėje java.lang.object. Šis metodas paskelbtas saugomu. Nėra paskelbta vieša, kad būtų išvengta kitų klasių prieigos. Apibendrinant metodas gali sumažinti programos našumą, nes tai neatlaisvina atminties akimirksniu.

Koks yra disponavimo () ir užbaigimo () panašumas?

Tiek dispose (), tiek finalize () gali būti naudojami atlaisvinant atmintį, skirtą nevaldomam ištekliui

Koks skirtumas tarp išmesti () ir užbaigti ()?

Skirtingas straipsnis viduryje prieš lentelę

disponuoti () vs baigti ()

„Dispose ()“yra būdas uždaryti arba išleisti nevaldomus išteklius, tokius kaip failai, srautai, kuriuos laiko objektas. Baigimas yra metodas atlikti valymo operacijas su nevaldomais ištekliais, esančiais dabartiniame objekte, prieš objektą sunaikinant.
Tikslas
„Dispose“metodas naudojamas valdant netvarkomus išteklius, kai jis naudojamas. Baigimo metodas naudojamas valdant išteklius prieš sunaikinant objektą.
Apibrėžta sąsaja arba klasė
Dispose () yra apibrėžtas sąsajoje IDisposable interface. Baigti () yra apibrėžta klasėje java.lang.object.
Kreipiantis metodas
„Dispose“metodą naudoja programuotojas. Baigimo metodą naudoja šiukšlių surinkėjas.
Prieigos specifikatorius
Atmetimo metodas yra viešas. Baigimo metodas yra apsaugotas.
Greitis
Išmetimo metodas yra naudojamas iškart. Baigimo metodas naudojamas lėtai.
Spektaklis
Išmeskite nesumažinsite programos veikimo. Baigimo metodas gali sumažinti programos našumą.

Santrauka - išmesti () ir baigti ()

Šiame straipsnyje aptariamas skirtumas tarp šalinimo ir užbaigimo metodų C #. Skirtumas tarp šalinimo () ir baigimo () yra tas, kad programuotojas turi aiškiai nurodyti, kad išmesti (), o prieš sunaikindamas objektą šiukšlių surinkėjas kreipiasi į užbaigimą ().

Rekomenduojama: