栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中的对象是否有任何内存大小限制?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的对象是否有任何内存大小限制?

Java Heap是对您可以在系统中拥有的对象大小的限制。 如果对象的大小超出堆大小,则会生成“内存不足”错误。

在您的情况下,总对象的大小(ArrayList中的对象+系统中其他对象)的重要性更大,因为ArrayList只是引用这些对象的大小。

下面是VM选项,你可以用它来设置堆大小按您的要求(从该

java
文档):

-Xms
ñ

指定内存分配池的初始大小(以字节为单位)。此值必须是大于1MB的1024的倍数。追加字母k或K表示千字节,或者追加m或M表示兆字节。默认值为2MB。例子:

       -Xms6291456       -Xms6144k       -Xms6m

-Xmx
ñ

指定内存分配池的最大大小(以字节为单位)。此值必须是大于2
MB的1024的倍数。追加字母k或K表示千字节,或者追加m或M表示兆字节。默认值为64MB。例子:

       -Xmx83886080       -Xmx81920k       -Xmx80m

从VM
Spec
检查堆信息

3.5.3堆

Java虚拟机具有一个在所有Java虚拟机线程之间共享的堆。堆是运行时数据区,从中分配了所有类实例和数组的内存。堆是在虚拟机启动时创建的。>自动存储管理系统(称为垃圾收集器)可以回收对象的堆存储;对象永远不会>显式释放。Java虚拟机不假定特定类型的自动>存储管理系统,并且可以根据实现者的系统要求选择存储管理技术。堆的大小可以是固定的,也可以根据计算的要求进行扩展,如果不需要,则可以缩小堆。堆的内存不必是连续的。

Java虚拟机实现可以为程序员或用户提供对堆的初始大小的控制,并且,如果可以动态扩展或收缩堆,则可以控制最大和最小堆大小。5

以下异常情况与堆相关联:

如果计算所需的堆多于自动存储管理系统所能提供的堆,则Java虚拟机将抛出OutOfMemoryError。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/506355.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号