【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
相关推荐
一瓢一瓢的饮 alanchan18 小时前
Flink原理与实战(java版)#第1章 Flink快速入门(第一节IDE词频统计)
java·大数据·flink·kafka·实时计算·离线计算·流批一体化计算
java_logo18 小时前
Docker 容器化部署 QINGLONG 面板指南
java·运维·docker·容器·eureka·centos·rabbitmq
那我掉的头发算什么18 小时前
【javaEE】多线程--认识线程、多线程
java·jvm·redis·性能优化·java-ee·intellij-idea
Pluchon18 小时前
硅基计划6.0 JavaEE 叁 文件IO
java·学习·java-ee·文件操作·io流
唆了蜜.18 小时前
ESLint: Expected indentation of * spaces but found *. (style/indent)
开发语言·javascript·vue·webstorm
生信小窝18 小时前
基于R获取全球海岸线数据获取与导出
开发语言·r语言
程序员卷卷狗18 小时前
联合索引的最左前缀原则与失效场景
java·开发语言·数据库·mysql
纪莫18 小时前
技术面:SpringCloud(SpringCloud有哪些组件,SpringCloud与Dubbo的区别)
java·spring·java面试⑧股
27399202918 小时前
qInstallMessageHandler(重定向至log文件)
开发语言·qt
yddddddy18 小时前
关于vue3
开发语言·vue