小编Xia*_* Yu的帖子

java.lang.OutOfMemoryError:执行数百万次查询时出现Java堆空间错误

在我的应用程序中,我需要对MySQL数据库执行数百万次查询.代码如下:

for (int i=0; i< num_rows ; i++) {
   String query2="select id from mytable where x='"+ y.get(i) "'";              
   Statement stmt2 = Con0.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);     
   ResultSet rs2 = stmt2.executeQuery(query2);    
   ... // process result in rs2
   rs2.close(); 
}
Run Code Online (Sandbox Code Playgroud)

其中num_rows约为200万.在600k循环之后,java报告错误并退出:

java.lang.OutOfMemoryError:Java堆空间错误.

我的代码有什么问题?我该如何避免这样的错误?

提前致谢!

java out-of-memory

3
推荐指数
1
解决办法
3517
查看次数

标签 统计

java ×1

out-of-memory ×1