我今天看到了以下内容:
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
)。由于上述跟踪来自系统/ PostgreSQL / Apache库的内容,因此内存非常低的系统可能会触发它吗?
在我的代码中看起来不是问题,或者跟踪不会那么深,对吗?
答案 0 :(得分:0)
ArrayLists使用从零开始的索引,索引2在长度为2的列表中无效(跟踪中给出的信息)。它可能是您的代码中的一个问题,它通过查询引擎传递,直到它触发异常。