9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

Jigsaw——JSR277 的丧钟?

  • 2008-12-23
  • 本文字数:1036 字

    阅读完需:约 3 分钟

紧跟着早前发布的关于模块化JDK 的声明( InfoQ 之前曾报道过),Mark Reinhold 宣布 Jigsaw 项目成为 OpenJDK 的一部分。下面的内容援引了其声明:

为了在接下来的几年中能够模块化 JDK 7,同时也为了更好地宣传 JSR 294 的工作,Sun 打算不久之后在 OpenJDK 社区中创建 Jigsaw 项目。 该努力必然会创建一个简单、低层次的模块系统,其设计将聚焦于模块化 JDK 这个目标。开发者可以在自己的代码中使用该模块系统,Sun 也会全力支持该系统,但它并不会成为官方 Java SE 7 平台规范的一部分,也不一定会得到其他 SE 7 实现的支持。

如果未来的 Java SE 平台包含了特定的模块系统,那么 Sun 将提供一种方式来移植 Jigsaw 模块以使之符合相应的标准。同时,我们还会积极地寻求与其他模块系统交互的方式,尤其是 OSGi。

模块化 JDK 这个目标应该是可以实现的,尤其是 Apache Harmony 已经证明了 JDK 是可以被模块化的(使用 OSGi)。然而这个目标却因另一个原因而变得更加有趣:它将在 JCP 外实现

由于缺少可视化的发展过程,再加上闭门造车的实现,对于大多数人来说很难参与进 JSR 277 ,更别提对其献计献策了。通常这会导致标准的误入歧途,使得标准过于关注实现的细节而忽视了通用性。不仅如此,这还会导致标准成为事后诸葛亮——想解决问题时(例如奇数的版本号)却发现已经太迟了。根据声明所述,JSR277 还处于“领导地位”,但它实际已死。

从JSR277 中分离出的 JSR294 (以前可是个庞然大物,不过现在已经模块化了)是个很大的进步;它将引入一些语言上的变化,这会使得模块化的实现独立于任何特定的模块化进程。

从声明中看到的激动人心的事情还有 OSGi 已经成为模块化的事实上的标准了,这种合作是件好事。但这不一定意味着它将基于 OSGi 实现,事实上,它只是建议最好与 OSGi 而不是其他方式合作:

JSR 277 的 JAM 模块系统并不适合作为模块化 JDK 的基础,那么 OSGi 框架如何呢?该模块系统非常成熟、稳定和健壮。其核心甚至已经在 Java 虚拟机中实现出来了,也就是 Apache Harmony。OSGi 并没有与 Java 语言集成,相反,它构建在 Java SE 平台之上而不是其中。 这最后的问题也能解决。Sun 现在计划直接与 OSGi 联盟合作以便 OSGi 框架的未来版本能充分利用 JSR 294 的特性进而能和语言集成的更加紧密。

我相信未来的 OSGi 标准会使用 JSR 294 的模块,尽管还有一些建议的改变。不管怎么样,下周在 Devoxx 08 举办的 Modularity in Java 讲座应该会对 Java 的未来做出一些有趣的预言。

查看英文原文: Jigsaw - the death knell of JSR277?

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2008-12-23 08:47423
用户头像

发布了 88 篇内容, 共 254.9 次阅读, 收获喜欢 6 次。

关注

评论

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

PingCAP 入选 CB Insights 中国「数据链路安全领航者」榜单,保障全球用户存储安全

PingCAP

解决rabbitmq消息队列的顺序及重复消费问题

编程江湖

大数据

AI 收藏夹 Vol.004:虚拟爱豆出道!

Zilliz

人工智能 神经网络 AI

Nebula Graph 源码解读系列 | Vol.06 MATCH 中变长 Pattern 的实现

NebulaGraph

图数据库 知识图谱 分布式图数据库

开源投资回报率高达4倍!欧盟委员会全力推动开源软件发展

腾源会

开源

【漫画】数据云,真香在哪?

星环科技

大数据

中石化信息化数字化首席专家李剑峰:数字化转型中关键基础软件的国产化应用

OceanBase 数据库

开源 国产化 oceanbase 中石化

跟着动画学Go数据结构之插入排序

宇宙之一粟

golang 数据结构 插入排序 12月日更

Java 集合框架面试问题集锦

编程江湖

面试题 JAVA开发 java编程

元气部落盲盒系统开发元气部落app开发

风行无疆

Linux学习分享之标准大页和透明大页

@零度

Linux

超细!细说Zookeeper选举的一个案例(上)

恒生LIGHT云社区

golang zookeeper Go 语言

从前端到全栈 -- 最全面向对象总结

程序员海军

Java 面向对象

Linux 基金会发布 2021 年度报告,预测今年收入为 1.77 亿美元

腾源会

Linux 开源

资讯|WebRTC M95 更新

网易云信

WebRTC

Linux之cp命令

入门小站

Linux

开源公司IPO热潮已到来?市值153亿美元的HashiCorp带来了哪些启示?

腾源会

开源 开源商业化

今夜无眠

Tiger

28天写作

“十四五”规划,开源重塑软件发展新生态,获国家重点扶持

腾源会

开源

万字教你如何用 Python 实现线性规划

华为云开发者联盟

Python 函数 线性规划 求解器 单纯形法

重磅|腾讯云开源业界首个 etcd 一站式治理平台 Kstone

腾源会

开源 cncf Kstone

WAVE SUMMIT+2021深度学习开发者峰会举办,开源共建助力飞桨生态发展

科技热闻

Java Web开发之API Boy的进阶之路

@零度

Java web API boy

神器来袭,手把手教你使用 Milvus_cli

Zilliz

数据库 命令行

前端开发之Vue框架的优势

@零度

前端开发 Vue优势

郭炜:就算倒在离开源成功最近的五米,也要让下一代开源人坚定前行

腾源会

开源 WeOpen Talk

Zilliz 上榜「中国科创好公司」

Zilliz

5G专网+区块链:构筑智慧政务“安全信任基石”

CECBC

简述移动端IM开发的那些坑:架构设计、通信协议和客户端

WorkPlus

未来企业如何应对人才之争

WorkPlus

手写清除console的loader

编程江湖

前端开发

  • 扫码添加小助手
    领取最新资料包
Jigsaw——JSR277的丧钟?_Java_Alex Blewitt_InfoQ精选文章