繁体   English   中英

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

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

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

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

例如

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

方法调用后,foo会怎样? 即使不再使用它,它仍在内存中的某个位置吗? 我是否应该关心这种“技术性”? 我知道,当涉及对象时,仅处理引用,而使用原始值类型则不是这种情况。 也许我也只是误解了Java中还如何存储原始值

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

亲切的问候,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM