一、背景
经常听到Java是跨平台语言,或者平台无关性,到底是什么意思。
二、解释
首先要理解Java语言执行的整个过程。(1)我们在IDE中编写的以.java为后缀的文件,称为源代码(source code),(2)它肯定无法被我们的硬件直接识别,它需要先被编译为字节码文件(byte code),这个过程由javac这个可执行程序(前端编译器)来完成;(3)然后字节码文件交由虚拟机解释为机器码;(4)每个平台(操作系统的机器码肯定不一样),所以我们在下载JDK时,需要下载我们自己使用的操作系统对应的版本。
Java之所以被称为跨平台语言,正是因为同样的源代码(或者编译后的字节码)在不同的平台下,在各自的JVM内,会被解释为所在平台相对应的机器码而执行。适应不同平台的工作,JVM已经帮我们完成了,因此在编写Java代码的层面,我们无需做额外的工作。这也是我们经常听到的“write once, run anywhere”。





