写点什么

2025 年 JavaOne 技术大会精彩回顾(第二天):外部函数与内存 API、虚拟线程、平台工程、Jakarta EE 的演进

  • 2025-04-05
    北京
  • 本文字数:2425 字

    阅读完需:约 8 分钟

大小:1.12M时长:06:32
2025年JavaOne技术大会精彩回顾(第二天):外部函数与内存API、虚拟线程、平台工程、Jakarta EE的演进

JavaOne 2025 大会的第二天活动于 2025 年 3 月 19 日在加利福尼亚州红木城的 Oracle 会议中心举行。大会的主要亮点包括:Java 外部函数与内存 API 如何解决 Java 原生库中固有的问题;虚拟线程在 Helidon 中的实际应用;如何让 Kubernetes 适用于 Java 团队;Jakarta EE 的过去、现在和未来。


以下是重点演讲的概要。


重点演讲:外部函数与内存 API | 虚拟线程的实际应用 | 平台工程 | Jakarta EE 的演变


Oracle Java 核心库的技术顾问 Per-Åke Minborg 的演讲题为“纯 Java 函数和内存访问”。


Minborg 首先介绍了 JEP 454:外部函数与内存 API,该 API 在 JDK 22 中发布,并由 Project Panama 提供支持。


外部函数与内存 API 是从两个 JEP 演变而来的,分别是:JEP 393:外部内存访问 API(第三次孵化)JEP 389:外部链接器 API(孵化),这两个 JEP 均于 2016 年推出。该 API 是为了替代 Java 原生接口(JNI),JNI 是一种用于与其他编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行互操作的原生编程接口。


JNI 存在的一些问题包括:以原生为中心的编程模型,Java 和 C 的结合非常脆弱;维护和部署成本较高;数据在 JNI 中的传递既繁琐又低效。试图解决这些问题的框架包括:Java Native AccessJava Native RuntimeJavaCPP,但这些框架从未真正流行起来。


在介绍了 JNI 的工作流程以及 JNI 如何处理数据之后,Minborg 提供了多个代码示例,并讨论了它们各自的不足之处。


Minborg 接着介绍了 MemorySegmentMemoryLayout 接口,并提供了大量关于如何访问各种内存布局的代码示例。


Oracle 工程经理 Joe Di Pol 和 Oracle 高级技术成员 Romain Grecourt 的演讲题为“虚拟线程的实际应用:使用 Helidon 构建快速、稳健的 Java 微服务”。


Di Pol 首先介绍了 JEP 444:虚拟线程,该特性在 JDK 21 中发布,并由 Project Loom 提供支持。它将虚拟线程定义为“由 JVM 管理的轻量级线程,有助于编写高吞吐量的并发应用程序”。虚拟线程通过 ForkJoinPool 类调度到平台线程上。


Helidon 1.x 至 3.x 版本支持基于 Netty 的响应式 Web 服务器。然而,随着 2023 年 10 月 Helidon 4.0 的发布,Web 服务器(代号 Helidon Níma)被完全重写,并使用了虚拟线程。


Di Pol 接着对 Helidon 和 MicroProfile 进行了深入介绍,包括:响应式模式阻塞模式的对比(附代码片段);Helidon 4.x 中的虚拟线程;如何解决虚拟线程被钉住的问题以及从中获得的经验教训。使用 synchronized 关键字是导致虚拟线程被钉住的主要原因,这一问题通过 JDK 24 中推出的 JEP 491:在不钉住虚拟线程的情况下进行同步 得以解决。


Payara 首席执行官 Steve Millidge 的演讲题为“构建现代 Java 平台:让 Kubernetes 适用于 Java 团队”。


Millidge 首先回顾了 Java 30 年的创新历程。Java 语言发生了显著的演变,同时在架构、基础设施、从单体到微服务(或许又回到单体)以及应用程序的部署和管理方面也发生了变化。Millidge 强调,我们需要“保持现有的 Java 应用程序与时俱进”。


Java 现代化的现状统计数据显示:企业使用的典型应用程序每年增加 28%;47% 的 Java 应用程序需要现代化;87% 的 Java 应用程序所有者和技术负责人认为现代化 Java 应用程序比其他项目更重要。


Millidge 解释了如何现代化 Java 应用程序,目标是采用新的基础设施和重构应用程序。Kubernetes 可以在这方面提供帮助,然而,尽管它带来了许多优势,在手动处理任务(如维护、节点和 Pod 的供应、路由以及分配 SSL 证书)方面仍然面临挑战。


平台工程为开发团队提供开发平台,帮助团队更高效地开发、部署和管理应用程序。其核心优势在于自动化、自助服务和简化工作流。平台工程可用于简化 Kubernetes 任务的手动处理过程。

Millidge 介绍了 Payara 在平台工程方面的实践以及他们从中获得的现代化方面的好处,包括:与 Java SE、Jakarta EE 和其他框架的兼容性;在本地、云端、多云和混合系统中的成功部署。


Eclipse 基金会 Jakarta EE 开发者布道师 Ivar Grimstad 的演讲题为“Jakarta EE 11 及未来的演变”。


Grimstad 的演讲回顾了 Jakarta EE 自早期的 J2EE 和 Java EE 以来的过去、现在和未来。

在回顾历史时,Grimstad 展示了 Enterprise Java Beans(EJB)的复杂性以及部署 EAR 和 WAR 文件的过程。为了缓解这种复杂性,在早期所做的努力之一是引入了 @Stateless 注解,这是 EJB 3.0 中引入的无状态会话 Bean 的组件定义注解。


在介绍现状时,Grimstad 简要概述了 Jakarta EE 9 和 Jakarta EE 10,然后主要聚焦在 Jakarta EE 11 上,详细介绍了开发者可以期待的 16 项更新规范。他介绍了 Jakarta Data 1.0,这是即将包含在 Jakarta EE 平台和 Web Profile 中的一项新规范。


演示包括一个 Jakarta Data 示例,以及如何使用 @ManagedThreadFactoryDefinition 注解(支持 Java SE 运行时感知功能)在 JDK 21 应用程序中动态启用虚拟线程。


在展望未来时,Grimstad 列举了已提交计划评审的 Jakarta EE 12 规范,包括:Jakarta 上下文和依赖注入 5.0、Jakarta Data 1.1、Jakarta Faces 5.0、Jakarta Pages 4.1 和 Jakarta Web Socket 2.3。


Jakarta NoSQL 1.0Jakarta MVC 3.0 规范有望被包含在 Jakarta EE 12 中。


新的规范想法包括:Jakarta Query、Jakarta CRaC 和 Jakarta AI。此外,还有可能会进行替换 Enterprise Java Beans 的工作。


结论


JavaOne 2025 大会是一场为期三天的活动,涵盖了主题演讲、讲座和实践实验室等,由 Oracle 和开发者关系团队组织策划。会议目录包含了大会所有的相关信息,开发者可以观看 Java Next Livestream 视频来深入了解 Java 的发展,其中包含了 Oracle 专家(如:Java 语言架构师 Brian Goetz、Project Loom 架构师和技术负责人 Ron Pressler、Java 架构师 Paul Sandoz)的精彩内容。


原文链接

https://www.infoq.com/news/2025/03/day-two-java-one-2025/


JavaOne 2025 相关报道:

2025 年 JavaOne 技术大会精彩回顾(第一天):Java 推动的世界

2025-04-05 09:006940

评论

发布
暂无评论

飞算JavaAI:颠覆传统!自动化接口设计,让编程效率飙升!

飞算JavaAI开发助手

飞算JavaAI:让编程小白也能轻松开发爆款应用的秘密武器!

飞算JavaAI开发助手

Redis 事务和 “锁机制”——> 并发秒杀处理的详细说明

不在线第一只蜗牛

数据库 redis

Serverless Devs 官网全新升级,Serverless+AI 重磅来袭

阿里巴巴云原生

阿里云 Serverless 云原生

云大使 X 函数计算 FC 专属活动上线!享返佣,一键打造 AI 应用

阿里巴巴云原生

阿里云 云原生

DNS污染是怎么回事,怎么解决?

国科云

飞算JavaAI:开辟 AI + 行业趋势的编程新范式

飞算JavaAI开发助手

飞算JavaAI:让 AI 为 Java 工程师 “打工”!

飞算JavaAI开发助手

C++学习:CRTP 模式是什么

不在线第一只蜗牛

c++

轻松实现数据库国产化!通过 NineData 完成到 GaussDB 的数据迁移

NineData

GaussDB 玖章算术 NineData 跨数据库 增量数据同步

亚马逊将发布新一代 Alexa,引入 Claude;顶尖 AI 科学家许主洪加入阿里,负责多模态基础模型丨RTE 开发者日报

声网

AI 场景下,函数计算 GPU 实例模型存储最佳实践

阿里巴巴云原生

阿里云 云原生

一键生成毛茸萌宠形象,基于函数计算极速部署 ComfyUI 生图系统

阿里巴巴云原生

阿里云 云原生

AI 短剧遇上函数计算,一键搭建内容创意平台

阿里巴巴云原生

阿里云 云原生

开发者福音!TinyEngine开启新篇章,服务端Java版本正式开源~

OpenTiny社区

开源 前端 低代码 OpenTiny TinyEngine

低代码如何解决“传统开发”的痛点

伤感汤姆布利柏

2024年8个强力替代MS Office Project的项目管理工具

易成研发中心

项目管理 项目管理工具

UU 跑腿云原生化,突围同城配送赛道

阿里巴巴云原生

阿里云 云原生

人工智能丨利用人工智能与自动化实现高效运营推广

测试人

构建统一的指标体系,对企业业务决策和创新价值何在?

Aloudata

数据分析 指标体系 数据指标 指标平台 noetl

设计模式1:工厂模式

卷福同学

设计模式 工厂模式

AI + 编程时代,飞算JavaAI如何引领行业趋势变革

飞算JavaAI开发助手

2025年JavaOne技术大会精彩回顾(第二天):外部函数与内存API、虚拟线程、平台工程、Jakarta EE的演进_编程语言_Michael Redlich_InfoQ精选文章