更新时间:2023-12-07 来源:黑马程序员 浏览量:
使用Java语言进行程序设计时,不仅要了解Java语言的特点,还需要了解Java程序的运行机制。Java程序运行时,必须经过编译和运行两个步骤。首先对后缀名为.java的源文件进行编译,生成后缀名为.class的字节码文件。然后java虚拟机对字节码文件进行解释执行,并将结果显示出来。
为了让初学者能更好地理解Java程序的运行过程,下面以文件1-1为例,对Java程序的编译运行过程进行详细分析,具体步骤如下。
(1)编写Hello World.java文件。
(2)使用“javac Hello World.java”命令打开Java编译器,编译HelloWorld.java文件。编译结束后,会自动生成一个名为HelloWorld.class的字节码文件。
(3)使用“java HelloWorld”命令启动Java虚拟机运行,Java虚拟机首先将编译好的字节码文件加载到内存,这个过程称为类加载,由类加载器完成。然后Java虚拟机针对加载到内存中的Java类进行解释执行,输出运行结果。
通过上面的分析不难发现,Java程序是由虚拟机负责解释执行的,而并非操作系统。这样做的好处是可以实现Java程序的跨平台,即在不同的操作系统上可以运行相同的Java程序,不同操作系统只需要安装不同版本的Java虚拟机即可。不同操作系统安装不同版本Java虚拟机的示意如图1-25所示。
图1-25 不同操作系统安装不同版本的Java虚拟机
Java程序的跨平台特性有效地解决了程序设计语言在不同操作系统编译时产生不同机器代码问题,极大地降低了程序开发和维护的成本。需要注意的是,Java程序通过Java虚拟机可以实现跨平台特性,但Java虚拟机并不是跨平台的。也就是说,不同操作系统上的Java虚拟机是不同的,即Windows平台上的Java虚拟机不能用在Linux平台上,反之亦然。