我想使用list来进行并发操作,
但是又担心数据满的问题..不知道如何处理.
谢谢了....

解决方案 »

  1.   


    不存在队列满的问题么?如果在满的队列里再add对象的话,是否丢弃对象?
      

  2.   

    可以参考一下list中size方法的说明size
    int size()返回列表中的元素数。如果列表包含多于 Integer.MAX_VALUE 个元素,则返回 Integer.MAX_VALUE。 指定者:
    接口 Collection<E> 中的 size
    返回:
    列表中的元素数。
      

  3.   

    没有,thinking in java中好象教我们不用管它会不会溢出...HOHO...
      

  4.   

    只要JVM不当掉,一般超过2G必当
      

  5.   


    http://www.ibm.com/developerworks/cn/java/j-tiger06164/index.html在<<驯服 Tiger: 并发集合>>一文中  ,主要介绍了"jdk1.5 Tiger 版本的 java.util.concurrent 包".
    看到了这几句话:
    基本上,一个队列就是一个先入先出(FIFO)的数据结构。一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。 remove() 和 poll() 方法都是从队列中删除第一个元素(head)。 remove() 的行为与 Collection 接口的版本相似,但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。后两个方法 element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null。
      

  6.   

    百万条,把内存开到300M,连100万个Integer都放不下的。