2.2 Java基础介绍
2.2.1 Java基础
1.Java版本
Java是Sun Microsystems公司(简称Sun公司,它是一家IT及互联网技术服务公司,已被Oracle公司收购)在1995年5月推出的Java面向对象程序设计语言和Java平台的总称,是由詹姆斯·高斯林(James Gosling)和他的同事们共同研发。Java共分为3个体系,具体的分类如图2-4所示。2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,并且已经取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。
图2-4 Java的3个体系
2.主要特性
(1)简单性
Java语言的语法与C语言、C++语言的语法非常接近,使得大多数的程序员都能相当容易地学习和使用。另一方面,Java语言丢弃了C++语言中很少使用的、晦涩难理解的、令人迷惑的一些特性(如操作符重载、多继承、自动的强制类型转换等)。特别地,Java语言不使用指针,而是引用,并且提供了自动的垃圾回收机制,可以使程序员不必再为内存管理而担忧。
(2)面向对象
Java语言提供类、接口和继承等面向对象的特性,为了方便起见,虽然只支持类之间的单继承,但能支持接口之间的多继承,并且支持类与接口之间的实现机制(关键字为implements)。Java全面支持动态绑定,而C++只对虚函数使用动态绑定。总而言之,Java是一个纯的面向对象程序设计语言。
(3)分布式
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(Java.net),该接口提供了包括URL、URLConnection、Socket、ServerSocket等用于网络应用编程的类库。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
(4)健壮性
Java的强类型机制、异常处理和垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择,且Java的安全检查机制使得Java更具健壮性。
(5)安全性
Java通常被用在网络环境中,因此Java提供了一个安全机制以防止恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防止替代本地的同名类、字节代码检查,并且提供安全管理机制(类SecurityManager)为Java应用的运行设置安全哨兵。
(6)体系结构中立性
Java程序(后缀为Java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后就可以在实现这个Java平台的任何系统中运行。该途径适合于异构的网络环境和软件的分发。
(7)可移植性
这种可移植性来源于体系结构的中立性,此外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有非常强的可移植性,Java编译器是用Java实现的,而Java的运行环境则是用ANSI C实现的。
(8)解释型
如前所述,Java程序在Java平台上被编译为字节码格式,然后就可以在实现这个Java平台的任何系统中运行。在运行的时候,Java平台中的Java解释器对这些字节码进行解释执行,执行的过程中需要的类在连接阶段被载入到运行环境中。
(9)高性能
同那些解释型的高级脚本语言相比,Java语言确实是高性能的。实际应用中,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展,越来越接近于C++语言了。
(10)多线程
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:方法一,使用Thread类的Thread(Runnable)构造方法将一个实现了Runnable接口的对象包装成一个线程;方法二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是,Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
(11)动态性
Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类不仅可以动态地被载入到运行环境,而且也可以通过网络来载入所需要的类,这些都便于软件的升级。此外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
3.发展历史
Java的发展历史分为3个阶段,分别为:
· 第I阶段:从诞生到推出市场。
· 第II阶段:Java 2时代,从Applet到Server端。
· 第III阶段:后Java时代。
(1)第I阶段:从诞生到推出市场
1995年5月23日,Java语言诞生。
1996年1月,第一个JDK-JDK 1.0诞生。
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术。
1996年9月,约8.3万个网页应用了Java技术来制作。
1997年2月18日,JDK 1.1发布。
1997年4月2日,JavaOne会议召开,参与者逾一万,创当时全球同类会议规模之纪录。1997年9月,JavaDeveloperConnection社区成员超过十万。
(2)第II阶段:Java 2时代,从Applet到Server端
1998年12月4日,Sun公司发布了历史上最重要的版本:Java 1.2版本;Java进入了Java 2时代。
2000年5月8日,Sun公司推出JDK 1.3。
2002年2月13日,Sun公司发布历史上最为成熟的版本JDK 1.4。
2005年10月,Sun公司发布Java SE 5.0(正式更名);使得Java语言更加的易用。
2006年11月13日,Sun公司在JavaOne会议上,宣布Java开源,源码由OpenJDK管理。
2006年12月11日,Sun公司发布Java SE 6(不是6.0),更改了之前的J2命名方式。
2009年4月20日,Oracle公司收购Sun公司。
(3)第III阶段:后Java时代
2011年7月28日,Oracle公司发布Java SE 7。
2014年3月18日,Oracle公司发布Java SE 8。
2017年9月21日,Oracle公司发布Java SE 9 GA版本(General Availability)。
2018年3月21日,Oracle公司正式发布Java 10。
2018年9月26日,Oracle官方宣布Java 11(18.9 LTS)正式发布。
2019年3月19日,Oracle公司正式发布Java 12。
4.Java之父
Java之父——詹姆斯·高斯林(James Gosling)博士,出生于加拿大,他是Java技术的创始人,同时也是Sun研究院院士。他亲手设计了Java语言,完成了Java技术的原始编译器和虚拟机。在高斯林博士的带领下,Java目前已经成为互联网的标准编程模式以及分布式企业级应用的事实标准,其跨平台的技术优势为网络计算带来了划时代的变革。目前,高斯林博士积极致力于软件开发工具的研究,以便使得软件开发工具的功能变得更强大,更容易被开发人员使用,能够确保应用、服务开发的迅速完成。
Java技术是Sun公司在1995年5月正式推出的。二十多年来,Java已从编程语言发展成为全球第一大通用型开发平台。Java技术已为计算机行业的主要企业所采纳,同时也被越来越多的国际技术标准化组织所认可。1999年,Sun公司推出了以Java 2平台为核心的J2EE、J2SE和J2ME三大平台。随着三大平台的迅速推进,在世界上形成了一股巨大的Java应用浪潮。同时,Java技术还引发了一场无法停止的大变革,为整个Java社团带来了巨大的潮水般的商业机会。
2.2.2 编程开发
1.编程环境
JDK(Java Development Kit),称为Java开发包或者Java开发工具,它是一个能够编写Java的Applet小程序和应用程序的程序开发环境。整个Java的核心是JDK,包括了Java运行环境(Java Runtime Environment)、一些Java工具和Java的核心类库(Java API)。无论什么Java应用服务器,实质上都内置了某个版本的JDK。主流的JDK是Sun公司发布的,除了Sun公司之外,还有很多其他的公司和组织也开发了自己的JDK(例如:IBM公司开发的JDK、BEA公司的JRocket、GNU组织开发的JDK等)。
此外,还可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(Java Runtime Environment),而支持Java程序运行的标准环境就是JRE。
JRE是一个运行时环境,而JDK是一个开发环境。因此,在编写Java程序的时候需要有JDK,而运行Java程序的时候也需要JRE,事实上JDK里面已经包含了JRE,所以只需要安装JDK,就可以编写Java程序,也可以正常运行Java程序。但是由于JDK中包含着很多与运行无关的内容,占用的空间非常大,所以运行普通的Java程序就无须安装JDK,只需要安装JRE就可以了。
2.开发工具
Java语言尽量保证系统内存容量在1GB以上,其他工具如下所示:
· Linux系统,Mac OS系统,Windows 95/98/2000/XP、Windows 7/8/10系统。
· Java JDK 7. 8……。
· Notepad编辑器或者其他编辑器。
· IDE:Eclipse。
2.2.3 Java开发环境配置
1.下载JDK
首先需要下载Java的开发工具包JDK。
下载地址为http://www.oracle.com/technetwork/java/javase/downloads/index.html,如图2-5所示,然后点击图中箭头所指的下载按钮。
图2-5 JDK下载页面
在下载页面中需要选择接受许可,并根据自己的系统选择对应的版本,此处以Windows x64位系统为例,如图2-6所示。
图2-6 JDK版本选择
下载后,按照提示安装JDK,同时也会安装JRE。
在安装JDK的过程中可以自定义安装目录等信息,例如此处选择安装目录为C:\Program Files(x86)\Java\jdk1.8.0_91。
2.配置环境变量
安装完成后,右击“我的电脑”,单击“属性”,选择“高级系统设置”,选择“高级”选项卡,单击“环境变量”按钮,如图2-7所示。
图2-7 配置环境变量(a)
单击“环境变量”按钮后就会出现如图2-8所示的界面。
图2-8 配置环境变量(b)
在“系统变量”中设置三项属性,JAVA_HOME、PATH、CLASSPATH(字母大小写均可),若已存在则单击“编辑”按钮,不存在则单击“新建”按钮。
变量设置参数如下:
· JAVA_HOME
变量名:JAVA_HOME
变量值:C:\Program Files(x86)\Java\jdk1.8.0_91
//要根据自己的实际路径进行设置
· CLASSPATH
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
注意:记得前面有个“.;”
· Path
变量名:Path
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
3.测试JDK是否安装成功
· “开始”→“运行”或者按Win+R快捷键,输入“cmd”,弹出电脑DOS命令行界面。
· DOS命令界面中键入命令:java –version或Java或Javac等命令。
若出现如图2-9所示的信息,则表明Java环境变量设置成功。
图2-9 Java环境变量设置成功的界面