-Xmx用于指定JVM堆内存最大可用空间,格式为-Xmx数字单位(如m、g),须置于java命令后、主类或JAR前,且不可超过系统可用内存,否则启动失败。

直接在启动 Java 程序的命令中加上 -Xmx 参数即可,它用来指定 JVM 堆内存的最大可用空间。
基本写法和单位
-Xmx 后必须紧跟一个数字和单位,常见单位有:
-
m 或 M:兆字节(MB),例如
-Xmx512m表示最大堆为 512 MB -
g 或 G:吉字节(GB),例如
-Xmx2g表示最大堆为 2 GB - 不带单位默认是字节,极少使用;建议始终显式写单位
放在命令中的位置
该参数需写在 java 命令后、主类名或 JAR 文件路径前,例如:
- 运行 class 文件:
java -Xmx1024m HelloWorld - 运行 JAR 包:
java -Xmx2g -jar myapp.jar - 配合其他 JVM 参数(如初始堆):
java -Xms256m -Xmx2048m MyApp
注意事项
数值不能超过当前系统可用物理内存或受限于操作系统位数(如 32 位 JVM 通常无法设置超过约 1.5–3 GB 的堆);超出会导致启动失败并提示 Could not create Java virtual machine 或类似错误。
若同时设置了 -Xms(初始堆大小),建议 -Xms ≤ -Xmx,避免运行时频繁扩容影响性能。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











