java发展时间线
JAVA发展
1.1996年1月23日 JDK 1.0
Java虚拟机Sun Classic VM,Applet,AWT
2.1997年2月19日 JDK 1.1
JAR文件格式,JDBC,JavaBeans,RMI不 跨语言,内部类,反射
3.1998年12月4日 JDK 1.2
分三个方向
J2SE J2EE J2ME
EJB,JavaPlug一in,ⅠDL,Swing, strictfp,集合类
并存三个虚拟机
Classic VM 外挂使用即使编译器
HotSpot VM(1.3及之后默认虚拟机), EXact VM(只在solaris平台出现过)首次内置JⅠT
4.2000年5月8日 JDK 1.3
数学运算,新Timer API,JavaSound类库,改进了2D APl,JNDI开始为平台服务,CORBA llOP实现RMI通信协议
5.2002年2月13日 JDK 1.4
很多公司参与
正则,异常链,N|O,日志类,XML解析器,XSLT转换器
6.2004年9月30日 JDK 5 (放弃之前1.x命名方式)
语法大改进
自动装箱,泛型,动态注解,枚举,可变长参数,遍历循环foreach,改进了JMM,提供concurrent并发包
7.2006年12月11日 JDK 6
之前命名改为
Java EE 6,SE 6,ME 6
提供动态语言支持,提供编绎期注解处理器,微型HTTP APl ,虚拟机大改进(锁与同步,垃圾收集,类加载)
Sun公司困难开源成OpenJDK
8.2009年2月19日 JDK 7
议程规划功能(未完成)
Lambda函数式编程(8),Jigsaw虚拟机模块化支持(8),运行在Java虚拟机上的动态语言支持,Garbage First收集器,Coin语法细节进化(8)
2011.7.28 Oracle改进
G1收集器,加强对非Java语言的调用支持,并行的类加载架构
开始商业化 Oracle JDK
OracIe收购到两大虚拟机JRockit和HotSpot合二为一,因前者没有永久代,所以8中取消了,用不在jvm中的元数据空间代替实现规范里的方法区
9.2013.9跳票至2014年3月18日 JDK 8
Lambda表达式,内置Nashorn JS引擎的支持(完善7),新时间,日期APl,彻底移除HotSpot永久代,Jigsaw模块化功能(再跳票到9)
10.跳票至2017年9日21日 JDK 9
Jigsaw模块化功能(与IBM的OSGi模块技术竞争胜出),JS Shell,JLink,JHSDB工具,整顿了HotSpot日志系统,支持HTTP2 APl
11.2018年3月20日 JDK 10
主要内部重构
统一源仓库,统一垃圾收集器接口,统一即使编译器接口(引入Graa|编译器)
本地代码类型推断,类似var
12.2018年9月25日 JDK 11
代码推断可用在lam表达式中
ZGC革命性垃圾收集器
分协议发行
GPLv2十CE OpenJDK-----RedHat接手维护
OTN OracleJDK
13.2019年3月20日 JDK 12
switch表达式,JMH微测试套件,剔除RedHat开发的Shenandoah垃圾收集器
领取专属 10元无门槛券
私享最新 技术干货