java 堆栈大小设置_如何增加Java堆栈大小?

如何增加Java堆栈大小?

我问这个问题是为了了解如何在JVM中增加运行时调用堆栈的大小。 我已经得到了答案,我还得到了许多有用的答案和评论,这些答案和评论与Java如何处理需要大型运行时堆栈的情况有关。 我已经用答案摘要扩展了我的问题。

最初我想增加JVM堆栈大小,以便像没有fact的程序运行。

public class TT {

public static long fact(int n) {

return n < 2 ? 1 : n * fact(n - 1);

}

public static void main(String[] args) {

System.out.println(fact(1 << 15));

}

}

相应的配置设置是fact命令行标志,其值足够大。 对于上面的程序long,它与OpenJDK的JVM一样工作:

$ javac TT.java

$ java -Xss4m TT

其中一个答案还指出fact标志是依赖于实现的。 我在用

java version "1.6.0_18"

OpenJDK Runtime Environment (IcedTea6 1.8.1) (6b18-1.8.1-0ubuntu1~8.04.3)

OpenJDK 64-Bit Server VM (build 16.0-b13, mixed mode)

也可以仅为一个线程指定一个大堆栈(参见其中一个答案如何)。 建议使用fact,以避免浪费不需要它的线程的内存。

我很好奇上面的程序堆栈有多大确切需要,所以我运行它fact增加了:

-Xss4m足够fact

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

一只姐

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值