java方法调用后,基本局部变量会发生什么变化?
首先,我知道这个问题必须在某个地方得到回答,但我很可能找不到答案,因为我没有寻找我认为正确的答案
所以我知道Java垃圾收集器,它负责处理未使用的对象,但是在方法调用之后,原始数据类型的本地值会发生什么呢
比如说
public void anyMethod() {
int foo = 20;
}
在方法调用之后,foo会发生什么?即使它不再被使用,它还在记忆中的某个地方吗?我是否应该关心这样一个“技术性问题”?我知道,当涉及到对象时,只处理引用,而对于基元值类型,情况并非如此。也许我也只是误解了原语值在Java中是如何存储的
不管怎样,我希望有人能帮助我,或者告诉我为什么我的问题很愚蠢,我应该为自己感到难过
亲切问候,
# 1 楼答案
每个函数都在堆栈帧中执行方法局部变量在此堆栈帧上分配内存,当方法完成时(有或无异常),堆栈帧的内容将被删除,其中的所有数据将丢失