【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
相关推荐
daidaidaiyu2 小时前
ThingsBoard 集群的核心逻辑源码分析
java
2601_962885722 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
爱吃奥利奥_wen3 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
我可能是个假开发3 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
caoerzhong3 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
WL学习笔记4 小时前
日期类(C++)
开发语言·c++·日期类实现
【JAVA】玩家4 小时前
Spring核心原理全解析:从零到生产实战
java·后端·spring
Wang's Blog5 小时前
Java框架 SpringCloud 快速入门: 实现 Feign 最佳实践(抽取方式)
java·spring cloud
谢亮_vipxieliang5 小时前
Go map与结构体的正确使用
开发语言·golang·哈希算法
H.莓飛5 小时前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio