【问题标题】:Compilation of same Java Files编译相同的 Java 文件
【发布时间】:2018-06-05 03:08:48
【问题描述】:

可以从不同的系统编译 2 个相同的 java 文件,但它们都具有相同的 操作系统(Windows 7),会生成不同的.class文件(大小)?

【问题讨论】:

  • 是的,这取决于JVM版本,根据JVM会生成不同的字节码,IDE也会生成不同的。
  • 我相信它实际上是依赖于JDK,而不是JVM。
  • 不同的 JDK 版本会产生大小略有不同的类文件。
  • 如果两个java文件相同,大小不同会影响功能吗?
  • 即使在同一台机器上用同一个 JDK 编译同一个源文件也可能产生不同的类文件,这取决于编译器是如何实现的。有很多东西不会影响类的语义。

标签: java compilation jvm


【解决方案1】:

是的,您可以检查是否有不同版本的 JDK(Java 开发工具包)用于编译您的代码和 .class 文件版本(与 java 版本不同)

您可以使用 javap 实用程序检查差异:

javap -verbose path/to/ClassFile.class

并比较每个类的输出

【讨论】:

    猜你喜欢
    • 2016-01-28
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多