关于Java技术的讨论似乎随处可见,但是Java到底是什么呢?下列部分阐述了Java技术为什么既是一门编程语言又是一个编程平台,并概述Java可以完成的工作。
关于Java技术
Java既是语言,也是平台。
Java编程语言
Java编程语言是一门高级语言,其特征可用下列流行语来描述:
简单 面向对象 分布式 多线程 动态
架构中立性 可移植 高性能 可靠 安全
上述流行语在詹姆斯·高斯林和亨利·麦基尔顿合著的白皮书《Java语言环境》中均有解释。
在Java编程语言中,所有源代码都是首先在普通的文本文件中编写,后缀是.java扩展名。然后这些代码文件由javac编译器编译成.class文件。.class文件不含本地处理器中的代码,而是字节码——Java虚拟机(Java VM)的机器语言。随后,java启动器的工具用Java虚拟机的实例(instance)来运行你的程序。
软件开发处理过程概览。
Java VM可用于多种操作系统,相同的.class文件可以在微软视窗、Solaris™ 操作系统 (Solaris OS)、Linux及Mac OS等系统中运行。像Java SE HotSpot at a Glance这样的虚拟机在运行时,可执行额外步骤实现程序的性能提升。其中包括各种任务,比如发现性能瓶颈及(对本地代码)重新编译代码中频繁使用的代码段。
相同代码通过Java虚拟机可在多种平台上运行。
Java平台
平台是指程序运行的硬件或软件环境,我们已经提到了Microsoft Windows, Linux, Solaris OS, and Mac OS等一些最受欢迎的平台。大多数平台可描述为操作系统与底层硬件的结合体。与大多数平台不同的是,Java平台只有在以硬件为基础的平台上运行的软件。
Java平台有两个组件:
·Java虚拟机
·Java应用程序界面(API)
我们已经介绍了Java虚拟机。Java虚拟机是Java平台的基础,可移植到各种硬件平台中。
API是集成了大量现成的软件组件,这些组件有许多实用功能。API将相关的类和接口集合到库中,这些库也称为包。下一节,“Java能做什么”中,着重介绍API的一些功能。
API和Java虚拟机将程序与底层硬件隔离。
作为一个不依赖平台的环境,Java平台可能会比本地代码稍慢。然而,编译器和虚拟机技术的进步,在不影响可移植性的同时,也在使性能逐渐接近本地代码。