哪个对象需要更多的内存,空值或空列表?

jpg*_*z18 0 java

我试图找出两个对象中的哪个需要更多的内存。

现在通过检查该参考,我看到null花费4到8个字节Java-null变量是否需要内存空间

但是不知道拥有一个空的String ArrayList将花费多少。谈论内存是否花费相同?

有什么想法吗?

ass*_*ias 6

如果用空列表表示:

List<Object> empty = new ArrayList<> ();
Run Code Online (Sandbox Code Playgroud)

然后,这将比使用占用更多的空间null

但是,如果您打算使用:

List<Object> empty = Collections.emptyList(); // I'm a singleton
Run Code Online (Sandbox Code Playgroud)

然后,因为所有空列表都将引用相同的对象,所以最终将产生与使用相同的内存消耗null