Mark Reinhold 的“Java 9 模块状态”的要点

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

就在 Mark Reinhold 发表 关于 Java 9 模块系统状态的 最新主要博客文章前几小时,研究 OSGi 和云应用程序多年的作家兼演讲者 Paul Bakker 在 JavaZone 上发表了关于完全相同的演讲主题为 Reinhold。

除了一些小细节外,他在这次演讲中所说的一切仍然是准确的。这是他向我解释的关于 Java 9 模块化的关键主题:

Java 9 要做的最重要的事情是迫使开发人员考虑模块化。这很好,因为模块化是我们的目标。事实上,我们目前使用 OSGi 只是实现该目标的一个工具。同时,我们在 Java 9 计划的代码冻结前仅三个月就有了第一个公开原型,这是一个如此巨大的变化,这让我们有点害怕。

——保罗·贝克

2015 年 9 月 17 日更新,附加报价:

这里最具破坏性的事情可能是某些(不受支持的 API)在没有显式导出和破坏向后兼容性的情况下不再可用的第一件事。不过,第 9 个版本将具有向后兼容性标志。

——马库斯·拉格格伦

因此,如果您更喜欢包含 Reinhold 最近文章中讨论的大部分想法的视觉演示,请观看视频:

来自 Vimeo 的 会话描述:

随着模块化进入 Java 9 的核心 Java 平台,我们所有的模块化需求是否都得到满足,或者使用 OSGi 之类的东西是否仍然有意义?在本次演讲中,您将了解 Jigsaw 如何帮助实现模块化,以及在哪些情况下它可能不足。
Java 9 将提供一个模块系统,称为 Jigsaw。除了将 JDK 本身模块化之外,Java 开发人员还可以使用 Jigsaw 构建更多模块化的应用程序。不过,模块化和 Java 的历史要早得多。 OSGi 是 Java 中模块化的事实标准,自 2000 年以来一直存在。近年来采用率正在增加。

模块化架构有很多优点,例如增加解耦从而提高灵活性。从这个意义上说,非常欢迎对 Java 模块化的本地支持。现在最大的问题是:Java 9 是否提供了构建真正模块化应用程序所需的一切?由于 Java 9 需要保持向后兼容性,因此在强制执行模块边界时需要做出一些妥协。

本次演讲讨论构建模块化应用程序真正需要的内容。我们将调查两个模块系统满足(或不满足)哪些要求。您会看到 Jigsaw 和 OSGi 都提供了模块化拼图的一部分。此外,您还将了解在 Java 9 之上拥有额外的模块化运行时(例如 OSGi)是否仍然有意义。

保罗巴克
Paul 是 Luminis Technologies 的软件架构师,也是 O'Reilly 出版的“使用 OSGi 构建模块化云应用程序”一书的作者。他认为模块化和云是我们必须应对的两个主要挑战,以便将技术提升到一个新的水平,并且正在努力使主流软件开发成为可能。 Paul 是 Amdatu、Apache ACE 和 BndTools 等开源项目的积极贡献者。他有 Java 相关技术培训师的背景,并且经常在会议上发表演讲。

麦山德
Sander 在 Luminis Technologies 制作可扩展的软件。他在 JVM 平台上拥有近十年的经验,擅长模块化 Java 和 JavaScript 开发。此外,数据分析和机器学习是他不断增长的兴趣列表的一部分。 Sander 喜欢分享知识,例如通过他在 branchandbound.net 上的博客和为 Dutch Java Magazine 撰稿。他定期在国际开发者大会上发表演讲,分享他对 Java、替代 JVM 语言和相关技术的热情。

相关文章