代码之家  ›  专栏  ›  技术社区  ›  Seshadri R

为什么两个只在注释上不同的java文件会生成不同的类文件?

  •  3
  • Seshadri R  · 技术社区  · 7 年前

    我有一个文件叫做 一Java语言 只有一行注释。我编译它来生成类文件 一班 并将其重命名为 古老的班 。然后,我打开 一Java语言 ,又引入了五行注释,并再次编译以生成 一班 。两个类文件都有 大小相同 ,但当我在它们上运行diff时,如: diff One.class old.class 我得到了输出:

    Binary files One.class and old.class differ
    

    这是我的 一Java语言 文件:

    // One.java
    class One
    {
        public static void main(String [] args)
        {
            System.out.println("Hello Java world");
        }
    }
    

    这是我的修订版 一Java语言 (附加评论行):

    // One.java
    // One.java
    // One.java
    // One.java
    // One.java
    // One.java
    class One
    {
        public static void main(String [] args)
        {
            System.out.println("Hello Java world");
        }
    }
    

    我在运行High Sierra的iMac上使用Java SE 10。

    1 回复  |  直到 7 年前
        1
  •  6
  •   Elliott Frisch    7 年前

    调试符号;基本上,代码包括行号和其他用于调试的元数据。你可以用 javap -v One.class javap -v old.class

    推荐文章