Java白皮书中的一些关键术语:
- 简单性
- 面向对象
- 分布式
- 健壮性
- 安全性
- 体系结构中立
- 可移植性
- 解释性
- 高性能
- 多线程
- 动态性
这些关键都是摘自Java设计者所编写的白皮书,将对这些一一解释说明
简单性
Java的简单性表现在两个方面:
- 对于Java出现以前,所使用的编程语言都相对复杂,如果不进行专门的训练很难进行编程,在Java之后,更加的面向人的思维,并且将很多复杂且使用频率不高的特性剔除掉,但是在后续的开发中带来的麻烦多余其带来的好处,但是Java可以让人很好的进行学习编程。
- 另一个方面是Java比较小,Java的目标之一是支持开发能够在小型机器上独立运行的软件,基本的解释器及类支持需要大约40KB,再加上基础的标准类库和对线程的支持大约需要175KB,这在当时,是一个非常了不起的成就,随着类库的不断扩大,现在有一个独立相对较小的版本JavaME,这个版本适用于嵌入式设备。
面向对象
万事万物皆对象,面向对象将重点放在数据(即对象)和对象的接口上,Java面向对象的能力和C++是一样的,不一样的是Java中没有了C++中的多重继承,取而代之的是更简单的接口概念。
分布式
Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议,Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件。
健壮性
Java对于C++来说,采用的指针模型可取消重写内存和损坏数据的可能性,并且Java编译器可以在编译阶段检测出许多其他语言在运行时才能检测出的问题。
安全性
Java适用于网络/分布式环境,为了达到这一目标,使用Java可以构建防病毒防篡改的系统,不过,Java的安全模型很复杂,并且黑客擅长找出安全体系结构中找出小漏洞,遭遇多次攻击后,Java浏览器插件不再信任远程代码,除非代码有数字签名而且用户同意执行这个代码。
体系结构中立
编译器生成一个体系结构中立的文件,这个文件就是Java的字节码文件,只要有Java运行时系统,这个文件可以在不同的平台上运行,并且还可以动态的翻译成本地机器码。
可移植性
一次编写到处运行指的就是Java的可移植,除了与用户界面相关的部分外,其他所有的Java库都能很好的支持平台独立性,进行移植。
解释性
Java解释器可以在任何移植了解释器的机器上执行Java字节码。
高性能
尽管对字节码的解释执行性能比较满意,但是在特定场合下需要更加高效的性能,字节码可以在运行时动态的翻译成本地机器码。
多线程
多线程可以带来很好的交互式响应和实时行为。
动态性
动态性可以适应不断发展的环境,库中可以自由的添加环境变量和方法,而对客户端却没有任何影响,并且在Java中找出运行时类的信息非常简单。