Java11,目前处于发布候选阶段的下一版 Java 编程语言,预计将于 2018 年 9 月 25 日全面上市。距离现在还有 2 周时间。由于 Oracle 计划于 2019 年 1 月推出针对 JDK 8 的 “Commercial User End of Public Updates”,估计会有许多用户打算在此之前迁移到 JDK 11。
你准备好了吗?

Java Development Kit(JDK)11 不仅仅是一个升级版。 它是 Java 语言的一个大有改善的版本,其中有几个功能专注于性能。 以下是 JDK 11 中可用的新特性列表。
基于嵌套的访问控制
嵌套是一种访问控制上下文,与 Java 编程语言中现有的嵌套类型概念一致。 嵌套允许逻辑上属于同一代码实体,但被编译为不同类文件的类,无需编译器插入可访问性扩展桥接方法,即可访问彼此的私有成员。
动态类文件常量
扩展 Java 类文件格式以支持新的常量池形式,CONSTANT_Dynamic。 加载 CONSTANT_Dynamic 会将创建委托给 bootstrap 方法,就像链接 invokedynamic 调用站点将链接委托给 bootstrap 方法一样。
改进 Aarch64 内联函数
改进现有的字符串和数组内联函数,并在 AArch64 处理器上为 java.lang.Math sin,cos 和 log 函数实现新的内联函数。
Epsilon:No-Op 垃圾收集器
开发一个处理内存分配但不实现任何实际内存回收机制的 GC。 一旦可用的 Java 堆耗尽,JVM 将关闭。
删除 Java EE 和 CORBA 模块
从 Java SE Platform 和 JDK 中删除 Java EE 和 CORBA 模块。这些模块在 Java SE 9 中已弃用,声明的目的是为了在将来的版本中删除它们。
HTTP 客户端(标准)
通过 JEP 110 标准化 JDK 9 中引入的孵化 HTTP 客户端 API,并在 JDK 10 中进行更新。
Lambda 参数的本地变量语法
在声明隐式类型的 lambda 表达式的形式参数时允许使用 var。
Curve25519 和 Curve448 密钥协议
使用 RFC 7748 中描述的 Curve25519 和 Curve448 实现密钥协议。
Unicode 10
升级现有平台 API 以支持 Unicode 标准 v10.0。
运行记录仪
提供低开销的数据收集框架,用于对 Java 应用程序和 HotSpot JVM 进行故障排除。
ChaCha20 和 Poly1305 密码算法
实现 RFC 7539 中指定的 ChaCha20 和 ChaCha20-Poly1305 密码。ChaCha20 是一种相对较新的流密码,可以替代旧的、不安全的 RC4 流密码。
启动单文件源代码程序
增强 java 启动程序以运行作为 Java 源代码的单个文件提供的程序,包括通过“shebang”文件和相关技术从脚本中使用。
低开销堆分析
提供一种低开销的 Java 堆分配采样方法,可通过 JVMTI 访问。
传输层安全性(TLS)1.3
实现传输层安全性(TLS)协议 RFC 8446 的 1.3 版。
ZGC:可扩展的低延迟垃圾收集器
Z 垃圾收集器,也称为 ZGC,是一个可扩展的低延迟垃圾收集器。
弃用 Nashorn JavaScript 引擎
弃用 Nashorn JavaScript 脚本引擎和 API 以及 jjs 工具,意图在将来的版本中删除它们。
弃用 Pack200 工具和 API
在 java.util.jar 中弃用 pack200 和 unpack200 工具以及 Pack200 API。
OneAPM 为您提供端到端的 Java 应用性能解决方案,我们支持所有常见的 Java 框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,Java 监控从来没有如此简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
染头发
聚一聚……
染头发
教育局……
你好
嗯讲得一般……
星雾
Lambda表达式的条件限制很多,应用面不多,我不知道是否应该要花时间来掌握这个表达式,求解……
修道小仙
感谢分享,来龙去脉,深入浅出,非常清晰……
小布丁
写的棒棒哒……
小布丁
写的真可以……
wuxin
受教了……
爱码物联
博客使用……
yancy_01
很喜欢文字的描述,特别是理论性质的,相比于代码,理论知识更加有意思,谢谢分享……