数组索引越界异常问题
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有关,性能贼高。