1、修改堆、栈空间大小的命令
在命令行中输入java -X可以得到设置java堆大小和栈大小的命令
2、修改java运行时的堆和栈空间
- 进入界面后 按Alt+V
3、检验堆空间修改
3.1 测试类
public class StackTest {
public static void main(String[] args) {
//返回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");
}
}
3.2 测试结果
- 修改前
本机的默认初始堆空间大小为123M,默认的最大堆空间为1799M
- 修改后
通过两次结果对比可以看出堆空间大小变化了;
4、检验栈空间修改
4.1测试类
public class StackSizeTest {
private static int count = 1;
public static void stack() {
System.out.println(count++);
stack();
}
public static void main(String[] args) {
StackSizeTest.stack();
}
}
4.2 测试结果
- 修改前
修改前递归次数达到了9864次,抛出了栈内存溢出的异常
- 修改后
修改后递归次数达到2317次就抛出了栈内存溢出的异常,说明栈空间大小被改变了,从验证结果也能大致估算出本机的默认栈空间大小大概为1M。