假设我说
String x = null;
这个 null 如何在内部存储?
看看这个问题: Java 中的 null 是什么? 基本上,通常存储为 0,与 C++ 相同,但这可能是特定于实现的,因此您不应该依赖它。
根据java规范,它是一种文字。
还有一种特殊的 null 类型,即表达式 null 的类型,它没有名称。因为 null 类型没有名字,所以不可能声明一个 null 类型的变量或强制转换为 null 类型。空引用是空类型表达式的唯一可能值。空引用始终可以转换为任何引用类型。在实践中,程序员可以忽略 null 类型,只是假装 null 只是一个可以是任何引用类型的特殊文字。
在 Java 中,运行时必须确保在指向块的指针暴露给 Java 代码之前将所有堆分配的内存清零。全零块将被解释为实例字段的初始值。这几乎可以保证null
在任何 JVM 实现中都将实现为零值。
该null
值存储在变量中x
。