局部变量的类型推断 var关键字
加入var简化并改善开发者体验,新的语法将减少与编写Java相关的冗长度,同时保持对静态类型安全性的承诺。
var list = new ArrayList<String>();
以下两种不能使用var关键字
- 方法参数
- 全局变量
合并 JDK 多个代码仓库到一个单独的储存库中
root、corba、hotspot、jaxp、jaxws、jdk、langtools 和 nashorn 合并为一个,使得跨相互依赖的变更集的存储库运行 atomic commit (原子提交)成为可能。
线程-局部变量管控
允许在不运行全局虚拟机安全点的情况下实现线程回调,这将使得停止单个线程变得可能和便宜,而不是只能启用或停止所有线程。
GC改进和内存管理 并行全垃圾回收器 G1
通过完全GC并行来改善G1最坏情况的等待时间。G1是Java 9中的默认GC,并且此JEP的目标是使G1并行。
垃圾回收器接口
在 JVM 源代码中提供另外的垃圾回收器快速方便的集成的接口
新增ByteArrayOutputStream
String toString(Charset): 重载 toString(),通过使用指定的字符集解码字节,将缓冲区的内容转换为字符串。
List、Map、Set新增copyOf
新增copyOf(Collection)按照其迭代顺序返回一个不可修改的列表、映射或包含给定集合的元素的集合。
新增Collectors收集器
toUnmodifiableList()、toUnmodifiableSet()、toUnmodifiableMap(Function, Function)、toUnmodifiableMap(Function, Function, BinaryOperator)
将输入元素聚集到适当的不可修改的集合中。