其实一不一样的,它们包含的范围不同,简单地说字节码包含.class文件,.class文件只是字节码文件的一种类型。
我个人的理解是这样的:
字节码 只是一种介于机器语言与汇编语言之间的中间码,所以字节码文件也可以叫做一种包含执行程序、由一序列
代码/数据对组成的二进制文件。他比机器码更抽象,更像一个对象模型。
.class文件全名称为Java class文件,她是由Java中的编译器把Java源文件翻译成字节码而形成的文件,
而这种字节码就是Java虚拟机认识的“机器语言”。
而且这些class文件在本地不能独立执行。想要运行Java程序(class文件) ,
必须要先运行JVM,然后在把Java class加载到JVM里头才能正常运行。
这就为Java程序提供独立于底层主机平台的二进制形式的服务,所以java语言也就有了平台无关性。 |