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