java虚拟机是执行字节码文件(.class)的虚拟机进程。
java源程序(.java)被编译器编译成------>字节码文件(.class),然后字节码文件,将由java虚拟机,解释成------>机器码(不同平台的机器码不同)。利用机器码执行真正的动作。(只有机器码(二进制数)才是指令的真正执行,汇编、c语言等都是伪指令,最终都会被编译成机器码)
为什么java被称为平台无关的编程语言?
因为不同的平台装有不同的JVM,它们能够将相同的.class文件,解释成不同平台所需要的机器码。正是因为有JVM的存在,java被称为平台无关的编程语言。即java程序不变,换了硬件平台(x86),只需要换java虚拟机JVM即可。这就是跨平台的原理。