我们可以拥有任意大小的Java对象而不担心出现异常吗?我将使用一个类的对象,它由数以千计的其他对象组成的ArrayList组成,这些对象包含一对HashMap和ArrayList以及许多其他非原语类型。
谢谢
发布于 2010-09-01 20:57:43
如果你有一个对象(让我们称它为A),它引用了一个包含许多对象的ArrayList,那么A的“大小”仍然相当小(引用的大小加上一些开销)。A引用的对象在很大程度上独立于A。唯一的限制是所有对象的总大小受可用内存的限制。
唯一真正的“巨型对象”是一个有很多很多字段的对象,但是JLS/JVM规范设置了一个非常小的限制( fields_count in the class file format是一个u2字段,所以您最多可以有65535个字段)。
发布于 2010-09-01 20:52:46
你不能使用任何大小的对象,而不会有反响。您可以随心所欲地编写代码,但显然您需要了解JVM以及其中使用的典型内存/堆限制。
发布于 2010-09-01 20:54:17
唯一的限制因素是最大堆大小,我也有几个100MB的fat对象作为内存中的db。
https://stackoverflow.com/questions/3618122
复制相似问题