`
茴香豆
  • 浏览: 132219 次
  • 性别: Icon_minigender_2
  • 来自: 桂林
社区版块
存档分类
最新评论

list容量限制测试

 
阅读更多
电脑硬件条件:



测试代码:
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次方,它的限制条件的很大一个是内存问题,就是计算机的堆空间用完了
  • 大小: 13.5 KB
分享到:
评论

相关推荐

    list实现的购物车

    此外,考虑到cookie的大小限制,对于大量商品的购物车,可能需要采用其他存储策略,如session或数据库。 9. **测试与优化**:在实际开发中,我们需要对添加、删除和清空购物车的操作进行详尽的测试,确保其正确性和...

    性能测试计划(英文的)_模板.doc

    3. **测试方法** (Approach): 详细说明了进行性能测试的策略,如是否采用并发测试、压力测试、耐久性测试或容量规划。它也涵盖了如何模拟真实用户行为,以及测试的执行顺序。 4. **负载测试类型和时间表** (Load ...

    forword_list类的实现

    4. **容量管理**:`forward_list`不提供像`std::vector`那样的动态数组管理,因此不支持直接获取元素数量或改变容器大小的操作。 5. **算法支持**:虽然`forward_list`的遍历能力有限,但它仍然可以配合标准库中的...

    系统内置的4种网络测试工具

    10. `-j host-list` 和 `-k host-list`:分别指定跳跃式的IP列表,限制9个连续IP。 11. `-w timeout`:设置超时时间,单位为毫秒。 通过这些参数,我们可以进行更复杂的网络诊断,例如测试网络延迟、丢包率,甚至...

    StackList:无GC开销的栈List数据结构 Non GC alloc stack list struct

    1. **容量限制**:StackList的最大容量是固定的,超过这个限制,就需要手动扩展或重新分配内存,否则可能会导致溢出。 2. **效率与灵活性**:虽然StackList在内存管理上更高效,但牺牲了动态调整大小的灵活性。因此...

    j2ee上传单个文件小测试

    然而,实际应用中还需要考虑更多因素,如错误处理、文件大小限制、安全性(防止恶意文件上传)以及性能优化(如使用流式处理大文件)。在学习和实践中,逐步掌握这些高级特性和最佳实践是非常重要的。

    微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb

    当开发者遇到“`tabBar.list[3].selectedIconPath`大小超过40kb”的错误时,这意味着第四项的选中状态图标文件过大,超出了微信小程序的限制。在这种情况下,可以通过以下步骤解决问题: 1. **检查图片大小**:首先...

    Redis集群安装与测试.docx

    然而,这也意味着其存储容量受到内存限制,且需要通过持久化策略(如 RDB 或 AOF)来防止数据丢失。此外,Redis 还支持主从复制、发布订阅(pub/sub)、键过期策略、事务和多个数据库等功能。 1.2 Redis 集群 Redis ...

    RK3188 DDR Support List

    此外,还需要注意特定SOC的限制条件,例如某些SOC可能由于封装问题而不支持特定容量或类型的DDR3内存。对于开发者来说,正确理解和支持文档中的信息至关重要,有助于优化产品的内存配置并避免潜在的问题。

    Rockchip_eMMC+DDR_SupportList

    2. 容量支持:单条内存的最大容量以及多条内存的总容量限制。 3. 速度规格:如DDR3的800MHz、1066MHz、1333MHz,DDR4的2133MHz、2400MHz等。 4. 兼容的Rockchip处理器:与eMMC文档相同,处理器型号的列表会根据它们...

    VC 实现鼠标拖动控件边框改变其大小

    8. **考虑控件的最小和最大尺寸**:在调整大小的过程中,还需要限制控件的最小和最大尺寸,以防止控件变得过小而无法操作,或过大超出屏幕范围。 9. **测试和优化**:最后,对功能进行充分的测试,确保在不同操作...

    相关资料局域网常用测试工具的使用.pdf

    - 改变数据包大小如`ping -l 1450`,可以测试网络对不同大小数据的承载能力。 - 使用`ping -f`禁止分片,有助于确定网络路径上的最小MTU,以及识别可能的MTU问题。 通过这些实训,可以深入理解ping命令在局域网中...

    手机测试常用词汇的中英文对照

    - **菜单模式 (List View/Grid View)**: 显示菜单项的不同布局形式,列表视图或网格视图。 - **快捷图标 (Short-Cut Icon)**: 快速访问特定功能或应用程序的图形标记。 - **自动重拨 (Automatic Redial)**: 在拨打...

    数据结构实战 -- 线性结构静态数组表示法(C实现源码)

    这种特性使得静态数组在存储和访问数据时具有较高的效率,但同时也限制了其灵活性。 线性结构静态数组的实现通常包括以下几个主要部分: 1. **数据结构定义**:首先,我们需要定义一个数据结构来表示线性表。在...

    Cisco系列网络设备测试命令大全

    - **功能**:显示系统硬件和软件版本信息,包括内存大小(DRAM)、闪存(Flash)等基本信息。 - **应用场景**:适用于初步了解设备的基本配置和运行状态,便于后续进行更深入的诊断。 ##### 2. **show startup-...

    Mac OSX x86详细安装与初步测试.docx

    FAT32分区由于文件大小限制无法直接解压。解压后,你会得到一个名为“tiger-x86-flat.img”的镜像文件,可以用VMWare 5.0等虚拟机软件打开。 在虚拟机中启动Mac OS X,你可以调整虚拟机的内存分配和设备设置。不过...

    数据结构:双向链表的实现和测试(C++).doc

    `List`类的构造函数初始化这些成员,`clear`方法用于清空链表,`empty`方法检查链表是否为空,`full`方法(在这里始终返回`false`)通常用于有限容量的容器,但在双向链表中不适用,因为它们没有固定大小的限制。...

    Java 测试题 (共四套)

    - List、Set、Queue和Map接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等。 - 集合操作:添加、删除、遍历元素,以及集合的大小、空判断等。 - 泛型:了解泛型的用途和限制,以及类型擦除的概念。 ...

Global site tag (gtag.js) - Google Analytics