对象数组内存分配(堆栈和堆)

时间:2017-06-07 08:21:42

标签: java arrays object memory memory-management

我初始化了一个类对象数组,我很好奇它们是如何在内存中分配的(堆栈和堆),我从教科书中找到了一段代码,它绘制了下面左侧的内存分配。

我的问题是:为什么内存分配不是我在右侧绘制的内容,在下面的代码中,new Person[]{new Person("Simon", 20)...},{{1 object会将其内存地址分配给new Person,但是,per[0]在执行per[0]时会在堆中创建。

类对象数组的初始化

Person[] per = new Person[3]
  1. Left(TextBook)

  2. My Thought

1 个答案:

答案 0 :(得分:1)

  

为什么内存分配不是我在右边画的那个,

它位于右侧,但如果您要使用值

per

per[0]

该引用将被带入堆栈。