6

这个问题与这里讨论的另一个主题有关:
Java 字节码是否与不同版本的 Java 兼容?
但在这种情况下,想知道是否在同一版本中但在不同的更新中保留了兼容性。
例如,1.6.0_14 版本的编译器生成的字节码是否与 1.6.0 的 JVM 兼容?代码运行愉快,但我不知道是否有任何可能意外出现的问题。

问候。

4

3 回答 3

7

是的。字节码只改变主要的¹点版本。更新 (_XX) 版本是基于 API 和工具的错误修复、性能提升和对非标准命令开关的更改。更新版本不会破坏 API 或更改类文件版本。

1) Suns 版本号系统的 Bah。

于 2009-09-25T08:47:23.200 回答
5

文件格式有一个版本号正是为了解决这个问题。如果在同一版本中有重大更改,我希望类文件格式编号也会增加(可能是目前尚未使用的次要版本),从而使较旧的 JVM 立即拒绝类文件UnsupportedClassVersionError

于 2009-09-25T08:51:11.523 回答
4

是的,它应该是二进制兼容的,除了本文档中列出的一些极端情况。

于 2009-09-25T08:50:57.123 回答