Innholdsfortegnelse:
Definisjon - Hva betyr Garbage Collector?
En søppeloppsamler er et programvare som utfører automatisk minnestyring. Jobben er å frigjøre ubrukt minne og sikre at ikke noe minne frigjøres mens det fremdeles er i bruk. Noen språk som Java og .NET språk har automatisk søppelinnsamling, mens andre som C / C ++ krever at programmereren manuelt administrerer minne.
Techopedia forklarer Garbage Collector
Søppelkolleksjonen ble først introdusert av Lisp-skaperen John McCarthy for å lette den manuelle minnestyringen når du jobber med Lisp-språket.
De tre hovedteknikkene som brukes av en søppelsamler for å utføre automatisk minnestyring, er som følger:
- Referansetelling - Henvisningen til hvert objekt telles ved hjelp av en tellervariabel. Når telleren når null, betegner den at objektet ikke lenger er nødvendig og dermed blir resirkulert.
- Merk og fei - En rekursiv gjennomgang av alle tilgjengelige objekter blir utført i alle dataregioner, og tilgjengelige objekter er merket. De umerkede objektene blir deretter resirkulert.
- Stopp og kopier - Minnebunken er delt inn i to seksjoner: en seksjon som inneholder objektene og en tom seksjon der objektene overføres (kopieres) hvis det er funnet å være merket. De umerkede objektene i den første delen gjenvinnes ved å tømme den.
Når en blokk med minne som er tilordnet en peker / objekt er frigjort, må pekeren / objektet tilbakestilles til en nullverdi; Ellers dingler den, dvs. peker på en ugyldig minneblokk.
Søppelinnsamling bidrar til å redusere feil og sikkerhetsrisiko forårsaket av dinglende pekere og problemer med minnelekkasje.
Ulempene med å bruke en søppelsamler inkluderer det ekstra overhead på ressurser og ytelse. Å drive en søppeloppsamler kan også bremse systemet og dermed redusere ytelsen.