平博(中国)PINNACLE·官方网站

无标题平博文档|平博
平博

平博咨询热线

18950259620

Classification

新闻动态

18950259620
传真:18950259620
手机:18950259620
邮箱:620@qq.com
地址:福建省福州市鼓楼区洪山镇首凤路1号2#楼113室
当前位置: 首页 > 新闻动态 > 行业资讯

无标题平博文档

发布时间:2024-07-05 14:22:52 丨 浏览次数:823

  利用高级编程语言书写的程序虽然可以方便程序员理解和掌握,但是却不能在计算机上直接运行,所以高级语言程序运行之前,首先要把它翻译成机器可以理解和执行的指令代码,这个过程称为编译。

  对于不同类型的高级语言,其编译过程的任务和作用也有所不同。编译型的高级语言,如 C 、 C++ 、 FORTRAN 等,其程序编译的结果是直接生成后缀为 EXE 的可执行文件。这种可执行文件可以直接独立地在操作系统平台上运行,不再需要其他的系统软件。但同时它对整个操作系统,乃至计算机硬件的依赖性都较强,在一台机器上编译生成的 EXE 文件到了另一台机器上可能就无法正常运行。这种现象我们称之为可移植性差,它阻碍了程序的广泛应用,尤其是在网络上的应用。我们知道,计算机网络是由不同软硬件平台的机器连接组成的,所以网络上的应用应该能在所有这些平台上都顺利地运行,即应该有很好的跨平台的可移植性。对于编译型高级语言的程序来说,这是较困难的。

  另一种类型的高级语言称为解释型高级语言。解释型的高级语言,如 BASIC ,一般不需要经过编译这个过程,它的源程序由操作系统平台之上的一个称为解释器的系统软件逐句地解释成操作系统可接受的指令,解释一句,运行一句,直至程序结束。 Java 就属于解释型的高级语言,负责解释、运行 Java 程序的系统软件称为 Java 解释器。与传统的解释型高级语言不同的是, Java 的源程序不是直接交给解释器解释,而是先经过一个与编译型语言相似的编译过程,把 Java 源程序翻译成一种特定的二进制字节码文件,再把这个字节码文件交给 Java 解释器来解释执行。

  显然,在这种情况下,只要在不同软硬件平台的机器上配备适合这种机器的 Java 解释器,就可以把平台间的差异性隐藏起来,就像裸机经过操作系统的包裹可以屏蔽其硬件差异一样,操作系统经 Java 解释器的包裹也可以屏蔽其软件差异性,使之对所有的 Java 程序呈现解释器这样一个统一的界面,这个界面之下由解释器包裹起来的完整的软硬件平台则称为 Java 虚拟机(如图 1.4 所示)。 Java 虚拟机就是 Java 成为网络应用首选语言的秘密所在。当 Java 的字节码程序在网络上的不同机器上运行时,它接触到的是完全相同的解释器,从而避免了为不同的平台开发不同版本的应用程序,软件的升级和维护工作也大大简化。

无标题平博文档(图1)

  Java 语言之所以引入编译这个步骤,主要有两个原因:一是保证程序的语法正确性,二是通过编译引入 Java 类库中已编写好的模块。

  我们知道广源程序在书写时应该遵循高级语言的固定语法规则,编译时编译软件将检查 Java 源程序是否有语法错误,如果发现错误则编译失败,并报告所发现的错误以便更正:只有编译中未发现错误的源程序才能在编译之后成功地生成字节码文件。如果不经编译软件的检查而直接运行源程序,则可能产生不可以预料的运行中断或错误结果,尤其是规模大的软件,编译检查的步骤更不可少。

  前面我们曾指出, Java 类库是 Java 语言的重要组成部分,它是一组由其他开发人员或软件供应商编写好的Java程序模块,每个模块通常对应一种特定的基本功能和任务,这样当我们自己编写的 Java 程序需要完成其中某一功能的时候,就可以直接利用这些现成的类库,而不需要一切从头编写。那么类库中的模块具体如何引入到我们自己的 Java 程序中呢?考查例1.1中的第一个语句:

  该语句的作用就是把类库中的所有以,Java.io开头的模块(统称为 Java.io包)及其全部程序引入到本程序中来。Java的类库中有若干个包,每个包里有若干个模块,每个模块实际上就是一个类的定义,类库中的程序都是字节码形式的程序。利用import语句将一个模块引入到程序里,就相当于在编译过程中将该模块的字节码加入到我们自己的Java程序中,这样我们自己的Java程序就可以使用该模块定义的类及其中的各种功能。在例1.1中,System.out对应系统标准输出的系统量,它是 Java.io 包中一个名为OutputStream的类的对象,System.out.println()的作用就是调用System.out所拥有的 println() 方法向屏幕输出一行字符并回车,这行字符就是 println() 方法括号里用双引号括起的字符串。

  执行编译的步骤就是运行Java的编译器系统软件,这个软件可以从Sun公司的站点上方便地下载,名为,javac.exe。例如下面的语句将编译MyFirstJavaProgram.Java程序。如果编译成功,则生成以类命名,以 class 为后缀的字节码文件;如果编译失败,则报告并在屏幕上显示错误。

  (3)编译成功的结果将是一个或多个字节码文件,每个字节码文件对应源程序中定义的一个类,该文件的名字就是它所对应的类的名字,并以.class为统一的后缀名。平博 平博PINNACLE 体育平博 平博PINNACLE 体育

Copyright © 2018-2023 平博PINNACLE集团有限公司 版权所有
电 话:18950259620    手 机:18950259620   传 真:18950259620    E-mail:620@qq.com
地 址:福建省福州市鼓楼区洪山镇首凤路1号2#楼113室
闽ICP备19017801号-1

扫一扫关注微信公众帐号

免费咨询 投诉建议