Skirtumas tarp disponuoti () ir baigti ()

Pagrindinis skirtumas - išmeskite () vs baigti ()
 

pagrindinis skirtumas tarp disponuoti () ir baigti () yra tai programuotojas turi aiškiai pasitelkti dispose (), o prieš sunaikindamas objektą šiukšlių surinkėjas iškviečia finalize ().

Dispose () yra būdas nevaldomiems ištekliams, tokiems kaip failai, srautai, kuriuos turi objektas, uždaryti arba paleisti. Baigimas yra metodas, skirtas atlikti nevaldomus išteklius, kuriuos dabartinis objektas laiko prieš sunaikinant objektą.

TURINYS

1. Apžvalga ir svarbiausias skirtumas
2. Kas yra disponuoti ()
3. Kas baigiama ()
4. Panaikinimas () ir baigimas ()
5. Lyginimas šalia - išmeskite () ir užbaikite () lentelės pavidalu
6. Santrauka

Kas yra disponuoti ()?

Vienas iš svarbiausių .NET struktūros pranašumų yra tai, kad ji teikia automatinį šiukšlių rinkimą. Tai automatiškai atlaisvina nenaudojamų objektų atmintį. Programavimo kalbomis, tokiomis kaip C ir C ++, programuotojas turi pats valdyti atmintį. Bet tokiomis kalbomis kaip C #, kuri yra sukurta .NET rėmuose, pateikiamas šiukšlių surinkėjas. Tai padeda valdyti atmintį. Jis negali būti naudojamas nevaldomiems atminties ištekliams išlaisvinti. Šiai užduočiai pasiekti gali būti naudojamas dispose () metodas.

„Dispose ()“ metodą galima naudoti norint išlaisvinti tokius išteklius kaip duomenų bazių jungtys, failų tvarkyklės ir pan. Šis metodas nėra automatiškai vadinamas. Todėl programuotojas turėtų įgyvendinti šį metodą. Kai tik pradedamas naudoti šis metodas, atleidžiama konkretaus nevaldomo šaltinio atmintis. Šis metodas yra nurodytas sąsajoje, kuria negalima naudotis.

Kas baigiama ()?

Galutinį metodą šiukšlių surinkėjas vadina tik tada, kai nuoroda į objektą nenaudojama toliau. Šis metodas vadinamas tiesiog prieš sunaikinant objektą. Šis metodas įgyvendinamas padedant naikintojui. Baigimo būdas apibrėžtas „java.lang.object“ klasėje. Šis metodas paskelbtas saugomu. Jis nėra deklaruojamas kaip viešas vengti patekti į kitas klases. Apskritai, baigimo metodas gali sumažinti programos našumą, nes jis akimirksniu neatlaisvina atminties.

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

  • Tiek dispose (), tiek finalize () gali būti naudojami atlaisvinti atmintį, skirtą nevaldomiems ištekliams.

Kuo skiriasi disponuoti () ir baigti ()?

disponuoti () vs baigti ()

Dispose () yra būdas nevaldomiems ištekliams, tokiems kaip failai, srautai, kuriuos turi objektas, uždaryti arba paleisti. Baigimas yra metodas, skirtas atlikti nevaldomus išteklius, kuriuos turi dabartinis objektas, prieš sunaikinant objektą.
 Tikslas
Disponavimo metodas naudojamas norint nenaudojamus išteklius išlaisvinti, kai jie yra iškviečiami. Baigimo būdas yra naudojamas norint nevaldyti išteklius išlaisvinti prieš sunaikinant objektą.
Apibrėžta sąsaja arba klasė
Atsisakymas () yra apibrėžtas vartotojo sąsajoje, kurioje galima naudoti vienkartinę sąsają. Baigimas () yra apibrėžtas java.lang.object klasėje.
 Kreipimosi metodas
Programuotojas pasirenka šalinimo metodą. Šiukšlių surinkėjas pasitelkia galutinį metodą.
Prieigos specifikatorius
Disponavimo būdas yra viešas. Baigimo būdas yra apsaugotas.
Greitis
Tvarkymo metodas naudojamas nedelsiant. Pabaigos metodas pasirenkamas lėtai.
Spektaklis
Išmetimas nesumažins programos našumo. Baigimo metodas gali sumažinti programos našumą.

Santrauka - išmeskite () vs baigti ()

Šiame straipsnyje buvo aptartas skirtumas tarp disponavimo ir baigimo metodų C #. Skirtumas tarp dispose () ir finalize () yra tas, kad programuotojas turi aiškiai pasitelkti dispose (), o prieš sunaikindamas objektą šiukšlių surinkėjas iškviečia finalize ()..

Nuoroda:

1. Įgyvendinkite ir sutvarkykite nevaldomus išteklius. Galima rasti čia  
2.Šarma, Nita. „Atgal į pagrindus - išmeskite V“. C # kampas. Galima rasti čia  

Vaizdo mandagumas:

1.'Csharp Logo'By Andres15alvarez - Nuosavas darbas, (CC BY-SA 4.0) per Commons Wikimedia