Day22--内存分析
Day22--内存分析
Java 内存分析:
1.堆:
存放 new 的对象和数组;
可以被所有的线程共享:不会存放别的对象引用
2.栈
存放基本变量类型(会包含这个基本类型的具体数值)
引用对象的变量(会存放这个引用在堆里面的具体地址)
3.方法区
可以被所有的线程共享
包含了所有的 class 和 static 变量。
示例
1.未声明数组时:
2.已声明数组 int[] array;
3.创建数组 array=new int[10];
4.给数组元素赋值
三种初始化
静态初始化:
int[] a={1,2,3};
Man[] mans ={new Man(1,1), new Man(2,2)};//暂时不用理解
动态初始化:
int [ ] a = new int [2];
a[0]=1;
a[1]=2;
数组的默认初始化:
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
(除了八大数据类型,其他的都是引用类型)