首页 > 编程知识 正文

Linux设置线程堆栈大小失效(java打印线程堆栈)

时间:2023-05-05 06:00:31 阅读:76292 作者:597

如何增加Java堆栈大小?

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

首先,我想增加JVM堆栈的大小,使其像没有fact的程序一样运行。

公共类TT {

publicstaticlongfact(intn ) {

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

}

publicstaticvoidmain (字符串[ ] args ) {

系统. out.println (fact (115 );

}

}

对应的配置设置是fact命令行标志,其值足够大。 上面的程序long的工作方式与OpenJDK的JVM相同。

$ javac TT.java

$ java -Xss4m TT

答案之一还指出,fact标志依赖于实现。 正在使用

Java版本'1.6.0_ 18 '

(openjdkruntimeenvironment (iced tea 61.8.1 ) ) 6b 18-1.8.1-0 Ubuntu 1至8.04.3 ) ) ) ) ) ) )

open JDK 64-bitservervm (构建16.0-B13,混合模式) )。

也可以为每个线程指定一个大堆栈(请参阅其中一个答案)。 建议使用fact来避免浪费不必要线程的内存。

因为我很好奇上面的程序堆栈需要多准确,所以我运行了fact并添加了它:

-Xss4m就足够了fact

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。