剑指Java:核心原理与应用实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
 第1章 Java语言概述

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章统一讲解。