InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 Charles Humble 译者 崔康 发布于 2009年4月6日

领域
架构 & 设计,
语言 & 开发
主题
编程 ,
Java ,
JCP标准
标签
JCP ,
Java SE

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

 

译者 崔康 热情的技术探索者,资深软件工程师,InfoQ编辑,从事企业级Web应用的相关工作,关注性能优化、Web技术、浏览器等领域。

java的担忧 发表人 王 建斌 发表于
发表人 Alex gemini 发表于
Re: 啊 发表人 燕 子翔 发表于
发表人 Alex gemini 发表于
Re: 啊 发表人 Zhang Gavin 发表于
哈哈,oracle 终于得到sun 了 发表人 Alex gemini 发表于
时间显示的是错的啦 发表人 Alex gemini 发表于
  1. 返回顶部

    java的担忧

    发表人 王 建斌

    Java是一条腿,.net是另一条腿。

  2. 返回顶部

    发表人 Alex gemini

    真诚的希望MySQL、Java、ZFS、Solaris 落到Oracle 手上.真的

  3. 返回顶部

    Re: 啊

    发表人 燕 子翔

    你还不如直接说,希望世界上只有 Oracle 一家公司,然后你还为这家公司工作呢。想得太美了。

  4. 返回顶部

    发表人 Alex gemini

    我只是不希望java ,mysql 在sun 手上,mysql 还是回复收购以前的独立, sun 完全不阻碍java 发展就够了,至于是不是oracle 到不要紧.

  5. 返回顶部

    Re: 啊

    发表人 Zhang Gavin

    Apache想谋求话语权和主导权

  6. 返回顶部

    哈哈,oracle 终于得到sun 了

    发表人 Alex gemini

    #, 第一时间得到消息,oracle 收购了sun , 这是我最希望看到的结果.

  7. 返回顶部

    时间显示的是错的啦

    发表人 Alex gemini

    #, @taiwen , 回复的时间显示的是错的,麻烦修正一下

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。