JDK 9 最终将包含 Jigsaw 模块系统-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

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

简介:

在 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]

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章