首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

rs会无限止增大内存?该如何处理

2012-02-24 
rs会无限止增大内存?while(true){strSql select*fromliandonglimit1 ResultSetrsdb.executeQuery(st

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(); 会不会降低效率?

热点排行