节点 Class (Java) 的基本内存模型图

Basic Memory Model Diagram for Node Class (Java)

我有一个问题要为下面的代码绘制内存模型图:

这里给出了答案:

我的问题是为什么 next 的值存储在框内,而数据(11 和 5)的值指向框外。我在想是因为它是一个空值,但是如果是的话是什么原因呢?

511 是原始值。由于data是对[=13=的引用类型],data不能是原始类型,所以它是一个引用(嗯,我已经说过了) 到持有原始值(例如 int)的对象(例如 Integer)。

引用类型,如 ENode (糟糕、糟糕的代码,使用原始泛型),可以引用对象,也可以是 null。因此 null 是该类型的实际值。

类似地,data 可以引用 E 类型的对象,或者如果您的列表允许空值,则可以是 null