2018 年的时候,Mark Reinhold 在 Oracle Codeone 大会上做了一次演讲,主题是The Future of Java is Today,内容分别是当时启用的每 6 月一次的发布节奏、oracle 持续对 Java 的支持、当时 Java 发布的新特性,最后介绍了正在开发中的四个项目:amber、loom、panama和valhalla。
- amber ,直译是琥珀,旨在提升 Java 的语言表现力,其中 var 关键字、text block 、record class 、sealed class 和模式匹配等,就是这个项目的产品,它们大多都以上线(released)。
- loom ,直译是织布机,为 Java 引入虚拟线程(与协程进行区分),有点类似 goroutine ,完全由 JVM 管理和调度的用户态轻量级线程,完全与现有的 thread api 兼容。
- panama ,取巴拿马运河沟通大西洋和太平洋之意,旨在提升 Java 调用外部语言 /接口等的能力,Java16 的向量化 API 源自于此。
- valhalla ,直译是北欧神话中的英灵殿,为 Java 引入值类型和用户定义的基本量类型。
如今四年过去了,这四个项目或者开始公测(成为 draft 状态),或者成为预览版本(preview)将随短期 Java 版本发布,或者已经上线,最新进度见此。
也许在下个 LTS 版本,它们都会发布完成,相信到时候会是比肩 Java8 一样的经典版本。