读书人

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

发布时间: 2012-02-24 16:30:38 作者: rapoo

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

读书人网 >J2SE开发

热点推荐