JVM通过java代码查看初始堆内存大小与最大堆内存大小

如下的jvm代码, 可以查看并打印初始化的堆内存大小和试图使用的最大堆内存大小

public class QueryJVM {
    public static void main(String[] args){
        //返回java虚拟机中的内存总量
        long totalMemory = Runtime.getRuntime().totalMemory();
        //返回java虚拟机试图使用的最大内存量
        long maxMemory = Runtime.getRuntime().maxMemory();
        System.out.println("Total_Memory(-Xms ) =  "+ totalMemory + " 字节  " + (totalMemory / (double)1024/1024)+"MB");
        System.out.println("Max_Memory(-Xmx ) =  "+ maxMemory + " 字节  " + (maxMemory / (double)1024/1024)+"MB");
    }
}

运行后打印的结果如下

Total_Memory(-Xms ) =  192937984 字节  184.0MB
Max_Memory(-Xmx ) =  2837446656 字节  2706.0MB

由于我的机器是12GB内存, 可以看到初始化堆内存为184M, 大约为机器内存大小的1/64 . 最大堆内存大小约为机器内存大小的1/4.

你可能感兴趣的:(面试相关,jvm)