- 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)