Oracle发布了Java 11,它是2018年的第二个主要Java版本。此版本也是自Java 8之后,首个长期支持(LTS)版本,这意味着Oracle将至少在2026年之前为其提供安全性和错误修复更新。所以企业可放心选择该版本!
此版本完全删除了Applet和Web Start应用程序所需的部署堆栈。因此,支持的浏览器列表已从Java 11支持的配置列表中删除。它还删除了以前可用于Windows和macOS上的JRE安装的自动更新功能。此外,不再提供JRE或Server JRE。现在只提供JDK,用户可以使用'jlink'来设置较小的runtime。
此版本中的另一个变化是JavaFX现在可以单独下载,而不是包含在JDK中。JavaFX 11于上周发布。Java Mission Control不再包含在JDK中,也可以单独下载。
新版本中包含的一些亮点功能:1.开源的Flight Recorder和Mission Control:这将为需要性能和故障排除帮助的开发人员带来很多动力。
2.无操作垃圾回收器:当涉及到由许多超短期服务组成的分布式系统时,它将非常有效。
3.启动单文件源代码程序:这似乎只是一个小小的改动,但对于新手学习Java,它具有很大的价值,就像jshell一样。
4.VarHandles:朝着消除使用sun.misc的必要性迈出了一大步。
官网公开的17个JEP(JDK Enhancement Proposal 特性增强提议):181: Nest-Based Access Control(基于嵌套的访问控制)
309: Dynamic Class-File Constants(动态的类文件常量)
315: Improve Aarch64 Intrinsics(改进 Aarch64 Intrinsics)
318: Epsilon: A No-Op Garbage Collector(Epsilon 垃圾回收器,又被称为"No-Op(无操作)"回收器)
320: Remove the Java EE and CORBA Modules(移除 Java EE 和 CORBA 模块,JavaFX 也已被移除)
321: )
323: Local-Variable Syntax for Lambda Parameters(用于 Lambda 参数的局部变量语法)
324: Key Agreement with Curve25519 and Curve448(采用 Curve25519 和 Curve448 算法实现的密钥协议)
327: Unicode 10
328: Flight Recorder(飞行记录仪)
329: ChaCha20 and Poly1305 Cryptographic Algorithms(实现 ChaCha20 和 Poly1305 加密算法)
330: Launch Single-File Source-Code Programs(启动单个 Java 源代码文件的程序)
331: Low-Overhead Heap Profiling(低开销的堆分配采样方法)
332: Transport Layer Security (TLS) 1.3(对 TLS 1.3 的支持)
333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)(ZGC:可伸缩的低延迟垃圾回收器,处于实验性阶段)
335: Deprecate the Nashorn JavaScript Engine(弃用 Nashorn JavaScript 引擎)
336: Deprecate the Pack200 Tools and API(弃用 Pack200 工具及其 API)
该版本还删除了以前版本中提供的多种语言翻译,例如法语,德语,意大利语,韩语,葡萄牙语,西班牙语和瑞典语。
Java 11支持Unicode 10,增加了16,018个新字符,其中包括针对4K TV标准,比特币标志和128个表情符号的19个新增字符。
类型。
Oracle解释说,有一种新的集合方法允许将集合的元素转移到新创建的所需运行时类型的数组中。它还添加了一个新的命令行标志,使开发人员能够动态控制编译器线程。