第1章 Java语言简介
要想更好的学习Java,就必须要了解它的由来,产生的原因。该程序设计语言相比它的优点何在,它的发展趋势,能解决什么问题。搞清楚这些问题,才能更好的把握Java的学习方向。本章的主要内容就是对这些进行简单的介绍。
1.1 Java的由来和发展
本小节的主要内容是介绍Java是如何产生的,以及Java的发展过程。并且介绍了Java本身的一些特性,主要是Java语言的优势。通过本小节的学习,读者可以对Java语言的历史有一个大体的认识,并能认识到Java语言相比于其它语言而来,优势在那里,明确以后的学习方向。
1.1.1 Java的由来
1991年,Sun Microsystems公司的Jame Gosling、Bill Joe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。在这些家电上使用的CPU是多种多样的,而C语言和C++语言只能对特定的平台进行编译。如果对每个平台都开发相应的编译器,显然是行不通的。为了解决这个问题,它们开始开发一种可移植的、平台无关的程序设计语言,这直接导致了Java的产生。
虽然Java是应嵌入式开发的需要产生的,但是它的快速发展是随着Internet的发展而来的。随着万维网的发展,其对程序可移植性的要求也进一步提高了,而Java正是因这个原因才出现的,无疑Java成了万维网发展的推动力,而万维网的发展也促进了Java的一步步发展,直到今天成为第一开发语言。
1.1.2 Java的发展
Java的初次出现是革命性的,它的最初版本是Java 1.0。但是很快它的很多问题就开始出现。
Sun公司很快对此作出了响应,Java的第二个发行版本是Java 2(实际上是Java 1.2,不过Sun公司把它成为Java 2,强调Java的发展进入了一个新时代)。Sun公司将Java重组为J2SE(Java 2平台标准版),它的第一个发行版本就是Java 1.2,此外还推出了另外两个版本:微型版和企业版。通常意义下的Java都是只Java标准版,即J2SE。
经过一步步的发展现在Java以及发展到了J2SE 1.6。这其中,增加了许多新的特性,如泛型、元数据、自动装箱拆箱机制、枚举类型、边长参数、格式化输出,甚至还有一个简单的数据库。
1.1.3 Java特性
本节的主要内容就是对Java的面向对象、健壮性、可移植性、分布式和解释型等特点进行简单介绍。
Java是一门完全面向对象的语言,对软件工程技术有很强的支持,Java是继承了C语言和C++的大部分特性,但是Java又与它们毫不相干,它是一门独立的语言,Java跟C语言和C++是不兼容的。可以这样认为,Java是去掉了C++复杂性和奇异性而增强了其安全性和可移植性后的产物。
此外Java还具有健壮性、分布式、多线程和解释型语言等特点。
1.2 Java技术构成
Java技术结构是很复杂的,由于Java的快速发展,更是让Java进一步变得庞大起来。本节会对Java的一些基本概念进行简单的介绍。通过本节的学习,读者应该对Java的技术构成有一个基本的认识,明确Java中的一些基本概念。这样,才能更清楚以后的学习内容。
1.2.1 Java工作方式
Java首先通过解释把源程序编译成字节码。Java解释器生成与计算机体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
1.2.2 Java虚拟机(JVM)
Java的最大特性,也是最吸引人的地方在于它的平台无关性,而平台无关性就是通过Java虚拟机来实现的。
Java虚拟机是一个虚拟出来的计算机,虚拟机和操作系统与CPU交互,而以统一的形式提供给Java语言。这样看起来就是Java对于不同的平台是没有区别的,这就是Java平台无关性的秘密所在。
Java虚拟机一般由几部分组成:指令集、寄存器、堆栈、垃圾处理器、方法区域。
1.2.3 类库
Java受欢迎的重要一点原因是Java提供了强大的类库,使用这些类库,程序员快速便捷的实现程序的功能。这样程序员可以把更多的精力用于业务逻辑的控制上,并能通过Java语言来快速的实现程序功能。
Java类库可以分为两类,一种是Java标准类库,这些类有SUN公司提供,用户可以直接使用这些类库的类;另一种是由一些开发者自己提供的类库,在默认的Java环境中是不提供这些类的,用户在使用的时候需要引入这些库,然后就可以使用了。
1.2.4 包
当开发的项目规模大的时候,代码的结构可能会非常复杂,需要成千上万个文件组成,这时候怎么有序的组织这些代码就成了大问题。Java提供了包的机制来控制代码结构,这样就能有效的组织代码结构。包实质上是使用文件夹的形式来组织的,在后边的内容中会介绍包的详细使用。
1.2.5 JRE
JRE的全名是Java Runtime Environment,即Java运行环境,它包括JVM的标准实现以及Java的核心类库。如果只是要运行Java程序,只需要安装JRE即可。
1.2.6 JDK
JDK的全名是Java Development Kit,即Java开发套件。它实际上是SUN公司发布一个免费的Java开发工具,通过它就可以开发程序了。不过由于Java的迅速发展,受到广大程序员的关注,Java有了更先进的集成开发环境如JBuilder、Eclipse和Netbeans,希望读者弄清楚它们之间的关系。
1.3 Java技术的应用
随着Java的发展,Java逐渐分为了三个方向。用于嵌入式开发的J2ME,Java标准版J2SE,以及Java企业级应用J2EE。本节的主要内容就是对这三个方向进行简单的介绍。
1.3.1 J2SE
J2SE就是Java 2的标准版,主要用于桌面应用软件的编程,通常意义下的Java就是指的J2SE。本书的主要内容就是对其进行介绍,通过它可以学习Java的语法规范,以及Java的各种特性,如何用Java解决各种问题等内容。
1.3.2 J2ME
J2ME即Java 2 Micro Edition,它是Java 2的组成部分。J2ME 是Java运行环境的一个子集,它包含了Java的核心部分,并且有一些子集的特性。J2ME主要应用于消费类电子设备,如移动电话、可视电话、数字机顶盒、汽车导向系统和卫星定位系统等,同时也广泛被移动通信设备所采用,如移动电话、双向寻呼机、智能卡、个人电脑记事本和掌上电脑等。J2ME技术继承了Java语言的平台无关的特性,应用在小型电子设备上,允许移动无线设备之间共享应用程序,这极大的发挥了Java的优势。
1.3.3 J2EE
J2EE是开放的、基于标准的平台,用以开发、部署和管理N层结构的、面向Web的,以服务器为中心的企业级应用。J2EE提供了一套完整的解决所有这些问题的框架方案:提供了分布式、可移植构件的框架,简化了服务器端中间层构件的设计(多层次),为构件与应用服务器提供标准API,获得了业界的广泛支持。
1.4 小结
本章的主要内容就是从总体上介绍了Java的由来、特性以及Java的发展方向。主要内容是Java的发展历史,通过历史的学习,读者可以了解到Java的优势在哪,可以更好的明确学习方向。此外还介绍了Java的各种特性,并对Java的三个发展方向进行了简单的介绍。读过本章希望读者可以对Java有一个大体的认识,这样对以后的学习会有很大的帮助。