Java开发之道
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第3篇 技术细节——修炼编程内功心法

深入论述语言的核心技术

详细讲解高级应用技术

透彻解析其他技术细节

第5章 Java语言基础细节47例

学习任何一种编程语言,都要对编程语言的相关知识有所了解,这样才能开发出健壮的软件。

这些语言知识对于开发者来说是非常有用的,本章将对那些在开发中经常使用,而且又有一定难度的语言基础细节进行讲解,希望通过本章的学习,编程人员能够真正掌握Java语言的一些基础细节,并为以后的开发之路扫清障碍。

细节1 意义深远——Java程序的运行机制

在学习一门程序设计语言时,首先需要了解这门语言的运行机制,高级编程语言按程序的运行方式可以分为两种,即编译型和解释型。

· 编译型语言

编译型语言使用专门的编译器,将源代码一次性编译成针对特定平台的机器码,如C、C++等语言就属于编译型语言。编译型语言经过编译之后生成的机器码文件,可以脱离开发环境在特定平台上独立运行,其执行效率高,但是由于编译型语言是针对特定平台进行编译的,所以不利于程序的移植。

· 解释型语言

解释型语言使用专门的解释器,并对源代码进行逐行解释,解释一行执行一行,并且每次执行解释型语言时,都要重新进行逐行解释,因此其执行效率较低,但是可以方便地将其移植到安装有解释器的特定平台上执行。

在高级语言中,Java则是一种比较特殊的语言,它既是编译型语言,又是解释型语言,因为使用Java语言编程的源程序,首先要通过编译器编译生成与平台无关的字节码文件,字节码文件的扩展名是.class,然后要通过解释器将字节码文件解释为特定平台的机器码在计算机上运行,Java程序的运行机制如图5.1所示。

图5.1 Java程序的运行机制

说明

从图5.1中可以看出,使用Java编写的源程序,通过编译器编译后,生成与平台无关的字节码文件,然后通过解释器将字节码文件解释为特定平台的机器码,在计算机上运行,这就是Java程序的运行机制。

注意

字节码文件是与平台无关的,可以将其移植到任何平台上运行,而不需要再对Java源程序进行重新编译,这是由于字节码文件是运行在Java虚拟机上的,而Java虚拟机又为不同的系统平台都提供了相同的接口,因此,只要是安装有Java虚拟机的系统平台,都可以对字节码文件进行解释执行。