【Java核心计算 基础知识(第9版)】第1章 Java程序设计概述
Java“白皮书”的关键术语
1)简单性
- Java的简单性是指相对C++而言,去除了头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等特性,可视为C++的一个“纯净”版本。
- 简单的另一方面是小。Java的目标之一是支持开发能够在小型机器上独立运行的软件。基本的解释器、类支持、标准类库、线程支持合计约220K。
2)面向对象
- 面向对象将重点放在数据(即对象)和对象的接口上。
- 有一种说法是面向过程=算法+数据结构,面向对象=数据机构+算法。即面向对象优先考虑“制作的产品”,面向过程优先考虑“使用的工具”。
3)网络技能
- Java有一个扩展的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。
4)健壮性
- Java投入了大量的精力进行早期的问题检测、后期动态的(运行时检测),并消除了有出错倾向的状态。
- Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。
5)安全性
- 额……任何连接网络的机器都不是100%安全的……
6)体系机构中立
- 编译器将Java代码编译为.class文件,.class文件运行在JVM上,因而与JVM所运行的系统无关。
- 所编写的Java代码依赖与JVM,与JVM所运行的系统无关;但JVM本身与其所运行的系统有关。
7)可移植性
- Java规范中没有“依赖具体实现”的地方,基本数据类型的大小以及有关算法都做了明确的说明。例如,int永远为32位的整数,String使用标准的Unicode格式存储。
- 作为系统组成部分的类库,定义了可移植的接口。例如,有一个抽象的Window类给出了在UNIX、Windows和Macintosh环境下的不同实现。
8)解释型
- Java解释器可以在任何移植了解释器的机器上执行Java字节码。
9)高性能
-主要指即时编译器,Java字节码可以(在运行时刻,并需要时)快速地翻译成运行这个应用程序的特定CPU的机器码。
-通过即时编译器的监控优化代码。
10)多线程
-Java可以很便捷地处理多线程。
11)动态性
- 库中可以自由地添加新方法和实例变量,而对客户端没有任何影响。例如,从Internet上下载代码,然后在浏览器上运行。