Java语言白皮书

您所在的位置:网站首页 tron白皮书 Java语言白皮书

Java语言白皮书

2023-09-07 14:32| 来源: 网络整理| 查看: 265

Java程序语言和环境的设计目的是为了解决现代

程序设计上的问题。它最初是一项较大规模『消

费者电子产品先进软件发展专案』的一部份,该

专案目的是为了发展小型、可靠、可移植、分布

式、实时的嵌入式系统。我们在专案一开始原决

定采用C++,不过碰到一些问题。最初,那只

是编译器技术方面的问题,可是后来我们遭遇更

多困难,且发现最好的解决方式就是更换编程语

言。

 

Java

 

Java是一种简单、面向对象、分布式、解释、健

壮、安全、结构中立、可移植、高效能、多线程

、动态的语言。

 

描述系统特性的方法之一就是把一堆高效能的术

语摆在一起。一如上述,我们也使用一组标准的

术语来描述Java。以下我们将解释这些术语在

Java上代表的意义,以及我们试图解决的问题是

哪些。

 

『首先,我们要介绍阿基米得公司(Archimedes

Inc.);它是我们为了方便说明Java功能而虚构的

一家软件公司。阿基米得从事有关基本物理教学

用途的软件开发,其软体设计目的是要与使用者

产生交互关系,不仅提供一如传统教科书的文字

与插图,而且也包括一组软件实验工作室,供使

用者进行实验和模拟真实世界的物理行为。例

如,它最基本的一项实验允许学生组成杠杆和滑

轮,然后观察它们的物理作用。在以下的论述

中,我们将借由这些实验和阿基米得设计师的旁

白,以说明Java语言概念。』

 

简单

 

我们想建立一种真正简单的系统,它允许使用者

轻易地设计程序而不需要像现今的标准程序一样

接受深奥的训练。目前大多数程序设计师都采用

C语言,而面向对象程序设计师则大多使用C++。

因此,即使我们发现C++并非适合我们,我

们在Java的设计上还是尽可能让它与C++相近,

以确保系统更容易被理解。

 

Java删除许多极少被使用、不容易理解和令人混淆

的C++功能,这些功能在我们的使用经验中只能

带来麻烦而非效益。删除的功能主要包括运算符

重载(operator overloading)、多重继承(inheritance)

以及广泛的自动强迫同型(automatic coercions);

重载是指以一个辨识元参照多重项目,Java语言

也提供重载函数,不过它重载的对象是方法(method)而

非变量或运算符。

 

我们增加自动内存垃圾收集(auto garbage collection)

功能,因此简化Java程序工作,不过同时也让系统变得稍复

杂一些。储存管理(storage management)是使C与C++

应用程序变得复杂的常见的一项原因,即关于内存的

分配与释放。Java语言的自动垃圾收集功能(周期性地

释放未被使用的内存)不仅简化了程序设计工作,而且

能大幅度减少小错误(bugs)数量。

 

『阿基米得设计师们原想花时间思考杠杆与滑轮原

理,但是后来却发现大部份时间都浪费在世俗的

程序工作上。事实上,他们的核心专业知识在于

教学而非程序设计。这些程序工作中最复杂的部

份就是从他们那二万行程序码中,找出那些地方

浪费了内存。』

 

确保Java『简单化』的另一特性在于『小而单

纯』。Java的目标之一是要协助开发能独立地在小

型机器上顺利执行的软件。Java的基本解释器

(interpreter)和对象类(class)支援约占4OKB,而

若增加基本的标准程序库和线程(thread)支援 (它

实际上是一整自含式的微核心) 需增加175K。体积

小对于在嵌入式的系统中的使用是很重要的,并因

此Java可以通过网络轻易下载。

 

面向对象

 

这是在业界被过度渲染的术语之一。不过,面向

对象是一项很强的设计功能,因为它促成明确的

接口定义&



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3