Java程序的运行过程,以及Java为什么能够跨平台
Java程序运行机制
Java的运行主要分两步:先编译再解释执行
(1)先通过“编译器”将Java源程序(.java)编译成Java字节码文件(.class)
(2)通过不同的虚拟机(JVM)将字节码文件解释为机器语言并执行
Java跨平台原理
JVM 把这种不同软、硬件平台的具体差别隐藏起来,从而实现了真正的二进制代码级的跨平台移植. JVM 是 Java 平台架构的基础,Java 的跨平台特性正是通过在 JVM 中运行 Java 程序实现的。
因为程序都需要编译生成字节码文件(.class),而字节码文件生成后是结构中立的中间文件格式,即可看作是无关于源文件(.java)也无关于虚拟机(JVM)的文件,这样在不同机器上执行同一份.class文件他们的执行结果也相同。
注:Java 程序通过 JVM 可以实现跨平台特性,但 JVM 是不跨平台的。也就是说,不同操作系统之上的 JVM 是不同的,Windows 平台之上的 JVM 不能用在 Linux 平台,反之亦然。