? Un mucchio in Java è un algoritmo progettato per pulire JavaScript con memoria allocata dinamicamente che non è fatto riferimento allo spazio libero . In altre parole , è come un mucchio di spazzatura auto- raccolta che libera i programmatori di allocazione file inutili manualmente . La funzione di heap di Java è un aspetto importante della programmazione , e la comprensione è fondamentale per la scrittura del programma efficace e di successo . Chi Cumuli
Un mucchio rimuove le informazioni senza riferimenti di un programma e lo memorizza in un albero binario temporaneo . Informazioni memorizzate sono estrapolabili dal albero binario per un tempo limitato prima che sia considerato spazzatura . Una volta che è considerato spazzatura , l'heap ricicla e attribuisce il nuovo spazio libero per dove è necessario nel programma. Manuale di determinare informazioni non referenziate è impegnativo e richiede tempo . L'algoritmo utilizza un mucchio per fare questo , semplificando la procedura e liberando un programmatore di dedicare le sue energie per altre importanti preoccupazioni di programmazione . Questo non solo rende l'atto di programmazione più efficiente, ma rende il programma stesso più efficiente , così .
Frammentazione dell'heap
Cumuli direttamente combatte mucchio di frammentazione . Mucchio frammentazione si verifica naturalmente come un programma viene eseguito il suo corso . Essa si verifica quando si fa riferimento e non referenziata mix informazioni insieme , che crea un ingombro di spazio di memoria non organizzata live - spazio occupato dai dati di riferimento - e lo spazio di memoria morta , o lo spazio occupato dai dati senza riferimenti . Quando questi due tipi di mix di spazio abbinati insieme , un programma deve elaborare attraverso entrambi , riducendo in modo significativo l'efficienza del programma. Un mucchio organizza lo spazio vivo e morto in una sequenza semplice per massimizzare l'efficienza del programma. In altre parole , un mucchio è responsabile per la deframmentazione eseguibile del programma e le informazioni non eseguibile .
Vantaggi
Il più grande vantaggio di heap è che libera tempo e di un programmatore evita errori. I programmatori possono facilmente passare giorni , anche settimane , inseguendo informazioni non referenziate per risolvere i problemi di memoria di un programma , perché richiede di andare manualmente attraverso l'intera riga di codice per trovare gli errori . Se un programmatore rimuove il pezzo sbagliato di informazioni da un programma, può provoca errori imprevisti e dannosi . Un mucchio di rado , se non mai , fa un errore , e se lo fa , è facilmente reperibile in albero binario temporaneo .
Svantaggi
Lo svantaggio principale di un heap è che è probabile che a prendere più la potenza di elaborazione necessaria per eseguire il programma . In altre parole , questo aggiunge una funzione di sovraccarico aggiuntivo che può influire sulle prestazioni di un programma. Questo perché un cumulo deve tenere traccia delle informazioni di riferimento , mentre la caccia file senza riferimenti per rimuovere al volo durante l'attivazione del programma. Prende potenza di elaborazione e il tempo per eseguire questa funzione . Tuttavia, come algoritmi di garbage migliorare e diventare più efficiente, questo svantaggio sta lentamente diminuendo , sostiene Bill Venners , scrittore per Java Mondiale .