本帖最后由 boxiuzhen 于 2012-04-29 12:23:36 编辑

解决方案 »

  1.   

    应该是你关闭了两次资源的问题
    你在try里面关闭了
    rs.close();
    stmt.close();
     DBUtil.cdn_pool.BackConnection(conn);在finally中又关闭了
    finally中的代码是一定会执行的  所以可以把try里面的关闭给去掉 试一下  祝你成功
      

  2.   


    不是这样的,只要只finally里面关闭就行。
    你有没有想到这样一种情况:如果你的try块没出异常,那你的资源已经关闭了,但是finally是一定执行的,当执行finally试图关闭资源的时候,发现那些资源已经被关了,所以报异常。
      

  3.   


    sb.append(a1)........数据量太大的话,肯定就内存溢出了,大数据量要考虑分页,而不是一下子全部读出来
      

  4.   


    如4楼所说,请问你“rs = stmt.executeQuery("sql省略,涉及到隐私,肯定不是sql的问题");”究竟Selete出多少行数据?
      

  5.   

    select出来的数据,不到1MB
    另外finally里的关闭资源肯定没有问题,不要再讨论这个了
      

  6.   


    不管你信不信,把循环最后面那句 sb.append 去掉,相信就不会内存溢出。当然另外一招就是加大JVM的内存: -Xmx1024m
      

  7.   


    select出来的数据不到1MB,但是你后面不停的append是会占据不是少资源的。