java中list最多可以存储多少条数据?40万可以吗
2个回答
展开全部
上面的很明显没有看懂题目
这是问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");
}
这是问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");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询