我写了一段代码 基本上是对数据库的频繁操作 
开始时是以 main为入口点  程序运行了几个月都没有问题 每天的数据量都在近万条
现在我把它移植到 tomcat上 以listener 为启动点 但是我加入了几千条数据测试 发现tomcat的内存居高不下  而且只增不减 是不是tomcat存在着 内存回收的问题啊 

解决方案 »

  1.   

    贴点代码:
    public class SMSTimer
        extends TimerTask {
      private ISMSService smsService;
      private List list = null;
      private Iterator iterator = null;
      public void setSmsService(ISMSService smsService) {
        this.smsService = smsService;
      }  public ISMSService getSmsService() {
        return smsService;
      }  public void run() {
        list = this.getSmsService().findMOMsg(
            "from com.uni.sms.bean.MOMsg mo order by mo.MOID", 0, 20);
        if (list != null) {
          iterator = list.iterator();
          while (iterator.hasNext()) {
            MOMsg mo = (MOMsg) iterator.next();
            if (mo.getDestID().equals("1898") && mo.getContent().equals("8")) {
              System.out.println(mo.getSrcID() + ">>>>" + mo.getDestID());
            }
            this.getSmsService().deleteMOMsg(mo);
          }
        }
      }
    }
    我只是查到数据然后判断打印 删除 内存就居高不下  数据层是用的spring+hibernate 
      

  2.   

    我现在这个都是刚刚开始写 还没有过多的代码 只是写了对几个表的映射 和写了 几个DAO 再有就是上面的 TimerTask了  代码少的又少 而且都是用spring 处理的 不应该是代码的问题吧 会不会合web服务器有关系啊