JDK 1.0:
- Java虚拟机
- Applet
- AWT
JDK 1.1
- JDBC
- JAR文件格式
- JavaBeans
- RMI
- 内部类(Inner Class)
- 反射(Reflection)
JDK 1.2:
- 该版本第一次内置JIT(Just In Time)即时编译器
- 添加strictfp关键字,即strict float point精确浮点,用于修饰类、接口、方法,用于确保浮点数运算准确
- 类库添加现在常用的一系列Collections集合类
JDK 1.3
- 新的Timer API
- 使用CORBAIIOP实现RMI的通信协议
- 添加JavaSound类库
JDK 1.4
- 正则表达式
- 异常链
- NIO
- 日志类
- XML解析器
- XSLT转换器
JDK 5:
从该版本开始Sun公司放弃"JDK 1.x"的命名方式,将产品版本号修改成了"JDK x"。该版本在Java语法易用性上做了非常大的改进。
- 自动装箱
- 泛型
- 枚举
- 动态注解
- 可变长参数
- 遍历循环(foreach迭代方式)
- 提供java.util.concurrent并发包
JDK 6
- Desktop类和SystemTray类
- 初步的动态语言支持
- 提供编译期注解处理器
- 微型HTTP服务器API
JDK 7
- switch支持字符串作为匹配条件
- 泛型类型自动推断
- try-wtih-resources资源关闭技巧
- Objects工具类
- ForkJoinPool
- 提供新的G1收集器
JDK 8
- Lambda表达式
- 函数式表达能力
- 内置Nashorn JavaScript引擎
- 新的时间和日期API,LocalDate等
- 彻底移除HotSpot的永久代
- 接口的默认方法实现和静态方法 -流式处理
JDK 9
- Jigsaw模块化项目
- 轻量级JSON API
- 简化进程API
- 代码分段缓存
JDK 10
- 局部变量的类型推断
- 改进GC和内存管理
- 线程本地握手
JDK 11
- 删除Java EE和CORBA模块
- 提供实验性质的可扩展低延迟垃圾收集器ZGC
- 支持动态类文件常量
JDK 12
- Shenandoah低暂停时间的GC
- switch表达式功能增强
- G1收集器的优化 ————————————————