Java字节码组成及JVM.pdfVIP

  • 1
  • 0
  • 约1.66千字
  • 约 5页
  • 2026-04-26 发布于北京
  • 举报

什么是字节码以及它的组成

字节码概念

Java字节码(英语:Javabytecode)是Java虚拟机执行的一种指令格式。

大多数操作码都是一个字节长,而有些操作需要参数,导致了有一些多字节的操作码。

因为JVM针对系统和平台都进行了定制,无论在什么平台,都可以通过javac命令将一个.java文

件编译成固定格式的字节码(.class文件)供JVM使用。之所以被称为字节码,是因为.class文件是由十

六进制值组成的,JVM以两个十六进制值为一组,就是以字节为单位进行

格式如下

字节码的组成

JVM对字节码的规范是有要求的,要求每一个字节码文件都要有10部分固定的顺序组成:

魔术、版本号、常量池、标志、当前类索引、父类索引、接口索引、字段表、方法表、附件属性

详细如下:

1.魔数

所有的.class文件的前4个字节都是魔数,魔数以一个固定值:0xCAFEBABE,放在文件的开头,JVM就可

以根据这个文件的开头来判断这个文件是否可能是一个.class文件,如果是以这个开头,才会往后执行下

面的操作,这个魔数的固定值是Java之父JamesGosling指定的,意为CafeBabe(咖啡宝贝)

2.版本号

版本号是魔术的4个字节,前两个字节表示次版本号(Minor

文档评论(0)

1亿VIP精品文档

相关文档