2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

评论

发布
暂无评论

论坛回顾|FlyFish 一周年开源圆桌论坛圆满落幕

云智慧AIOps社区

开源项目 开源软件 开源治理 开源贡献 开源运营

如何快速优雅的用Know Streaming创建Topic

石臻臻的杂货铺

11月月更

活字格低代码开发平台怎么样?靠谱吗?

优秀

低代码平台

web前端培训学习应该怎么规划

小谷哥

前端面试查漏补缺

loveX001

JavaScript

软件测试面试真题 | 常见网络状态响应码

测试人

软件测试 面试题 状态码 测试开发

沙龙预告 | EPM 业财一体-合并报表(11月8日 14:00)

信通院IOMM数字化转型团队

数智化转型 EPM 业财一体 沙龙预告

速报|StarRocks亮相云栖大会,携手阿里云EMR 打造极速数据湖分析新体验

StarRocks

数据库

FinClip | 2022 年 10月产品大事记

FinClip

Spring Boot「23」DAO 模式

Samson

Java spring Spring Boot 学习笔记 11月月更

数据中台选型必读(一):元数据管理是数据使用与共享的根基

雨果

数据中台

数仓、湖仓、数据中台都没解决的企业数字化难题,却被它解决了

雨果

数据中台 数据仓库 DaaS数据即服务 数仓一体

js事件循环与macro&micro任务队列-前端面试进阶

loveX001

JavaScript

Web渗透测试攻防之浅述信息收集

网络安全学海

网络安全 安全 信息安全 渗透测试 信息收集

深圳区块链交易所的交易方式及开发搭建

W13902449729

深圳区块链交易所开发

金融服务的超级App

FinClip

快速应用程序开发

世开 Coding

软件开发 快速开发 敏捷精益

以开发之名 | bilibili会员购让IP在眼前动起来

HarmonyOS SDK

应该怎么去学习java培训

小谷哥

华为开发者大会2022即将召开 精彩主题演讲线上同步直播

科技汇

在线KMS激活windows系统

源字节1号

软件开发 小程序开发

MSE 风险管理功能发布

阿里巴巴云原生

阿里云 云原生微服务

Edge 浏览器提供了一个站点信息的按钮

HoneyMoose

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习手册

程序知音

Java 并发编程 高并发 java架构 后端技术

2022干货来袭!阿里大佬“亲码”Java全线笔记,差距不止一点点

程序知音

Java java面试 后端技术 Java面试题 Java面试八股文

Jenkins 构建的时候提示 DOCKER_HOST 错误

HoneyMoose

圆梦腾讯之后,我收集整理了这份“2022Java常见面试真题汇总”

程序知音

Java java面试 Java面试题 Java面试八股文 后端面试

思码逸 X 贝壳:用代码分析,升级既有效能度量体系

思码逸研发效能

数据 研发效能 研发管理工具

走向IPv6,阿里巴巴IPv6规模化部署实践

阿里技术

ipv6

深圳区块链交易所app开发、数字资产交易系统搭建

W13902449729

深圳区块链交易所app

数据中台选型必读(二):数据中台如何搭建元数据管理中心

雨果

数据中台

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