字节码跨平台的奥秘


Class字节码
class中的字节码往往是操作码+操作数这样的方式

Class文件的本质
任何一个类和接口都对应一个唯一的Class
Class文件并不一定以磁盘的形式存在(网络,动态代理)
Class文件是一组以8位字节位基础单位的二进制流
Class文件采用一种 类似于C语言结构体的方式进行数据存储,这种结构中只有两种数据类型:无符号数和表
无符号数
和stm32一样利用u1 u2 u3表示占用多少字节
表
表是由多个无符号数或者其他表的数据项构成的复合数据类型,在前面有一个长度标识
Class文件的标识
魔数
主要作用
识别Class格式,并且确定这个文件是一个合法的Class文件
它的固定值为0xCA FE BA BE
版本号
魔数之后紧接着就是版本号 4 5 6 7列显示的就是版本号
本文探讨了Java字节码的结构,包括Class文件的基本构成(如操作码、无符号数和表)、Class文件的本质(每个类对应唯一文件,可存在于网络或动态代理中),以及魔数和版本号的作用。
1380

被折叠的 条评论
为什么被折叠?



