JDK 9 最终将包含 Jigsaw 模块系统

JDK9开发分支快照版本已包含Jigsaw模块系统,这标志着Jigsaw项目的重要进展。Jigsaw通过将底层包划分为独立模块来简化Java开发结构,如java.base模块就包含了标准Java库。此外,为了推进JDK9和Jigsaw的开发,特别的EarlyAccess构建版本已发布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 jdk9-dev 的邮件列表中,Alan Bateman 宣布了一个 JDK9 开发分支的快照版本,该版本包含了 Jigsaw 模块系统。同时该项目的文档中也刚更新了相关的指示进度。这是 Jigsaw 项目开始到现在首次的变化。

历史上 Java 的开发一直都是在不同的分支上做的,他们使用 Mercurial 不同的开发树。例如 Hotspot 编译器是在 Hotspot 树中开发的,而主 Java 开发是在 jdk 树中进行。这个导致的结果是结构越来越复杂,越来越大的树结构。而且 Mercurial 并非轻量级分支,因为不同分支存放在不同的仓库之中。幸运的是,这些最终变成了一个单一的 Git 仓库.

这个变化是由于 Jigsaw 的功劳,底层包被分到不同的模块,每个包含一个或者多个包。java.base 模块包含标准的 Java 库 (java.lang, java.util, java.time 等 .) 当然这也的模块划分也会导致一些意外的伤亡,例如 java.beans 包用于其与 AWT 和 Applets 紧密耦合,因此被移植到了 java.desktop 模块。这意味着原来在 java.beans 包中实现了 PropertyChangeListener 接口的类都会被移除。

为了继续推进 JDK 9 类和 Jigsaw 的开发,Jigsaw 实现有其自己的森林。来自 Oracle 和 Azul Zulu 的 OpenJDK 主线 Java 构建将不包含 Jigsaw。而是推出一个特别的 Early Access 构建版本,这个版本提供了 Jigsaw 内容。

邮件显示 Oracle 尝试合并 Jigsaw 体系到 JDK9 的体系中,并且已经做了一些相应的工作,例如移除 PropertyChangeListeners 接口。automated diffs 显示 API 上没有删除操作,但包含几百项额外的变化。为了最小化产生的问题,JDK9 将两周合并一次来自 Jigsaw 的变化。希望3月21日发布的 JDK9+111 构建版本将完成最终合并。但是 Jigsaw 希望3月27日的 JDK9+112 搞定。

再往后 Jigsaw 做的变动将不会影响主流 JDK 9 的开发。在未来的某个点上 Jigsaw 将完全合并到 JDK9 中,然后 Jigsaw 项目就会宣告结束。希望今年年底能完成这个目标。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值