【发布时间】:2012-04-29 00:24:41
【问题描述】:
我有一个包含近 1 百万个节点的图,我在其上计算强连通分量。我已将 vm 的堆大小增加到 10240 mb,但它仍然抛出此异常:
Error: 875714
Exception in thread "main" java.lang.StackOverflowError
at java.util.Stack.push(Stack.java:67)
我绝对确定问题不是代码,而是大小。我还能做什么?
更新:无论我设置 vm 的堆大小如何,都会在 6 秒后引发 StackOverflowError。
如果我无法解决 StackOverflow.com 上的 StackOverflowError,我不知道还能去哪里 =)
【问题讨论】:
-
您需要包含更多代码。如果您使用递归调用,您可能需要更改代码以使用常规循环。
-
好吧,你为什么不首先增加堆栈大小呢?谷歌一下。
-
堆大小不会影响 StackOverflowErrors,因为线程堆栈内存不是堆的一部分。您可以增加线程堆栈大小,但这是一个不同的 JVM 选项,我相信 -Xss。
标签: java graph stack stack-overflow