我有一個接近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