对JVM的一个基础了解

一、JVM范围3d

 

 

二、JVM和class文件blog

  (1)、JVM和Java语言无关,JVM是一种规范,任何语言只要能编译成class文件格式都能在JVM上运行索引

 

三、class文件格式接口

  (1)、class文件就是一个二进制流,用十六进制表示为:虚拟机

      

图中一个矩形表明一个字节io

  (2)class文件中的内容编译

      

  一、魔术:每一个Class文件的头4个字节成为魔数(Magic Number),它的惟一做用是肯定这个文件是否为一个能被虚拟机接收的Class文件。class

        全部Class文件,魔数均为0xCAFEBABE。引用

  二、大小版本号:Class文件中第5、六个字节存储的是次版本号(minor version),第7、八个字节存储的是主版本号(major version)。二进制

      假设Class文件的版本号十进制下为45.3,那么major version在十进制下为45,minor versio在十进制下则为3。

  三、常量池计数器:用来记录常量池中常量的个数,由于用的是u2类型的数据即用两个字节来存储,因此常量池中的常量不能超过65535个。

      并且,常量池计数器是从1开始的,这样当某些数据想表达“不想引用任何一个常量池项”时,就能够将其常量池索引值设为0;

  四、访问标志:用于识别一些类或接口层次的访问信息。例如:ACC_PUBLIC、标志位0x0001 表示是否为public类型。

相关文章
相关标签/搜索