为什么会出现 OutOfMemoryError? 怎么解决?
数据库是 Oracle,使用的是 Oracle 提供的 JDBC thin Driver,程序大致的流程是:
Connection conn = new Connection(url,user,password);
PrepareStatement pstmt=conn.prepareStatement(sql.toString(),
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=pstmt.executeQuery();
rs.absolute(begin); // begin 是传入的参数,表示从第几个记录开始读取,end 表
//示到第几个结束。用作分页用途
for (i=begin;i<=end;i++)
{
Object obj=rs.getObject(1);
。。。
if (!rs.next()) break;
}
如果一个表数据量较少(<250000),那么可以正常的读取,如果表的数据量较大
(例如100万),当要提取第800000-800009条记录时,过一段时间就会从后台出现
java.lang.OutOfMemoryError 这样的错误。请问各位高手有何良方可以避免此种情况
出现?
谢过!!!