考虑一个简单的 while 循环,如下所示
public static void main(String[] args) {
int i = 6;
int k = 10;
while(i<k) {
int v = 5;
i++;
}
}
变量 v 的空间是否仅在执行 while 循环时分配并在循环结束时取消分配?
或者无论 while 循环是否终止或执行,它都保留在内存中吗?
如果它不是原始数据类型(任何类型的对象),有什么不同吗?
最佳答案
JVM 创建一个新的 frame当一个方法被调用时。帧包含 local variables 的数组。变量的数量在编译时确定。
在这种情况下,方法 main
的框架将包含 4 个局部变量的数组:args
、i
、 k
和 v
。
关于java - while循环中的空间分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36402620/