Errore Java heap in NetBeans e GlassFish

September 2

Errore Java heap in NetBeans e GlassFish


La maggior parte dei corsi di programmazione Java introduttivo non coprono l'heap Java. Dopo tutto, quando i compiti in classe sono solo poche righe di codice, che cosa è la necessità di discutere la gestione della memoria fisica? Il mucchio può, tuttavia, diventare un grande affare quando un grande progetto server GlassFish Java è improvvisamente dà errori mucchio di sviluppatori che utilizzano le NetBeans ambiente di sviluppo integrato (IDE). Questo problema è facilmente risolvibile programmazione più efficiente o impostazioni di configurazione che cambiano.

Il Mucchio Java

Quando un programma Java inizia la sua esecuzione, la JVM conferisce una certa quantità di memoria di sistema chiamato heap Java. L'esatto ammontare della memoria JVM assegnerà mucchio di un programma varia da versione a versione. Ogni volta che il programma crea una variabile o un oggetto istanza, i suoi dati vengono memorizzati all'interno di questo mucchio. sviluppatori Java possono personalizzare quanto grande di un mucchio JVM creerà per un programma quando comincia la sua esecuzione, ma un programma non possono creare un mucchio grande o più piccolo una volta che è in esecuzione.

errori heap

errori di heap si verificano quando un programma tenta di utilizzare più memoria di quanto sia nel suo mucchio. Se un mucchio è già pieno con dati variabili e degli oggetti, quindi il tentativo del programma per inizializzare un'altra variabile o istanziare un oggetto genera un errore di heap perché non c'è più spazio per esso. A differenza dei linguaggi più anziani che richiedono programmatori di decostruire i propri oggetti e variabili per liberare spazio nella memoria del programma, la JVM ha automatizzato di raccolta dei rifiuti: Quando un programma raggiunge un punto nella sua esecuzione in cui non può invocare una classe o una variabile di nuovo, la JVM cancellerà i dati alla sala chiaro per gli altri.

Errori GlassFish Heap

sistemi Web che utilizzano GlassFish sono di solito non le applicazioni stampino un utente scarica semplicemente li distribuisce sul suo server. Essi sono quasi sempre generati per una specifica applicazione che verrà eseguito su un server specifico. Di conseguenza, gli sviluppatori sanno esattamente quanta memoria il loro software avrà bisogno nel suo mucchio, ed essere certi che il server abbia sufficiente memoria fisica a generare un mucchio di quelle dimensioni. errori Heap da software GlassFish generalmente provengono da superare le dimensioni di un cumulo, o la richiesta più memoria nel mucchio che il server dispone di una memoria fisica per accogliere.

NetBeans IDE

Quando gli sviluppatori utilizzano il NetBeans IDE per codificare il loro software GlassFish, non c'è niente di speciale l'IDE che causa o evita gli errori di heap. Quando gli sviluppatori di implementare il loro pacchetto software su un server, dovranno impostare manualmente la dimensione heap con la JVM. Possono, tuttavia, regolare la dimensione del mucchio che il NetBeans IDE darà il software durante i test sulla macchina dello sviluppatore. I programmatori possono modificare questa impostazione nel file "netbeans.conf" all'interno del "NetBeans-home / etc" directory. Alterare il numero accanto a "J-Xmx" nella riga "netbeans_default_options =" ​​cambierà le NetBeans dimensione heap genera per il numero di megabyte programmatore specifica.