2011/06/13 - [JAVA/Programing] - 자주보는 Execption 들

참조
2011/12/06 - [Programming/Effective Java] - 항목 6. 쓸모 없는 객체 참조를 제거하자.



영어를 해석하면 알겠지만 그냥 메모리가 모자랍니다.

근데 내 메모리는 8기가나 되는데 모자라??

정확히 말하자면 Java heap space 라는게 문제다.

JRE에서 사용할수 있는 heap 공간의 최대값보다 많은 메모리를 요구한다는거다.

이때 jvmarg에서 -Xmx숫자m 을 해주면 숫자만큼 메모리 할당이 가능하다.

이클립스의 경우에는 이렇게 하면된다.




두번째에 XX:+UseParallelGC 는 JRE의 GC(쓰레기청소) 를 병렬로 처리한다는데 그냥 뭔진 모르겠고 좋아보여서 적어놨다

테스트 해본결과 windows x86 용 jre 는 최대 메모리할당이 1400MB정도 까지 가능한것 같다.

근데 1.3GB가량의 메모리로도 모자라는 경우가 발생한다. 이때는 어떻게 하느냐?

x64용 JRE를 설치하면된다.

터미널에서 작업할때는

$ java -Xmx256m test

처럼 옵션을 주면 된다.

PS.
과제로 나온 MST 를 하는데 점이 N개일때 에지가 N*(N-1)/2 만큼 나오다보니 점이 2만개일때 에지의 개수가 2억개쯤 나온다.

저걸 다 메모리에 할당하면 어마어마 합니다 'ㅅ'...

저걸 할당 안하고 처리하는 알고리즘을 만들어서 과제로 제출할예정

메모리 4GB 주고 2만개 처리하는데 메모리 할당된걸 보니까 2.5기가 정도 처먹더라 처리 시간은 77초..

'Programming > Java' 카테고리의 다른 글

Java SWING 종료하기  (0) 2011.06.29
자주보는 Execption 들  (0) 2011.06.13
Making Index  (0) 2011.05.03
Robot Class  (0) 2011.04.19
java로 만들었던 원카드  (0) 2011.04.16
Posted by 동적할당
: