Java是一种可以跨平台使用的编程语言,就比如说我们在 Windows 下面写出来的一段 Java 程序,换成 Linux,macOS 系统里面,一样可以正常运行并且输出相同的结果。
而这一特性其实是由JVM决定的,因此Java号称“一次编写,到处运行!”。
java编译过程:
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件或集成开发环境在Java源文件中定义不同的类 ,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
这个过程中,我们编写的 Java 程序没有做任何改变,仅仅是通过 JVM 这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。
JVM 是一个“桥梁”,是一个“中间件”,是实现跨平台的关键,Java 代码首先被编译成字节码文件,再由 JVM 将字节码文件翻译成机器语言,从而达到运行 Java 程序的目的。