Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 新线程的类文件和main的类文件是相同的_Java_Multithreading_Instrumentation_.class File - Fatal编程技术网

Java 新线程的类文件和main的类文件是相同的

Java 新线程的类文件和main的类文件是相同的,java,multithreading,instrumentation,.class-file,Java,Multithreading,Instrumentation,.class File,我有一个名为Main.java的程序,如下所示。编译此程序后,将有两个.class文件:Main.class和Main$1.class。我的问题是这两个.class文件完全相同 有人知道怎么回事吗 我想在新线程的run()方法中插入一些代码,但在新线程的run()方法中找不到代码指令 public class Main{ public static void main(String...args){ Thread t=new Thread(){ @Ov

我有一个名为Main.java的程序,如下所示。编译此程序后,将有两个.class文件:Main.class和Main$1.class。我的问题是这两个.class文件完全相同

有人知道怎么回事吗

我想在新线程的run()方法中插入一些代码,但在新线程的run()方法中找不到代码指令

public class Main{
    public static void main(String...args){
         Thread t=new Thread(){
         @Override
             public void run(){
             System.out.println("xxxx");
             }
         };
    t.start();
    }
}

我的钱在你没有正确比较两个类文件上。我敢打赌,在类似bash的提示符中,您正在编写类似这样的内容:

md5sum Main.class Main$1.class
(或一些校验和工具,而不是
md5sum

这实际上是在替换字符串中名为
1
的变量-除非定义了该变量,否则该变量为空,因此扩展为:

md5sum Main.class Main.class
将显示为相同的文件内容

尝试单引号引用第二个字符串:

md5sum Main.class 'Main$1.class'

我的钱落在你身上,你不能正确比较两个班级的档案。不知道你在问什么。这两个类文件相同是什么意思?他们不能。一个是对外公开的主类;另一个用于内部匿名类。两件完全不同的事情!请详细说明您的问题。请详细说明您是如何进行比较的。