JDK5新特性
- 自动装箱与拆箱
- 枚举
- 静态导入
- 可变参数(Varargs)
- 内省(introspector)
- 泛型(Generic)
- For-Each循环
JDK6新特性
- Desktop类和SystemTray类
- 使用JAXB2来实现对象与XML之间的映射
- 理解STAX
- 使用Compiler API
- 轻量级 Http Server API
- 插入式注解处理 API
- 使用Console开发控制台程序
- 对脚本语言的支持
- Common Annotations
- Java GUI界面的显示
- 嵌入式数据库Derby
- Web服务元数据
- Jtable的排序和过滤
- 更简单更强大的JAX-WS
JDK7新特性
- switch中可以使用字符串了
- 泛型实例化类型自动推断
- 自定义自动关闭类
- 新增一些读取环境信息的工具方法
- Boolean类型反转,空指针安全,参与位运算
- 两个char之间的equals
- 安全的加减乘除|sd
- 对Java集合( Collections)的增强支持
- 数值可加下划线
- 支持二进制数字
- 在try/catch异常扑捉中,一个catch可以写多个异常类型用|隔开
- 可以不必要写finally语句来关闭资源,只要你在try()的括号内部定义要使用的资源
JDK8新特性
- 接口的默认方法
- Lambda表达式
- 函数式接口
- 方法与构造函数引用
- 扩展了集合类
- 新的Date API
- Annotation多重注解
- streams(流)
- parallel streams(并行流)
- Map数据结构改进
JDK9新特性
- Jigsaw模块化项目
- 简化进程API
- 轻量级JSON API
- 钱和货币的API
- 改善锁竞争机制
- 代码分段缓存
- 智能java编译
- http2.0客户端
- kulla计划
JDK10新特性
- 局部变量的类型推断
- GC改进和内存管理
- 线程本地握手
- 备用内存设备上的堆分配
- 其他Unicode语言 - 标记扩展
- 基于Java的实验性JIT编译器
- 开源根证书
- 根证书颁发认证(CA)
- 将JDK生态整合单个存储库
- 删除工具javah
JDK11新特性
1、基于嵌套的访问控制
2、动态类文件常量
3、改进 Aarch64 内联函数
4、Epsilon:No-Op 垃圾收集器
5、删除 Java EE 和 CORBA 模块
6、HTTP 客户端(标准)
7、Lambda 参数的本地变量语法
8、Curve25519 和 Curve448 密钥协议
9、Unicode 10
10、运行记录仪
11、ChaCha20 和 Poly1305 密码算法
12、启动单文件源代码程序
13、低开销堆分析
14、传输层安全性(TLS)1.3
15、ZGC:可扩展的低延迟垃圾收集器
16、弃用 Nashorn JavaScript 引擎
17、弃用 Pack200 工具和 API
JDK12新特性
1、Shenandoah GC 低暂停时间垃圾收集器
2、Microbenchmark Suite 微基准测试套件
3、Switch 表达式
4、JVM常量api
5、保留 32 位 ARM 实现和 64 位 aarch64 实现的同时,删除与 arm64 实现相关的所有源码
6、CDS默认类书籍恭喜归档文件
7、G1收集器的优化
可中止G1混合收集
G1及时释放未使用的已分配内存
jdk13新特性
1、switch优化更新
2、文本块升级
3、动态CDS档案
4、取消使用未使用的内存
5、重新实现旧版套接字API
6、FileSystems.newFileSystem新方法
7、nio新方法
8、核心库/ java.time
9、核心库/ java.util中:I18N
10、热点/ GC
11、安全库/ java.security
12、删除部分功能
jdk14新特性
1、Switch表达式(确定最终版)
2、文本块升级
3、instanceof的模式匹配(预览特性)
4、Record(预览特性)
5、NullPointerException提示优化
6、垃圾回收器(更新优化)
7、货币格式(优化)
8、NIO的Channel通道
9、删除部分功能(CMS垃圾收集器已被删除、删除了安全库java.security.acl)
10、弃用部分功能(弃用线程挂起、删除功能,弃用javax.crypto椭圆曲线功能)
转:https://mp.weixin.qq.com/s/Q-09zfXxgcOSmjIQ2zv7gQ https://my.oschina.net/mdxlcj/blog/3197478