一、Java 11 新特性
局部变量类型推断:Java 11支持在局部变量的声明中使用var关键字进行类型推断。通过省略变量的类型,可以更简洁地声明局部变量,提高代码的可读性。
字符串API增强:Java 11引入了一些新的方法和功能来处理字符串。其中包括isBlank()方法用于检测字符串是否为空白,lines()方法用于将字符串拆分成行,以及strip()、stripLeading()和stripTrailing()等方法用于去除字符串前后的空格。
HTTP客户端标准化:Java 11中引入了一个标准的HTTP客户端API(java.net.http),用于发送HTTP请求和处理响应。这个新的HTTP客户端提供了异步和同步请求的支持,以及更容易使用的API。
垃圾回收器改进:Java 11引入了一个新的垃圾回收器(Epsilon GC),它是一种无操作(No-Op)的垃圾回收器,用于在测试和性能调优场景下进行使用。此外,Java 11还改进了现有的垃圾回收器,如G1垃圾回收器和ZGC。
动态类文件常量:Java 11引入了一种新的类型常量——动态类文件常量(Dynamic Class File Constants)。它可以在运行时通过invokedynamic指令来使用,并且可以在不重新编译代码的情况下更新。
新的标准化HTTP/2客户端和服务器API:在Java 9中引入的标准化HTTP/2 API得到了改进和增强。Java 11提供了更完善的HTTP/2客户端和服务器API,使得开发者可以更方便地使用和构建基于HTTP/2协议的应用程序。
Flight Recorder事件流处理:Java 11将Flight Recorder的事件流数据开放给开发者,以便进行实时处理和分析。这使得开发者可以更加详细地监视和调试应用程序的性能、行为和异常情况。
移除的功能:Java 11中还移除了一些过时或不再推荐使用的功能,如Applet API、JavaFX、Nashorn JavaScript引擎等。