1.1 Java 程序设计平台
Java编程语言是一种多用途、并发的、基于类的、面向对象的编程语言;编译时通常包括将持续转化成机器无关的字节码表示。运行时活动包括加载和链接执行持续所需的类,生成可选的机器代码,动态优化持续和执行实际的程序。
1.2 Java “白皮书” 的关键术语
摘要下面11个关键术语进行组织:
1)简单性 2)面向对象 3)网络技术 4)健壮性 5)安全性 6)体系结构中立 7)可移植性 8)解释型 9)高性能 10)多线程 11)动态性
1.2.1 简单性
Java语言是C++语法的一个“纯净”版本。这里没有头文件、指针运算、结构、联合、操作符重载、虚基类等。
1.2.2 面向对象
简单的讲,面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。在本质上,Java的面向对象能力与C++是一样的。
1.2.3 网络技能
Java有一个扩展的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
1.2.4 健壮性
Java的设计目标之一在于使得Java编写的程序具有多方面的可靠性。Java投入了大量的精力进行早期的问题检测、后期动态的检测,并消除了有错倾向的状态·····Java和C++最大的不同在于Java采用的指针模型可以消除重写内存的损坏数据的可能性。
1.2.5 安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全方面投入了很大精力。使用Java可以构建防病毒、仿篡改的系统。
1.2.6 体系结构中立
使用了虚拟机。生成的中间代码,可以应用于所有已经正确安装解释器的机器上。
1.2.7 可移植性
基本数据类型的大小以及有关算法都做了明确说明;Java中的数据类型具有固定大小,消除了代码移植时可能遇到的问题。二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。
1.2.8 解释型
对关键应用程序运行速度较慢。现今JVM采用即时编译器,其代码运行速度和C++相差无几。
1.2.9 高性能
Java编译后的字节码可以(在运行时)快速地翻译成运行这个应用程序的特定CPU机器码,以进一步提高执行速度。
1.2.10 多线程
只要操作系统支持,Java中的线程就可以利用多个处理器。在底层,主流平台的线程实现机制各不相同,Java并没有话费太大的力气对此实现平台无关性。在不同的机器上,只是调用多线程的代码完全相同;Java把多线程的实现交给了底层的操作系统或线程库来完成。
1.2.11 动态性
从各种角度看,Java与C或C++相比更具有动态性。它能够适应不断发展的环境。库中可以自由地添加新方法和实例变量,而队客户端却没有任何影响。在Java中找出运行时类型信息十分简单。