呵呵,内存溢出,内存不够了呗。加大jvm的内存就可以了。struts+spring+tomcat,呵呵,楼主漏了一个最重要的,就是hibernate,因为内存不够主要就是这个东东引起的。因为hibernate会默认自动对对象进行缓存,把数据都装载内存里,所以内存当然就不够喽。
具体更改jvm内存方法,java -Xms8888k -Xmx8888k XXX类似,你可以用google搜索一下,然后加在tomcat/bin/catalina.bat里就行了。

解决方案 »

  1.   

    我已经设置为java --Xms100m -Xmx300m
    还是出现同样的问题
    hibernate有自动回收内存的功能吗?
    因为用的是hibernate,所以没有手动关闭连接,也没有手动清除没用的对象
      

  2.   

    如果你用spring+hibernate的话,不用考虑连接的问题,让spring帮你搞定。至于hibernate嘛,因为面向对象,所以用了很多collection之类的对象操作,而这种东西jvm不容易释放,何况hibernate还缓存了呢,实在不行的话你看看把缓存的功能去掉了吧,详细设置可以参考官方文档。另外,如果你的程序中大量用了many,one之间的映射也非常容易导致问题,你可以试着采用延迟加载lazy="true"来进行部分缓解。