1.1 Java语言简介
1.1.1 Java语言的起源与发展
1991年,美国Sun Microsystems公司有一个内部项目,项目目标是能够在电视、微波炉等智能家电的嵌入式芯片上开发应用程序,需要一种与平台无关、可靠性强、小而灵活的编程语言。这是由于智能家电种类繁多,所采用的嵌入式芯片各不相同,存在着跨平台的问题;智能家电芯片的性能不能高,否则智能家电的价格就会非常昂贵;程序可以出现错误,但智能家电不能出错,必须安全可靠。于是,研究小组通过简化、修改C语言,设计出一种新语言,称之为Oak。但项目在投标中失败了。
1994年下半年,Internet已开始迅猛发展,项目开发人员决定将Oak应用于万维网,即用Oak编写一个小型万维网浏览器。后来,Oak改名为Java。1995年,面向对象的Java语言公开发布。人们发现:Java这种跨平台及安全性高的面向对象语言,恰恰就是互联网所期待的语言,其响亮的口号是“Write Once,Run Anywhere”。
计算机世界经历了以大型机为代表的集中计算模式和以PC为代表的分散计算模式,Java的诞生产生了一种新计算模式——网格计算模式。它对传统的计算模型提出了新的挑战。如,软件4A目标要求软件能达到:任何人,在任何地方,在任何时间,对任何电子设备都能操作。表1.1对Java的发展历史作了总结。
表1.1 Java的发展历史
1.1.2 Java语言的特点
Sun公司在“Java白皮书”中对Java的定义是:“Java:A simple,object-oriented,distributed,interpreted,robust,secure,architecture-neutral,portable,high-performance,multi-threaded,and dynamic language。”即,Java语言是一种简单的、面向对象的、分布的、解释的、健壮的、安全的、体系结构中立的、可移植的、高性能的、多线程的以及动态执行的程序设计语言。
1. 简单易学
Java语言简单易学。其语法与C语言和C++语言很接近,但它丢弃了C++中复杂、不安全的特性,如操作符重载、多继承、指针等。
2. 面向对象
面向对象技术是当今软件开发的主流技术之一。Java语言是一个完全面向对象的程序设计语言。它具有面向对象的封装、继承和多态三大特点。Java语言通过类实现封装;在类之间实现单继承,在接口之间实现多继承,支持类与接口之间的实现机制(关键字为implements);并全面支持动态绑定实现多态。
3. 安全性
除了Java语言具有的许多安全特性以外,Java提供了字节码校验器、文件访问限制机制、类装载器和运行时内存布局四级安全保证机制。
4. 跨平台(体系结构中立)
Java程序能够在网络上任何地方执行;语言版本完全统一,实现了平台无关性;具有字节代码与平台无关性;有访问底层操作系统功能的扩展类库,不依赖于具体系统等。Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
5. 多线程
Java环境本身就是多线程的。特别的,Java提供了对多线程的语言级支持,程序员能很方便地编写多线程应用程序。
6. 动态性
Java所需要的类是运行时动态装载的,也可从网络载入。在分布环境中动态地维护应用程序和类库的一致性,类库的更新不需重新编译程序,不影响用户程序的执行。
7. 健壮性
Java的强类型机制、异常处理、垃圾自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。