Java 程序设计概述
Java 程序设计平台
- Java 是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码,以及一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。
Java "白皮书 ” 的关键术语
简单性
- Java 语法是 C++ 语法的一个纯净版本。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。
面向对象
- 简单地讲,面向对象设计是一种程序设计技术。
- 它将重点放在数据(即对象)和对象的接口上。
- Java 与 C++ 的主要不同点在于多重继承,在 Java 中,取而代之的是更简单的接口概念。
分布式
- Java 应用程序能够通过 URL 打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
健壮性
- Java 与 C++ 最大的不同在于 Java 采用的指针模型可以消除重写内存和损坏数据的可能性。
- Java 编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
安全性
- 从一开始,Java 就设计成能够防范各种攻击:
- 运行时堆栈溢出,这是蠕虫和病毒常用的攻击手段。
- 破坏自己的进程空间之外的内存。
- 未经授权读写文件。
体系结构中立
- 编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有 Java 运行时系统,这些编译后的代码可以在许多处理器上运行。
- Java 编译器通过生成与特定的计算机体系结构无关的字节码指令未实现这一特性。
- 精心设计的宇节码不仅可以很容易地在任何机器上解释执行,而且还可以动态地转换成本地机器代码。
- 当然,解释型虚拟机指令肯定会比全速运行机器指令慢很多。不过 ,虚拟机有一个选项,可以将执行最频繁的字节码序列转换成机器码,这一过程称为即时编译。
- Java 虚拟机还有一些其他优点。它可以检查指令序列的行为,从而增强其安全性。
可移植性
- 与 C 和 C++ 不同,Java 规范中没有依赖具体实现的地方。基本数据类型的大小以及有关运算的行为都有明确的说明。
解释型
- Java 解释器可以在任何移植了解释器的机器上直接执行 Java 宇节码。
高性能
- 字节码可以在运行时动态地转换成对应运行这个应用的特定 CPU 的机器码。
多线程
- 多线程可以带来更快的交互响应和实时行为。
动态性
- 从很多方面来看,Java 与 C 或 C++ 相比更加具有动态性。
- 它能够适应不断发展的环境。
- 库中可以自由地添加新方法和实例变量,而对客户端却没有任何影响。
- 在 Java 中找出运行时类型信息十分简单。