
JavaOne 2025大会的第一天,与 JDK 24 发布同步,于 2025 年 3 月 18 日在加利福尼亚州红木城的 Oracle 会议中心举行。大会的主要亮点包括:Scott McNealy 回顾了 Java 的诞生历程;Mark Reinhold 讨论了 Oracle 如何通过平衡保守与创新来管理 Java 的发展;列举了 11 个开发者面临的痛点及其解决方案。
以下是主题演讲和重点演讲的概要。
开幕主题演讲:Java 推动的世界
Oracle Java 开发者关系副总裁 Chad Arimura 主持了题为 “Java 推动的世界” 的主题演讲。Arimura 以 Sun Microsystems 最初对 Java 的描述作为开场:
Java 是一种简洁、面向对象、分布式、解释型、健壮、安全、架构中立、可移植、高性能、多线程的动态编程语言。
回顾自首届 JavaOne 大会以来的发展历程后,Arimura 强调 Java 的每个版本都在变得更好、更快。他随后介绍了几位重要人物:Georges Saab,Oracle Java 开发高级副总裁;Scott McNealy,Sun Microsystems 创始人,Curriki 联合创始人兼董事会成员,LittleHorse 名誉主席;以及 Colt McNealy,Scott 的儿子,LittleHorse 的 LLC 管理成员和技术团队负责人。
Scott McNealy 回忆了 Java 差点未能问世的故事。他讲述了如何说服 James Gosling 留在 Sun Microsystems,当时 Gosling 想去追求其他感兴趣的事情。McNealy 为 Gosling 提供了所有他需要的资源,以此来留在他,让他能够追随自己的热情。当然,剩下的就是历史了。
McNealy 以幽默的方式回顾了三十年前软件公司的状况。他回忆起当时因将 Compaq 和惠普比作“两辆垃圾车的碰撞”而惹上麻烦的事情。
在 Java 语言的早期发展阶段,McNealy 曾登上 1997 年 10 月 13 日的《财富》杂志封面。

为了讨论 Java 的技术细节,Saab 介绍了 Mark Reinhold,Oracle Java 平台团队高级架构师。Reinhold 表示,Java 仍然是世界上最受欢迎的编程平台之一,其成功归功于对两个核心目标的不懈追求:开发者生产力和程序性能。Oracle 团队在面对不断变化的编程范式、应用程序、部署方式和硬件发展时,始终致力于实现这些目标。
我们选择的目标很重要,但实现这些目标的手段同样重要。
我们会花时间思考全局和长期目标。我们不仅仅作为开发者,我们还努力成为管理者。
我们努力负责监督和保护那些被认为值得关注和保存的东西。我们努力在保护历史的同时为未来的发展而不断演变。
Java 平台的管理遵循两个核心原则:可读性和兼容性。
前 Oracle Java 平台团队高级架构师 Graham Hamilton 强调了可读性的三个主要观点:“阅读比编写更重要;简单性很重要;Java 应该是一种在任何地方都有相同含义的语言。” Reinhold 引用了他最喜欢的关于可读性的描述,来自麻省理工学院的教授 Harold Abelson 和 Gerald Jay Sussman:
程序是供人类阅读和理解的,计算机的执行只是附带的事情。
在讨论各种兼容性类型(源代码兼容性、二进制兼容性、行为兼容性、迁移兼容性和知识兼容性)时,Reinhold 特别强调了知识兼容性的重要性。他指出,“知识兼容性意味着新功能是在现有知识的基础上构建的,而不是破坏现有知识。”
为了让开发者在 Java 平台上投入的大量时间发挥最大价值,Reinhold 强调需要在保守和创新之间找到平衡。他说,我们必须有勇气说 “不”,正如 Gosling 曾经说过的:“我们必须有勇气选择不做任何事情,而不是去做错误的事情。”
为了提高开发者生产力和程序性能,Reinhold 提出了 11 个开发者面临的痛点,并为每个痛点提供了解决方案:
“Java 太难教了!”
“虚拟线程在使用同步机制时无法伸缩!”
“垃圾回收暂停时间太长了!”
“ZGC 在某些工作负载上伸缩性不佳!”
“Java 程序有时候启动太慢了!”
“使用本地库太难了!”
“量子计算会破坏 RSA!”
“Streams API 不可扩展!”
“我最喜欢的字节码库在 JDK 24 上出问题了!”
“在 Javadoc 注释中编写原生 HTML 太繁琐了!”
“你们推出新功能的速度不够快!”
Arimura 在结束开幕主题演讲时介绍了全新的 Learn.java 网站,这是一个“Java 编程语言初学者、学生和教师的学习平台”。这个新网站进一步强化了 Java 在教育领域的合作,是 Oracle 与 Java 用户组共同推进的项目。
重点演讲:使用 Java 21 构建下一代应用 | SQL、JSON 和 Java
Oracle 开发者布道师 Anders Swanson 的主题演讲是“使用 Java 21 和 Oracle 数据库构建下一代应用”。Swanson 在开场时对“融合数据库(Converged Database)”进行了定义: “任意数据、任意工作负载、一个数据库”。一个更正式的定义是:融合数据库 “提供了一个统一的平台,用于存储、管理和分析各种数据类型和工作负载,包括关系型数据、JSON、空间数据、图、向量等。”
Swanson 指出,微服务和分布式系统在大规模正确实现时面临诸多挑战。融合数据库提供了一个更强大、可扩展的数据平台,有效降低了运维成本。
Swanson 建议开发者使用融合数据库, “通过在单一平台上存储、索引和查询数据来消除对多个专用系统的需求。”
有兴趣尝试 Swanson 示例演示的开发者可以克隆这个 GitHub 代码库。
Oracle 软件架构师 Josh Spiegel 的主题演讲是“SQL、JSON 和 Java”。Spiegel 开场时介绍了 OSON,Oracle 为 JSON 而优化的本地二进制存储格式,用于 Oracle 自治 JSON 数据库。他定义了三种模型:
流式处理、树/文档对象模型、数据绑定
从易用性角度看,这些模型从左到右的易用性渐高,而从性能和可控性角度看,从右到左的性能和可控性渐高。
使用流式处理模型处理数据是通过 OracleJsonGenerator 接口和 Java FileOutputStream 类来实现的。
将数据绑定到普通 Java 对象是通过 Jackson 和 OSON 实现的,这里有两个映射目标:没有中间表示(例如 JSON 文本和 Java HashTable 的实例)和保留类型(例如时间戳和数字表示)。Spiegel 演示了如何通过常规的 JDBC 方法以 JSON 和 OSON 格式检索和发送数据。
Oracle 数据库与 Spring Data 技术兼容,例如 Spring Data JDBC、Spring Data JPA 和 Spring Data MongoDB。
有兴趣尝试 Spiegel 示例演示的开发者可以克隆这个 GitHub 代码库。
结论
JavaOne 2025 大会是一个为期三天的活动,涵盖了主题演讲、讲座和实践实验室等,由 Oracle 和开发者关系团队组织策划。会议目录包含了大会所有的相关信息,开发者可以观看 JDK 24 发布派对视频,其中包含了开幕主题演讲。
原文链接:
https://www.infoq.com/news/2025/03/day-one-java-one-2025/
JavaOne 2025 相关报道:
2025 年 JavaOne 技术大会精彩回顾(第二天):外部函数与内存 API、虚拟线程、平台工程、Jakarta EE 的演进
评论