Bootstrap

如何修改java中堆、栈空间的默认大小

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。

 

;