1. 程式人生 > >Java的內存分配

Java的內存分配

eap static關鍵字 布爾 char 內容 字符 筆記 類型 float

Java的內存分配上,主要分4個塊!
一塊是用來裝代碼的,就是編譯的東西。
一塊是用來裝靜態變量的,例如用static關鍵字的變量,例如字符串常量。
一塊是stack,也就是棧,是用來裝變量和引用類型的!但區別在於,裝了變量以後,變量上是有值的,而引用類型本身在stack上是沒有值的。
一塊是heap,也就是堆!堆可以一句話概括,裝new出來的東西!

所以綜上所述,基本數據類型都在stack中,而引用類型,變量是放在stack中,真正有內容的東西放在heap中,也就是當new了一個新的引用類型,他就會放在堆中,同時棧中的引用類型變量會指向堆中你new出來的東西!
兩種數據類型:

1)基本數據類型
整數類型(byte/short/int/long)
浮點類型(float/double)
字符類型(char)
布爾類型(boolean)
2)引用類型:類/接口/數組
另外附上2點筆記:
1.初始化java數組的兩種方式:
靜態(給定元素)和動態(給定長度)
2.java數組的靜態特性:
java數組(對象)初始化之後,數組長度不可變;數組對象是創建數組時內存分配的一塊空間;

初始化:為數組元素分配內存空間,並為每個元素指定初始值;

Java的內存分配