我放的对象太多会出现内存溢出。。哪个容器容量比较大??

解决方案 »

  1.   

    内存溢出与Collection有关系??
      

  2.   

    对象太多?内存溢出?
    我觉得是你代码出问题了
    一般来说你可能在正常情况下,让JAVA内存溢出。
      

  3.   

    说错了 是1000万个对象。。java.lang.OutOfMemoryError: Java heap space 这个是错误,这个应该是内存溢出吧
      

  4.   

    你写个简单程序 看看往list中加1000万个对象会不会出错 
      

  5.   

    sizeint size()
    返回列表中的元素数。如果列表包含多于 Integer.MAX_VALUE 个元素,则返回 Integer.MAX_VALUE。
    指定者:
    接口 Collection<E> 中的 size
    返回:
    列表中的元素数。这个 MAX_VALUE 是 2147483647 
      

  6.   

    是配置JAVA虚拟机开辟的内存不够大.
      

  7.   

    public class Test {    public static void main(String[] args) {
            System.out.println(Runtime.getRuntime().freeMemory()/1000/1000 + "MB");
            System.out.println(Runtime.getRuntime().maxMemory()/1000/1000 + "MB");
            
        }}
    java   Test
    java -Xmx100m -Xms80m  Test
      

  8.   

    设置启动参数,跟Collection没有关系
      

  9.   

    理论情况下这种情况不会发生,但是实际操作起来可能就难免啦,不过概率应该说是很小的,因为java里面的垃圾回收机制会在内存吃紧的情况下进行自动回收,但是这个机制不受人为的控制,而且有些时候并不像你想象中的那么好使,所以个人认为要辩证的看待这个问题,只要能把问题解决掉就是好办法!
      

  10.   

    当然有限制,
    数量是Integer的最大值。这个值跟CPU和JVM的版本有关。
      

  11.   

    有大小限制的,但它自己会增加,不用你担心。java核心技术上有详细的讲解
      

  12.   

    当然有限制, 
    数量是Integer的最大值。 这个值跟CPU和JVM的版本有关。貌似java的整型是大小固定的吧。
      

  13.   

    创建那么多对象,肯定OutofMemory了,建议 设置参数-Xmx
    还有就是改变一下算法,尽量少在内存中放那么多的记录,这跟Collection没有关系
      

  14.   

    内存溢出和java语言没关系 只是jvm所能够使用的空间无法存储当前数据造成的 加大jvm内存 不过这么多对象都存到Collection里面。