java.util.ArrayList引发IndexOutOfBounds异常
我今天发现了以下线索:java.util.ArrayList引发IndexOutOfBounds异常,java,heap-memory,heap-corruption,Java,Heap Memory,Heap Corruption,我今天发现了以下线索: 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(QueryExecut
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库的内部,所以内存非常低的系统有可能触发它吗
我的代码中似乎没有问题,或者跟踪也不会那么深入,对吧?ArrayList使用零基索引,索引2在长度为2的列表中无效(跟踪中给出的信息)。这可能是通过查询引擎传递的代码中的一个问题,直到它触发异常为止。我的代码中的某个地方是什么?您的假设是不正确的,这几乎可以肯定是您的代码的一个问题。很可能您在某种程度上滥用了SQL查询机制,可能是在处理完打开的查询后没有关闭它们。