《深入理解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对待。

所以当堆内的基本类型读取到解释执行器栈的时候,会做“零扩展”,在栈上保存到内存的时候,会做数据截取。

猜你喜欢

转载自blog.csdn.net/David_lou/article/details/109072657
今日推荐