
Quando si lavora con Java, normalmente con piccoli progetti, non c'è bisogno di preoccuparsi per la memoria che avete a disposizione o che si sta utilizzando. Ma arriva un momento in cui il progetto è tornato Vendita all'ingrosso e le esigenze di memoria dello stesso aumentare, e non di solito farlo lineare.
Qualunque cosa sia il progetto a cui si è, È sempre conveniente fare un buona gestione della memoria e, nella misura del possibile, eliminare i riferimenti Io non stiamo per essere utilizzato, permettendo che la collettore di immondizia rilasciare le risorse dello stesso.
Anche prendendo un buon controllo le diverse variabili e oggetti nel progetto, È bene sapere in che misura influiscono certe situazioni per il risorsa preziosa memoria. Per fare questo, Vi spiegheremo come si può vedere il memoria libera, usato, totale e massimo l'ambiente della Macchina virtuale Java Mentre il nostro codice viene eseguito.
Per fare questo, Ci accingiamo a fare uso della ambiente di esecuzione dell'applicazione, ottenere i dati ha cercato nello stesso. Vi mostriamo in seguito codice Per esempio:
1 2 3 4 5 6 7 8 9 10 11 | public static void main (String args[]){ int dataSize = 1024 * 1024; Runtime runtime = Runtime.getRuntime(); System.out.println ("Memoria máxima: " + runtime.maxMemory() / dataSize + "MB"); System.out.println ("Memoria total: " + runtime.totalMemory() / dataSize + "MB"); System.out.println ("Memoria libre: " + runtime.freeMemory() / dataSize + "MB"); System.out.println ("Memoria usada: " + (runtime.totalMemory() - runtime.freeMemory()) / dataSize + "MB"); } |
Come si può vedere nel codice, il primo che facciamo è noi creare una variabile tipo tutto con un valore di 1024 * 1024, o quello che è lo stesso, 1 MB. Come la memoria sta per venire byte, per la dividerlo da questa variabile il risultato Abbiamo verrà visualizzati in Megabyte.
Successivamente, Assegniamo alla variabile Runtime l'ambiente di esecuzione dell'applicazione corrente, per poi, Console di stampa dati appartenendo alla valori diversi di memoria ha voluto:
- runtime.maxMemory() – Ottiene la memoria massimo.
- runtime.totalMemory() – Ottiene la memoria totale.
- runtime.freeMemory() – Ottiene la memoria gratis.
Per ottenere il valore dei memoria attualmente usato semplicemente sottrarrà, alla memoria totale, la memoria gratis.
In questo modo, in qualsiasi momento nell'esecuzione dell'applicazione, Si può avere il record di esso quantità di memoria che in determinate circostanze può arrivare a consuma il tuo codice.
