2020 Google开发者大会重磅开幕 了解详情

Java模块化提案: iJAM

2007 年 10 月 12 日

一个新的提案, iJAM , 已经在 JSR-294 modules-dev 的邮件列表中流传了。它对 strawman 提案中 JSR-294 的超级包(‘superpackages’)的相关逻辑提出了一些修改,并已经收到了 Doug Lea 的正面反馈

这个提案太棒了!它简明扼要的说明了非反向的深度优先搜索不仅仅是你想要的,而且是干净利落的支持“导入自己的 M 包”和“把包 M 作为 X 导入”的关键部分。

iJAM: 一种更有表达力更直观的语法一文中描述了 Java 模块系统潜在的弱点。:

我们发现,虽然模块系统解决了许多复杂的软件设计问题,但是在解决高级分离问题时它的表达力不够强大。我们还发现模块和类定义的查找功能有一些非直观的行为。

当两个模块依赖于第三个模块,而又不愿意共享上述的第三个模块时,便会出现高级分离问题。非直观的查询功能使用了反向深度优先搜索(先父后己),这种方式会使得低级别模块难于控制自己的作用域。

iJAM 提案试图通过以下解决方案解决这些问题:——通过深度优先(先己后父)来搜索类和模块定义。——使用允许控制模块共享的导入从句。

Java 模块系统(Java Module System)的提前试用版和 iJAM 都可以下载,供做试验和测试用,这是试验这些提案的好机会,请实践它们并给出你的反馈。

要获得与这些主题更多的信息,请参考 JSR-277:Java 模块系统 JSR-294:在 Java 编程语言中改进的模块化支持 JSR-291: 对 Java SE 的动态组件支持和InfoQ 的关于辩论的报道,这些辩论涉及到了各个提案的搭配和各自的价值,以及OpenJDK 项目中的 277 和 294 的提前试用版查看英文原文 Java Modularity Proposal: iJAM


译者简介: 曹云飞,西安交通大学计算机软件硕士。现就职于 Ethos ,热衷于新技术的钻研,软件架构与敏捷开发,目前从事流媒体方面的工作。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007 年 10 月 12 日 07:59 336
用户头像

发布了 47 篇内容, 共 71087 次阅读, 收获喜欢 0 次。

关注

评论

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

架构师 01 期,第四周课后作业

子文

系统架构

wing

架构师一期

第四周-系统架构-作业

刘希文

架构师训练营第 1 期 -Week4 - 课后练习

鲁小鲁

架构师训练营第 1 期 架构方案 架构手段

一期二班-吴水金-第四课总结

吴水金

一期二班-吴水金-第四课作业

吴水金

架构师训练营第四周总结

Erwa

架构第四周总结

Geek_Gu

总结

作业-2020-10-18

芝麻酱

第四周 系统架构 作业一

应鹏

课程作业 架构师训练营第一期

桂林漫游流水记

穿过生命散发芬芳

美食 旅行

天下武功何其多,到底该用哪一拨 - Week 4 - 学习总结

小粽

架构师训练营第 1 期 week4

张建亮

「架构师训练营第 1 期」

第四周 架构方法学习总结

兵长

架构训练营

架构师训练营 第二周作业

haha

「架构师训练营第 1 期」

系统架构

Zzzz

「架构师训练营第 1 期」

架构师训练营第 1 期 -Week4 - 系统架构学习总结

鲁小鲁

互联网架构 架构师训练营第 1 期

SpringBoot系列(4)- 记录请求日志

引花眠

springmvc springboot

架构一期 - 甘霖 - Week 4 - 作业一

小粽

ARTS打卡 第20周

引花眠

微服务 ARTS 打卡计划 springboot

架构师训练营第 1 期 - 第 4 周 - 作业

wgl

week-4-part2 学习总结

451409827

架构师训练营第4周:系统架构

子青

【高并发】高并发分布式锁架构解密,不是所有的锁都是分布式锁!!

冰河

高并发 分布式锁 高性能 线程安全 线程互斥

架构师训练营第一期——第四周作业

tao

架构师训练营第四周作业

Erwa

第四周 系统架构 学习总结

应鹏

学习笔记 架构师训练营第一期

week-4-part1 大型互联网应用系统使用的技术

451409827

架构师训练营第一期——第四周总结

tao

架构师 01 期,第三周课后作业

子文

Week_04作业+总结

golangboy

「架构师训练营第 1 期」

Java模块化提案: iJAM-InfoQ