jvm参数:年轻代

-Xms:设置初始化内存,默认为物理内存的“ 1/64 ”
-Xmx:设置最大内存,默认为物理内存的“ 1/4 ”
-Xmn:设置新生代(年轻代)的内存大小。
-XX:+PrintGCDetails:输出详细的GC处理日志
-XX:MaxTenuringThreshold:设置的年龄(新生代对象存活的次数)默认的年龄为15,达到15就将新生代对象晋升为养老代

代码

 public static void main(String[] args) {

        long maxMemory = Runtime.getRuntime().maxMemory();//java虚拟机使用的最大内存量
        long totalMemory = Runtime.getRuntime().totalMemory();//java虚拟机内存总量

        System.out.println("MAX_MEMORY = " + maxMemory + "(字节)、" + (maxMemory / (double) 1024 / 1024) + "MB");
        System.out.println("TOTAL_MEMORY = " + totalMemory + "(字节)、" + (totalMemory / (double) 1024 / 1024) + "MB");

    }

当然jvm使用的最大内存是跟你自己电脑的物理内存有关,比如我电脑内存为8G,那么jvm最大的使用内存为8G1/4约等于1797MB ,jvm的内存为8G1/64约等于123MB
这时候可能有人会说(8*1024)/4=2048呀,也不是1797呢? 这个也很好理解,举个例子:比如:500G的移动硬盘,插在电脑上也肯定不会有500G的,一般只有400多G,是有误差的,jvm同样也是。
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐