2.编译
2025年09月21日
2.编译
计算机真正可以执行的只有机器指令,用计算机高级语言编写的程序必须翻译为机器指令,才能被计算机执行。翻译工作是由已经开发好的编译软件来做的。
当前的软件要在Internet环境下运行,就要具有跨平台的特性,也就是说,我们编写的一个程序在各种不同的计算机平台下都可以正常运行。由于每一种计算机平台运行的机器指令是不同的,所以如果一个程序要在不同的平台下运行,就需要分别翻译为不同的机器指令。而且,有的计算机语言在不同的平台下,编写的源程序本来就是有区别的,这就需要针对不同的平台修改源程序。这些特点都不利于跨平台,不适应当前的互联网应用要求。
Java语言的基本特征是面向Internet,具有跨平台的特点。首先用编译程序(javac.exe)将Java源程序(扩展名为.java)编译为字节码文件(扩展名为.class),但字节码文件并不是机器指令。字节码文件在不同的平台上需要由不同平台上的Java虚拟机(JVM)转换为相应平台的机器指令后才可以被执行,见图1.1.4。所以,Java源程序只需要编写一次,编译一次,就可以在不同的平台上运行,即“一次编写,处处运行”。
图1.1.4 Java的跨平台特性