Java memoriaOttieni l'utilizzo Runtime.getRuntime().totalMemory, freeMemory
Java Restituisce le informazioni "Totale", "Utilizzato" e "Massimo utilizzabile" sulla memoria della macchina virtuale.
La spiegazione di ciascuna voce è la seguente.
- totale...Runtime.getRuntime().totalMemory()Questa è la quantità di memoria allocata alla Java virtual machine.
- quantità da utilizzare...Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory()diventare,
Utilizzo della memoria degli oggetti attualmente allocati in memoria. - massimo utilizzabile...Runtime.getRuntime().maxMemory()è la quantità massima di memoria che Java Virtual Machine tenterà di utilizzare.
Se la quantità utilizzata si avvicina al totale e la memoria libera non può essere protetta nemmeno con la garbage collection, la Java virtual machine si espanderà fino alla capacità "massima disponibile".
programma di esempio
/** * Restituisce informazioni sulla memoria totale della Java virtual machine, sulla quantità utilizzata e * sulla quantità massima di memoria che tenta di utilizzare. * @return Informazioni sulla memoria della macchina virtuale Java */ public static String getMemoryInfo() { DecimalFormat f1 = new DecimalFormat("#,###KB"); DecimalFormat f2 = new DecimalFormat("##.#"); long free = Runtime.getRuntime ( ).freeMemory() / 1024; lungo totale = Runtime.getRuntime().totalMemory() / 1024; lungo massimo = Runtime.getRuntime().maxMemory() / 1024; lungo usato = totale - libero; doppio rapporto = ( usato * 100 / (doppio)totale); String info = "Informazioni sulla memoria Java: Totale = + f1.format(totale) + ", " + "Usato = + f1.format(usato) + " (" + f2.format( rapporto) + "%)," + "massimo disponibile="+f1.format(max); restituzione info; }
Risultato dell'esecuzione 1
◆Esempio di esecuzione
public static void main(String[] args) { System.out.println(getMemoryInfo()); }
◆Risultato dell'output
Informazioni sulla memoria Java: totale=1.984 KB, utilizzo=458 KB (23.1%), massimo utilizzabile=65.088 KB
Risultato dell'esecuzione 2
◆Esempio di esecuzione
Prova a modificare la dimensione dell'heap Java ed eseguilo.
Il valore della dimensione heap Java può essere specificato come opzione del comando Java.
-Dimensione heap iniziale di Xms
Specifica l'allocazione di memoria iniziale alla Java virtual machine. L'impostazione predefinita è 2 MB.
-Dimensione massima dell'heap Xmx
Specifica l'allocazione massima di memoria alla Java virtual machine. L'impostazione predefinita è 64 MB.
public static void main(String[] args) { System.out.println(getMemoryInfo()); }
◆Risultato dell'output
Informazioni sulla memoria Java: totale=65.088 KB, utilizzo=524 KB (0,8%), massimo utilizzabile=520.256 KB
"Total Runtime.getRuntime().totalMemory()" è-Xms, "Runtime.getRuntime().maxMemory() massimo disponibile" è-XmxÈ collegato a.