我有一个网站,TOMCAT开始运行的时候还挺快的,可是操作一多起来,就回越来越慢,
最后像死了一样,根本就是无法取出数据,好象数据库的连接资源用完了,请高手指教
这是为什么?

解决方案 »

  1.   

    一般就这些原因
    1)数据库连接 增删改查 打开未关闭2)申请的全局对象 3)一直往session里面写数据 从来不销毁4)TOMCAT设置的缓存较小
      

  2.   

    一直往session里面写数据 从来不销毁 
    销毁的话,人家登入的岂不是被迫退出了呀,人家点了安全退出才销毁啊
      

  3.   

    我说的是把一些本来不需要往session的存进session
    本来存request里也可以 但....
    可能放隐藏域里也行........
      

  4.   

    我同意五楼的说法,
    资源没有释放,占有了太大的内存,
    记得还有dispone()方法啊!他也是释放资源的一种
      

  5.   

    是的,我TOMCAT中的内存只增不减,如何释放啊,JAVA不是垃圾自动回收的吗
    怎么会这样,再一个CONN在什么地方关闭是最好的?
      

  6.   

    是不是conn没有正常关闭啊  一般把conn声明在try之前,要在try--catch--后面的finally{}里用
    if(conn != null)conn.close();来关闭,这样即使出现异常,也会先执行finally里的conn.close()再执行异常操作,这样就可以保证conn的关闭了,并且所有需要关闭的对象遵循先打开后关闭的原则;
      

  7.   

    可能是楼主关闭连接对象的时候顺序有问题!
    像一般有 先关ResultSet 再关PreparedStatement 才关连接
    查看下细节,就行了
      

  8.   

    为什么?看看你是不是把 Connection, PreparedStatement, ResultSet 设成成员变量了,
    如果是的话请将它们改成局部变量。