【发布时间】:2018-06-06 14:01:30
【问题描述】:
public class Main {
private String sampleName= "Sample";
public void show() {
System.out.println(sampleName);
}
}
我知道“Sample”作为对象位于堆部分,但“sampleName”作为参考变量在哪里?如果它位于堆中,是否在堆栈中我有另一个名为“sampleName”的引用,该引用在堆中引用“sampleName”?
【问题讨论】:
-
引用变量作为
Main对象的一部分存在于堆中。 -
@shmosel 在 println 方法调用时,我们如何从堆栈帧访问“sampleName”引用?我认为 sampleName 作为参数的作用类似于局部变量并位于堆栈上。对吗?
-
一旦作为参数传递,它就会被压入堆栈。
标签: java memory heap-memory stack-memory