首页  >  文章  >  Java  >  Java中JVM的字节码结构是什么?

Java中JVM的字节码结构是什么?

WBOY
WBOY转载
2023-04-22 15:55:08781浏览

1、魔数

所有.class文件的前四个字节都是魔数,魔数的固定值为0xCAFEBABE。魔数放在文件的开头,JVM可以根据文件的开头判断这个文件是否有可能是.class文件。如果是这样的话,之后的操作会继续下去。

2、版本号

版本号为魔数后的4个字节,前2个字节显示下一个版本号,后2个字节显示主版本号。

主版本号后的字节是常量池入口。在常量池中保存两种常量:字面量和符号引用。字面量在代码中声明为Final的常量值,符号引用类别和界面的全局限定名、字段的名称和说明符、方法的名称和说明符。常量池整体分为常量池计数器和常量池数据区两部分。

3、常量池

常量池结束后的两个字节,描述了这个Class是类还是界面,以及是否用Public、Abstract、Final等装饰符装饰。

4、访问标志

常量池结束之后的两个字节,描述该Class是类还是接口,以及是否被Public、Abstract、Final等修饰符修饰。

5、当前类名

访问标志后的两个字节,描述的是当前类的全限定名。这两个字节保存的值为常量池中的索引值,根据索引值就能在常量池中找到这个类的全限定名。

6、父类名称

当前类名后的两个字节,描述父类的全限定名,同上,保存的也是常量池中的索引值。

7、接口信息

父类名称后为两字节的接口计数器,描述了该类或父类实现的接口数量。紧接着的n个字节是所有接口名称的字符串常量的索引值。

8、字段表

字段表用于描述类和接口中声明的变量,包含类级别的变量以及实例变量,但是不包含方法内部声明的局部变量。

java基本数据类型有哪些

Java的基本数据类型分为:

1、整数类型,用来表示整数的数据类型。

2、浮点类型,用来表示小数的数据类型。

3、字符类型,字符类型的关键字是“char”。

4、布尔类型,是表示逻辑值的基本数据类型。

以上是Java中JVM的字节码结构是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:yisu.com。如有侵权,请联系admin@php.cn删除