堆:
-
存放new的对象和数组;包括其中的值
-
可以被所有的线程共享,不会被别的对象引用
栈:
-
存放基本变量类型
-
引用对象的变量(会存放这个引用在堆里面的具体地址)
静态初始化:
//静态初始化 : 声明创建+赋值
int[] nums = {1,2,3,4,5,6,80,90,100};
System.out.println(nums[8]);
动态初始化:
//动态初始化 : 包含默认初始化
int[] a = new int[10];
a[0] = 100;
a[1] = 100;
?
System.out.println(a[1]);
System.out.println(a[3]);
默认初始化:
不赋值时每个元素会默认类型初始化的值
比方说上面a[2]到a[9]没赋值就是默认int类型的初始化值0,并不会不赋值就不存在
扩展引用类型初始化
//引用类型初始化
Man[] mens = {new Man(),new Man()};