java - while循环中的空间分配

标签 java

考虑一个简单的 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 个局部变量的数组:argsi kv

关于java - while循环中的空间分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36402620/

相关文章:

java - 如何在 Android 中使 Moshi 的 JSON 注释不区分大小写

java - 如何在 Java 上使用 for 循环显示数组的输出

java - Batik:当我从线程调用 invokeLater 时出现 IllegalStateException

java - 从 Sun 应用程序服务器中删除 server.policy

java - 找不到符号 - 类迭代器 [Java]

java - 在 Spring 批处理中重复作业(并停止、开始)

java - 使用 Java 从队列中删除 var

java - 如何在 Java main 中记录参数

Java 等价于 C# 的 TimeSpan

java - 在actionListener内的hashMap中添加项目