Een hoop in Java is een algoritme ontwikkeld om JavaScript te reinigen met dynamisch toegewezen geheugen dat niet is gerelateerd aan vrije ruimte . Met andere woorden , het is als een self -collecting hoop huisvuil dat programmeurs van handmatig toewijzen van nutteloze bestanden bevrijdt . De heap eigenschap van Java is een belangrijk aspect van de programmering , en begrijpen is het cruciaal om efficiënt en succesvol programma schrijven . Over Hopen Een hoop verwijdert unreferenced informatie van een programma en slaat deze op in een tijdelijke binaire boom . Opgeslagen informatie is terug te vinden uit de binaire boom voor een beperkte tijd voordat het wordt geacht huisvuil . Als het eenmaal is geacht huisvuil , de heap recycleert het en wijst de nieuw beschikbare ruimte op waar het nodig is in het programma . Handmatig bepalen unreferenced informatie is uitdagend en tijdrovend . Het algoritme gebruikt een hoop Hiervoor vereenvoudigen en het vrijmaken van een programmeur zijn energie besteden aan belangrijker programma betreft . Dit maakt niet alleen de handeling van het programmeren efficiënter , maar het maakt het programma zelf efficiënter , als goed. Heap Fragmentatie Hopen direct bestrijdt heap fragmentatie . Heap fragmentatie komt van nature voor als een programma draait zijn loop . Het treedt op wanneer verwezen en unreferenced informatie mix samen , waarin een rommel van ongeorganiseerde live- geheugen creëert - ruimte bezet door verwezen informatie - en dode geheugenruimte of ruimte bezet door unreferenced informatie . Wanneer deze twee soorten ruimte mix samen geëvenaard , een programma heeft om te verwerken door middel van beide , aanzienlijk te verminderen programma efficiency . Een hoop organiseert de levende en de dode ruimte in een eenvoudige opeenvolging aan het maximaliseren van de efficiëntie van programma . Met andere woorden , een hoop is verantwoordelijk voor het defragmenteren van een uitvoerbare programma 's en niet-uitvoerbare informatie . Voordelen Het grootste voordeel te hoop is dat het bevrijdt een programmeur tijd en voorkomt fouten . Programmeurs kunnen gemakkelijk door te brengen dagen , zelfs weken , jagen zonder referentie informatie naar een programma geheugen problemen op te lossen , want het vereist handmatig gaan door de gehele lijn van code om de fouten te vinden . Als een programmeur verwijdert het verkeerde stukje informatie van een programma , kan het veroorzaakt onverwachte en schadelijke fouten . Een hoop zelden of nooit , maakt een fout , en als dat zo is , is het gemakkelijk te vinden in de tijdelijke binaire boom . Nadelen Het voornaamste nadeel van een hoop is dat het waarschijnlijk meer van de rekenkracht die nodig is om het programma uit te voeren nemen . Met andere woorden , wordt hierdoor een overhead functie die de prestaties van een programma kunnen beïnvloeden . Dit komt omdat een hoop te houden van referentie informatie te bewaren terwijl het jacht unreferenced bestanden tijdens de activering van het programma on the fly te verwijderen . Het duurt rekenkracht en tijd om deze functie uit te voeren . Echter , als vuilnis algoritmes te verbeteren en efficiënter te maken, wordt dit nadeel langzaam afneemt , beweert Bill Venners , schrijver voor Java- wereld .
|