标签: Java
Java的历史
1991年,James Gosling领导的绿色计划目标是开发一种能够在各种消费性电子产品上运行的程序架构Oak。
1995年,Oak更名为Java,发布1.0版本并提出“Write Once,Run Anywhere”。
1996年,JDK 1.0发布,提供了一个纯解释执行的Java虚拟机实现(Sun Classic VM)。并开始流行起来。
1997年,Sun公司发布了JDK 1.1,Java许多基础的技术支撑点都是在JDK 1.1版本中提出。包括JAR文件格式、JavaBean、JDBC、RMI,内部类、反射等。到1999年,共发布了9个版本。
1998年,JDK发布1.2版本,将Java技术体系拆分为1)面向桌面的应用开发(J2SE)、2)面向企业级的开发(J2EE)、面向手机等移动终端的开发(J2ME)。并第一次内置了JIT即时编译器。添加了现在Java编码中极为常见的Collections集合类等。
1999年,HotSpot虚拟机诞生,在JDK1.3版本后成为默认的虚拟机。
2000年,JDK1.3发布,主要体现在Java类库(运算类库和Timer API等)和JNDI等服务上。
2002年,JDK1.4发布,增加了技术特性,如正则表达式、异常链、NIO(同步非阻塞的IO模型)、日志类、XML解析等。
2004年,JDK 5发布,在语法上做了非常大的改进,如自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环等。在虚拟机和API层面上,版本改进了Java的内存模型,提供了并发包等。
2006年,JDK 6发布,对虚拟机内部做了大量改进,包括锁、同步、垃圾收集、类加载等方面。Sun将Java开源,并建立OpenJDK组织对源码进行独立的管理。因为各种原因,JDK 6的生命周期很长,直到2018年。
2009年,JDK 7 发布,提供新的收集器、加强对非Java的支持、并行的类加载架构。Oracle收购Sun公司,Java归属Oracle。
2014年发布JDK8,对Lambda表达式的支持,新的时间日期API、移除HotSopt永久代。
2017年,JDK9发布,增强了若干工具,整顿HopSpot各自模块的日志系统。
2018年,JDK 10发布,主要目标是内部重构,如统一垃圾收集器解耦等。Oracle将J2EE捐赠给Eclipse基金会,不使用Java商标,改用Jakarat EE。
2018年,JDK11发布,包含ZGC革命性的垃圾收集器,和Lambda语法的改进。OpenJdk又两个主线版本,收费版本支持三年,免费版本支持半年。RedHat代替Oracle成为维护者。
2019年,JDK12发布,包括Switch表达式、Java微测试套件等新功能,和RedHat领导的收集器。