:주요 java.lang.OutOfMemoryError와 : Java 힙 공간 내 코드는 다음과 같은 일을하고있다
for(SomeObject so : someObjects)
{
Blah b = so;
NewObject n = dao.GetNO(b.23);
}
즉이 각 반복에 반복을 위해 내부에 새 변수를 만드는 것입니다.
메모리 부족 문제의 원인 일 수 있습니까? 넷빈즈에 의해보고
오류 :
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:133)
at java.lang.StringCoding.decode(StringCoding.java:173)
at java.lang.String.<init>(String.java:443)
at java.lang.String.<init>(String.java:515)
at com.gargoylesoftware.htmlunit.WebResponseImpl.getContentAsString(WebResponseImpl.java:215)
at com.gargoylesoftware.htmlunit.WebResponseImpl.getContentAsString(WebResponseImpl.java:205)
Upate 이것은 자바 콘솔 응용 프로그램이며, 전체 응용 프로그램은 기본적으로 forloop에서 실행됩니다.
이것은 이유 일 수 있지만 반드시 그럴 필요는 없습니다. 더 이상 필요하지 않은 모든 객체를 릴리스하십시오. 특히 더 이상 필요하지 않은 개체를 여기에 보관하면 모든 컬렉션 (지도, 목록 등)을 확인하십시오. –
힙 크기를 어떻게 설정합니까? –
오류가 발생한 곳에서 실제 코드를 조금 더 게시 할 수 있습니까? 주목해야 할 한 가지 :'com.gargoylesoftware.htmlunit.WebResponseImpl.getContentAsString()'의 반환 값은 꽤 큰 문자열 일 것 같다. – MatrixFrog