Java从初学到精通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 Java语言简介

现在,到处都在谈论Java技术,很多软件公司也都在大量招聘Java软件工程师,涉及开发的范围涵盖了桌面程序、企业级应用程序和嵌入式应用程序。Java程序设计语言成为许多从事软件开发工作的程序员的首选开发语言。下面的章节将对Java技术的发展历史、特点及应用进行介绍。

1.1.1 Java语言的起源

Java语言的前身是名叫Oak的语言,起源于Sun公司的Green项目。1991年,Sun公司为了占领智能消费型电子产品的市场,资助了一个“绿色项目”,即Green项目。这个项目由Sun公司的James Gosling负责,最初的目的是开发嵌入式家用电器(如微波炉、遥控器、机顶盒、家电控制芯片等)的分布式软件系统,用于智能消费型电子产品,使电器更加智能化。

为此,Gosling领导的Sun工程师小组决定开发一种可移植的、独立于平台的语言。使用该语言开发的程序可以运行于不同环境、不同CPU芯片上,即开发“一次编写,到处运行”的语言。该语言最初命名为Oak语言。后来Sun公司重新命名自己开发的这种新的语言为Java。

到1993年,万维网(WWW,world wide web)和Internet开始蓬勃发展起来,但是Web应用却非常单调,只有静态网页。这时,因Java语言天生的平台独立性,非常适合网络编程,于是Sun公司将Java的应用转向互联网,对Java语言进行不断完善。

1996年年初,Sun公司正式推出了Java 1.0版。因为Java出色的网络功能,使得开发动态网页及为网页添加动画更加容易,为当时的互联网带来一股清新之风。

1998年,Sun公司又发布了全新的Java 1.2版,它强化了Java的图形处理能力,增加了大量新的类库。因为它以功能全面、具有高度扩展能力的新版本换掉了原来的GUI界面和图形工具包,所以Sun公司将它命名为Java 2(Java two)。

1999年,Sun公司宣布了以Java 2平台为核心的J2EE、J2SE和J2ME三大平台。时至今日,这三大平台迅速推进,满足着不断增长的市场需求。

Java语言目前最新的版本是Java SE 6。Java SE 6除了命名方式上的改变和上述特性之外,还包含了许多新的特性,如新增的系统托盘类SystemTray、调用桌面系统功能的Desktop类、表格的排序和过滤功能、Java对象与XML之间的映射、对Java源文件的动态编译,以及轻量级Http Server等。根据Sun公司公布的开发计划,在2009年将推出Java SE 7版本。

现在,Java语言已经成为开发和部署企业应用程序的首选语言,它共有三个独立的版本,用于开发不同类型的应用程序:

Java SE:称为Java标准版,包含Java基础类库和语法。它主要用于开发图形用户界面(GUI)、复杂逻辑和高性能的桌面应用程序。

Java EE:称为Java企业版,是在Java SE基础上,增加了编写企业级应用程序的类库。它是一个标准的多层体系结构,主要用于开发和部署分布式、基于组件、安全可靠、可伸缩和易于管理的企业级应用程序。

Java ME:称为Java微型版,主要用于开发具有有限的连接、内存和用户界面能力的设备应用程序。如移动设备(手机)、PDA、能够接入电缆服务的机顶盒,以及各种终端和其他消费电子产品。

1.1.2 使用Java语言的优点

Java语言是一种优秀的编程语言,它最大的优点是与平台无关。可以肯定的是,使用Java语言编写的程序会更加健壮,与其他语言相比,会要求更少的代码量。

对于使用Java语言进行软件开发的程序员来说,至少可以获得以下的优势:

容易入门。Java程序设计语言是一种强大的面向对象的语言,但是Java语言很容易学习。

编写的代码量更少。从使用的类和方法的数量进行对比来看,用Java语言编写一个程序的代码量一般要比用C++编写的同样程序小4倍。

编写的代码更健壮。Java语言鼓励良好的编码实践和自动的内存碎片收集,帮助程序员避免内存泄漏。其面向对象、JavaBeans组件体系结构,以及其丰富的、易于扩展的API,让程序员可以重用已经存在的、测试过的代码并减少程序中的错误。

开发程序速度更快。Java程序设计语言比C++更简单,因此,当用它进行编写时,程序员的开发时间将会快两倍,并且要求的代码行更少。

避免平台依赖性。依赖于特定的虚拟机,Java程序可以很容易地在不同的平台上进行移植。在Windows、Solaris、Linux、Mac OS及其他平台上,都可以使用相同的代码。

一次编写,到处运行。用Java程序设计语言编写的应用程序被编译为机器独立的字节码文件,这些字节码文件借助于Java虚拟机,能始终如一地运行在任何Java平台上,使得系统的移植、平台的迁移变得十分容易。

更容易地分发软件。用Java Web Start软件,用户将可以通过一个简单的鼠标单击就能启动Java应用程序。在启动时会自动地进行版本检查,确保用户总是使用Java软件的最新版本。如果是可用的更新,Java Web Start软件将自动地更新其安装。