Java语言的发展简史
Java语言是一门非常纯粹的面向对象的编程语言,它吸收了C++语言的各种优点,又摒弃了C++中难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言的诞生具有一定的戏剧性,它并不是经过精心策划、制作、最后产生的划时代的产品。在1990年末,Sun公司预料嵌入式将在未来家电领域占据着重要的作用。于是Sun公司成立了一个由James Gosling领导的"Green计划",准备为下一代智能家电编写一个通用的 控制系统,该团队最初考虑的是使用C++语言,但是很多成员包括Sun的首席科学家Bill Joy,发现C++和可利用的API在某些方面存在很大的问题,而且工作小组使用的是嵌入式平台,可用的系统资源及其有限。根据可用的资金,Bill Joy决定开发一种新的语言,他提议在C++的基础上,开发一种面向对象的环境。于是,Goslin试图通过修改和扩展C++的功能来满足这个需求,但是他后来放弃了,决定创造一种全新的语言:Oak,但是在当时Oak这个商标已经被别人所注册,于是只好将Oak更名为Java。
Sun公司在1995年年初发布了Java语言,并将该Java放到官网上,免费给大家使用。几个月以后,让所有人大吃一惊的事情发生了:Java成为了互联网上最热门的宝贝,竟然有10万多人访问了Sun公司的网页,下载了Java语言。然后,互联网上立即就出现数不清的Java小程序(也就是Applet),演示着各种各样的动画‘小游戏等。
1995年,Sun公司虽然推出了Java,但是这只是一种语言,如果想要开发更加复杂的程序时,必须要有一个强大的开发类库。因此,Sun在1996年年初发布了JDK1.0。这个版本包括两部分:运行环境(JRE)和开发环境(JDK)。运行环境包括核心API、集成API、用户界面API、发布技术、Java虚拟机(JVM)5个部分:开发环境包括了编译Java程序的编译器(即javac命令)。
接着,Sun公司在1997年2月发布了JDK1.1,在JDK1.1中,增加了JIT(即时编译)编译器,JIT和传统的编译器不同,传统的编译器是编译一条,运行完就扔掉;而在JIT中会将经常用到的zh指令保存到内存中,当下次调用时就不需要在重新编译了,通过这种方式让JDK效率上有了很大的提高。
直到1998年12月,Sun发布了Java历史上最重要的JDK版本:JDK1.2,同时伴随着JDK1.2发布的还有JSP/Servlet、EJB等规范,并将Java分成了J2EE、J2SE和J2ME三个版本。
J2EE:Java技术中应用最广泛的部分,J2EE提供了企业应用开发相关的完整解决方案。
J2SE:是整个Java技术的核心和基础,它是J2EE和J2ME编程的基础。
J2ME:主要用于控制移动设备和信息家电等有限存储的设备。
这使得Java在企业、桌面和移动领域获得了广泛的应用,不仅如此,JDK1.2还把它的API分成了三大类。
核心API:由Sun公司制定的基本的API,所有的Java平台都应该提供,这就是平常所说的JaJava核心类库。
可选API:这是Sun公司为JDK提供的扩充API,这些API因平台的不同而不同。
特殊API:用于满足特殊要求的API。如用于JCA和JCE的第三方加密类库。
2002年2月,Sun发布了JDK历史上最为成熟的版本:JDK1.4。在此期间,Java语言在企业应用领域大放异彩,涌现出大量基于Java语言的开源框架:Struts、WebWork、Hibernate、Spring等;大量企业应用服务器也开始涌现,WebLogic、WebSpere、JBoss等,这些都标志着Java语言进入了飞速fa'z发展时期。
2004年10月,Sun发布了万众期待的JDK1.5,同时,Sun将JDK1.5ga改名为JavaSE5.0,J2EE、J2ME也相应的改名为Java EE和Java ME。JDK1.5增加了诸如泛型、增强for语句、可变数量的形参、注释、自动拆装箱等功能;同时,也发布了新的企业级平台规范,如通过注释来简化EJB的复杂性,并推出了EJB3.0规范。还推出了自己的MVC框架规范:JSF,JSF规定类似于ASP.NET的服务器控件,通过它可以快速构建复杂的JSP界面。
2006年12月,Sun公司发布了JDK1.6,一直以来,Sun公司维持着大概两年一次的JDK新版本更新。
在2009年4月20日,Oracle宣布以每股9.5美元收购Sun,于是曾经代表一个时代的Sun公司一去不复返。虽然Sun公司倒下了,但是Java却越来越火热。
2011年7月,Oracle公司如约的发布了JavaSE 7 ,引入了二进制数、支持字符串的switch语句、菱形语法、多异常捕捉、自动关闭资源的try语句等新特性。
2014年3月,Oracle公司发布了Java SE 8,这次版本的升级为Java带来了全新的Lambda表达式、流式编程等大量新特性,这些新特性使得Java变得更加强大。
2017年9月,Oracle公司发布了Java SE 9,这次版本的升级强化了Java的模块化系统,让庞大的Java语言更轻量化,而且采用了更高效更智能的G1垃圾回收器,并在核心类库上进行了大量的更新,可以进一步的简化编程。