
1.1 Java的历史现状及发展
1.1.1 Java语言简介
Java由Sun Microsystems公司注册,是Sun Microsystems公司最著名的商标,也是IT行业最著名的商标之一。
1991年4月,Sun Microsystems公司启动由James Gosling等发起的名为Green的研究项目,最初的目的是创建一种与平台无关的、可用于交互手持式家庭设备控制器(如用于控制嵌入在有线电视交换盒)的语言,以实现一些家庭娱乐设备和家用电器的控制功能。James Gosling称这种新语言为Oak,后更名为Java,应用于网络,并沿用至今。然而,Green项目遇到了困难,市场前景并不乐观。
1994年,Internet开始在全球盛行,从此计算机世界发生了重大的变革。Internet是世界上最大的客户机/服务器系统,它拥有千万种不同类型的客户机。显然,Web设计者无法做到对可能访问其页面的每一台计算机编写不同的程序,而Java技术正是独立于平台而设计的,这使得Green项目组的成员意识到,Java完全符合在Internet上编写、发送和使用应用程序的方式。
1995年,Sun Microsystems公司正式发布Java语言,Microsoft、IBM、NETSCAPE、Novell Apple、DEC、SGI等公司纷纷购买Java语言的使用权。
1996年,Sun Microsystems公司正式发布了Java语言的第一个非试用版本。
1999年11月启用Java 2。
2004年9月30日,J2SE 1.5的发布是Java语言发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE 1.5更名为J2SE 5.0。
2005年6月,JavaOne大会召开,Sun Microsystems公司发布Java SE 6。此时,Java的各种版本已经更名以取消其中的数字2:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。
2009年4月20日,Oracle(甲骨文)公司宣布收购Sun Microsystems公司。
2011年7月28日,Oracle公司发布Java 7.0的正式版本。
2014—2018年期间,Oracle公司陆续发布Java SE 8、Java SE 9、Java SE 10、Java SE 11。现在平均六个月就会发布一个新的Java版本。
2018年9月26日,Oracle公司官方宣布Java 11正式发布。这是Java大版本周期变化后的第一个长期支持版本,即LTS(Long-Term-Support)版本,持续支持到2026年9月。
2019年3月20日,Java SE 12正式发布,也是目前最新的版本。
迄今为止,Java技术已经非常成熟,同时也不再使用Java 2的称呼方法,而直接称为Java。在计算机发展史上,Java语言的发展速度是空前的。
Java的官方网站是https://www.oracle.com/technetwork/java/index.html。Java分为Java的运行环境(JRE)和开发环境(JDK),均可以在其官方网站下载。
1.1.2 Java应用开发体系
Java平台由Java虚拟机(Java Virtual Machine)和Java的应用编程接口(Application Programming Interface,API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可以运行。现在Java平台已经嵌入了几乎所有的操作系统。这样,Java程序可以只编译一次就可以在各种系统中运行。
Java分为3个体系Java SE(Java platform Standard Edition,Java平台标准版)、Java EE(Java platform Enterprise Edition,Java平台企业版)、Java ME(Java platform Micro Edition,Java平台微型版)。
(1)Java SE体系:Java SE之前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE包含了支持Java Web服务开发的类,并为Java EE提供基础。
(2)Java EE体系:Java EE之前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。Java EE是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(Service-Oriented Architecture,SOA)和Web 6.0应用程序。
(3)Java ME体系:Java ME之前称为J2ME。Java ME为在移动设备和嵌入式设备(如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用户界面、健壮的安全模型、内置的网络协议以及对可以动态下载的联网和离线应用程序的丰富支持。基于Java ME规范的应用程序只需编写一次就可以用于许多设备,而且可以利用每个设备的本机功能。