由Java语言编写的程序经过编译步骤,并不是生成特定平台能够执行的机器码,而是会生成一种与平台无关的字节码文件(即*.class文件),这种字节码文件必须由Java解释器来解释执行。Java程序的执行过程必须经过编译、解释两个步骤。
JVM(即Java Virtual Machine,又叫Java虚拟机),它就是用来解释执行字节码文件的。不同平台上的JVM都是不同的,但它们都向编译器提供了相同的编程接口,编译器只需面向Java虚拟机,生成它所能理解的字节码文件,然后交由虚拟机来解释执行即可。因此JVM是Java程序实现跨平台性的关键。只要在你的平台上能安装相应的虚拟机,在其他平台上编译后的java字节码文件也就可以在你的平台上执行。