【Java】查看class文件的jdk编译版本的两种方式

一、使用文本编辑工具EditPlus

使用EditPlus打开该class文件,字符集选择16进制(Hex viewer)。

仅看第一行数据,前面8个字节CA FE BA BE是固定的。

之后4个字节00 00 是次版本。

次版本后面的4个字节00 34 就是jdk版本。

jdk版本与16进制对照关系如下:

jdk版本 16进制
jdk1.5 31
jdk1.6 32
jdk1.7 33
jdk8 34

二、使用javap命令实现

cmd进入class文件所在目录后,运行以下命令

bash 复制代码
javap -v ParallelMultiInstanceBehavior.class

我们只需要看major version的值是多少(它的值是十进制数字)。

jdk版本与十进制对应关系如下:

HEX 十进制 jdk版本
2E 46 jdk1.2
2F 47 jdk1.3
30 48 jdk1.4
31 49 jdk1.5
32 50 jdk1.6
33 51 jdk1.7
34 52 jdk8
35 53 jdk9
36 54 jdk10
37 55 jdk11
38 56 jdk12
39 57 jdk13
相关推荐
小羊没烦恼!1 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里1 天前
java中的继承和多态的区别
java
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕1 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码1 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖1 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时1 天前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
vipxieliang1 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
C语言小火车1 天前
C/C++ 为什么需要编译器?
开发语言·c++