Java程序运行时,必须经过编译和运行两个步骤。
首先将后缀名为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。具体过程如下图所示。
Java程序的运行过程详细解释
Java程序是由虚拟机负责解释执行的,而并非操作系统。通过JVM屏蔽不同操作系统的差异性,实现了java语言的跨平台性,如下图所示:
从上图可以看出,不同的操作系统需要使用到不同版本的JVM,这使得Java语言具有"一次编写,到处运行(Write one , run anywhere)"的特点,有效地解释了程序设计语言在不同操作系统编译时产生不同机器代码的问题,大大降低了程序开发和维护的成本。
需要注意的是,Java程序通过Java虚拟机可以达到跨平台特性,但Java虚拟机并不是跨平台的,也就是说,不同操作系统上的Java虚拟机是不同的,即Windows平台上的Java虚拟机不能使用在Linux平台上,反之亦然。