首先,我意识到这个问题必须在某个地方得到解答,但我很可能无法找到答案,因为我猜不到正确的事情。
所以我知道Java垃圾收集器,它处理未使用的对象,但在方法调用之后,原始数据类型的本地值会发生什么?
例如
public void anyMethod() {
int foo = 20;
}
Method调用后foo会发生什么?它仍然在记忆中的某个地方,即使它从未被使用过吗?我是否应该特别关心这种"技术性"?我知道,对于对象,只有正在处理引用,而对于原始值类型,情况并非如此。也许我也只是错误地理解原始值如何存储在Java中
无论哪种方式,我希望有人可以帮助我或告诉我为什么我的问题是愚蠢的,我应该对自己感觉不好。
亲切的问候,
答案 0 :(得分:4)
每个函数都在堆栈框架中执行。 方法局部变量在此堆栈帧上分配内存,当方法完成时(有或没有异常),堆栈帧的内容将被删除,其中的所有数据都将丢失。