while循环中的空间分配

时间:2016-04-04 12:26:17

标签: java

考虑一个简单的while循环,如下所示

public static void main(String[] args) {
   int i = 6;
   int k = 10;
   while(i<k) {
      int v = 5;
      i++;
   }
}

变量v的空间是否仅在执行while循环时分配,并在循环结束时取消分配?

或者,无论while循环的终止或执行如何,它都会留在内存中吗?

如果它不是原始数据类型(任何类型的对象),它会有什么不同吗?

1 个答案:

答案 0 :(得分:4)

在调用方法时,JVM会创建一个新的frame。一个框架包含local variables的数组。变量的数量在编译时确定。

在这种情况下,方法main的框架将包含4个局部变量的数组:argsikv