关于JAVA中字节码文件版本号、产品版本号及开发版本号的关系

目录

关于字节码版本

以二进制打开字节码文件:

如上图中第5-8标识(圈起来的)的即字节码版本号
十六进制: 34

= 十进制: 52

= jdk 8

对应关系清单

Java字节码文件版本号 JDK版本 产品版本号
· 1.0.x Java 1.0.x
45 1.1.x Java 1.1.x
46 1.2.x Java 1.2.x
47 1.3.x Java 1.3.x
48 1.4.x Java Java 2 Platform, Standard Edition (J2SE) 1.4.x
49 5.x Java 2 Platform, Standard Edition (J2SE) 5.0
50 6.x Java 2 Platform, Standard Edition (J2SE) 6.0
51 7.x Java SE 7
52 8.x Java SE 8
53 8.x Java SE 9
54 8.x Java SE 10
55 8.x Java SE 11
56 8.x Java SE 12
57 8.x Java SE 13
58 8.x Java SE 14
59 8.x Java SE 15
60 8.x Java SE 16
61 8.x Java SE 17
62 8.x Java SE 18

关于字节码格式说明的资料

Java SE 15版:
https://docs.oracle.com/en/java/javase/15/docs/specs/class-file-format.html
Java SE 14版:
https://docs.oracle.com/en/java/javase/14/docs/specs/class-file-format.html
Java SE 13版:
https://docs.oracle.com/en/java/javase/13/docs/specs/class-file-format.html
Java SE 12版:
https://docs.oracle.com/en/java/javase/12/docs/specs/class-file-format.html
Java SE 11版:
https://docs.oracle.com/en/java/javase/11/docs/specs/class-file-format.html
Java SE 10版:
https://docs.oracle.com/javase/specs/jvms/se10/html/jvms-4.html
Java SE 9版:
https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html
Java SE 8版:
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html

这些文档提供了Java字节码格式的详细描述,包括字节码文件结构、常量池、指令集、异常处理、调试信息和属性等方面的内容。如果你需要深入了解Java字节码的内部结构和工作原理,这些文档将会非常有用。

关于这些版本号

一种说法1.0没有引入字节码版本号(个人觉得不靠谱),从1.1 开始引入版本号45,之后每各版本标识不同的字节码格式(每个新版本的JDK都引入了一种新的字节码格式),随着版本递增。

关于这个说法,有找到依据的欢迎补充~

相关推荐
KIDULT°4 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
kimnoic4 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
我不是程序员三三4 小时前
透明加密软件偶发解密异常排错实录:文件时能打开时乱码
数据库·域智盾
snhna4 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
天行健,君子而铎5 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
别动我齐刘海5 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
牛战士coding5 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
必须得开心呀5 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
goehou6 小时前
MCP 查数实战:让 LLM 安全地查数据库(只读账号、SQL 校验、参数漂移)
数据库·ai·llm·教程·mcp·function calling
code2cat6 小时前
Java进阶篇之AtomicLongFieldUpdater:把累计额度留在对象字段中
java·cas·并发编程