java中的集合类 比如:list. 有容量大小的限制么

leifeng20088 2007-12-11 08:28:56
我想使用list来进行并发操作,
但是又担心数据满的问题..不知道如何处理.


谢谢了....

...全文
10778 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
XT4625 2012-05-16
  • 打赏
  • 举报
回复
绝对是有限制的,因为写入集合,就好比写入内存,内存总有上限吧,我试过一次达50M左右就内存溢出的情况:当然上限大小这跟当前可分配内存大小有关,你可以尝试下用个循环往集合里面添加元素...
leifeng20088 2007-12-12
  • 打赏
  • 举报
回复
这里的"一些队列有大小限制" 是什么意思?
leifeng20088 2007-12-12
  • 打赏
  • 举报
回复

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。

oklinsong 2007-12-12
  • 打赏
  • 举报
回复
一般情况下,不会,除非数据太多,内存受不了.
qianwu1984 2007-12-12
  • 打赏
  • 举报
回复
只要JVM不当掉,一般超过2G必当
yanyu20000 2007-12-12
  • 打赏
  • 举报
回复
肯定不能放太多的
cracker234 2007-12-12
  • 打赏
  • 举报
回复
容器,至少你不能存放大于内存的2/3
迷眼流金 2007-12-12
  • 打赏
  • 举报
回复
int的上限
NULLJAVA 2007-12-12
  • 打赏
  • 举报
回复
没有,thinking in java中好象教我们不用管它会不会溢出...HOHO...
  • 打赏
  • 举报
回复
百万条,把内存开到300M,连100万个Integer都放不下的。
jy02209334 2007-12-12
  • 打赏
  • 举报
回复
虚拟机默认128的内存,如果你不放百万以上的记录,应该够用了
lhbyjx 2007-12-11
  • 打赏
  • 举报
回复
没有限制的 多看看书就知道了
rosky 2007-12-11
  • 打赏
  • 举报
回复
可以参考一下list中size方法的说明

size
int size()返回列表中的元素数。如果列表包含多于 Integer.MAX_VALUE 个元素,则返回 Integer.MAX_VALUE。

指定者:
接口 Collection<E> 中的 size
返回:
列表中的元素数。
leifeng20088 2007-12-11
  • 打赏
  • 举报
回复

不存在队列满的问题么?

如果在满的队列里再add对象的话,是否丢弃对象?
Jerry 2007-12-11
  • 打赏
  • 举报
回复
没有,应该和你的内存有关吧。集合就像是链表,只要还能开辟内存空间,就能保存起来。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧