2013-10-30 4 views
0

내 코드에서 java.lang.OutOfMemoryError: 자바 힙 공간 예외가 발생한다. 무한 루프에 빠지기 위해 print 문을 써 넣으려고했습니다. 나는 나의 마지막 루프가 변수를 설정할 때 무한 루프에 있다는 것을 알고있다. "i"count에 넣었다. 250000에 도달했을 때 얼마나 많은 반복을 내 프로그램을 멈추게 했는가. 왜 내가이 무한 루프에 갇혀 있고 어떻게 고칠 수 있습니까?잘 모르겠다.이 무한 루프에 걸려 들었다.

+0

를 정확히 당신이 난 그냥 루프 밖에 난을 선언 250000' – Prateek

+0

<루프의 마지막에 내가 넣어'확인되는 경우, 내가 잘 넘어 증가에 보관 250000하지만 숫자 12 번 영역에 도착하면 수동으로 프로그램을 중지했습니다. – user2811419

+1

그는 모든 것을 처리 할 때마다 '나는'인쇄를하고 있습니다. 그는'내가'250,000에 도착했을 때 그가 프로그램을 죽였다 고한다. 그러나 'i'의 출력과 증분은 네개의 중첩 된 루프에서 발생합니다. 각 루프가 23 회만 발생하면 250,000 개의 실제 속도가 빠릅니다 (23 * 23 * 23 * 23 = 279841). 그것이 틀렸다는 것을 어떻게 ** ** 알고 있습니까? – dcsohl

답변

1

나는 당신이 실제로 때문에 라인이이 세트에 orderSample 객체를 추가하고 즉시 동일한 세트의 모든 구성원을 확인 유지

temporaryOrderSampleSet.add(orderSample); 

의 무한 루프에 점점 생각합니다. 따라서 1부터 시작하여 1을 확인한 다음 2를 추가하고 1과 2를 확인한 다음 3을 추가 한 다음 1,2,3 등을 확인합니다.

+0

어떤 점에서 세트를 지우면 문제가 해결됩니까? – user2811419

+0

예, 필요한 경우. 이 기능이 원하는 내부 루프의 모든 단일 개체를 검사 할 수 있습니까? – wxkevin

+0

예 각 속성을 샘플 내에 넣으려고하고 다음에 순서로 속성을 포함하는 샘플을 넣으려고합니다. 그래서 첫 번째 속성을 첫 번째 샘플에 넣고 첫 번째 속성을 첫 번째 순서로, 두 번째 속성을 두 번째 속성으로 두 번째 순서로 들어가기 위해 두 번째 샘플로 들어갑니다. – user2811419

0

temporaryOrderSampleSet . 이게 맞습니까? 꽤 빨리 성장할 것입니다. (또한, 매우 일시적으로 소리를하지 않습니다.)

관련 문제