Java程序设计教程
上QQ阅读APP看书,第一时间看更新

1.1 Java语言的特点及相关概念

Java是一种功能强大和多用途的编程语言,可用于开发运行在移动设备、台式计算机以及服务器端的应用程序。

1.1.1 Java语言的特点

Java是由美国Sun公司于1995年推出的。Java最初被称为Oak(橡树),是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计成用于Web应用程序的开发。2010年Sun公司被美国Oracle(甲骨文)公司收购,目前Java商标归Oracle公司所有。Java是目前使用最为广泛的编程语言之一,它具有简单、面向对象、与平台无关、解释型、多线程、安全、动态等特点。

1.简单

Java语言的语法与C/C++和C#语言十分接近,这使得程序员可以很容易地学习和使用Java语言。此外,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的一些特性,如操作符重载、多继承、自动强制类型转换等。特别是,Java语言不再使用指针的概念,并提供了自动的内存垃圾回收机制,使得程序员不必再编写任何关于内存管理的代码。

2.面向对象

Java语言是一个完全面向对象的程序设计语言,它提供了类、接口和继承等面向对象编程技术。Java支持类之间的单继承,支持接口之间的多继承,支持类与接口之间的实现机制和全面支持动态绑定。

3.与平台无关

与程序运行平台无关是Java较其他一些传统的编程语言最大的优势。Java源程序(*.java)经过编译后生成能被Java虚拟机(JVM)识别和执行的字节码文件(*.class),这种机制使得任何支持JVM的平台都可以很好地运行Java程序。当平台的操作系统(Windows、Linux等)或处理器发生变化或升级时无须对程序进行任何修改,从而实现了Sun公司提出的“一次写成,处处运行”的设计目标。

4.解释型

使用C和C++等语言编写的应用程序,在运行前需要针对当前计算机的操作系统和CPU进行编译,编译后生成对应本计算机的二进制可执行代码文件。显然,这样的应用程序的可移植性较差。而Java应用程序经过编译后生成的是针对JVM的字节码文件,该文件在JVM中以解释方式被执行,从而提高了Java程序的适应能力和可移植性。

5.多线程

使用Java可以设计出能同时处理多项任务的多线程应用程序。多线程机制使应用程序能够并行执行,而且Java的同步机制保证了对共享数据的正确操作。通过使用多线程程序,设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。

6.安全

为适应在网络环境中的应用,Java提供了一套完善的安全机制,可以有效防止恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类,提供了一个安全防范机制(ClassLoader类)。例如,分配不同的名字空间以防替代本地的同名类。字节代码检查和安全管理机制(SecurityManager类)也为Java应用程序提供了一个“安全哨兵”。

7.动态

Java语言的设计目标之一就是适应动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类,这对软件的升级十分有利。

Java语言的优良特性使得Java应用具有强大的健壮性和可靠性,减少了应用系统的维护费用。Java对面向对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间,降低开发成本。Java的编译一次到处可运行的特性,使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs),为企业计算及电子商务应用系统提供了相关技术和丰富的类库。

1.1.2 与Java相关的几个概念

在使用Java语言进行程序设计之前,首先需要理解以下几个与Java相关的基本概念。

1.Java语言规范

Java语言规范是对Java语言的技术定义,规定了Java语言的语法和语义,如关键字、标识符、语法格式等。完整的Java语言规范可以在Oracle的官方网站(http://docs.oracle.com/javase/specs/)中找到。

2.Java虚拟机

任何一种可以解释并运行Java字节码的软件均可看成是Java虚拟机(JVM),如各类浏览器。可以将其理解为能解释并执行Java字节码的“软CPU”,也就是说JVM是可以解释并运行Java字节码的假想软计算机。

3.API

API(Application Program Interface,应用程序接口)也称为“库”,其中包含有为开发Java程序而预定义的通用类和接口。使用这些具有工具性质的预定义类和接口,可以大幅度减轻开发人员的代码编写量,缩短软件的开发周期。

4.JRE

JRE(Java Runtime Environment,Java运行环境),它包含了Java虚拟机、Java基础类库等,是运行Java应用程序所必需的软件环境。计算机中只有正确安装和配置了JRE后,才能运行Java应用程序。

5.JDK

JDK(Java Development Kit,Java开发工具包)由一系列独立的Java程序构成,是开发人员编写Java程序所需的开发工具包,它是提供给开发人员使用的预定义类、接口的集合。

JDK包含了JRE、Java源代码的编译器javac.exe和运行Java程序的java.exe,还包含了许多Java程序调试和分析的工具,如jconsole.exe(Java性能分析器)、jvisualvm.exe(Java监控工具)等。此外,编写Java程序所需的文档和一些实例程序也包含在JDK中。

6.Java版本

Java是一种全面且功能强大的计算机程序设计技术,面对不同的用途Java提供了Java SE、Java EE和Java ME 3个不同的版本。

(1)Java SE

Java SE(Java Standard Edition,Java标准版),可用来开发客户端应用程序。使用Java SE开发的应用程序可以独立运行,也可作为Java Applet(Java小程序)嵌入到HTML网页中在Web浏览器中运行。Java基础学习一般都是在Java SE环境中进行的。

(2)Java EE

Java EE(Java Enterprise Edition,Java企业版),可用来开发服务器端的应用程序,如Java Servlet和JSP(Java Server Pages)。Java EE提供了企业电子商务架构及Web Services服务,其优越的跨平台能力与开放的标准深受广大企业用户的喜爱。目前,Java EE已成为开发电子商务应用的首选平台。

(3)Java ME

Java ME(Java Micro Edition,Java微型版)是一个精简的Java开发平台,可用于面向消费类产品和嵌入式设备的应用程序开发。无论是无线通信还是手机、PDA等小型电子设备,均可采用Java ME作为开发工具及应用平台。它提供了对HTTP等Internet协议的支持,可以使手机等便携式设备以C/S(客户端/服务器)的方式直接访问Web网站或本地存储的资源。