我有一个名为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自行检查它