gpt4 book ai didi

Java stackoverflowerror 使用的正确堆栈大小是多少?

转载 作者:行者123 更新时间:2023-12-02 13:16:21 36 4
gpt4 key购买 nike

我在运行递归程序时遇到了 Java StackOverFlowError。程序正确,需要实现递归。我尝试使用命令查找当前堆栈大小

    java -XX:+PrintFlagsFinal -version | grep ThreadStackSize

这就是我得到的:

 intx CompilerThreadStackSize                   = 0                                   {pd product}
intx ThreadStackSize = 1024 {pd product}
intx VMThreadStackSize = 1024 {pd product}

java版本“1.8.0_101”Java(TM) SE 运行时环境(版本 1.8.0_101-b13)Java HotSpot(TM) 64 位服务器 VM(内部版本 25.101-b13,混合模式)

这是什么意思?如何增加堆栈大小以及应该设置什么值?上述设置出现此错误正常吗?请帮忙。

最佳答案

这意味着堆栈大小为 1MB (1024KB)。您可以通过传递 -Xss<size> 来增加线程堆栈大小,例如将每个线程的堆栈大小设置为 32 MB:

java -Xss32m

通常 1MB 的堆栈大小就足够了。对于我从事的大多数项目,我很少需要更改堆栈大小。所以很可能你的代码并不像你想象的那样正确。

关于Java stackoverflowerror 使用的正确堆栈大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43752166/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com