I Java , när ett objekt skapas med hjälp av den "nya " operatör , är föremål ges en plats i programmets minne kallas Storleken på högen är begränsad " högen . " men , så en metod för att återanvända heap utrymme är required.Garbage kollektion är en process för att städa upp oanvända föremål , återvinna sin tilldelade minnet . När ett objekt är inte längre hänvisas till någonstans i programmet , kommer sophämtare automatiskt radera objektet , vilket frigör utrymme på högen som ska användas av andra objekt . Minne
Datorns minne är där data som används av programmet är lagrat . Delar av systemminne är tillordnade olika processer av datorns operativsystem. Tilldelningen av delar av minnet för processer eller föremål kallas " tilldelning ".
Korrekt fördelning och distribution av minne är mycket viktigt för funktionaliteten i datorn .
högen
När ett Java -program först körs , kommer den begära minnesutrymme från operativsystemet . En del av detta minne kommer att användas för programmets högen , det område där programmet kommer att lagra objekt som skapats med hjälp av " nya " operatör . Datorns minne
, och därmed programmets heap , är begränsad i rymden . Om programmet fortsätter att lägga till nya objekt till det utan att ta bort gamla och frigöra minnesutrymme , skulle högen snabbt fylla upp och orsaka ett fel . Processen att styra fördelningen och omfördelningen av minne kallas minneshantering .
Manuella Memory Management
Olika programmeringsspråk hantera förvaltningen heap minne på olika sätt . Vissa programmeringsspråk som C och C + + använder manuell minneshantering , kan tvinga programmerare att fri oanvänt minne själva .
Manuell minneshantering kan leda till fel såsom minnesläckor om programmet kodas felaktigt , och göra programmen mer . komplicerat att skriva
sophämtning
Programmeringsspråk med sophämtare - såsom Java - städa upp oanvända minne automatiskt , förebygga fel och minska komplikationer för programmeraren .
Javas sophämtare fungerar genom att övervaka vilka objekt fortfarande aktivt refereras . Om ett objekt är fortfarande refereras av programmet , är det " levande " och sophämtare ignorerar det . Om ett objekt är inte längre hänvisas till någonstans i programmet är det dock " död " och sophämtare kommer att frigöra dess minnesutrymme .