当前位置: 首页 > 知识库问答 >
问题:

为什么Java类文件版本从45开始?

尹欣怿
2023-03-14

根据JVM规范:

JDK 1.0.2版中Oracle的Java虚拟机实现支持类文件格式版本45.0到45.3。JDK 1.1版。*支持45.0到45.65535(含)范围内的类文件格式版本。为了k≥ 2、JDK第1版。k支持45.0到44 k.0(含)范围内的类文件格式版本。

https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html

我想知道,为什么他们从45开始版本控制,而不是从1或0开始?

共有1个答案

滕无尘
2023-03-14

为什么Java类文件版本从45开始?

在第一个公开发布的版本(Java 1.0.2)之前就有Java版本。

Java最初是在1991年作为Oak编程语言出现的。1994年更名为Java,1996年首次公开发布。

可以肯定的是,低于45的类文件版本用于Java的早期(预发布)版本,可能还有橡树。在早期,开发人员可能对字节码指令集和类文件格式的其他方面进行了大量更改。这需要定期“撞击”类文件版本号。

以上主要是猜测。关于Oak和1.0之前的Java,公开信息非常少。然而,1993年的Oak规范文本表明,他们已经在将Oak源代码编译成字节码,字节码存储在“.class”文件中,每个类一个。

 类似资料:
  • 问题内容: 我已经使用谷歌搜索了很久了,但是没有结果。该PyInstaller手册说: 听起来很棒。我想将版本信息放入可执行文件中。问题是我不知道“版本文件”的外观,也找不到我可以使用的单个示例。我认为将版本文件的示例作为对此问题的可接受答案。 我尝试过的 该手册还说: 仅Windows NT家族 版本 。版本=’myversion.txt’。使用GrabVersion.py从可执行文件中窃取版本

  • java类文件中的次要版本有什么用途?它真的用到现在了吗?https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html

  • 这个问题和这个问题很相似,除了环境和我得到这个错误的方式。我也试过答案中提供的解决方案,但没有运气。 我正在使用Eclipse在Computer1上开发一个Spring Boot应用程序。Computer1和Eclipse上的JDK/JRE版本是JDK13.0.1。 现在,我使用eclipse mvn install创建了一个fat-JAR,并将fat-JAR复制到Computer2。当我在Com

  • 我不知道这是什么错误: 05/19 15:21:12:在LGE(我的手机)上启动“应用程序”。

  • 这个问题与这个问题非常相似,除了环境和我得到这个错误的方式。我也尝试了答案中提供的解决方案,但没有运气。 我正在使用Eclipse在Computer1上开发Spring Boot应用程序。Computer1和Eclipse上的JDK/JRE版本是JDK 13.0.1。 现在,我使用eclipse mvn install创建了一个Fat-JAR并将Fat-JAR复制到Computer2。当我在Com

  • 问题内容: 我注意到有些网站(尤其是版本号)放在CSS文件路径中。例如: 放入版本号的主要目的是什么?如果目的是记住上一次更新CSS文件的时间,那么是否不应该将版本号添加为CSS文件中的注释? 问题答案: 从HTML5样板文件]: 什么是?v = 1“’?v = 1’是具有Cachebusting功能的JavaScript / CSS版本控制 为什么需要缓存JavaScript CSS?网页设计越