1 밀리 노드에 가까운 그래프가 있습니다.이 그래프에는 강하게 연결된 구성 요소가 계산됩니다. 나는 1만2백40메가바이트에 VM의 힙 크기를 증가,하지만 여전히이 예외를 던지고있다 :대형 그래프에서 Java 스택 오버 플로우 계산 SCC
Error: 875714
Exception in thread "main" java.lang.StackOverflowError
at java.util.Stack.push(Stack.java:67)
나는 코드가 문제지만, 크기가 아니라는 것을 절대적으로 확신합니다. 그 밖의 무엇을 할 수 있습니까?
업데이트 : StackOverflowError는 6 초 후에 VM을 설정 한 힙 크기에 관계없이 throw됩니다. 내가 StackOverflow.com에 StackOverflowError가를 해결할 수없는 경우
, 내가 StackOverflowError
이 java.util.Stack
와는 아무 상관이 없다는 것을 명심)
더 많은 코드가 필요합니다. 재귀 호출을 사용하는 경우 일반 루프를 사용하도록 코드를 변경해야 할 수 있습니다. –
글쎄, 처음부터 스택 크기를 늘리지 않는 이유는 무엇입니까? 구글 그것. –
스택 스택 메모리가 힙의 일부가 아니기 때문에 힙 크기는 StackOverflowErrors에 영향을 줄 수 없습니다. 스레드 스택 크기를 늘릴 수는 있지만 다른 JVM 옵션입니다. -Xss는 믿습니다. –