Huvittamisen () ja viimeistelyn () välinen ero

Sisällysluettelo:

Huvittamisen () ja viimeistelyn () välinen ero
Huvittamisen () ja viimeistelyn () välinen ero

Video: Huvittamisen () ja viimeistelyn () välinen ero

Video: Huvittamisen () ja viimeistelyn () välinen ero
Video: Ангел связанный крючком - МК #13 2024, Heinäkuu
Anonim

Avainero – hävitä () vs. viimeistele ()

Tärkein ero hävittämisen () ja viimeistelyn () välillä on, että ohjelmoijan on nimenomaisesti kutsuttava hävittämistä () kun taas jätteenkerääjä kutsuu viimeistelyn () ennen objektin tuhoamista.

Hävitys () on tapa sulkea tai vapauttaa hallitsemattomia resursseja, kuten tiedostoja tai kohteen hallussa olevia virtoja. Viimeistely on menetelmä puhdistaa nykyisen kohteen hallussa oleville hallitsemattomille resursseille ennen objektin tuhoamista.

Mikä on dispose()?

Yksi sovelluksen tärkeimmistä eduista. NET-kehys on, että se tarjoaa automaattisen roskatkeräyksen. Se vapauttaa automaattisesti muistin kohteista, joita ei käytetä. Ohjelmointikielissä, kuten C ja C++, ohjelmoijan on hoidettava muistinhallinta itse. Mutta kielillä, kuten C, joka on rakennettu. NET-kehykseen, tarjoaa roskienkerääjän. Se auttaa hallitsemaan muistia. Sitä ei voi käyttää hallitsemattomien muistiresurssien vapauttamiseen. Hävitä () -menetelmää voidaan käyttää tämän tehtävän suorittamiseen.

Ero hävittämisen () ja viimeistelyn () välillä
Ero hävittämisen () ja viimeistelyn () välillä

Hävitä () -menetelmää voidaan käyttää vapauttamaan resursseja, kuten tietokantayhteyksiä, tiedostokäsittelijöitä jne. Tätä menetelmää ei kutsuta automaattisesti. Siksi ohjelmoijan tulisi ottaa tämä menetelmä käyttöön. Heti kun tätä menetelmää käytetään, tietyn hallitsemattoman resurssin muisti vapautetaan. Tämä menetelmä on ilmoitettu rajapinnassa IDisposeable.

Mikä on viimeistely ()?

Roskatkerääjä kutsuu viimeistelymenetelmän vain, kun viittausta objektiin ei käytetä enempää. Tätä menetelmää kutsutaan juuri ennen objektin tuhoamista. Tämä menetelmä toteutetaan destruktorin avulla. Viimeistelymenetelmä määritellään java.lang.object-luokassa. Tämä menetelmä on julistettu suojatuksi. Sitä ei ole julistettu julkiseksi muiden luokkien pääsyn välttämiseksi. Kaiken kaikkiaan viimeistelymenetelmä voi minimoida ohjelman suorituskyvyn, koska se ei vapauta muistia välittömästi.

Mikä on samank altaisuus hävittämisen () ja viimeistelyn () välillä?

Sekä dispose () että finalize() voidaan käyttää vapauttamaan hallitsemattomalle resurssille varattu muisti

Mitä eroa hävittämisen () ja viimeistelyn () välillä on?

hävittäminen () vs viimeistely ()

Hävittäminen () on tapa sulkea tai vapauttaa hallitsemattomia resursseja, kuten tiedostoja tai kohteen hallussa olevia virtoja. Viimeistely on menetelmä puhdistaa nykyisen objektin hallussa oleville hallitsemattomille resursseille ennen objektin tuhoamista.
Tavoite
Hävitysmenetelmää käytetään hallitsemattomien resurssien vapauttamiseen, kun sitä vedetään. Viimeistelymenetelmää käytetään hallitsemattomien resurssien vapauttamiseen ennen objektin tuhoutumista.
Määritetty käyttöliittymä tai luokka
Hävitys () on määritelty rajapinnassa IDkertakäyttöliittymä. Viimeistely () on määritelty java.lang.object-luokassa.
Kutsumenetelmä
Ohjelmoija kutsuu poistomenetelmän. Roskatkerääjä käyttää viimeistelymenetelmää.
Käyttöoikeusmääritys
Hävitystapa on julkinen. Viimeistelytapa on suojattu.
Nopeus
Hävitysmenetelmä käynnistyy välittömästi. Viimeistelymenetelmä vedetään hitaasti.
Suorituskyky
Hävittäminen ei minimoi ohjelman suorituskykyä. Viimeistelymenetelmä saattaa minimoida ohjelman suorituskyvyn.

Yhteenveto – hävitä () vs. viimeistele ()

Tässä artikkelissa käsiteltiin C:n hävittämis- ja viimeistelymenetelmien eroa. Ero hävittämisen () ja viimeistelyn () välillä on se, että ohjelmoijan on nimenomaisesti kutsuttava poisto () -toimintoa, kun taas jätteenkerääjä kutsuu viimeistelyn () ennen objektin tuhoamista.

Suositeltava: