我有一个 for 循环,它向 ArrayList 添加了 50,000 个对象,如下所示,因此执行时间更长。
public List<GoogleFeedEntry> getEntries(Iterator it) {
GoogleFeedUtil gfu = new GoogleFeedUtil(host, prefix, domain, serverName);
List<GoogleFeedEntry> entry = new ArrayList<GoogleFeedEntry>();
GoogleFeedEntry gfe;
GoogleFeedEntryShipping shipping;
while (it.hasNext()) {
gfe = new GoogleFeedEntry();
shipping = new GoogleFeedEntryShipping();
ProductBO product = (ProductBO) it.next();
entry.add(gfe);
}
return entry;
}
在此方法之后,我正在调用另一种方法,例如
public void doSomething(){
//some code here
}
我在另一个方法中调用这两种方法。如果我列出了有限数量的对象,那么它可以正常工作。如果有 50,000 个对象,它会抛出以下异常
java.sql.SQLException: Maximum open cursors exceeded ORA-01000
我觉得这与 oracle 无关(如果我是正确的)。当然,我正在从数据库中加载所有对象。
当我在第一种方法设置断点时,它工作正常。
如何在第一种方法执行之前停止第二种方法?
可能是什么原因?