为什么两个仅在注释中不同的java文件会产生不同的类文件?

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

Binary files One.class and old.class differ

这是我的One.java文件

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

这是我修改过的One.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.

解决方法

调试符号;基本上代码包括行号和其他用于调试的元数据.您可以使用javap -v One.class和javap -v old.class自行检查它

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...