目录

理论知识:

1、默认堆空间大小是根据物理机内存大小决定的。

2、以上只是“理论值”,“实际值”会比“理论值”小一些。

堆空间大小设置(多图):

验证生效与否:

其他相关文章推荐:


理论知识:

1、默认堆空间大小是根据物理机内存大小决定的。

假设物理机是 16G 内存,那么虚拟机的默认堆空间大小如下:

最小值:16 / 64 = 0.25G * 1024 = 256 m

最大值:16 / 4 = 4G

2、以上只是“理论值”,“实际值”会比“理论值”小一些。

堆空间大小设置(多图):

如图:【Services】>【****SpringbootApplication】>【鼠标右键】>【Edit Configuration… Or 快捷键Shift+F4

鼠标单击Environment】Or 快捷键Alt+M

VM options:】>

-Xms128m -Xmx256m

有人建议两个值相等,我倒是觉得没什么,这个看你个人喜好

验证生效与否:

System.out.println("-------------======= 华丽的分割线 =========----------");//返回Java虚拟机中的堆内存总量long xmsMemory = Runtime.getRuntime().totalMemory() / 1024 / 1024;//返回Java虚拟机中使用的最大堆内存long xmxMemory = Runtime.getRuntime().maxMemory() / 1024 / 1024;System.out.println("-Xms:" + xmsMemory + "M");System.out.println("-Xmx:" + xmxMemory + "M");//System.out.println("系统内存大小为:" + xmsMemory * 64.0 / 1024 + "G");//System.out.println("系统内存大小为:" + xmxMemory * 4.0 / 1024 + "G");//在使用 -Xms500m -Xmx500m -XX:+PrintGCDetails需要把等待时间代码注释掉//try {//Thread.sleep(1000000);//} catch (InterruptedException e) {//e.printStackTrace();//}

代码贴哪里看你喜好,我这里直接贴在启动类了

看效果

其他相关文章推荐:

1、Java — 堆空间大小设置与OutOfMemoryError(OOM)_鸭鸭老板的博客-CSDN博客_java设置堆内存大小

2、IntelliJ IDEA 2020.3.1 配置虚拟机参数信息_闲言博客的博客-CSDN博客_idea虚拟机配置

3、虚拟机参数配置 – zhouwen周文 – 博客园 (cnblogs.com)