回来试验了一下,10几万而已就报出了OutOfMemory。怪啊,数据库中的记录如果比较多,一般怎么放?
1. 直接返回查询的记录集,是不是多少都可以?
2. ArrayList,好像没有大小限制?
3. Vector刚才看到了,有大小限制的。

解决方案 »

  1.   

    看了jdk中的vector.java源代码,数组实现的,应该没有限制阿。不得其解。 
      

  2.   

    顺便贴出其他2个相关问题:1. A multi-threaded java application, maybe be hang and do not 
    respond any request, what's the first thing do you think of? 2. A java application throws OutOfMemoryError after running for a 
    few days, what's the first thing do you think of?
      

  3.   

    "10几万而已就报出了OutOfMemory",这和你的JVM的内存大小配置有关, -Xms -Xmx我觉得Vector大小(理论上是Integer.MAX_VALUE), 但实际最大值是: HeapMaxSize/ObjectSize
    HeapMaxSize最大1.xG, ObjectSize至少4byte, 这样最多200M个左右
      

  4.   

    另外,数据库(不是MDB)是文件方式存的,不是存在内存中
      

  5.   

    1 可能是线程问题
    2 可能是内存泄漏或者heapsize太小
      

  6.   

    没有大小限制,你从数据库中取出来放到Vector中,实际上是放到内存中,所以是与你的内存大小有关的!!
      

  7.   

    理论上没有限制,但是内存有限制的呀,你的虚拟机发现内存不够的时候,就会报OutOfMemory了
    如果你数据库中几十万的记录的时候,你没有必要一下子取出来吧。只需要取出来一部分就可以
    ,所以容器一般来说,总是够用的。
      

  8.   

    zjueman(老学究) 说的很不错
      

  9.   

    这和你的JVM的内存大小配置有关, -Xms -Xmx
    你试着调高JAVA虚拟机的上限就不只装10万了
      

  10.   

    eform表单工具是一个在IE浏览器中可视化的设计软件界面的工具。无论是输入界面还是报表界面,无论是简单的输入查询还是复杂的逻辑处理。都可以由eform设计出来。 
     
         eform表单工具适用于网上OA系统的自定义表单模块,工作流系统的自定义表单模块,信息管理系统方面的软件开发项目等等。 
        webprint是一个基于表格的页面打印解决方案.先将要打印的数据及样式组织到一个HTML的TABLE元素中, 然后将这个TABLE元素传给webprint,实现分页打印预览,出打印对话框打印和直接打印。
      

  11.   

    1. A multi-threaded java application, maybe be hang and do not
    respond any request, what's the first thing do you think of?答案:deadlock2. A java application throws OutOfMemoryError after running for a
    few days, what's the first thing do you think of?答案:memory leak不过outofmemoryerror也跟你的服务器设置有关,我有次处理一个几十M的xml文件就outofmemoryerror了。
      

  12.   

    没有大小限制,但是10几万而已就报出了OutOfMemor",这和你的JVM的内存大小配置有关