电脑硬件条件:
测试代码:
public static void main(String[] args) {
ArrayList<Float> list_str=new ArrayList<Float>();
int len=(int) Math.pow(2, 22);
System.out.println("运行次数:"+len);
for(int i=0;i<len;i++){
//String str="a "+i;
//list_str.add(str);
// int t=i;
// Student student=new Student();
// student.setId(i);
// student.setName("第+"+i);
// list_str.add(student);
float f=(float)i;
list_str.add(f);
}
for(int j=0;j<len;j++){
System.out.println(list_str.get(j)+" "+j);
}
System.out.println("运行结束!"+len);
}
一.String为对象存在list里
1. 当运行了2的16次方时,程序正确执行
2. 当运行了2的24次方(16777216)时,程序报outofmemory的内存溢出错误
3. 当运行了2的18次方(262144)时,程序正常运行
4. 当运行了2的19次方(524288)时,程序正常运行
5. 当运行了2的20次方(1048576)时,程序报outofmemory:Java heap space的内存溢出错误,说明堆的空间呗用完了
运行极限是2的19次方
二.List存int数据
Int数据是java的基本数据类型,存在栈空间里
1. 当运行了2的32次方(2147483647)时,程序报outofmemory:Java heap space
2. 当运行了2的24次方(16777216)时,程序报outofmemory:Java heap space
3. 当运行了2的21次方(2097152)时,程序正确执行
运行极限是2的21次方
三.自建对象Student存在list中
1. 当运行了2的21次方(2097152)时,程序报outofmemory:Java heap space
2. 当运行了2的20次方(1048576)时,程序报outofmemory:Java heap space
3. 当运行了2的19次方(524288)时,程序正常运行
运行极限是2的19次方
四.List存float数据
1. 当运行了2的19次方(524288)时,程序正常运行
2. 当运行了2的21次方(2097152)时,程序正确执行
3. 当运行了2的22次方(4194304)时,程序报outofmemory:Java heap space
运行的极限是2的21次方
五.结论
要是ArrayList存的是int、float的基本数据类型,其最大的容量是2的21次方,要是存的是纯对象类型,其最大容量是2的19次方,它的限制条件的很大一个是内存问题,就是计算机的堆空间用完了
分享到:
相关推荐
ArrayList是java.util.ArrayList类的实例,它实现了List接口。ArrayList底层基于数组实现,允许存储任意类型的对象,并提供了动态增长的能力。当添加的元素超出ArrayList的当前容量时,它会自动扩大数组的大小以适应...
"seq_list.rar" 是一个压缩包,包含关于序列数据结构——seq_list的相关实现和测试。在这个上下文中,`seq_list` 可能是一个特定实现的顺序表(顺序线性表),它是一个在内存中连续存储元素的集合。 顺序表是数据...
除了基本操作外,自定义`list`还需要实现迭代器、遍历、容量检查、空检查等方法。在设计自定义容器时,确保遵循C++的迭代器概念是非常重要的,因为这是STL算法库的基础。此外,还需要考虑线程安全问题,如果在多线程...
3. **测试方法** (Approach): 详细说明了进行性能测试的策略,如是否采用并发测试、压力测试、耐久性测试或容量规划。它也涵盖了如何模拟真实用户行为,以及测试的执行顺序。 4. **负载测试类型和时间表** (Load ...
在这个"C 语言通用 List 集合"中,可能还包括了各种操作的示例代码和测试用例,帮助开发者理解如何在实际项目中使用这个通用List集合。通过学习和实践,开发者可以掌握在C语言中自定义数据结构和算法,提高编程能力...
例如,在C语言中,可以定义一个动态数组,当数组达到其容量时,创建一个更大的数组并复制原数组中的元素到新数组。 2. **顺序表的删除操作**:删除操作同样涉及到元素的移动。假设我们要删除第i个元素,所有位置...
5. **测试与调试**:编写单元测试用例,验证`forward_list`的正确性和性能,使用VS2019的调试工具检查潜在问题。 6. **遵循C++标准**:为了确保所有操作符合C++标准,应该遵循C++11或更高版本的规范。 在完成这样...
效率源大容量硬盘检测修复程序支持超过136G硬盘的准确高速检测,最大可测试2000G,而且不需要主板支持,全物理访问,准确、可靠。3.0版光盘版启动速度快,3秒即可进主程序,遇坏道跨越时间比原1.6版缩短近一倍,内置...
在Java编程中,容器是用于存储对象的集合,它们提供了数据结构和算法,使得我们可以方便地组织和管理数据。本文将深入分析Java中的List接口及其常见...在具体应用时,还需要结合业务需求和性能测试,才能做出最佳决策。
- 硬件环境:硬件配置需满足Redis大数据处理的需求,包括足够的内存容量以支持大数据量存储,高速的处理器以提高数据处理速度,以及稳定的网络连接以确保数据传输的效率。 - 软件环境:包括操作系统的选择(如Linux...
1. **容量限制**:StackList的最大容量是固定的,超过这个限制,就需要手动扩展或重新分配内存,否则可能会导致溢出。 2. **效率与灵活性**:虽然StackList在内存管理上更高效,但牺牲了动态调整大小的灵活性。因此...
DT测试主要评估网络覆盖、容量和呼叫质量,CQT则专注于通话质量,通常包括手机拨号连接的创建。DO测试关注数据传输性能,尤其是EVDO技术的数据速率。FTP下载和上传测试则用来衡量网络的上传下载速度,这对于评估用户...
LoadRunner是一款功能强大的性能测试工具,能够模拟大量用户并发访问应用,以评估系统在高负载下的性能、稳定性及容量。在这个场景中,“function_list”很可能指的是LoadRunner中的脚本编程函数列表,这些函数用于...
### SMI Flash Support List H0415-Dyna-USB.pdf 知识点解析 #### 概述 根据所提供的文档信息,“SMI Flash Support List H0415-Dyna-USB.pdf”是一份关于不同型号闪存芯片的支持列表文档。这份文档主要列出了三星...
例如,测试`std::vector`时,你可以创建一个向量,添加元素,然后检查其大小、容量和元素值。对于`std::shared_ptr`,你可以测试其生命周期,确保在适当的时候被释放。 在`cppptest`文件夹中,你可能找到了包含这些...
其次,是《Rockchip_Support_List_DDR_Ver2.43.pdf》,这份文档聚焦于Rockchip平台对DDR(Double Data Rate)内存的支持。DDR内存是系统内存的一种,对于处理速度和响应时间至关重要。可能包含的内容包括: 1. DDR...
`ArrayList`是`List`接口的一个实现,这意味着它可以存储一系列有序的元素,并提供了添加、删除、修改和遍历元素的方法。在深入讨论`ArrayList`之前,让我们先明确一下`集合`的概念。 集合是Java中用于存储多个对象...