Tärkein ero - hävitä () vs. viimeistele ()
Tärkein ero hävittämisen () ja viimeistelyn () välillä on se, että ohjelmoijan on nimenomaisesti vedottava hävittämiseen (), kun roskankerääjä kehottaa lopettamaan () ennen kohteen tuhoamista.
Hävitä () on tapa sulkea tai vapauttaa hallitsemattomat resurssit, kuten objektin hallitsemat tiedostot, virrat. Viimeistely on menetelmä puhdistustoimintojen suorittamiseksi nykyisen objektin hallitsemille resursseille ennen kohteen tuhoutumista.
SISÄLLYS
1. Yleiskatsaus ja keskeinen ero
2. Mitä on hävitettävä ()
3. Mikä on viimeistelty ()
4. Samankaltaisuuksia hävittämisen () ja viimeistelyn () välillä
5. Rinnakkain vertailu - hävittää () vs viimeistellä () taulukkomuodossa
6. Yhteenveto
Mikä on hävitä ()?
Yksi. NET-kehyksen tärkeimmistä eduista on, että se tarjoaa automaattisen roskien keräyksen. Se vapauttaa automaattisesti muistin kohteista, joita ei käytetä. Ohjelmointikielillä, kuten C ja C ++, ohjelmoijan on hoidettava muistinhallinta itse. Mutta sellaisilla kielillä kuin C #, joka on rakennettu. NET-kehykselle, tarjoaa roskakorin. Se auttaa hallitsemaan muistia. Sitä ei voida käyttää hallitsemattomien muistiresurssien vapauttamiseen. Hävitä () -menetelmää voidaan käyttää tämän tehtävän saavuttamiseen.
Dispose () -menetelmää voidaan käyttää resurssien, kuten tietokantayhteyksien, tiedostojen käsittelijöiden, vapauttamiseen. Tätä menetelmää ei kutsuta automaattisesti. Siksi ohjelmoijan tulisi toteuttaa tämä menetelmä. Heti kun tätä menetelmää käytetään, tietyn hallitsemattoman resurssin muisti vapautuu. Tämä menetelmä on ilmoitettu käyttöliittymässä IDisposeable.
Mikä on viimeisteltävä ()?
Jätteiden kerääjä kutsuu viimeistelymenetelmää vain, kun viittausta esineeseen ei käytetä enää. Tätä menetelmää kutsutaan juuri ennen kohteen tuhoamista. Tämä menetelmä toteutetaan destruktorin avulla. Viimeistelymenetelmä määritetään java.lang.object-luokassa. Tämä menetelmä julistetaan suojatuksi. Sitä ei julisteta julkiseksi, jotta vältetään muiden luokkien pääsy. Viimeistelymenetelmä voi kaiken kaikkiaan minimoida ohjelman suorituskyvyn, koska se ei vapauta muistia välittömästi.
Mikä on hävittämisen () ja viimeistelyn () välinen samankaltaisuus?
Sekä hävittämistä () että viimeistelyä () voidaan käyttää vapauttamaan hallitsematonta resurssia varten varattu muisti
Mikä ero on hävittämisen () ja viimeistelyn () välillä?
Erilainen artikkeli keskellä taulukkoa
hävitä () vs viimeistellä () |
|
Hävitä () on tapa sulkea tai vapauttaa hallitsemattomat resurssit, kuten objektin hallitsemat tiedostot, virrat. | Viimeistely on menetelmä puhdistustoimintojen suorittamiseksi nykyisen kohteen hallitsemille resursseille ennen kohteen tuhoutumista. |
Tavoite | |
Hävitysmenetelmää käytetään vapauttamaan hallitsemattomat resurssit, kun sitä kutsutaan. | Viimeistelymenetelmää käytetään vapauttamaan hallitsemattomat resurssit ennen kohteen tuhoutumista. |
Määritetty käyttöliittymä tai luokka | |
Hävitä () on määritetty käyttöliittymässä IDisposable. | Viimeistely () määritetään java.lang.object-luokassa. |
Menetelmän kutsuminen | |
Ohjelmoija käyttää hävittämismenetelmää. | Viimeistelymenetelmää käyttää roskien kerääjä. |
Access Specifier | |
Hävitysmenetelmä on julkinen. | Viimeistelymenetelmä on suojattu. |
Nopeus | |
Hävitysmenetelmää käytetään välittömästi. | Viimeistelymenetelmää käytetään hitaasti. |
Esitys | |
Hävittäminen ei vähennä ohjelman suorituskykyä. | Viimeistelymenetelmä saattaa minimoida ohjelman suorituskyvyn. |
Yhteenveto - hävitä () vs viimeistele ()
Tässä artikkelissa käsiteltiin eroa hävittää ja viimeistellä menetelmät C #. Ero hävittämisen () ja viimeistelyn () välillä on se, että ohjelmoijan on nimenomaisesti vedottava hävittämiseen (), kun jätteen kerääjä kehottaa lopettamaan () ennen kohteen tuhoamista.