这本书的第七章呢主要讲程序是在何种环境中运行的。运行环境=操作系统+硬件。程序中包含着运行环境这一内容。大家手头若是有购买的应用软件的话,可以稍微观察一下它的安装包或者目录。通常在某个位置会写有“运行环境”这一项。例如,2007Microsoft Office System(下文简称为Office2007)需要的运行环境。在表示程序的运行环境时,列出了Operating System(操作系统)和计算机的主机(硬件)两项,大家可以知道运行环境是这两者的综合。也就是说,操作系统和硬件决定了程序的运行环境。从程序的运行环境这一角度来考量硬件时,CPU的种类是特别重要的参数。
CPU 只能解释其自身固有的机器语言。不同的CPU能解释的机器语言的种类也是不同的。机器语言的程序称为本地代码(native code)。程序员用C语言等编写的程序,在编写阶段仅仅是文本文件。文本文件(排除文字编码的问题)在任何环境下都能显示和编辑。我们称之为源代码。除虚拟机的方法之外,还有一种方法能够提供不依赖于特定硬件及操作系统的程序运行环境,那就是Java。大家说的Java,有两个层面的意思。一个是作为编程语言的Java,另一个是作为程序运行环境的Java。同其他编程语言相同,Java也是将Java语法记述的源代码编译后运行。不过,编译后生成的并不是特定CPU使用的本地代码,而是名为字节代码的程序。字节代码的运行环境就称为Java 虚拟机(JavaVM,Java Virtual Machine)。Java 虚拟机是一边把Java字节代码逐一转换成本地代码一边运行的。