补充数组内容以及java内存分配

数组索引越界异常问题
Array Inedx Out Of Bounds Exception 只要出现
数组 索引 超出范围,则说明越界了,目前解释不清楚,接下来带着问题去学习。

int[] array = new int[3];
Sysotem.out.println(array);

int[] array = new int[5];
System.out.println(array);

此时 new出来的已经经过初始化并且在内存当中占据了一定空间,所以new出来的会是一个地址哈希值,然后赋值给array根据 array[0]=10,根据0号索引,先找到内存地址,然后修改默认值将数字0变为数字10.
如果重新new一个长度为5的数组,同样命名为array,此时删除之前三个长度的数组地址,将array地址值改为int[5]的,int[ ] array是一个变量,可以更改,但是new int[3]是对象,不能进行修改。

小技巧:Alt + Shift + R 可以修改Eclipse当中所有相同的名词。

==================================================我是华丽的分割线
JAVA内存分配
栈(stack):主要用于存放局部变量。
堆(heap):存放对象,凡是new出来的,都在堆当中。堆当中的规则

方法区(Method Area):存放与.class相关的信息。
本地方法区(Native Method Area):与操作系统有关。
寄存器(PC Register):与CPU有关,性能贼高。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值