2011/06/03 - [JAVA/Programing] - Exception java.lang.OutOfMemoryError: Java heap space 이 뜰때


java.lang.ArrayIndexOutOfBoundsException : 숫자

영어를 [대충]해석해보면
배열의 범위를 벗어났다 라는 의미입니다.

배열의 크기가 100인데
배열[100]을 했다거나
배열[-1]
등등 0~99 이외의 숫자가 배열 인덱스로 들어가면 발생하는 에러입니다.

변수로 배열에 접근할때 범위를 벗어나지 않았나 잘 확인해 봅시다.
참고로  : '숫자' 에서 '숫자'는 예외가 발생했을때 배열에서 사용된 인덱스 값입니다.

java.lang.IndexOutOfBoundsException
: Index: 100, Size: 0

위의 것과 비슷하면서 좀 다른건데요 이건 배열이 아니라 List 에서 발생하는 겁니다.
대충 봐도 알겠지만 Size는 0 인데 100번을 내놓으라고 하니 에러가 난겁니다.
어디서 잘못 계산된건지 찾아봅시다.

java.lang.NullPointerException
이것도 [대충] 해석해보면 널포인터 (해석이 아닌데?!)
라는 이야기입니다.
잘 이해가 안가나요?
먼저 null 이 뭔지 부터 알아야하는데. 쉽게 말해서 [냉무] 입니다.
너무 옜날 단어인가요..

null은 내용없음을 뜻하는 예약어 입니다.
Pointer 는 이미 알겠지만 무언가를 가르키는 놈입니다.

Null과 Pointer를 합쳐서 NullPointer[아무것도 안가르키는 포인터]입니다.
-벽에다 대고 소리치면 벽이 대답해주지 않아요..(옆집사람이 해줄수 있기도 합니다만. 그게 바로 이 에러..)

어떤 클레스를 의 레퍼런스 변수를 만들고 거기에 메모리 할당을 안해준 상태에서 사용을 했다는겁니다.
쉽게 상황 파악을 하는방법은 이 에러가 일어난 부분에서 사용되는 모든 변수를 사용되기 직전에 한번 출력해보는겁니다.
그러면 어떤놈이 null인지 알수있고 해결하는게 한결 수월하거든요

java.lang.ArithmeticException: / by zero
이것도 [대충] 해석해보면 산술예외 : 0으로 나누었음 입니다.
0으로 나누시면 아니됩니다

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

paint Methode  (0) 2011.07.13
Java SWING 종료하기  (0) 2011.06.29
Exception java.lang.OutOfMemoryError: Java heap space 이 뜰때  (0) 2011.06.03
Making Index  (0) 2011.05.03
Robot Class  (0) 2011.04.19
Posted by 동적할당
: