Python 还能承担下一个时代的发展重任吗?Mojo 语言的横空出世对 AI 研发生态有什么影响? 了解详情
写点什么

Jigsaw 终于添加到 JDK 9 中了

  • 2016-03-15
  • 本文字数:1298 字

    阅读完需:约 4 分钟

发往jdk9-dev 邮件列表的一封邮件中,Alan Bateman 宣布Jigsaw 模块系统的一个快照版本将会合并到JDK9 开发分支的主线中。模块系统的状态文档最近进行了更新来表明它的进展,这是从Jigsaw 项目启动以来,它的变更第一次合并回来。

在历史上,Java 的开发在不同的分支下进行,因为它们是Mercurial 工具下不同的tree 。Hotspot 编译器(以及底层的VM 内容)是在Hotspot tree 中开发的,而Java 开发的主线是在jdk tree 中完成的。在Open JDK 的集合中,还有不同的tree 用于nashorn 甚至corba。这样造成的结果就是,每个分组就被称为forest,因为它们是相互关联的tree。(这种结构很大程度上是因为在创建项目的时候,Mercurial 没有轻量级的分支功能,并且它没有很好的跨分支push 的功能,所以它们都被分割为不同的repository,这也是为什么会有jdk8 和jdk8u forest 的原因,jdk8 实际上是主开发分支,而jdk8u 包含了其他repository 的fork,而且带上了特定的标签,如8u40 和8u60。幸好,所有的这些内容能够全部放到一个Git repository 之中,这其实是非常有价值的。)

Jigsaw 所引入的变化是很明显的,底层的包被划分成了不同的模块,每个模块包含一个或多个包。java.base模块包含了标准库的主要内容(java.langjava.util以及java.time等)。这种划分会带来一定的破坏性,java.beans 包因为它与 AWT 和 Applets 的密切关联,被转移到了java.desktop模块中,这就意味着在 java.base 包中,为PropertyChangeListener实现监听器注册的类被移除掉了。

为了保证 JDK 9 和 Jigsaw 的开发不会遇到太多的困难,Jigsaw 实现是位于它自己的 forest 之中的。这样的话,通过 Oracle Azul Zulu 得到的主线 OpenJDK Java 构建版本是不包含 Jigsaw 的,开发人员也无法进行尝试。而我们可以得到一个特殊的“早期可访问(early access)”构建版本,这个版本提供了 Jigsaw 的内容,但是并不包含 JDK 9 分支的一些其他变更。

所以,这封邮件确认 Oracle 将会尝试将并行开发的 Jigsaw forest 合并到 JDK9 forest 之中。一些重要的变更(如移除 PropertyChangeListeners)已经完成了,自动化的差异对比显示没有其他的功能移除了,不过包含了几百项对API 的添加/ 变更。为了尽可能减少额外出现的问题,JDK9 forest 将会锁定两周的时间,以便于将Jigsaw 相关的变更合并到主线的JDK9 forest 中。预期将会只有一个构建版本——也就是3 月21 日的JDK9+111——不过,Jigsaw 团队也申请预留了3 月27 日的JDK9+112 构建版本,以应对Jigsaw 可能出现的变化。

Jigsaw 模块后续的变更将会继续在 Jigsaw forest 中进行,因此针对 JDK9 主线的开发人员将不会处理由此导致的不稳定。但是,这个构建版本是第一次把 Java 的基础库划分为不同的模块,并且会在一个能够感知模块的系统中进行编译,因此希望能够避免将来在模块间添加功能所导致的问题。同时,Jigsaw forest 未来将会完全合并到 JDK9 中,它本身会被移除,不过这可能需要等到年底才会进行。

在合并之前,已经进行了一些评估,InfoQ 将会持续关注模块系统和Jigsaw 合并到JDK9 事宜的进展。

查看英文原文: Jigsaw Finally Arrives in JDK 9

2016-03-15 19:004600

评论

发布
暂无评论
发现更多内容

Spring为什么需要三级缓存来解决循环依赖

做梦都在改BUG

Java spring 循环依赖

在 Rainbond 上使用在线知识库系统zyplayer-doc

北京好雨科技有限公司

云原生 #Kubernetes# rainbond 企业号 4 月 PK 榜

2023年MQTT协议的7个技术趋势|描绘物联网的未来

EMQ映云科技

物联网 IoT mqtt 信息技术 企业号 4 月 PK 榜

博睿数据受邀出席GOPS 2023 深圳站:自适应AI支撑可观测性全面升级

博睿数据

可观测性 智能运维 博睿数据 Bonree ONE 自适应AI

百度APP iOS端包体积50M优化实践(一)总览

百度Geek说

ios xcode 百度 企业号 4 月 PK 榜

图解云消息服务KooMessage

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

前端自动化测试之葵花宝典

京东科技开发者

前端 企业号 4 月 PK 榜

AI 能否取代打工人?| 社区征文

阿发

三周年征文

可处理十亿级向量数据!Zilliz Cloud GA 版本正式发布

Zilliz

SaaS 非结构化数据 Milvus Zilliz 向量数据库

干掉微服务,换下Dubbo,Spring CloudAlibaba王者降临

做梦都在改BUG

Java 架构 微服务 Spring Cloud spring cloud alibaba

阿里P8架构师3年心血终成的453页神级Java系统分析与架构设计文档

做梦都在改BUG

Java 架构设计 系统分析

IT架构师全栈成长路线,13张架构图一次说明白

Java你猿哥

Java 面试 架构师 面经 Spring全家桶

一文了解MySQL中的多版本并发控制

京东科技开发者

MySQL 京东云 企业号 4 月 PK 榜

华为进军ERP!北用友南金蝶的格局是否会动摇?

这我可不懂

华为 低代码 用友 金蝶 JNPF

数据智能服务商奇点云完成近亿元C2轮融资

奇点云

数据中台 融资 奇点云

如何在移动应用开发中,用小程序实践灰度发布策略

FinFish

灰度发布 APP开发 小程序容器 小程序技术

展心展力 metaapp:基于 DeepRec 的稀疏模型训练实践

阿里云大数据AI技术

机器学习 算法 稀疏模型

Redis缓存穿透/击穿/雪崩以及数据一致性的解决方案

Java你猿哥

redis ssm 架构师 Java工程师

AI真的会让程序员失业吗 | 社区征文

五分钟学大数据

三周年征文

安全测试前置实践1-白盒&黑盒扫描

京东科技开发者

京东云 安全测试 企业号 4 月 PK 榜

设计模式-备忘录模式

Java你猿哥

Java 设计模式 ssm 架构师 备忘录模式

GitHub上线一天星标99.9K:阿里内部高逼格SpringCloud实战手册

做梦都在改BUG

Java 架构 微服务 Spring Cloud

软件测试/测试开发简历写作与面试技巧-VIP内部资料

测试人

面试 软件测试 自动化测试 简历 测试开发

如何将微前端项目部署在同一台服务器同一个端口下

京东科技开发者

微前端 京东云 企业号 4 月 PK 榜

测试1号位的自我修养

京东科技开发者

测试 京东云 企业号 4 月 PK 榜

LLM 快人一步的秘籍 —— Zilliz Cloud,热门功能详解来啦!

Zilliz

非结构化数据 Milvus Zilliz LLM

如何在Java中做基准测试?JMH使用初体验

做梦都在改BUG

Java JMH 基准测试

Spring 之依赖注入底层原理

做梦都在改BUG

Java spring 依赖注入

印象最深的都是关于 IoTConsensus 共识协议?听听新晋 Committer 怎么说!

Apache IoTDB

IoTDB Apache IoTDB

惟实励新,精进臻善!MIAOYUN人人是讲师(第二季)焕新重启

秒云

学习 企业文化 人才培养 企业培训 学习成长

微信支撑10亿用户背后核心技术:亿级流量Java并发与网络编程实战

做梦都在改BUG

Java 网络编程 高并发 亿级流量

  • 扫码加入 InfoQ 开发者交流群
Jigsaw终于添加到JDK 9中了_Java_Alex Blewitt_InfoQ精选文章