Java程序的运行机制

使用Java语言进行程序设计时,不仅要了解Java语言的显著特点,还需要了解Java程序的运行机制。Java程序员运行时,必须经过编译和运行两个步骤。首先将后缀为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。

Java程序的运行机制

为了让初学者更好地理解Java程序的运行过程,接下来以1.3小节中的例1-1为例,进行详细的分析,具体步骤如下:

1、编写一个HelloWorld.java的文件

2、使用“Javac HelloWorld.java”命令开启Java编译器并进行编译。编译结束后,会自动生成一个Hello World.class的字节码文件。

3、使用“Java Hello World”命令启动Java虚拟机运行程序,Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机针对加载到内存中的Java类进行解释执行,便可看到运行结果。

通过上面的分析不难发现,Java程序是由虚拟机负责解释执行的,而并非操作系统。这样做的好处是可以实现跨平台性,也就是针对不同的操作系统可以编写相同的程序,只需安装不同版本的虚拟机即可,如图所示。

Java程序的运行机制

从图可以看出,不同的操作系统需要使用不同版本的虚拟机,这种方式使得JAVA语言具有“一次编写,到处运行”的特性,有效地解决了程序设计语言在不同操作系统编译时产生不同机器代码的问题,大大降低了程序开发和维护的成本。

 

需要注意的是,Java程序通过Java虚拟机可以达到跨平台特性,但Java虚拟机并不是跨平台的。也就是说,不同操作系统上的Java虚拟机是不同的,即Windows平台上的Java虚拟机不能用在Linux平台上,反之亦然