为什么总是报OutOfMemoryError?

pro4j 2004-12-14 02:31:24
一个网站运行一段时间以后,大概一个星期左右,就会出现以下这个异常,继续运行1到2天,报该异常的频率会越来越高,最后整个tomcat 就挂住了,动态页面 都不能访问了,请高手指点是什么原因?
Caught exception (java.lang.OutOfMemoryError) executing org.apache.jk.common.SocketConnection@1dd680a, terminating thread
...全文
181 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lige528 2004-12-15
  • 打赏
  • 举报
回复
没有问题,方法一和二是一样的,如果出现一和二不同的话,极有可能是tomcat缓存在作怪,清空一下重试吧

pro4j 2004-12-14
  • 打赏
  • 举报
回复
忘了说了,上面的方法是被同一个类中的另一个方法调用的
pro4j 2004-12-14
  • 打赏
  • 举报
回复
再问一个问题
ResultSet rs = stmt1.executeQuery(sql);
rs.close();


ResultSet rs = null;
rs = stmt1.executeQuery(sql);
rs.close();
有什么不同吗??
下午我做测试的时候发现,用第一种方法的时候,连接池很快就满了,一会就挂
而换成方法二的话就不会,请问,这有什么区别吗?
pro4j 2004-12-14
  • 打赏
  • 举报
回复
我释放资源了啊,所有的ResultSet Connection Stmtment 都关闭了啊
skylan 2004-12-14
  • 打赏
  • 举报
回复
同意,释放内存!
zj_ok 2004-12-14
  • 打赏
  • 举报
回复
写程序的时候一定要注意及时释放资源:内存、socket、数据库连接、线程等
tom2005 2004-12-14
  • 打赏
  • 举报
回复
机器的可用内存太少,
申请的实例太多,而没有及时释放
EverythingMaster 2004-12-14
  • 打赏
  • 举报
回复
同意上面几位的!
资源没有释放。
MYLiao 2004-12-14
  • 打赏
  • 举报
回复
很显然,你的数据库连接资源没有释放,导致益出。
tonee 2004-12-14
  • 打赏
  • 举报
回复
查一下你的连接数据库最后有没有关掉
例如:
finally
{
if(dbrecoreset != null)
dbrecoreset.close();
}
j2nix 2004-12-14
  • 打赏
  • 举报
回复
资源没有释放。

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧