Hva er en Heap i Java?

En haug i Java er en algoritme laget for å rense Java med dynamisk allokert minne som ikke er referert til ledig plass. Med andre ord, det er som en selv samle søppelhaugen som frigjør programmerere fra tildeling unyttige filer manuelt. Haugen funksjon i Java er en viktig del av programmering, og forstå det er avgjørende for effektiv og vellykket program skriving.

om Heaps

En haug fjerner et program unreferenced informasjon og lagrer den i en midlertidig binært tre. Lagret informasjon kan hentes fra det binære treet for en begrenset tid før det er ansett som søppel. Når det er ansett som søppel, haugen resirkulerer det og tildeler den nylig ledig plass til der det trengs i programmet. Manuell bestemme unreferenced informasjon er utfordrende og tidkrevende. Algoritmen en haug bruker å gjøre dette, forenkle prosedyren og frigjøre en programmerer til å vie sin energi til mer viktige programmerings bekymringer. Dette gjør ikke bare det handler om programmering mer effektiv, men det gjør selve programmet mer effektiv, så vel.

heap Fragmentering

Masser direkte bekjemper haug fragmentering. Heap fragmentering oppstår naturlig som et program går sin gang. Det skjer når referert og unreferenced informasjon bland sammen, noe som skaper et rot av uorganiserte levende minne plass - plassen okkupert av refererte informasjon - og døde minneplass, eller plass okkupert av unreferenced informasjon. Når disse to typer plass blanding matchet sammen, har et program for å prosessere gjennom begge deler, noe som reduserer effektiviteten program. En haug organiserer live og død plass til en grei rekkefølge for å maksimere program effektivitet. Med andre ord, er en haug ansvarlig for defragmentering et program kjørbare og ikke-kjørbar informasjon.

Fordeler

Den største fordelen til heap er at det frigjør en programmerer tid og unngår feil. Programmerere kan lett tilbringe dager, uker, jage ned unreferenced informasjon til å fikse et program hukommelsesproblemer, fordi det krever manuelt gå gjennom hele linjen med kode for å finne feilene. Hvis en programmerer fjerner feil opplysning fra et program, kan det fører til uventede og uheldige feil. En haug sjelden, om noensinne, gjør en feil, og hvis den gjør det, er det lett å finne i den midlertidige binærtreet.

ulemper

Den primære ulempen med en haug er at det er sannsynlig å ta opp mer av prosessorkraften som kreves for å kjøre programmet. Med andre ord, gir dette en ekstra overhead funksjon som kan påvirke et program ytelse. Dette er fordi en haug må holde styr på refererte informasjon under jakt unreferenced filer for å fjerne på fly i løpet av programmets aktivering. Det tar prosessorkraft og tid til å utføre denne funksjonen. Men som søppel algoritmer bedre og bli mer effektiv, denne ulempen er langsomt avtagende, hevder Bill Venners, skribent for Java World.