1.数组
声明: int[] a;//首选
int a[];//一般不用
创建: int[] a = new int[10]; // 需指定数组大小
初始化:
静态初始化: int[] a = {8,9,10};
String[] s = {new String("hello"), new String("world")};
动态初始化: int[] a = new int(5);
a[0] = 10; a[1] = 12; // ......
默认初始化:数组的元素调用该类型的默认初始化(int:0, String:null)
2.java内存
堆:存放new的对象和数组
所有线程共享,不存放对象的引用
栈:存放局部变量,基本类型数据(int,chat,long...)
存放引用(也就是数据在堆中的地址)
例如声明后,int[] a = new int(5); a存在栈中,内容是数组的地址
方法区:存放已被加载的类信息,常量,static变量
所有线程共享
这么说有点简单化了,具体看下图: