[英]Java - Where is the reference of a member variable stored in memory?
我对JVM内存有疑问,希望从大家那里得到帮助和指导。
Class A {
//memory variable
int i = 2;
Integer j = new Integer(3);
public void static main(){
//local variable
int a = 2;
Integer b = new Integer(3);
}
}
在上面的代码中,我想知道对成员变量的引用是否存储在堆或堆栈中。
i
是成员变量和原始变量。 j
是成员变量和参考变量。 a
是局部变量和原始变量。 b
是局部变量和参考变量。 成员变量
i
和它的值存储在堆中 j
及其引用的对象( new Integer(3)
)存储在堆中 局部变量
a
它的值存储在堆栈中。 b
存储在堆栈中,但是它引用的对象( new Integer(3)
)存储在堆中。 我的结论正确吗? 我最大的困惑是第二点。 j
是否存储在堆中? 请帮我! 提前致谢。
没错
更具体地说, j
在堆中,因为它是A
类型的对象的一部分,而对象在堆中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.