2014-03-30 97 views
0

我碰到下面的跟蹤走到今天:java.util.ArrayList中拋出IndexOutOfBounds異常

java.lang.IndexOutOfBoundsException: Index: 2, Size: 2 
    at java.util.ArrayList.rangeCheck(ArrayList.java:635) 
    at java.util.ArrayList.get(ArrayList.java:411) 
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1720) 
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273) 
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) 
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) 
    at [.. somewhere in my code] 

在此期間,系統非常繁忙,我想也緊張內存和我也遇到了一些堆耗盡錯誤(java.lang.OutOfMemoryError: Java heap space)。由於上述跟蹤來自system/PostgreSQL/Apache庫的內核,內存系統可能會觸發它嗎?

它看起來不像我的代碼中的問題或跟蹤不會很深,對吧?

+1

'我的代碼中的某處'是什麼?你的猜想是不正確的,這幾乎肯定是你的代碼的問題。 –

+0

很可能你會濫用SQL查詢機制,或許在完成這些查詢時不關閉打開的查詢。 –

回答

0

ArrayLists使用從零開始的索引,索引2在長度爲2的列表(跟蹤中給出的信息)中無效。代碼中可能存在一個問題,它通過查詢引擎傳遞,直到觸發異常爲止。