对于Java数组和对象数组内存分配的理解

Java中数组的内存分配

关于数组变量:

  • 本质上,数组变量是数组的管理者而非数组本身;
  • 数组变量之间的赋值是管理权限的赋予;
  • 数组变量之间的比较是判断是否管理同一个数组。

所以要由一个数组得到一个和它完全一样的数组,要采用遍历赋值的方法。

Java一维数组的内存分配

堆区中分配空间后会把每个数组元素初始化为0。array是引用变量,它在栈区占用的空间大小为4bytes
在这里插入图片描述
由此可以看出,数组变量其实就是指针。它存储着数组元素在堆区的首地址。

Java中对象数组的内存分配

创建对象数组:Department[] dept = new Department[100];
dept是引用变量。
内存分配关键在于new
对象数组的默认初始化全部是null,也就是不指向任何对象。所以想要真正初始化,就要:dept[0] = new Department();
这一内存分配模型也适用于二维数组。
在这里插入图片描述
从图中可以看出,对象数组变量其实就是指针的指针

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值