rs会无限止增大内存?
while(true)
{
strSql= "select * from liandong limit 1; ";
ResultSet rs=db.executeQuery(strSql);
}
我在线程中.加入了这样一个语句后,内存在不到半分钟时间内从28K升到了98K,直接溢出内存.请问怎么办.
------解决方案--------------------while(true)
{
strSql= "select * from liandong limit 1; ";
ResultSet rs=db.executeQuery(strSql);
}
没有上下文 看起来这像死循环吗?
------解决方案--------------------不清楚你要干嘛。
------解决方案--------------------貌似一个死循环
------解决方案--------------------死循环
java的内存释放没有那么快的。
------解决方案--------------------rs.close();
释放
------解决方案--------------------> > > rs会无限止增大内存?
一个rs不会,很多个说不好了
------解决方案--------------------“原来你跑这里来了”,哈哈,开个玩笑,看我的帖子:http://community.csdn.net/Expert/TopicView3.asp?id=5615537
就是这个原因!
------解决方案--------------------你这样做完全没有道理呀,而且应该每次执行完插入要注销 rs 的,你没有注销当然溢出了!
如果是插入语句到时有道理,不过可以通过 批处理 来解决,
------解决方案--------------------while(true){
strSql= "select * from liandong limit 1;
ResultSet rs=db.executeQuery(strSql);
..............
rs用完后要close(),由JVM处理,但处理时间不定,也有可能溢出。
}
顺便问以下System.gc(); 会不会降低效率?