Dimensione di heap massima in JVM

September 21

Java codice sorgente rappresenta un linguaggio di programmazione portatile e flessibile per le imprese, web, e lo sviluppo di applicazioni portatili. Questo vantaggio della portabilità viene in gran parte grazie alla Java Virtual Machine. Tuttavia, la JVM rappresenta anche uno strumento che i programmatori devono gestire e mantenere al fine di ottenere il massimo di applicazioni Java. In particolare, il consumo di memoria e l'allocazione di heap nella JVM sono dettagli che i programmatori farebbero bene a prendere in considerazione.

Java Virtual Machine

Tutto il codice Java viene eseguito sulla parte superiore della Java Virtual Machine. codice sorgente di Java viene prima compilato in Java "bytecode", che la JVM esegue traducendo il bytecode in comandi a lettura ottica. Per eseguire questo processo e consentire la portabilità Java gode, JVM deve imitare un sistema di computer, completo di strutture di memoria e dati, in modo che il codice sorgente può memorizzare e recuperare dati e comandi. Una di queste importanti strutture di dati è il mucchio.

La JVM Heap

Nella programmazione di computer, codice utilizza memoria attraverso due differenti strutture interne inerenti al sistema di calcolo. Il "stack" contiene tutto il codice per funzioni e comandi, nonché eventuali variabili locali dichiarate attualmente in esecuzione. Il "cumulo", invece, contiene dati a lungo termine che un programma può assegnare per dati come oggetti complessi. Dal momento che Java rappresenta un linguaggio di programmazione completamente orientato agli oggetti, il cumulo è essenziale. Tuttavia, dal momento che Java funziona su macchina virtuale, la macchina virtuale si deve contenere un mucchio. Attraverso di essa, i programmatori possono dichiarare e istanziare gli oggetti e le variabili statiche.

JVM Memoria e fisica

Tuttavia, la JVM è un pezzo di software, e come tale deve risiedere nella RAM fisica del computer host. In sostanza, il mucchio JVM risiede in una macchina virtuale, che si corre sulla memoria di una macchina e lo utilizza strutture dati della macchina (ad esempio la sua mucchio). Di conseguenza, il mucchio di JVM è limitata dai vincoli fisici del computer JVM risiede. Questo include contemporaneamente l'esecuzione di software e di sistema utilities. Pertanto, il cumulo JVM ha il vincolo aggiunta di aderire non solo alla memoria fisica, ma anche in competizione con l'utilizzo della memoria di altri programmi. Questo riguarda gli attributi mucchio di base, come la dimensione potenziale.

Dimensione heap JVM

Al fine di gestire dimensione heap, il programmatore può modificare gli attributi iniziali e massima dimensione heap dell'istanza esecuzione della JVM attraverso i "-Xms" e bandiere "-Xmx", rispettivamente. Quanto è grande il mucchio può crescere dipende dai vincoli del sistema operativo e dei programmi in esecuzione. Una regola generale è che dimensione heap deve essere sufficientemente grande per evitare lo scambio di dati dal mucchio sul disco rigido. E le dimensioni minime e massime non dovrebbero mai essere maggiore di memoria disponibile sul sistema host.