Oracle 2024年Java发展蓝图分析

描述

  Oracle 的 Java 开发者布道师 Nicolai Parlog 于近日发布一段视频,介绍了 2024 年的 Java 工作规划。其中涉及了一些 OpenJDK 项目,包括 Amber、Babylon、Leyden、Lilliput、Loom、Panama 和 Valhalla。

  2024 年,Java 不断发展。让我们看看 OpenJDK 项目 Amber、Babylon、Leyden、Lilliput、Loom、Panama 和 Valhalla 今年的计划是什么,以及它们将如何推动 Java 向前发展。无论是模式匹配还是其他语言改进、与外部代码、内存或平台的交互、内存局部性或效率,还是启动时间,Java 在 2024 年将在很多领域进行改进。不过请记住,任何一年的大部分工作都不会在同一年发布,因此许多改进只能在 2025 年或更晚的时间才能使用。

  对于 Babylon 项目,Parlog 提到了 code reflection、扩展 reflection API 以及允许在方法内转换 Java 代码等计划。Babylon 团队计划在未来几周内发布一些用例工作,例如 auto-differentiating、C# LINQ emulation 和 GPU 编程等。不过,Babylon 项目仍处于早期阶段,所以 Parlog 预计该项目主线在 2024 年应该不会有任何实质性的内容。

  至于孵化 Java VM 和 API 功能的 Loom 项目,Parlog 认为,该项目备受瞩目的日子即将结束;因为虚拟线程已经最终确定,结构化并发和作用域值 API 也已在 Java 22 中达到了第二个预览版,预计会在今年某个时候完成。Parlog 特别希望能够在 synchronization non-pinning 和 file I/O non-capturing 方面取得进展,至少在 Linux 上使用 io_uring;但能不能在 2024 年实现不好说,毕竟距离 JDK 23 fork 只有 5 个月的时间了。

  2023 年,Leyden 项目在研究潜在 potential condensers 方面取得了进展,并且提出了一些相当大的性能改进。2024 年的计划包括完善冷凝器(Condenser)的概念并致力于原型冷凝器的生产准备,但也很难期待今年能有任何有形的成果落地。

  Amber 项目仍然是 Java 语言发展背后的动力源泉,目前预览的三个功能包括:字符串模板、简化 main 方法以及 statements before this () and super ()。Parlog 预计,这三个功能都将在 2024 年完成。正在探索的功能还包括 with 表达式和 primitive types in patterns。

  Panama 项目 “有三项工作正在进行中”:Vector API 正处于孵化阶段、Foreign Function & Memory API 正在改进、jextract 工具正在构建中(Panama 项目 2024 年的主要事项)。

  在 Valhalla 项目中,工作将集中在值类和对象上,它们提供仅具有实例字段且缺乏对象标识的类实例 final。表示 boxed primitives 的类 Integer、Double 和 Byte 是包装或 “box” 不需要标识的简单值的类的示例。删除标识不仅可以消除开发人员对 == 应用于这些类的含义的困惑,而且还可以显着减少 boxed Integer、Double 和 Byte 对象的运行时开销。

  Lilliput 项目旨在缩小 HotSpot JVM 中 Java object headers 的大小并减少 Java 内存占用。2023 年 Lilliput 合并了一种替代的 fast-locking scheme,以便按预期减小 header size,但该方案在进入黄金阶段之前还需进一步改进。因此,项目团队现在的工作重点是完善 fast-locking scheme,但 Parlog 预计 header size 的改进不会在 2024 落地。

  审核编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分