当前位置:首页 » 服务存储 » list存储上限
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

list存储上限

发布时间: 2022-11-12 07:37:25

‘壹’ java中list最多可以存储多少条数据40万可以吗

上面的很明显没有看懂题目
这是问list最多存储多少条数据,而不是存的每一条数据的大小

这应该是在于虚拟机内存的上限(我在刚刚成功存入了30000000+条后,内存不足了),究竟有没有上限我不敢确定

你可以使用以下代码进行尝试:
public static void main(String args[]){
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0;i<100000000;i++){
list.add(i);
if(i%10000000==0){
System.out.println("current i = "+i);
getFree();
}
}
System.out.println(list.get(99999999));
}

public static void getFree(){
System.out.println("free:"+Runtime.getRuntime().freeMemory());
System.out.println("max:"+Runtime.getRuntime().maxMemory());
System.out.println("total:"+Runtime.getRuntime().totalMemory()+"\n");
}

‘贰’ java中list最多可以存储多少条数据40万可以吗

从语言上来看,java.util.List只是接口,有N多实现,最常用的是ArrayList和LinkedList及其各种继承或同步化实现(如Vector/Queue/Stack这些的)
ArrayList内部是拿数组存储,那么上限就是Integer.MAX_VALUE。
LinkedList内部是个链表,理论上是无限的。

‘叁’ java list 最大能存多少数据

List的size()返回类型是int,决定了它最大存储数据是2的32次方
当然,这是理论大小,实际上要根据存储的对象占用空间大小来定

‘肆’ Java中,List里面最多可以存储多少数据

要是ArrayList存的是int、float的基本数据类型,其最大的容量是2的21次方,要是存的是纯对象类型,其最大容量是2的19次方,它的限制条件的很大一个是内存问题,就是计算机的堆空间用完了

‘伍’ list能放300万数据嘛

能放数据的多少和对象的大小都是有关系的,大小方面也很容易计算,一个对象如果1K,那3000,000个就至少要占用3g的内存(不算其他占用)。
拓展资料:从语言上来看,java.util.List是个接口,其下有N多实现,最常用的是ArrayList和LinkedList及其各种继承或同步化实现(如Vector/Queue/Stack这些的)
ArrayList内部是拿数组存储,那么上限就是Integer.MAX_VALUE
LinkedList内部是个链表,理论上是无限的
另外,List里放的东西都是在内存里的(当然你也可以自己实现一个放磁盘上的),因此能放多少也取决于你放的东西的大小以及种类。
大小方面很容易计算,一个对象如果1K,那400,000个就至少要占用400M的内存(不算其他占用)。
而虚拟机内存分类方面,如果是普通对象,一般占用的都是堆(Heap)空间,如果是常量或是类似String.intern()出来的东东,则占用的是永生带(Permanent Generation)。
实际开发中,虚拟机默认内存大小根据不同的虚拟机实现有所不同,可以在启动应用时用-Xmx调整最大堆大小,比如调整堆最大大小为2G:
java -Xmx2048m cn.gefostudio.App
调整永生带最大大小为1G:
java -XX:MaxPermSize=1024m cn.gefostudio.App

‘陆’ python中list的大小最大是多少

一般应用场景都不用考虑这个大小,因为这个上限很高,需要用到这么多元素的list的时候,都需要考虑很多其它问题。

1,32位python的限制是 536870912 个元素。

2,64位python的限制是 1152921504606846975 个元素。

‘柒’ java 中的List 最大可以存放多少条数据

从语言上来看,java.util.List是个接口,其下有N多实现,最常用的是ArrayList和LinkedList及其各种继承或同步化实现(如Vector/Queue/Stack这些的)
ArrayList内部是拿数组存储,那么上限就是Integer.MAX_VALUE
LinkedList内部是个链表,理论上是无限的

另外,List里放的东西都是在内存里的(当然你也可以自己实现一个放磁盘上的),因此能放多少也取决于放的东西的大小以及种类。
大小方面很容易计算,一个对象如果1K,那400,000个就至少要占用400M的内存(不算其他占用)。
而虚拟机内存分类方面,如果是普通对象,一般占用的都是堆(Heap)空间,如果是常量或是类似String.intern()出来的东东,则占用的是永生带(Permanent Generation)。

实际开发中,虚拟机默认内存大小根据不同的虚拟机实现有所不同,可以在启动应用时用-Xmx调整最大堆大小,比如调整堆最大大小为2G:
所以40万是放得下的

‘捌’ 最大list长度是多少

一般应用场景都不用考虑这个大小,因为这个上限很高,需要用到这么多元素的list的时候,都需要考虑很多其它问题。

32位python的限制是 536870912 个元素。
64位python的限制是 1152921504606846975 个元素。

‘玖’ list能够存储百万跳数据吗

一般是不把百万条数据都存储在list里面的。因为如果都存储的话,使用list的时候会把这些数据全部读入内存,这样不太好。推荐存储在文件中,读取的时候分条读取。