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