深入拆解JAVA虚拟机

java ----javac------>class--------->字节码---java虚拟机--->机器码

加载后的java类会被存放于方法区中,实际运行时虚拟机会执行方法区内的代码。

Java程序编译而成的class文件,需要先加载至方法区中,方能在虚拟机中运行。

数据类型 :  基本数据类型    引用数据类型

基本数据类型: 4类8种
            整数型: byte short int   long
            字符型       char
            浮点型             float double
            逻辑型                   boolean
引用数据类型:
            类  (class)
            接口(class)
            数组
            
一个字节为8bit

在栈中引用数据类型占用了1个数组单元,byte,short,int,float,boolean也是占用一个数组单元,

long和double占用2个数组单元,在32位处理器(CPU)中,一个数组单元占有4个字节位。

在64位的处理器中一个数组单元是8个字节位

对于32位处理器(CPU)来说,一次处理数据是32位(这里不是指的32/64系统),而是指CPU硬件层面,32位的CPU处理使用4个字节最为节省,哪怕是1个bit,CPU也是引用4个字节,因为CPU寻址发现只能是32位,32位的寻址具有高效性,

Double Long占用俩个数组单位64位的数组单位是8字节,占用了16个字节,并没有用高八字节的空间。这个属于HotSpot的实现的细节,偏向了快速访问而牺牲为了耗费空间

猜你喜欢

转载自blog.csdn.net/wd521521/article/details/81209536