null对象有多少字节?

时间:2015-05-12 21:06:36

标签: java object memory byte

当我们有一个参考变量时,例如为了简化innerHTML,我们可以假设Integer i的大小约为16字节开销+ 4字节,实际的int + 4字节填充,即24字节。
所以我的问题是,如果i为null,我们只有4个字节的引用没有指向任何地方,或者是否有任何其他额外的“隐藏”信息添加到此?

2 个答案:

答案 0 :(得分:2)

如果我没记错的话,JVM规范提到null不需要具有特定的值或表示,因此它可以是任何东西。 通常的含义,我不知道,但根据JVM版本的不同,可能会有32或64位的零值。

修改:以下是相关部分:http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html#jvms-2.4

  

Java虚拟机规范没有规定编码null的具体值。

干杯,

答案 1 :(得分:1)

是的它仍然使用记忆。我相信,对于32位使用4个字节,对于64位使用8个字节。

发现了更多相关信息:Java - Does null variable require space in memory