? En heap i Java är en algoritm för att rengöra JavaScript med dynamiskt allokerat minne som inte är refererade till ledigt utrymme . Med andra ord , det är som en egen insamling sophögen som befriar programmerare från fördela onödiga filer manuellt . Högen inslag i Java är en viktig aspekt av programmering , och förstå att det är viktigt att effektivt och framgångsrikt program skrift . Om Heaps
En heap avlägsnar ett programs markerat utan referens information och lagrar den i en temporär binärt träd . Lagrad information kan hämtas från den binära trädet under en begränsad tid innan det anses sopor . När det bedöms sopor , återvinner högen det och allokerar det nyligen fritt utrymme till där det behövs i programmet . Manuell bestämning markerat utan referens informationen är utmanande och tidskrävande . Algoritmen en heap använder för att göra detta , förenkla förfarandet och frigöra en programmerare för att ägna sin energi till viktigare programmering oro . Detta gör inte bara handlingen att programmera mer effektiva , men det gör själva programmet mer effektivt , liksom.
Heap Fragmentering
Högar direkt bekämpar hög fragmentering . Heap fragmentering förekommer naturligt som ett program har sin gång . Det inträffar när refereras och markerat utan referens informationen blanda ihop , vilket skapar en röran av oorganiserad levande minne - utrymme som refererade information - och döda minne eller utrymme som markerat utan referens information. När dessa två typer av rymden mix matchas ihop , har ett program för att bearbeta genom både , vilket avsevärt minskar programmets effektivitet . En heap organiserar levande och döda utrymmet i en enkel sekvens att maximera programmets effektivitet . Med andra ord , är en heap ansvarar för defragmentering ett program körbara och icke - körbar information.
Fördelar
Den största fördelen att högen är att den befriar en programmerare tid och undviker misstag . Programmerare kan lätt spendera dagar , tom veckor , jagar markerat utan referens uppgifter att fixa en programmets minnesproblem , eftersom det kräver manuellt gå igenom hela kodrad för att hitta felen . Om en programmerare tar bort fel bit av information från ett program , kan det orsakar oväntade och negativa fel . En heap sällan , om någonsin , gör ett fel , och om det gör , det är lätt att hitta i den temporära binära trädet . Den främsta nackdelen med en heap
Nackdelar
är att det är sannolikt att ta upp mer av processorkraft som krävs för att köra programmet . Med andra ord , lägger detta en extra overhead funktion som kan påverka en programmets prestanda . Detta beror på en hög har att hålla reda på refererade information medan jakt utan referens filer för att ta bort i farten under programmets aktivering . Det tar bearbetningskraft och tid för att utföra denna funktion. Men som sopor algoritmer förbättras och bli mer effektiva , är denna nackdel sakta minskar, hävdar Bill Venners , författare för Java World .