1. 程式人生 > 實用技巧 >《深入理解jvm》6-java的基本型別

《深入理解jvm》6-java的基本型別

上一節講到了jvm中程式碼執行的過程,class檔案被載入到方法區,需要執行的時候,會生成java方法棧的棧幀。然後提供給解釋執行器進行命令翻譯。

java語言中有幾個基本型別,boole/byte/short/char/int/long/float/double。jvm提供基本型別的初衷是為了提高計算速度和節省記憶體空間,java語言中有基本型別和引用型別兩大類

基礎型別在堆中儲存的長度分別為:

  1. boolean 1位元組
  2. byte 1位元組
  3. short 2位元組
  4. char 2位元組
  5. int 4位元組
  6. long
  7. float
  8. double

但是在解釋執行器上略微有些不同:boolean,byte,short,char型別都會擴充套件成4個位元組,保持跟int一樣的長度,被當作int對待。

所以當堆內的基本型別讀取到解釋執行器棧的時候,會做“零擴充套件”,在棧上儲存到記憶體的時候,會做資料擷取。