Java语言的历史可以追溯到1991年。当时,Sun公司(Sun Microsystems)成立了一个称之为Green的项目组,致力于数字家电之间的通讯和协作,该项目的负责人是后来被称为Java之父的James Gosling。相较于PC平台而言,数字家电设备具有更高的平台差异性,面对Green计划,Gosling需要开发一种全新的编程语言,该语言必须简洁、健壮,可以屏蔽硬件设备之间的差别,从而使代码具备更好的可移植性,于是,Java语言应运而生,不过她最初的名字并不是Java而是Oak(橡树)。

Java语言真正被世人了解是从1995年开始,在1995年5月23日,SUN公司将Oak语言重新命名为Java,并且在SunWorld大会上正式发布Java1.0版本。互联网技术的高速发展对Java语言起了巨大的推动作用。Java语言迅速成为使用最广泛的编程语言。从这个时候起,Java语言所涉及的领域已经远远超越了当初设计它的目标。Java已经由单纯的语言成长为通用的平台技术标准。

下面是JDK各版本的发展历程;

JDK1.0版本

   1996年1月23日,JDK1.0版本发布。JDK1.0当时还是一个纯解释执行的Java虚拟机,JDK1.0版本的代表技术有:Java虚拟机,Applet,AWT等。

     JDK1.1版本

1997年2月19日,JDK1.1版本发布。JDK1.1的代表技术:JAR文件格式,JDBC,JavaBean,RMI。语言上:内部类,反射。

JDK1.2版本

   1998年12月4日JDK迎来了一个里程碑的版本1.2。Java平台技术体系被分为三个方向,J2SE,J2EE,J2ME,Sun开始使用“Java 2”这一名称。

JDK1.2的代表技术有:EJB2,Java Plug-in,Swing,Java集合框架(Java Collection Framework),Java虚拟机第一次内置了JIT编译器等,HotSpot虚拟机开始作为JDK1.2的附加程序提供(JDK1.3及后续版本将HotSpot虚拟机作为JDK的默认虚拟机)。

JDK1.3版本

  2000年5月8日,JDK1.3发布。JDK1.3对于JDK1.2的改进重要在于一些类库,JNDI服务从JDK1.3开始被作为一项平台级服务提供。

JDK1.4版本

   2002年2月13日,JDK1.4发布。该版本是Java走向成熟的一个版本,许多著名的公司都有参与甚至实现自己独立的JDK1.4,许多主流JavaEE技术(如SSH框架等)都能直接运行在JDK1.4之上。

代表技术有:正则表达式,异常链,NIO,日志类,XML解析器等。

JDK1.5版本

   2004年9月30日,JDK1.5发布。在该版本在Java语法的易用性做了非常大的改进,Sun将Java平台重新划分为JavaSE、JavaEE、JavaME三个技术方向。

增强的技术有:自动拆装箱,泛型,注解,枚举,可变长参数,遍历循环。在虚拟机和API层面上,改进了Java内存模型,提供了java.util.concurrent并发包。

JDK1.6版本

   2006年11月3日,JDK1.6发布,该版本的改进有:提供脚本语言支持,提供编译API和轻量级HTTP服务器API等。

  2006年11月13日的JavaOne大会上,Sun宣布最终把Java开源,由OpenJDK组织对源码进行独立管理。

JDK1.7版本

   2011年7月28日,JDK1.7发布,新特性有:对Java集合的增强支持,switch语句中使用String类型参数,自动资源管理,提供新的G1收集器,加强对非Java语言的调用,升级类加载架构等。

JDK1.8版本

JDK1.8正式版将在2013年9月份发布, JDK1.8包含的两个主要项目:Lambda-函数式编程,Jigsaw-模块化支持等。

 

      Java语言诞生已经超过17年,在Java这个技术体系上,Java API 语法、Class文件格式、JVM、类库都在不断的完善。当然还有些东西是我们很期待:

     1) Java模块化规范: OSGi V1.0于2000年发布,但是在Java语法层面上还没有对模块化的支持,Jigsaw项目正在努力。

     2) 多语言混合编程: 在Java的技术体系上能让更多的在某个领域有着其特有优势的语言进来,吸引其他语言加入这个体系。

    3) 更好的并发编程: 如今的CPU多核不是一件很难的事情,要充分发挥多个核的作用。

   4) 提高Java语言和其他编程语言的互操作性,为云应用添加跨语言支持等。