1.1 Java演进史
作为一门长寿的编程语言,Java语言在经历了20多年的发展,已然成为开发者首选的利器。在最新的TIOBE编程语言排行榜中,Java位居榜首。回顾历史,Java语言的排行也一直是名列三甲。图1-1展示的是2019年9月TIOBE编程语言排行榜的情况(https://www.tiobe.com/tiobe-index/)。
图1-1 TIOBE编程语言排行榜
1.1.1 Java简史
1991年,Sun公司准备用一种新的语言来设计用于智能家电类(如机顶盒)的程序开发。“Java之父”James Gosling创造出了这种全新的语言,并命名为“Oak”(橡树),以他办公室外面的树来命名。然而,由于当时的机顶盒项目并没有竞标成功,于是Oak被阴差阳错地应用到万维网。
1994年,Sun公司的工程师编写了一个小型万维网浏览器WebRunner(后来改名为HotJava),可以直接用来运行Java小程序(Java Applet)。1995年,Oak改名为Java。由于Java Applet程序可以实现一般网页所不能实现的效果,从而引来业界对Java的热捧,因此当时很多操作系统都预装了Java虚拟机。
1997年4月2日,JavaOne会议召开,参与者逾1万人,创当时全球同类会议规模之纪录。
1998年12月8日,Java 2企业平台J2EE发布,标志着Sun公司正式进军企业级应用开发领域。
1999年6月,随着Java的快速发展,Sun公司将Java分为3个版本,即标准版(J2SE)、企业版(J2EE)和微型版(J2ME)。从这3个版本的划分可以看出,当时Java语言的目标是覆盖桌面应用、服务器端应用及移动端应用3个领域。
2004年9月30日,J2SE 1.5发布,成为Java语言发展史上的又一里程碑。为了凸显该版本的重要性,J2SE 1.5被更名为Java SE 5.0。
2005年6月,JavaOne大会召开,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字“2”,即J2EE被更名为Java EE、J2SE被更名为Java SE、J2ME被更名为Java ME。
2009年4月20日,Oracle公司以74亿美元收购了Sun公司,从此Java归属于Oracle公司。
2011年7月28日,Oracle公司发布Java 7正式版。该版本新增了许多特性,如try-with-resources语句、增强switch-case语句、支持字符串类型等。
2011年6月中旬,Oracle公司正式发布了Java EE 7。该版本的目标在于提高开发人员的生产力,满足最苛刻的企业需求。
2014年3月19日,Oracle公司发布Java 8正式版。该版本中的Lambdas表达式、Streams流式计算框架等广受开发者关注。
由于Java 9中计划开发的模板化项目(或称Jigsaw)存在比较大的技术难度,JCP执行委员会内部成员也无法达成共识,因此造成该版本的发布一再延迟。Java 9及Java EE 8终于在2017年9月发布,Oracle公司宣布将Java EE 8移交给开源组织Eclipse基金会。同时,Oracle公司承诺,后续Java的发布频率调整为每半年一次。如图1-2所示为Java EE 8整体架构图。
2018年2月26日,Eclipse基金会社区正式将Java EE更名为Jakarta EE,也就是说,下个Java企业级发布版本将可能会命名为Jakarta EE 9。这个名称来自Jakarta——一个早期的Apache开源项目。
2018年3月20日,Java 10如期发布,包含了109项新特性。
2018年9月25日,Oracle官方宣布Java 11正式发布。该版本带来了官网公开的17个特性增强。
2019年3月19日,Oracle宣布推出Java 12。该版本带来了许多新功能,包括Switch表达式的增强预览和Shenandoah垃圾回收器等。
2019年9月17日,Oracle宣布推出Java 13。该版本带来了诸如动态类数据共享归档和文本块等新功能。
图1-2 Java EE 8整体架构图
1.1.2 Java大有可为
今天的Java已经涵盖了从移动端到企业级应用再到分布式系统、微服务、Cloud Native(云原生)的各个领域。可以说掌握Java不但可以在职场上谋求一份不错的职位,同时Java广阔的应用领域更加有利于Java从业者拓宽发展的前景。
Java是免费、开源的,因此使用Java进行应用的开发费用很低,是很多初创企业首选。
Java学习技术门槛低,社区活跃,无论你是IT小白还是技术大牛,都能找到使用Java的志同道合者。
因此,掌握Java大有可为。让我们一起踏上Java学习之路吧!