如何修改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。

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值