【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

Sun 与 Apache 的分歧使 Java 7 公告黯然失色

  • 2009-04-06
  • 本文字数:1973 字

    阅读完需:约 6 分钟

Sun 公司的 Mark Reinhold 在 OpenJDK 网站上发布了一个 JDK 7 的更新日程表,同时列出了核准的功能清单。目前的build 处于里程碑2,包括新的Garbage First 垃圾收集器和I/O APIs[JSR 203]。里程碑3,预计在五月份的JavaOne 大会的时候会完成,将通过invokedynamic 字节码指令添加对动态类型语言的VM 支持[JSR 292]。Java 7 其他的显著功能包括添加Java 6 update 10 的向前兼容到OpenJDK(里程碑4),目前按兵不动的Swing Application Framework[JSR 296](里程碑5,预计在秋天),另外还有标准化模块(JSR 294)和Jigsaw 项目。值得注意的是,目前的路线图中没有新的Date 和Time API[JSR 310],Beans 验证[JSR 303] 和Beans 绑定[JSR 295]。

项目Coin 针对小的语言变化提议,也收到了大量的建议,Joseph Darcy 在其

博客上突出强调了六个具有竞争力的提议:

1. 自动化资源管理。由 Joshua Bloch 提交,一个 ARM 块是 try 语句的一种形式,声明若干个资源,并且限制在该语句中。当语句结束,不论是正常方式还是暴力方式,所有相关的资源都自动关闭。这减少了手动关闭资源的需要,在现实中非常容易出错。据 Bloch 所说,连 JDK 自己的 close 方法都有三分之二实现的不正确。
2. Elvis 和其他 null-safe 操作符。由 Stephen Colebourne 提交,原始想法出自 Neal Gafter,目的是解决一些 NullPointerException 异常的常见问题,使其可以忽略对象的 null 检查。
3. 改进异常处理。由 Neal Gafter 提交,这个提议包括处理多种异常的 catch 语句块和改进重新抛出的异常的检查。
4. 改进对通用实例创建的类型推断。由 Jeremy Manson 提交,该建议提出增加对类实例创建表达式的有限类型推断。例如取代书写:Map
5. 简化 Varargs 方法调用。由 Bob Lee 提交,建议修改编译器针对方法结合 varargs 和非具体化数组类型时抛出的警告,把该警告从调用处移到方法声明处。
6. switch 语句的字符串。由 Joseph Darcy 提出,建议增加对 switch 语句的字符串支持。

Sun 针对 Java 7 的 JDK 将是它首次基于 OpenJDK,虽然其实现仍然依赖于某些非开源组件。同时,Sun 开发 Java 产品的方式也在改变,不依赖 JSR,而是功能不断增加,最后完成时再标准化。项目 Jigsaw、JavaFX 和 Java SE 7 都是按照这种方式开发的。Mark Reinhold这样写到

“JDK 7 项目创建了一个基于 Java SE 7 的原型——不论是不是会最终采用。当 SE 7 平台 JSR 被提交之后,JDK7 开发的功能才会被列入其中,除了那些虚拟机(VM)级别的或者特定实现的。”

OpenJDK 项目和针对 Java 7 透明的功能集、日程表的结合比我们以前看到过的历次修订都要开放的多,但是来自 Apache 的 Stephen Colebourne 对这种变化非常担忧,认为可能导致 Java 7 没有正式规范,而是只有一个 Sun 提供的 JDK 实现:

“我看到的是,Java SE 不再是一个开放标准,下一次发布将是 JDK 7,而不是 Java 7。这是所有关心 Java 生态环境的人应该关注的问题。”

毕竟,如果 Sun 使 Java SE 不再是一个开放标准,那么 Java EE、Servlets 或者 JMS 呢?是时候呼吁开放标准的回归了!”

一个后续的文章中,Colebourne 借用 JCP 执行委员会的会议记录支持他的观点,声称这次过程的改变与 Sun 和 Apache 在后者争取对 Harmony 项目的 Java 兼容工具包(JCK)授权条款方面的长期分歧有关。

“…在 2008 年九月份的会议上,有明显的迹象表明(但不是绝对证据)Sun 认为除非 Harmony 项目的争端得到解决否则不能让一个 Java SE 7 JSR 通过。我们也能够注意到 2008 年四月和六月之间 Sun 的态度变化,Java SE 7 平台 JSR 从’尽快’到‘尚无计划’,同时 Sun 更加关注使用 Open JDK 而不是 JSR。”

Colebourne 的观点得到了 Neil Bartlett 的支持。根据传言,Sun 以可能被收购为理由使用 OSGi 而不是 Jigsaw,Neil Bartlett 据此认为一旦 Sun 被收购,Sun 领导的任何不被 JSR 支持的倡议都会被扼杀:

“明年这个时候 Sun 不可能还以现在的形式存在。不论是被 IBM 收购还是被 HP 和 Oracle 瓜分,或者其他的谣传,Sun 支持 Jigsaw 的承诺毫无意义。因为 Jigsaw 与所有潜在收购者的商业需求背道而驰。我确信,如果 IBM 得到了 Java,它会杀死 Jigsaw。Oracle 也是。通过在 JSR 之外构建 Jigsaw 和反对以建立的行业标准,Sun 向客户暴露了可怕的商业风险。”

到目前为止,Apache 投票反对所有 JSR 的策略和与 Sun 的持续争端还没有对 Java 的发展造成任何实质的影响,因为他们从其他 JCP 成员中只能获得有限的支持。这可能是因为其他 JSR 不受相同许可条款的影响。但是 Java SE 7 将会直接受到影响。如果 Colebourne 的猜测是对的,也就是说,Sun 是因为 Apache 的策略而改变 Java 7 的开发方式,那么双方的僵持将会逐渐对 Java 和 JCP 造成巨大的伤害。

查看英文原文: Sun’s Disagreement With Apache Overshadows Java 7 Announcement

2009-04-06 10:304633
用户头像

发布了 501 篇内容, 共 246.5 次阅读, 收获喜欢 57 次。

关注

评论

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

小海豚“变身”全新智能调度引擎,深入浅出在DDS的实践开发应用

Apache DolphinScheduler

大数据 工作流调度 调度任务 分布式调度引擎 大数据调度

硕果累累,再获认可!「报告、标准、评测」洞见科技走在前沿

洞见科技

隐私计算

创建企业wiki,你需要知道这些

Geek_da0866

观测云产品更新|新增智能巡检功能;新增用户访问指标检测事件通知模板变量等

观测云

搭建实用的产品帮助文档,提升用户满意度

Baklib

你的 NFT 会消失吗?DFINITY 提供 NFT 存储最佳方案

TinTinLand

区块链 科技

如何选择靠谱大数据课程

小谷哥

如何在java开发行业有更好前景

小谷哥

稀缺性之于Web3:如何成为去中心化世界的胜利者

One Block Community

区块链 科技

CESS 测试网上线!首个提供多元应用场景的去中心化存储网络

One Block Community

区块链 科技

实力认证!星汉未来正式加入中国通信企业协会

星汉未来

云原生 k8s 星汉未来 中国通信企业协会

离开大厂,一周965+远程工作报告

无人之路

大厂 内卷 955 远程 WLB

Gpushare.com | 如何使用TensorBoardX可视化工具?

恒源云

深度学习 PyTorch tensorboard GPU算力

wallys/PD-60 802.3AT Input Output 802.3AT/AT 85% Efficiency 10/100/1000M GE Surge Protection

wallys-wifi6

MT7915/MT7975/IPQ6000

为什么知识库很重要?这是我听过最好的答案

Geek_da0866

禅道项目管理软件的甘特图功能介绍

禅道项目管理

项目管理 甘特图 项目管理软件 禅道

有数大数据基础平台之智能运维平台EasyEagle介绍:集群队列篇

网易数帆

大数据 数据智能 数据基础设施

构建知识库时,如何避免最常见的几个错误?

Geek_da0866

快速支持客户知识库的核心优势是什么?

Geek_da0866

如何高效的学习掌握新技术

程序员海军

高效率 7月月更

3步就能制作漫画头像的机器人,想拥有一个吗?

华为云开发者联盟

人工智能 动漫

软件调优方法有哪些?看看飞腾技术专家怎么说 | 龙蜥技术

OpenAnolis小助手

cpu io 服务器 龙蜥大讲堂 飞腾

冲刺金九银十!熬夜爆肝半个月汇集大厂Java岗1600道面试真题

了不起的程序猿

Java java程序员 java面试 java编程

乘势而上,OceanBase推动数字支付精益增长

OceanBase 数据库

如何通过在线协作文档提高办公效率

Baklib

聊聊并发编程的12种业务场景

C++后台开发

并发编程 网络编程 后端开发 C++后台开发 C++开发

中移链(基于EOS)测试环境搭建

BSN研习社

二进制SCA指纹提取黑科技:Go语言逆向技术

华为云开发者联盟

云计算 安全 后端

华为云AI院长峰会在黔举行 推动人工智能产学研创新发展

Geek_2d6073

建立的知识库的7个步骤

Geek_da0866

如何编写您的常见问题页面?

Geek_da0866

Sun与Apache的分歧使Java 7公告黯然失色_Java_Charles Humble_InfoQ精选文章