2 wuyunshagua wuyunshagua 于 2017.08.30 21:42 提问

java中集合类最多能存储多少

集合类读取数据库的内容,当数据库很大的时候会不会堆溢出 集合类存储的数据能和数据库比拟吗?集合存储的对象最大是多少?

4个回答

caozhy
caozhy   Ds   Rxr 2017.08.31 08:54

32位版本,可以存储大约21亿个对象。这是理论上限,如果你的内存不足,那么根据你内存大小而不同。数据库可以存比这个数量大多的数据,一般数据库动辄就是几十几百GB,甚至TB级别。但是很少有计算机内存有这么大的。

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2017.08.31 09:01

我曾经处理过解析IP和掩码位转换的IP地址范围存入集合中,当解析的IP地址总数过大的时候,JVM直接出现内存不足的情况了。
总的来说,集合还是不能无限存储的,太大就有问题了。而且一直存数据,会导致集合不断扩容,最终大致大量的GC的。

linqin107412
linqin107412   2017.08.31 10:25

用集合装的时候几十万或者几百万个对象的时候就有可能出现堆栈溢出,可以用一个分页去查下,循环一下

huang931027
huang931027   2017.08.31 11:18

我觉的这种只要你配置JVM参数都是可以想配多少就能配多少,你内存多大,他就最大可以存多大,你只能去谈论一下,他默认的,除此之外,谈论这个问题毫无意义

wuyunshagua
wuyunshagua 因为我想把数据库里的东西全读到集合,我在想如果数据库很大会不会出问题
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片