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ą.
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
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.
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.
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ą. |
Š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 ()..
1. Įgyvendinkite ir sutvarkykite nevaldomus išteklius. Galima rasti čia
2.Šarma, Nita. „Atgal į pagrindus - išmeskite V“. C # kampas. Galima rasti čia
1.'Csharp Logo'By Andres15alvarez - Nuosavas darbas, (CC BY-SA 4.0) per Commons Wikimedia