今天了解了Java内存的堆、栈和方法区
1.堆(公有)
存放new的对象和数组
可以被所有的线程共享,不会存放别的对象引用
2.栈(私有)
存放基本变量类型(包含这个基本类型的具体数值)
引用对象的变量(存放这个引用在堆里面的具体地址)
从声明到创建一个数组时,栈和堆的内部关系:
数组的三种初始化:
1.静态初始化
int[] array = {1,2,3,4,5};
2.动态初始化
int[] array = new int[5];
array[0] = 1;
array[1] = 2
3.默认初始化
//array[2],array[3],array[4]都未被初始化,默认初始化为0
3.方法区
可以被所有线程共享,包含了所有的class和static变量