Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串对象与自定义…对象的大小_Java_Class_Memory - Fatal编程技术网

Java 字符串对象与自定义…对象的大小

Java 字符串对象与自定义…对象的大小,java,class,memory,Java,Class,Memory,我有一个班级有一个 public class Sequence{ ArrayList<String> obj . . . } 公共类序列{ ArrayList obj . . . } 现在在我的主课上,我可以做以下任一项: public class Main{ // option 1 ArrayList< Sequence > xyz ... // option 2 ArrayList< A

我有一个班级有一个

public class Sequence{

    ArrayList<String> obj
    .
    .
    .
}
公共类序列{
ArrayList obj
.
.
.
}
现在在我的主课上,我可以做以下任一项:

public class Main{

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

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

}
公共类主{
//选择1
ArrayListxyz。。。
//选择2
ArrayList>abc。。。。。。
}
以上两个选项中,哪一个会占用更少的空间

提出这个问题的另一种方式是,直接使用字符串的ArrayList是否比使用
ArrayList
时占用更多内存,其中
Seq
包含字符串的ArrayList

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

问这个问题的原因是因为我正在处理很多Seq对象。我遇到内存不足异常。我在想一些减少内存使用的方法,我想删除所有对象并处理原始数据类型


即使ArrayList和ArrayList>之间的内存使用差异很小。如果我和其中500人一起工作,我想这会有所不同。我的理解正确吗?

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

该类将“占用更多内存”,因为该类及其实例都需要在内存中,但。。。没关系。别担心。

我通常发现,当我认为需要使用ArrayList中的ArrayList时,通常会有更好的集合,我只需要再来一杯咖啡。