方法调用后原始局部变量会发生什么变化?

What does happen to primitive local variables after a method call?

首先,我知道这个问题必须在某个地方得到回答,但我真的找不到这个问题的答案,很可能是因为我没有在寻找正确的东西。

所以我知道 Java 垃圾收集器,它负责处理未使用的对象,但是在方法调用之后原始数据类型的本地值会发生什么情况?

例如

 public void anyMethod() {
     int foo = 20;
 }

方法调用后 foo 发生了什么?它是否仍然在内存中的某个地方,即使它不再被使用? "technicality" 这样的我还需要关心吗?我知道,当涉及到对象时,只处理引用,而对于原始值类型,情况并非如此。也许我也只是误解了原始值是如何存储在 Java 以及

中的

无论哪种方式,我都希望有人能帮助我,或者告诉我为什么我的问题很愚蠢,我应该为自己感到难过。

亲切的问候,

每个函数都在栈帧中执行。 方法局部变量 在此堆栈帧上分配内存,当方法完成时(有或没有异常),堆栈帧的内容将被丢弃,其中的所有数据都将丢失。