这些对象在哪里存储在内存中?

时间:2019-10-10 08:54:57

标签: java class memory types

我正在使用数据类型声明一些值,另一方面,我正在使用包装器类的概念来存储值,那么这些对象或文字值存储在内存中的位置是什么?

class raw {
  public static void main(String[] args) {
    int a = 5;
    Integer aa = new Integer(5);
    // where these values are getting stored
  }
}

2 个答案:

答案 0 :(得分:0)

将包装器类视为Java中的其他任何对象。它存储的文字值作为原始变量存储在对象中。

对于Integer,它存储在int变量中,该变量在Integer类中定义为private final int value;

http://developer.classpath.org/doc/java/lang/Integer-source.html处查看类的源代码。

答案 1 :(得分:0)

int a = 5存储在堆栈中,

new Integer(5)对象存储在堆中。参考变量Integer aa存储在堆栈存储器中。

对于每个线程,它都有一个隔离的堆栈内存,并且所有这些线程都共享堆内存。