1.1 Java语言的发展简史
Java语言是全球使用率最高的编程语言之一,独领“风骚”数十年,多次占据编程语言排行榜首位。2020年4月TIOBE公布的最新编程语言排行榜,如图1-1所示。
图1-1 2020年4月TIOBE公布的最新编程语言排行榜
Java语言是由詹姆斯·高斯林(James Gosling)和其Green Team小组成员共同开发的。起初,詹姆斯·高斯林团队将Java语言的开发目标设定在家用电器等小型系统的编程语言上,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通信问题,但是由于这些智能化家电的市场需求没有预期高,所以他们最终放弃了这项计划。而同时詹姆斯·高斯林团队意识到网络是时代发展的趋势,认为“网络就是计算机”,于是他们决定将该项计划应用于互联网,将该语言改造为网络编程语言。而正是由于这个伟大的决定,造就了Java的传奇,詹姆斯·高斯林也因此被称为“Java语言之父”。Java的最初名为Oak,由于Oak商标已经被注册,所以更名为Java。Java语言的诞生过程,如图1-2所示。
1996年是Java语言的发展简史中具有里程碑意义的一年。在这一年里,Sun公司发布了Java开发人员熟悉的JDK 1.0版本,JDK 1.0版本包括Java虚拟机、网页应用小程序及可以嵌套在网页中运行的用户界面组件,开发人员通过用户界面组件可以开发窗口应用程序。JDK 1.0组件如图1-3所示。
图1-2 Java语言的诞生过程
图1-3 JDK 1.0组件
Java语言从第一个版本的发布到现在已经有20多年了。Java语言的发展轨迹和历史变迁,如图1-4所示。
● 1996年,JDK 1.0发布。
● 1998年,JDK 1.2发布。这个版本添加了很多类库,如添加了集合框架API。为了纪念该版本,Java技术体系拆分为3个方向,分别是面向桌面应用开发的J2SE、面向企业级应用开发的J2EE、面向手机等移动终端开发的J2ME。
图1-4 Java语言的发展轨迹和历史变迁
● 2004年,JDK 1.5发布,这在JDK改革史上也是浓墨重彩的一笔。JDK 1.5添加了很多新特性:自动装拆箱、增强for循环、可变参数、泛型、枚举、线程并发库等。为了纪念该版本,Java对外发布时该版本更名为JDK 5.0。
● 2006年,这一年发生了两件大事:第一件大事是Sun公司宣布将Java代码开源,代码开源意味着Java开发人员可以查看Java核心代码,了解JDK核心架构;第二件大事是JDK终结了从JDK 1.2开始已经有8年历史的J2SE、J2EE、J2ME的命名方式,启用Java SE 6、Java EE 6、Java ME 6的命名方式。
● 2009年,Oracle(甲骨文)公司收购了Sun公司。
● 2014年,JDK 8(同JDK 1.8)发布。JDK 8是继JDK 5后改革最大的一个版本,添加了很多新特性,如Lambda表达式、Stream API、新版日期时间API等。
● 2017年,JDK 9发布。JDK 9比预计发布时间迟了一年多,该版本不属于LTS(Long Term Support,长期技术支持)版本。同时,Oracle公司颁布了“6个月版本升级计划”,即每隔6个月发布一个新的JDK版本。
● 2018年9月,JDK 11发布。该版本属于LTS版本。
虽然截至2022年3月,Java已经更新到Java 18了,但是目前实际项目开发中主流框架技术使用的仍然是Java 8,所以本书主要是基于Java 8进行讲解的。Java 8之后版本的新特性将在第19章统一讲解。