所有的 java 程序文件的后缀是 *.java, 而任何一个 *.java 程序首先必须经过编译, 编译之后会形成一个 *.class(字节码文件), 而后在计算器上执行, 但是解释程序的计算器并不是一台真正意义上的计算器, 而是一台由软件和硬件模拟出来的计算机 ---java 虚拟机 (java Virtual Machine,JVM)
在 java 中所有的程序都是在 JVM 上运行的. java 虚拟机读取并处理经过编译的与平台无关的字节码 *.class 文件, java 解释器负责将 java 虚拟机的代码在特定的平台上运行. 所有要解释的程序都要在 JVM 上执行, 并且由不同版本的 JVM 匹配不同的操作系统, 这样只要 JVM 的支持不变, 程序就可以任意地在不同的操作系统上运行
来源: http://www.bubuko.com/infodetail-2793972.html