首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中的对象有内存大小限制吗?

java中的对象有内存大小限制吗?
EN

Stack Overflow用户
提问于 2010-09-01 20:49:59
回答 6查看 4K关注 0票数 8

我们可以拥有任意大小的Java对象而不担心出现异常吗?我将使用一个类的对象,它由数以千计的其他对象组成的ArrayList组成,这些对象包含一对HashMapArrayList以及许多其他非原语类型。

谢谢

EN

回答 6

Stack Overflow用户

发布于 2010-09-01 20:57:43

如果你有一个对象(让我们称它为A),它引用了一个包含许多对象的ArrayList,那么A的“大小”仍然相当小(引用的大小加上一些开销)。A引用的对象在很大程度上独立于A。唯一的限制是所有对象的总大小受可用内存的限制。

唯一真正的“巨型对象”是一个有很多很多字段的对象,但是JLS/JVM规范设置了一个非常小的限制( fields_count in the class file format是一个u2字段,所以您最多可以有65535个字段)。

票数 13
EN

Stack Overflow用户

发布于 2010-09-01 20:52:46

你不能使用任何大小的对象,而不会有反响。您可以随心所欲地编写代码,但显然您需要了解JVM以及其中使用的典型内存/堆限制。

票数 0
EN

Stack Overflow用户

发布于 2010-09-01 20:54:17

唯一的限制因素是最大堆大小,我也有几个100MB的fat对象作为内存中的db。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3618122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档