本文最后更新于 1278 天前,其中的信息可能已经有所发展或是发生改变。
从Java 10 开始,Java的迭代周期缩短为半年,半年发布一个版本。Java10它号称有109项新特性,包含12个JEP。
特性列表
- 局部变量的类型推断 var关键字
- GC改进和内存管理 并行全垃圾回收器 G1
- 垃圾回收器接口
- 线程-局部变量管控
- 合并 JDK 多个代码仓库到一个单独的储存库中
- 新增API:ByteArrayOutputStream
- 新增API:List、Map、Set
- 新增API:java.util.Properties
- 新增API: Collectors收集器
- 其它特性
1.局部变量的类型推断 var关键字
这个新功能将为Java增加一些语法糖 – 简化它并改善开发者体验。新的语法将减少与编写Java相关的冗长度,同时保持对静态类型安全性的承诺。
这可能是Java10给开发者带来的最大的一个新特性。下面主要看例子:
注意:下面几点使用限制
- 局部变量初始化
- for循环内部索引变量
- 传统的for循环声明变量
下面这几种情况,都是不能使用var
- 方法参数
- 全局变量
2.GC改进和内存管理 并行全垃圾回收器 G1
JDK 10中有2个JEP专门用于改进当前的垃圾收集元素。
Java 10的第二个JEP是针对G1的并行完全GC(JEP 307),其重点在于通过完全GC并行来改善G1最坏情况的等待时间。G1是Java 9中的默认GC,并且此JEP的目标是使G1平行。
3.新增API:List、Map、Set
这3个接口都增加了一个新的静态方法,copyOf(Collection)。这些函数按照其迭代顺序返回一个不可修改的列表、映射或包含给定集合的元素的集合。
复制一个集合为不可变集合: