compiler-construction - 不同的 JDK 更新会产生不同的 Java 字节码吗?

标签 compiler-construction compilation java

假设场景:

我有一个项目,其源代码合规性级别指定为 1.5。 现在,我使用两个不同的 JDK 编译该项目:首先使用 JDK 6 Update 7,然后使用 JDK 6 Update 20。

这两个不同的 JDK 是否会产生不同的 Java 字节码,尽管它们只是更新版本不同?

最佳答案

生成的代码通常只在编译器错误修复时有所不同。

但是,JLS 指定从源代码到生成的字节码的 1:1 映射,因此您不应依赖生成的完全相同的字节码。

关于compiler-construction - 不同的 JDK 更新会产生不同的 Java 字节码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3012978/

相关文章:

c - 如何在 Bison 中解析 HEX 数字

java - 在测试中排除一些bean

c - 任何将 'char' 作为 'unsigned' 的编译器?

c - 特殊函数 _init 和 _fini 的段错误

linux - 我在这个 lex 程序中遇到无法识别的规则错误

C++ 模板函数无法将 'std:string' 转换为 'double' 作为返回

java - 关于 Java 语句的解释

java - chroot后如何调用execl(java程序)?

c - 这些行汇编代码的目的是什么?

C# 逻辑顺序和编译器行为