I Java , når et objekt er opprettet ved hjelp av "nye " operator , er objektet gitt en plass i programmets minne kjent som Størrelsen på haugen er begrenset " heap ". men så en metode for gjenbruk haug plass er required.Garbage samlingen er en prosess med å rydde opp ubrukte gjenstander , gjenerobring sin tildelte minnet . Når et objekt er ikke lenger refereres til hvor som helst i programmet, vil garbage collector automatisk slette objektet , frigjør plass på haugen for å bli brukt av andre objekter. Minne
datamaskinens minne er der data som er i bruk av programmet er lagret . Deler av systemminnet er tildelt ulike prosesser av datamaskinens operativsystem. Overdragelse av deler av minnet til prosesser eller gjenstander er kjent som " tildeling. "
Riktig tildeling og fordeling av minne er svært viktig for funksjonaliteten til datamaskinen .
The Heap
Når et Java -program er først utføres , vil det kreve noen plass i minnet fra operativsystemet . Noe av dette minnet vil bli brukt til programmets heap , området der programmet lagrer objekter som er opprettet ved hjelp av den "nye" operatør.
Datamaskinens minne , og derfor programmets heap , er begrenset i verdensrommet . Hvis programmet fortsatt å legge til nye objekter til det uten å slette gamle og frigjøre plass i minnet , vil haugen raskt fylle opp og forårsake en feil . Prosessen med å kontrollere tildeling og omfordeling av minnet kalles minnehåndtering .
Manuelle minnehåndtering
Forskjellige programmeringsspråk håndterer heap minnehåndtering på forskjellige måter. Noen programmeringsspråk som C og C + + bruker manuell minnehåndtering , kan tvinge programmerere til fri ubrukt minne seg selv .
Manuell minnehåndtering kan føre til feil som minnelekkasjer hvis programmet er kodet feil , og gjøre programmene mer . komplisert å skrive
søppelrydding
Programmeringsspråk med søppel samlere - for eksempel Java - rydde opp ubrukt minne automatisk for å unngå feil og redusere komplikasjoner for programmerer .
Javas garbage collector fungerer ved å overvåke hvilke objekter er fortsatt aktivt referert. Hvis et objekt er fremdeles referert til av programmet , er det "levende" og søppel samler ignorerer det . Hvis et objekt er ikke lenger refereres hvor som helst i programmet er det imidlertid " død" og garbage collector vil frigjøre sin plass i minnet.