02 字节码文件详解

本文详细介绍了Java字节码文件的组成,包括Magic魔数(用于识别文件类型)和主副版本号(标识JDK版本),以及推荐的jclasslib工具查看方法。重点在于文件头在版本兼容性检查中的作用。
摘要由CSDN通过智能技术生成

Java虚拟机的组成

以正确的姿势打开文件

字节码文件中保存了源代码编译之后的内容,以二进制的方式存储,无法直接用记事本打开阅读。
通过NotePad++使用十六进制插件查看class文件:

 

推荐使用 jclasslib 工具查看字节码文件。
Github地址: https://github.com/ingokegel/jclasslib
字节码文件的组成部分-Magic魔数
文件是 无法通过文件扩展名 来确定文件类型的,文件扩展名可以随意修改,不影响文件的内容。
软件使用文件的头几个字节(文件头)去校验文件的类型,如果软件不支持该种类型就会出错。
Java字节码文件中,将文件头称为 magic魔数
字节码文件的组成部分-主副版本号
主副版本号指的是编译字节码文件的 JDK 版本号, 主版本号用来标识大版本号,JDK1.0-1.1使用了
45.0-45.3,JDK1.2是46之后每升级一个大版本就加1;副版本号是当主版本号相同时作为区分不同
版本的标识,一般只需要关心主版本号。
版本号的作用主要是判断当前字节码的版本和运行时的 JDK 是否兼容。
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可我不想做饼干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值