需要了解一些较低级别的Java内存组织。 堆栈包含对堆的基本体(int、double、boolean等)和对象引用。
在任何对象内部都是如此。 或者,直接包含对其他对象或基本体的引用。 对象始终在任何上下文中引用并作为值传递。
所以我们必须
[堆叠] [ heap ]
int a: 10; - mywrapperobject @ 21 f03 b 70=====||
双精度b : 10.4; | || int someField: 11 ||
mywrapperobject @ 21f 03 b 70-----||| string @ 1011222---- -
.||===========================|||
|
|
string @ 10112222================|
|| . ||
|| . ||
请注意,在}=====================|| JVM内部等情况下,对象可能存储在堆以外的内存中。