写点什么

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:007054

评论

发布
暂无评论

DApp开发:开启去中心化应用新时代

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

自研时序大模型讲解(4月29日)直播回顾

Apache IoTDB

用通义灵码全新智能体+MCP实现从设计稿到前端代码,个人免费用

阿里云云效

阿里云 云原生 通义灵码

YashanDB|select 0.00 的返回类型居然变了?警惕 JDBC 下的类型映射差异!

数据库砖家

数据库

最新版LangChain4j发布!终于修复了这个恶心的问题

王磊

DeFi开发系统软件开发:技术架构与生态重构

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Arthas jad(字节码文件反编译成源代码 )

刘大猫

监控 Arthas 监控工具 jad 字节码文件

《算法导论(第4版)》阅读笔记:p11-p13

codists

算法

黑龙江密码测评你需要知道的基本知识

黑龙江陆陆信息测评部

公链钱包开发:技术逻辑与产品设计实践

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 代币开发 交易所开发公链开发

YashanDB 知识库|如何判断表空间是否启用了加密?

数据库砖家

数据库

LED虚拟生产:革新影视制作的新技术

Dylan

虚拟 LED LED display LED显示屏 LED屏幕

HF下载太慢?Alaya NeW的加速神器让你的模型"飞"起来!

九章云极DataCanvas

人工智能 深度学习 存储 nlp

提升研发运维效能:Pacvue 泊客电商的 GenAI 技术实践

亚马逊云科技 (Amazon Web Services)

当AI智能体通过稳定币自主交易和结算,如何利好DeCloud?

PowerVerse

AI 加密 去中心化 稳定币 DeCloud

开源之夏2025 | DolphinScheduler邀你挑战技术任务,赢取丰厚奖金!

白鲸开源

大数据 开源 大数据任务调度 Apache DolphinScheduler 开源之夏

用通义灵码全新智能体+MCP实现从设计稿到前端代码,个人免费用

阿里巴巴云原生

阿里云 阿里云云原生 通义灵码

YashanDB|崖山共享集群(YAC):从怀疑到认可,技术细节决定产品成色

数据库砖家

数据库

YashanDB|使用 Kettle 同步 PostgreSQL 数据时报错:pg_hba.conf 无法识别连接?

数据库砖家

数据库

YashanDB|Kettle 同步大表报错 “无法创建 Java 虚拟机”?别忘了调整内存

数据库砖家

数据库

智源研究院发布开源中文互联网语料库CCI 4.0 新增高质量英文数据与合成数据

智源研究院

探索如何提升自动化测试的效率--代码评审和脚本生成

夏兮。

AI 自动化测试 端到端测试新范式

智源研究院发布开源中文互联网语料库CCI 4.0 新增高质量英文数据与合成数据

智源研究院

jd 商品评论Api接口 全解析指南

代码忍者

个人评论 JD

简化以太坊 L1,让DePIN基础更稳固

PowerVerse

以太坊 #区块链 DePIN 去中心化云算力

区块链内容创作全攻略:海报、白皮书与视频的视觉化革命

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Java 字符串拼接性能实测:基于 JMH 的微基准测试

歆晨技术笔记

AI 大赛丨总奖池 50 万元!「1000 AIdea 应用计划」等你来战!

声网

【AI】DeepWiki 页面转换成 Markdown 保存 - Chrome 扩展

非晓为骁

chrome AI DeepWiki Extension

HTTP接口数据也能定时同步入湖?用DolphinScheduler×SeaTunnel快速搞定!

白鲸开源

大数据 开源 Apache DolphinScheduler 任务调度

AI 叙事回归、机构入场推升比特币:加密市场迎来新一轮上涨

PowerVerse

比特币 AI eth 加密市场

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