Day22--記憶體分析

1hahahahahahahaha發表於2024-10-22

Day22--記憶體分析

Java 記憶體分析:

1.堆:

存放 new 的物件和陣列;

可以被所有的執行緒共享:不會存放別的物件引用

2.棧

存放基本變數型別(會包含這個基本型別的具體數值)

引用物件的變數(會存放這個引用在堆裡面的具體地址)

3.方法區

可以被所有的執行緒共享

包含了所有的 class 和 static 變數。

示例

1.未宣告陣列時:

image-20241022173218931

2.已宣告陣列 int[] array;

image-20241022173311006

3.建立陣列 array=new int[10];

image-20241022173359809

4.給陣列元素賦值

image-20241022173521196

三種初始化

靜態初始化:

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;

陣列的預設初始化:

陣列是引用型別,它的元素相當於類的例項變數,因此陣列一經分配空間,其中的每個元素也被按照例項變數同樣的方式被隱式初始化。

(除了八大資料型別,其他的都是引用型別)

相關文章