堆、棧、陣列特點
阿新 • • 發佈:2022-05-06
java記憶體
堆
存放new的物件和陣列
可以被所有的執行緒共享,不會存放別的物件引用
棧
存放基本變數型別(會包含這個基本型別的具體數值)
引用物件的變數(會存放這個引用在堆裡面的具體地址)
方法區
可以被所有執行緒共享
包含了所有的class和static變數
陣列
陣列是引用型別,它的元素相當於類的例項變數,因此陣列一經分配空間,其中的每個元素也被按照例項變數同樣的方式被隱示初始化
也就是說,沒被我們自己主動初始化的話,java會自己給它賦予初值。
特點
- 陣列一旦被建立,它的大小就是不可以改變的
- 陣列中的元素可以是任意型別,包括基本型別、引用型別
- 陣列變數屬引用型別,陣列也可以看成是物件,物件中的每個元素相當於該物件的成員變數。
- 陣列本身就是物件,java中物件是在堆中的(new出來的都是堆中的),因此陣列無論儲存原始型別還是其他物件型別,陣列物件本身是在堆中的