我有一个接近1 mil的节点,我正在计算强连接组件。我增加了虚拟机的堆大小为10240 MB,但它仍然抛出这个异常:在大型图上计算SCC时的Java堆栈溢出
Error: 875714
Exception in thread "main" java.lang.StackOverflowError
at java.util.Stack.push(Stack.java:67)
我绝对相信该代码是不是问题,但大小。我还可以做些什么?
更新:不管我在6秒后设置vm的堆大小,都会抛出StackOverflowError。
如果我解决不了的StackOverflow.com的的StackOverflowError,我不知道还有什么地方转=)
你需要包含更多的代码。如果您使用递归调用,则可能需要更改代码以使用常规循环。 – 2012-04-17 16:22:48
那么,为什么不一开始就增加堆栈大小呢?去谷歌上查询。 – 2012-04-17 16:23:41
堆栈大小不能对StackOverflowErrors产生影响,因为线程堆栈内存不是堆的一部分。您可以增加线程堆栈大小,但这是一个不同的JVM选项,-Xss我相信。 – 2012-04-17 16:25:58