Java的编译只会生成字节码文件,而不会生成汇编(更不会到机器语言)。Java程序运行时,字节码文件会装载入java虚拟机,虚拟机实时将字节码“翻译”成机器指令来运行 在计算机里我可以称任何文件为“二进制文件”,因为所有数据本质都是二进制存储的。但是java生成的字节码文件并不是“可执行二进制文件”,只是对java代码的简单翻译(比如把一些变量名用代号来代替),CPU不能直接执行。