String对象的大小与自定义的...对象的大小

时间:2013-11-18 02:55:00

标签: java class memory

我有一个有

的课程
public class Sequence{

    ArrayList<String> obj
    .
    .
    .
}

现在在我的Main课程中,我可以执行以下任一操作:

public class Main{

    // option 1 
    ArrayList< Sequence > xyz ...

    // option 2
    ArrayList< ArrayList< String > > abc......

}

上述两个选项中哪一个会占用更少的空间?

提出问题的另一种方法是,直接使用字符串的ArrayList比使用ArrayList< Seq > Seq包含字符串ArrayList的{{1}}花费更多的内存。

编辑==================================

提出这个问题的原因是因为我正在使用很多这些Seq对象。我得到一个内存不足的例外。我正在考虑一些减少内存使用的方法,我想删除所有对象并使用原始数据类型。

即使ArrayList&lt;之间的内存使用量差异也是如此。 Seq>和ArrayList&lt;的ArrayList&LT;字符串&gt; &GT;很少。如果我正在使用其中的500个,我想这会有所作为。我的理解是否正确?

2 个答案:

答案 0 :(得分:0)

它们在内存使用方面足够接近,您不必担心它。这不会是性能或内存使用的主要来源。如果你有足够的字符串,它们将成为内存使用。

答案 1 :(得分:0)

该类将“占用更多内存”,因为它的类和实例都需要在内存中但是......并不重要。别担心。