JDK 11相对于JDK 8增加了许多新的功能和变化,下面列出了一些主要的新增内容及其作用:
-
局部变量类型推断(var): JDK 11引入了局部变量类型推断,允许使用关键字
var
声明局部变量,编译器会根据变量初始化的值推断变量的类型。这样可以简化代码书写,提升可读性,并且不会损失类型安全性。 -
HTTP客户端 API: JDK 11引入了一个标准化的 HTTP 客户端API,以替代过时的
HttpURLConnection
类。新的API提供了更简洁、更易用的方式来发送 HTTP 请求并接收响应。 -
JEP 330: 启动单文件源代码程序: JDK 11允许通过
java
命令直接运行一个单独的 Java 源代码文件,而无需先进行编译。 -
Epsilon垃圾收集器: JDK 11引入了一种实验性的垃圾收集器 - Epsilon GC。它是一种无操作的垃圾收集器,用于处理内存不足或无法执行垃圾收集的特殊情况。Epsilon GC对于性能测试和短期任务非常有用。
-
ZGC垃圾收集器的稳定版发布: ZGC 是 JDK 11 中引入的一种低延迟和高吞吐量的垃圾收集器。它非常适用于大内存堆上的应用程序,并且能以几毫秒级别的停顿时间来处理大型堆。
-
JEP 335: 静态CRI编译器: JIT 编译器是 Java 程序运行时的一个关键组成部分,JDK 11中引入了一种实验性的静态 CRI(Compiler/Runtime Interface)编译器接口,这种接口可以在运行时加载并优化 Java 字节码。
-
增强的安全性: JDK 11引入了对 TLS 1.3 和 HTTPS 的支持,提供更加安全的网络通信实现,并通过限制弱算法、支持更强的密钥和加密套件等方式增强了应用程序的安全性。
-
新的标准API: JDK 11添加了一些新的标准API,例如
java.util.concurrent.Flow
接口,提供了异步流的定义和操作;java.nio.file.Path
接口中的方法进行了扩展,以便更好地处理文件系统相关操作。
除了以上列举的主要特性外,JDK 11还有其他一些辅助功能、库和性能优化的改进。总体来说,JDK 11的新增内容主要着眼于提升开发效率、增强安全性和稳定性,并通过引入新的API和改进现有功能来满足日益增长的应用需求。