java.lang.Runtime类提供了查看当前JVM内存的使用情况。每个java实例(即虚拟机实例)只有一个Runtime的实例,通过Runtime.getRuntime()可以得到当前虚拟机中的Runtime实例对象。
Runtime提供3个方法可以获取当前JVM最大可以使用内存、当前JVM已拥有最大内存和剩余未使用内存。这3个内存指的都是JVM堆内存。
Runtime.maxMemory();
Runtime.totalMemory();
Runtime.freeMemory();
首先在JAVA的启动参数中加入指定-Xmx100m,设置JVM堆最大可以使用100m的内存。
Runtime run = Runtime.getRuntime();
long max = run.maxMemory();
long total = run.totalMemory();
long free = run.freeMemory();
long usable = max - total + free;
System.out.println("最大内存 = " + max);
System.out.println("已分配内存 = " + total);
System.out.println("已分配内存中的剩余空间 = " + free);
System.out.println("最大可用内存 = " + usable);
上面代码的输出结果如下(这些内存大小与运行环境相关)
最大内存 = 104071168
已分配内存 = 5177344
已分配内存中的剩余空间 &#