查看“查看 Java .class 文件版本”的源代码
←
查看 Java .class 文件版本
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
https://www.baeldung.com/java-find-class-version 编译 Java 文件时,会生成一个 .class 文件。 在某些情况下,我们需要找到编译后的类文件的 Java 发布版本。 每个 Java 主要版本为其生成的 .class 文件分配一个主要版本。 在此表中,我们将 .class 的主版本号映射到引入该类版本的 JDK 版本,并显示该版本号的十六进制表示形式: {| class="wikitable" !Java Release !Class Major Version !Hex |- |Java SE 18 |62 |003e |- |Java SE 17 |61 |003d |- |Java SE 16 |60 |003c |- |Java SE 15 |59 |003b |- |Java SE 14 |58 |003a |- |Java SE 13 |57 |0039 |- |Java SE 12 |56 |0038 |- |Java SE 11 |55 |0037 |- |Java SE 10 |54 |0036 |- |Java SE 9 |53 |0035 |- |Java SE 8 |52 |0034 |- |Java SE 7 |51 |0033 |- |Java SE 6 |50 |0032 |- |Java SE 5 |49 |0031 |- |JDK 1.4 |48 |0030 |- |JDK 1.3 |47 |002f |- |JDK 1.2 |46 |002e |- |JDK 1.1 |45 |002d |} === 使用 javap 查看 .class 文件的版本 === 比如使用 Java SE 8 编译 Sample.java 后得到的 Sample.class 文件, 用 javap 命令查看 Sample.class <syntaxhighlight lang="powershell"> C:\Users\Administrator\IdeaProjects\test-springboot\target\classes\org\example>javap -verbose Sample 警告: 二进制文件Sample包含org.example.Sample Classfile /C:/Users/Administrator/IdeaProjects/test-springboot/target/classes/org/example/Sample.class Last modified 2023-2-1; size 582 bytes MD5 checksum 43f97b7f92af266d68d897e33e0481cf Compiled from "Sample.java" public class org.example.Sample minor version: 0 major version: 52 flags: ACC_PUBLIC, ACC_SUPER Constant pool: …… </syntaxhighlight>其中 “major version: 52”对应上表就是 Java SE 8 请务必注意,此版本值并不表示该应用程序是使用相应的 JDK 构建的。 类文件版本可以与用于编译的 JDK 不同。 例如,如果我们使用 JDK11 构建代码,它应该生成版本为 55 的 .class 文件。 但是,如果我们在编译期间传递 “-target 8”,则对 .class 文件使用 javap 查看显示为“major version:52”。 === Linux 中查看 === 可以使用命令<syntaxhighlight lang="powershell"> javap -verbose Sample | grep major </syntaxhighlight> === windows 中 === <syntaxhighlight lang="powershell"> javap -verbose Sample|findstr major </syntaxhighlight> === 查看 .class 文件十六进制编码 === 因为 .class 文件遵循一个标准:https://en.wikipedia.org/wiki/Java_class_file 文件开头的几个字节由魔数、minor version 和 major 组成,所以也可以通过查看 .class 文件十六进制编码值的方式查看 .class 文件版本。 使用“Notepad++”,安装“HEX-Editor”插件之后查看 Sample.class 文件: [[文件:查看 .class 文件十六进制编码1.png|无|缩略图|594x594像素]]因为是十六机制编码:0034 = 3*16+4=48+4=52
返回至
查看 Java .class 文件版本
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息