实例变量(基元)存储在java中的位置?无论如何堆栈与实例变量存储有关吗?

时间:2011-09-06 21:04:09

标签: java variables

实例变量(基元)存储在java中?

3 个答案:

答案 0 :(得分:8)

原始变量存储在所有变量存储的相同位置(包括引用):

  • 在堆上创建(分配)的对象中,或
  • 在方法堆栈框架内作为局部变量,或
  • 在其包含类的静态区域内(位于堆上)。

答案 1 :(得分:2)

如果您指的是在类上声明的实例字段,它们将作为对象自己分配的一部分在堆上分配。

声明为方法本地的原始(值类型)变量存储在方法的堆栈帧中。

答案 2 :(得分:0)

类加载器将具有限定名称的类加载到jvm中。 JVM从类中解析二进制数据并将该信息放入“方法”区域。当JVM执行类时,它首先将对象(包括实例字段基元/非基元)放入堆中。