内存溢出 检索5万条记录 在java中导入list后内存溢出
mysql检索5万条记录后,
在java中从java.sql.resultset中把结果导入list内存溢出
使用的是默认的64兆虚拟内存。
把内存使用调到128之后当然没有问题,15万条都可以了。
估计应该是list放的内容太多,再加上resultset中的大量数据消耗了内存。
程序大概:
list<xx> 主函数 ()
{
list<xx> result = new arraylist<xx>(); //xx 自定义数据类型
java.sql.resultset resultset = 检索数据库的结果,已经取出大量数据;
while(resultset.next())
{
result.add(getOneRecord(resultset));
// ++++++
}
return result ;
}
xx getOneRecord(Resultset resultset )
{
xx one = new xx();//xx 自定义数据类型
one.setNo(resultset.get("No"));
one.setName(resultset.get("Name"));
one.setAdress(resultset.get("Adress"));
...//属性挺多
one.setInfo(resultset.get("Info"));
return one;
}
但是我想知道能否在 // ++++++ 处,添加对Resultset的处理,即取出一条数据后就删除掉以便节省资源?
搜索了帮助文档没有结果。。。。。汗
请帅哥们帮忙想一下。。。。。