节点 Class (Java) 的基本内存模型图
Basic Memory Model Diagram for Node Class (Java)
我有一个问题要为下面的代码绘制内存模型图:
这里给出了答案:
我的问题是为什么 next 的值存储在框内,而数据(11 和 5)的值指向框外。我在想是因为它是一个空值,但是如果是的话是什么原因呢?
5
和 11
是原始值。由于data
是对[=13=的引用类型],data
不能是原始类型,所以它是一个引用(嗯,我已经说过了) 到持有原始值(例如 int
)的对象(例如 Integer
)。
引用类型,如 E
和 Node
(糟糕、糟糕的代码,使用原始泛型),可以引用对象,也可以是 null
。因此 null
是该类型的实际值。
类似地,data
可以引用 E
类型的对象,或者如果您的列表允许空值,则可以是 null
。
我有一个问题要为下面的代码绘制内存模型图:
这里给出了答案:
我的问题是为什么 next 的值存储在框内,而数据(11 和 5)的值指向框外。我在想是因为它是一个空值,但是如果是的话是什么原因呢?
5
和 11
是原始值。由于data
是对[=13=的引用类型],data
不能是原始类型,所以它是一个引用(嗯,我已经说过了) 到持有原始值(例如 int
)的对象(例如 Integer
)。
引用类型,如 E
和 Node
(糟糕、糟糕的代码,使用原始泛型),可以引用对象,也可以是 null
。因此 null
是该类型的实际值。
类似地,data
可以引用 E
类型的对象,或者如果您的列表允许空值,则可以是 null
。