我用ajax调用一个servlet输出信息列表,我快速的点下一条,有时会出现内存溢出的异常(java.lang.OutOfMemoryError: Java heap space),出现的机率很低。不知怎么回事。

解决方案 »

  1.   

    能吧程序代码片段发上来看看吗?否则没法指正啊------------------------------------------
    Welcome to opensource.com.cn
    site:http://www.opensource.com.cn/
    blog:http://hi.baidu.com/coffefoam
    ------------------------------------------
      

  2.   

    以下是servlet代码:public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       response.setContentType("text/html;charset=utf-8");
       request.setCharacterEncoding("utf-8");
       PrintWriter out = response.getWriter();
       DataManage manage = new DataManage();
       String method = request.getParameter("operation");
       if(method == null) return;
       if(method.equalsIgnoreCase("getValues")){ out.print(getValues(request,manage));}
       }
       
       private String getValues(HttpServletRequest request,DataManage manage){
       DataSourceInfo info      = new DataSourceInfo();
       getParams(request, info);
       return manage.getValues(info);
       }
       
       private void getParams(HttpServletRequest request, DataSourceInfo info) {
       HttpSession session = request.getSession();
       int operatorId = -1;
       if(session != null && session.getAttribute("operatorId") != null) operatorId=UtilTool.stringToInt((String)session.getAttribute("operatorId"));
       String dataManagerIndex  = request.getParameter("dataIndex");
       String fields      = request.getParameter("fields");
       
       info.setDataManagerIndex(dataManagerIndex);
       info.setFields(fields);
       }
      

  3.   

    取数据(manage.getValues(info); )用的是连接池,连接用完后都已经释放。