gpt4 book ai didi

java - 使用不同的 JDK 编译相同的代码会产生相同的字节码吗?

转载 作者:搜寻专家 更新时间:2023-10-31 19:34:34 26 4
gpt4 key购买 nike

同一个java文件用不同的Java编译器编译出来的字节码会不会一样?未对源 Java 文件进行任何更改。

最佳答案

Will the byte code be the same if the same java file is compiled on different JVMs? No changes are done to the Source Java File.

您的意思并不完全清楚,但答案很可能是“否”。

  • 不同的 JDK 会有不同的 Java 编译器,它们可能会为相同的源代码发出不同的字节码。 javac 编译器随着时间的推移而发展。

  • Java 的不同主要版本通常会发出符合不同版本的类文件规范的类文件。

  • 即使您将自己限制在一个 JDK 安装上,对同一个源文件运行两次编译器也会产生不同的 .class 文件。 (类文件包含编译时间戳...)

如果您在比较中忽略编译时间戳和(可能)其他元数据,那么答案可能是"is"的唯一方法是,您为相同的目标版本发出字节码,并且 JDK 版本足够接近Java 编译器字节码生成在版本之间没有变化。

关于java - 使用不同的 JDK 编译相同的代码会产生相同的字节码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10443788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com