有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java方法调用后,基本局部变量会发生什么变化?

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

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

比如说

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

在方法调用之后,foo会发生什么?即使它不再被使用,它还在记忆中的某个地方吗?我是否应该关心这样一个“技术性问题”?我知道,当涉及到对象时,只处理引用,而对于基元值类型,情况并非如此。也许我也只是误解了原语值在Java中是如何存储的

不管怎样,我希望有人能帮助我,或者告诉我为什么我的问题很愚蠢,我应该为自己感到难过

亲切问候,


共 (1) 个答案

  1. # 1 楼答案

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