【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 小时前
spring-ai 第四多模态API
java·人工智能·spring
她说..4 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
watson_pillow4 小时前
c++ 协程的初步理解
开发语言·c++
庞轩px4 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你915 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
皮皮林5515 小时前
面试官:ZSet 的底层实现是什么?
java
码云数智-大飞5 小时前
C++ RAII机制:资源管理的“自动化”哲学
java·服务器·php
2601_949816585 小时前
Spring+Quartz实现定时任务的配置方法
java
白毛大侠6 小时前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
李昊哲小课6 小时前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl