2
一个对象可以包含对其他对象的引用。如果将这些引用声明为类/字段变量,则由于对象本身是在堆上创建的,因此由字段引用表示的值将存储在堆中。本地参考和现场参考内存分配
所以,如果我有
public class A {
int size;
}
- 我知道,如果尺寸变的
2
一个int值,然后将其存储在堆上对象的一部分,但如果是即名称参考大小存储? - 名称“size”也存储在堆中对象的内部。
- JVM如何在堆上交叉引用
size == 2
? - 当您加载它在主线程中运行的类时,每个线程都将拥有自己的堆栈。所以这些字段引用不会在主栈上创建正确吗?
波希米亚人,你是说名字大小被存储在类定义文件内的permgen内存,但不是在堆? – Phoenix 2012-07-27 01:13:38
@Phoenix该字段的名称在类定义中,并且类定义在permgen中,所以字段名也在permgen中(嵌套在类定义中) – Bohemian 2012-07-27 01:16:40
Bohemian,如果字段引用是对另一个对象的引用而不是原始的?像A类一样{B名称;}? – Phoenix 2012-07-27 01:30:11