原文出自SUN网站的官方在线英语文档Java新手编程中心
关于JAVA技术
Java是一个编程语言和一个平台。.
JAVA编程语言
JAVA语言是一种高级语言,具有以下的主要特点::
简单
中立架构
面向对象
可便携(易移植)
分布式
高性能
解释型
多线程
健壮
动态
安全
对于大多数开发语言,你需要编译或解释一个程序来使它在计算机上能够运行。但是JAVA语言和那些需要编译或解释的语言比较起来显得特殊。 通过编译器, 首先能够将程序翻译为一种称为 Java bytecodes的中间语言,一种在JAVA平台上被解释器解释的平台独立代码。解释器来解释计算机上的所有Java bytecode指令. 一旦编译完成,那么在程序每次执行的时候,系统都回发生一次解释过程。 下面这个图演示了该过程:
你可能把Java bytecodes当作是JAVA虚拟机的一种机器代码指令。 每个JAVA解释器,不管是一个开发工具或者是一个运行applet小程序的web浏览器,都是JAVA虚拟机的实现形式。
Java bytecodes 使得"一次编写,随处运行" 这种时髦观点成为可能. 且能够在任何一台运行有JAVA虚拟机的平台上将程序编译为bytecode。bytecodes 能够运行在任何一种JAVA虚拟机形式上. 这就意味着只要你的计算机上安装有JAVA虚拟机, 那么同样的一个JAVA程序可以运行在 Windows 2000系统, Solaris 工作站,或者一个MAC系统上。
Java 平台
一个平台是使程序运行的硬件或者软件环境。我们刚才已经提到了一些比较流行的平台,如Windows 2000, Linux, Solaris和MacOS。大多数平台可以认为是硬件和操作系统的联合体。 Java和其他平台不同,因为它只是一个运行在其他硬件平台基础上的软件平台。
。JAVA平台有两个组件:
JAVA虚拟机(Java VM)
JAVA应用程序接口(Java API)
刚才已经介绍过JAVA虚拟机了, 它是一个JAVA平台的基础,是基于硬件平台的。
Java API 是一些已经编写好的程序组件的集合,它们提供了一些有用的功能, 例如图形用户接口(GUI) 容器。Java API是一些由相关的类和接口组成的库, 这些库称为包。 下一章节“JAVA技术能够做些什么?”将会重点谈谈这些JAVA API包的一些功能和属性。
下面这副图描叙了一个运行在JAVA平台上的程序。 如图所示,JAVA API和虚拟机将程序和硬件平台相隔离。
编译后的代码称为本地代码,被编译的代码是运行在一个特定的硬件平台上的,如windows本地代码等。由于是平台独立的,JAVA平台会比那些运行本地代码的程序要慢一些。 但是,如果JAVA平台有高效的编译器,和谐稳定的解释器,和迅捷的及时bytecode 编译器,那么就能够使JAVA平台的性能和运行本地代码平台的性能相差无几,而不会威胁到JAVA的便携性。
Translated by Willpower,2003.11.14