Koti kehitys Mikä on roskien keräys (gc)? - määritelmä techopediasta

Mikä on roskien keräys (gc)? - määritelmä techopediasta

Sisällysluettelo:

Anonim

Määritelmä - mitä roskien keruu (GC) tarkoittaa?

Roskakori (GC) on dynaaminen lähestymistapa automaattiseen muistin hallintaan ja kasanjakoon, joka prosessoi ja tunnistaa kuolleet muistilohkot ja kohdistaa varastoinnin uudelleen uudelleenkäyttöön. Roskakorin ensisijainen tarkoitus on vähentää muistivuotoja.

GC-toteutus vaatii kolme ensisijaista lähestymistapaa:

  • Merkintä ja pyyhkäisy - Kun muisti loppuu, GC etsii kaiken käytettävän muistin ja ottaa sitten käytettävissä olevan muistin uudelleen.
  • Viitelaskenta - allokoidut objektit sisältävät viitenumeron viitenumeron. Kun muistimäärä on nolla, esine on roskaa ja hävitetään sitten. Vapautunut muisti palaa muistikasoon.
  • Kopioi kokoelma - Muistiosioita on kaksi. Jos ensimmäinen osio on täynnä, GC etsii kaikki käytettävät tietorakenteet ja kopioi ne toiseen osioon, tiivistämällä muistin GC-prosessin jälkeen ja sallii jatkuvan vapaan muistin.

Jotkut ohjelmointikielet ja -alustat, joissa on sisäänrakennettu GC (esim. Java, Lisp, C # ja .Net), itsehallitsevat muistivuodot, mikä mahdollistaa tehokkaamman ohjelmoinnin.

Techopedia selittää Garbage Collection (GC)

Roskakorin dynaaminen lähestymistapa automaattiseen kasanjakoon korjaa yleisiä ja kalliita virheitä, jotka usein johtavat todellisen maailman virheisiin, kun niitä ei havaita.

Koska jakovirheitä on vaikea tunnistaa ja korjata, ne ovat kalliita. Siksi monet pitävät roskien keräämistä olennaisena kielen ominaisuutena, joka helpottaa ohjelmoijan työtä pienemmällä manuaalisella kasanjaon hallinnalla. GC ei kuitenkaan ole täydellinen, ja seuraavat haitat olisi otettava huomioon:

  • Muistia vapautettaessa GC kuluttaa laskentaresursseja.
  • GC-prosessi on arvaamaton, mikä johtaa hajautettuihin istuntoviiveisiin.
  • Kun käyttämättömiä kohdeviitteitä ei luovuteta manuaalisesti, GC aiheuttaa loogisia muistivuotoja.
  • GC ei aina tiedä, milloin prosessoidaan nykyaikaisten pöytätietokoneiden virtuaalimuistiympäristöissä.
  • GC-prosessi on huonosti vuorovaikutuksessa välimuistin ja virtuaalimuistijärjestelmien kanssa, mikä aiheuttaa suorituskyvyn viritysvaikeuksia.
Tämä määritelmä on kirjoitettu yleisen ohjelmoinnin yhteydessä
Mikä on roskien keräys (gc)? - määritelmä techopediasta