jdk版本发布及变化
1995年5月,Oak语言改名为Java,Java 1.0发布,提出“Write Once,Run Anywhere”口号
1、JDK 1.0
1996年1月,技术:Java虚拟机、Applet、AWT等
2、JDK 1.1
1997年2月,技术:JAR文件格式、JDBC、JavaBeans、RMI等,语法:内部类(Inner Class)和反射(Reflection)
3、JDK 1.2
1998年12月,分为三个方向:面向桌面应用开发—J2SE、面向企业级开发—J2EE、面向手机移动终端开发—J2ME
技术:EJB、Java Plug-in、Java IDL、Swing,内置了JIT即使编译器,加入了strictfp关键字,引入了Collections集合类
注:1999年4月HotSpot虚拟机诞生
4、JDK 1.3
2000年5月,改进Java类库(如数学运算和新的Timer API)
5、JDK 1.4
2002年2月,技术:正则表达式、异常链、NIO、日志类、XML解析器和XSLT转换器
6、JDK 5
2004年9月,命名方式JDK x,技术:自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach循环)
改进了Java的内存模型(Java Memory Model,JMM)、提供了java.util.concurrent并发包
Windows 9x操作系统的最后一个JDK版本
7、JDK 6
2006年12月,J2EE—EE,J2SE—SE,J2ME—ME
改动:
提供初步的动态语言支持、提供编译器注解处理器和微型HTTP服务器API;
锁与同步、垃圾收集、类加载
8、JDK 7
2009年2月,改变:开始支持Mac OS X操作系统提供支持
9、JDK 8—长期文档支持的版本
2014年3月,改变:Lambda表达式、内置Nashorn JavaScript、彻底移除HotSpot的永久代
10、JDK 9
2017年9月,改变:Jigsaw,java模块化规范、整顿了HotSpot各个模块各自为战的日志系统
11、JDK 10
2018年3月,改变:内部重构—诸如统一源仓库、统一垃圾收集接口、统一即时编译器接口(Graal)
12、JDK 11—长期支持版本
2018年9月,技术:ZGC革命性的垃圾收集器、将类型推断加入Lambda语法
13、JDK 12
2019年2月,技术:Switch表达式、Java微测试套件(JMH)、RedHat领导开发的Shenandoah垃圾收集器—被Oracle通过条件编译强行剔除掉