JDK 5 ~ 11 新特性倾情整理

时间:2022-01-12 15:01:35

为了大家对JDK有一个全面的了解,下面我为大家整理了JDK5~11的所有关键新特性!

先看一下JDK的版本迭代图:

JDK 5 ~ 11 新特性倾情整理

注:   OpenJDK和JDK区别

   GPL协议通用性公开许可证(General Public License)

LTS是长期支持(Long Term Support)的缩写

关于Java9之后没有Java10,而是Java18.3参见这篇文章(其实18.3是指此版本在18年3月发布)

JDK5新特性

  1. 自动装箱与拆箱

  2. 枚举

  3. 静态导入

  4. 可变参数(Varargs)

  5. 内省(introspector)

  6. 泛型(Generic)

  7. For-Each循环

JDK6新特性

  1. Desktop类和SystemTray类

  2. 使用JAXB2来实现对象与XML之间的映射

  3. 理解STAX

  4. 使用Compiler API

  5. 轻量级 Http Server API

  6. 插入式注解处理 API

  7. 使用Console开发控制台程序

  8. 对脚本语言的支持

  9. Common Annotations

  10. Java GUI界面的显示

  11. 嵌入式数据库Derby

  12. Web服务元数据

  13. Jtable的排序和过滤

  14. 更简单更强大的JAX-WS

JDK7新特性

  1. switch中可以使用字符串了

  2. 泛型实例化类型自动推断

  3. 自定义自动关闭类

  4. 新增一些读取环境信息的工具方法

  5. Boolean类型反转,空指针安全,参与位运算

  6. 两个char之间的equals

  7. 安全的加减乘除|sd

  8. 对Java集合( Collections)的增强支持

  9. 数值可加下划线

  10. 支持二进制数字

  11. 在try/catch异常扑捉中,一个catch可以写多个异常类型用|隔开

  12. 可以不必要写finally语句来关闭资源,只要你在try()的括号内部定义要使用的资源

JDK8新特性

  1. 接口的默认方法

  2. Lambda表达式

  3. 函数式接口

  4. 方法与构造函数引用

  5. 扩展了集合类

  6. 新的Date API

  7. Annotation多重注解

  8. streams(流)

  9. parallel streams(并行流)

  10. Map数据结构改进

JDK9新特性

  1. Jigsaw模块化项目

  2. 简化进程API

  3. 轻量级JSON API

  4. 钱和货币的API

  5. 改善锁竞争机制

  6. 代码分段缓存

  7. 智能java编译

  8. http2.0客户端

  9. kulla计划

JDK10新特性

  1. 局部变量的类型推断

  2. GC改进和内存管理

  3. 线程本地握手

  4. 备用内存设备上的堆分配

  5. 其他Unicode语言 - 标记扩展

  6. 基于Java的实验性JIT编译器

  7. 开源根证书

  8. 根证书颁发认证(CA)

  9. 将JDK生态整合单个存储库

  10. 删除工具javah

JDK11新特性

  1. 基于嵌套的访问控制(Nest-Based Access Control)

  2. 动态类文件常量(Dynamic Class-File Constants)

  3. Epsilon— 一个无操作的垃圾收集器

  4. 处于试验阶段的可伸缩低延迟垃圾收集器 ZGC

  5. 其他Unicode 10语言 - 标记扩展

  6. HTTP Client (Standard)

  7. 用于 Lambda 参数的局部变量语法