Java虚拟机规范的最新版本在哪里可以找到?

7
似乎获取Java虚拟机规范的Java 6版本的唯一方法是获取第二版,合并现有更改,然后添加实际上不再是建议性的Java 6建议更改
真的吗?
这引出了两个问题:
1.那就是所有的增量吗? 2.为什么没有官方的当前版本?
任何人知道我是否缺少任何东西来结束吗?

我之前在这里发布了答案:http://www.jroller.com/andyl/entry/updated_jvm_specs_for_java - Andrey Loskutov
@Andrey:你可以轻松地在这里发布那篇文章的要点,而不是链接它... - Shog9
在 Sun 控制时期,他们利用获取最新文档的方式来控制替代 JVM 开发者。我只能相信自从 Oracle 接管以来情况变得更糟了。 - Hot Licks
1
Java 5和Java 6是唯一存在此类规范问题的版本,而且在Oracle接管之前就已经有人提出了这个问题。自那时以来,一切都恢复正常了。请参阅https://docs.oracle.com/javase/specs/index.html,其中包含自那时以来发布的所有规范,全部按时发布。不需要阴谋论... - Holger
2个回答

5

这就是全部的差异吗?

是的,你链接的文档是当前JVM规范最新信息的来源。

为什么没有官方的当前版本?

这只是一个猜测,但我认为这是因为“JCP有超过1200个公司和个人参与者。” 太多的厨师。

另一种可能性是,在Java 7即将发布之际,他们正在等待发布新的JVM规范。


1

随着Java 7的发布,这个问题已经得到解决。Java 7文档包含一个规范侧边栏链接(看到了吗?),该链接指向两个新的PDF文件(JLSJVMS)。

正如@Andrey Loskutov在与此问题相关的评论中提到的博客文章中所指出的那样,JSR-000336 Java SE 7 Release Contents Final Release Specification包含一个附录,其中有各种版本的这些工件和一些周围的措辞,包括以下文本:

Java虚拟机最后一个自包含的规范是1999年的第二版。2004年,Java SE 5.0的JSR对它进行了影响。例如,JSR 14对ClassFile章节进行了深刻修订。尽管没有发布集成文档,但是Java虚拟机的规范在2004年被正式更新了。当时,在各个章节中标识了1999年至2004年之间的更改,现在不再可能确定专门为Java SE 5.0所做的更改。

然后,2004年的规范又受到了Java SE 6的JSR的影响。例如,JSR 202对链接章节进行了深入修订。同样,虽然没有发布集成文档,但Java虚拟机的规范在2006年被正式更新了。在当时的各个章节中标识了2004年至2006年之间的更改,现在不再可能确定专门为Java SE 6所做的更改。

为什么Sun/Oracle要把查找他们的文档变成研究项目,这是另一个论坛需要讨论的问题。然而,值得一提的是,他们零散的文档方法以及任何东西都没有相互关联使得处理Java比应该更加困难。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接