BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Sun的JDK7、OpenJDK及IcedTea释疑

| 作者 Dionysios Synodinos 关注 0 他的粉丝 ,译者 宋玮 关注 0 他的粉丝 发布于 2009年1月17日. 估计阅读时间: 6 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

由于JDK7OpenJDKIcedTea都是并行发展的,它们之间到底是什么关系很容易让人迷惑。OpenJDK的质量主管David Herron,试图澄清相关情况并解释为什么JDK7花费了这么长时间。

David先描述了OpenJDK 6和JDK 6之间的不同:

OpenJDK 6是OpenJDK 7的一个分支,为了通过JCK 6测试条件的检验,我们团队从OpenJDK 7分支上剥离出了很多代码,直到它符合Java 6规范为止。 关键是OpenJDK 6工作得非常好,好几个Linux的发行版都使用它作为其JDK,它能够通过JCK6测试套件的测试,这意味着OpenJDK 6可以被用来构建一个兼容的JDK,但是很不幸,我们所希望的这种进化轨迹相对来说是短期的。它服务于一个目的,即,拥有一个兼容Java6的完全开放的 OpenJDK。

接着,他谈到了OpenJDK和IcedTea的关系:

看上去有些人非常喜欢用“./configure”而不是设置环境变量,并运行“make”。IcedTea项目最初是由于OpenJDK不完整(因产权 而造成的障碍)而创立的,社区需要一个完整的开源工具链及代码库。IcedTea长期以来一直是OpenJDK的一套补丁,正如刚才我所说到的,它有一个 基于“./configure”的不同的构建系统。 在OpenJDK中,我们已经替换了产权代码(encumbered code),因此不再有障碍了。正因为我们的努力,IcedTea项目已经减少了使用补丁的数量。IcedTea中看上去不错的一点是,它的 configure脚本使得在多种不同的模式下构建OpenJDK变得很容易,比如使用Zero Assembler Port在非x86/sparc芯片上来支持编译等等。 IcedTea提供的一大块内容是plugin/java-web-start基础架构。我们还没有把我们的plugin开源,并且对于6u10我们重写 了该plugin。人们都希望把新plugin开源给OpenJDK项目,但是据我所知,这一决定还没有提到议事日程。

David表示JDK7和OpenJDK7将拥有(几乎)同一个代码库:

……计划OpenJDK7/JDK7的起点代码库将几乎一样。维护分支显然是昂贵的,如果JDK7与OpenJDK7差异太大,会导致两个结果:a)非常 昂贵,b)破坏我们在开源生态系统上所做的努力。 但是“几乎一样”代表着还是有一些不同。 还记得因产权而造成的障碍吗?其中有一些是截至2007年5月之前不能开源的代码(现在已经可以开源了),而另一些则还未得到同意(比如SNMP),但是 有一些开源代码可以替换我们仍在使用的老的还未开源的那一部分代码。这些主要集中在字体及图形光栅部分。这些老的未开源光栅代码,尽管是有产权的且经过了 10余年的修正和精调(有较好的质量质量保证),但是对于产生JDK构建的开源替代品来说,它们与现存非开源代码一样快速、稳定且拥有非常好的质量。

按照David的说法,OpenJDK源码发布、JavaFX以及整体资源不足是导致JDK7花了这么长时间的原因:

要是我们按照正常模式走,JDK7现在就应该已经出来了。即,Java6是于2006年12月发布的,而我们的正常模式是两个主版本之间间隔18-24个月,这意味着JDK7应该在2-5个月之前就已经发布了。到底怎么回事呢?很明显是几个方面的资源短缺。 比如,2007年5月发布的近乎完整的OpenJDK源码花费了大量人力物力。但是在2007年5月的JavaONE大会上又宣布了一个产品(一个叫做JavaFX的小家伙),它又变成了对Java的一个较大调整(正如一些人所说,它不是原来那个Java了),而且也耗费了大量的工作。 换句话说,生产JDK7的时间被用来做JDK6u10和JavaFX了。

Joe Winchester最近在Java Developers Journal的一篇文章上表达了关于JavaFX减缓了平台发展的类似主张,他将Java采用动态语言和类似JavaFX的技术,与90年代 Smalltalk团队要把Java运行在其VM(叫做统一VM—— Universal VM)上所做的努力进行了对比。该作者指出,就像Smalltalk的情况一样,最好应该把精力集中在Java自身上,“而不是扩充JVM把它变成万金油 ”。

还要注意的是OpenJDK理事会即将寿终就寝,像Neal Gafter这样的人还关心着该组织新的组成形式

OpenJDK理事会已经延期一年了,在4个月之内就要解散,有两个非Sun的位置仍然空缺。2008年4月公布的最近一次会议备忘录中,大家一致同意在2008年底之前起草出宪章草案。 理事会的七个成员都是谁?我们能够看到4月之后的会议备忘录并获得宪章方面的现状报告吗?

你怎么看Sun的JDK以及开源Java的未来呢?

查看英文原文:Sun’s JDK7, OpenJDK & IcedTea: Disambiguation

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

javaFx by 刘 卧鹰

已经试用JavaFx一段时间,Sun的发展方向确实是正确的,目前,在GUI领域中,JavaFx的生产效率比Java高一个数量级。
而且JavaFX是DSL,是比Java抽象层次更高的语言,一旦渗透到其它领域,也会提高生产效率的。

JavaFx与Ajax by 刘 卧鹰

在Java平台的RIA领域,目前的形势是Google、IBM都是以Ajax为核心,但对于一名程序员而言,Ajax太复杂了,即使有许多Ajax库,但要开发一个Ajax应用,生产效率仍是主要问题。
而Sun公司的JavaFx语言,其语法相当简炼,如ExtJs中的Grid控件,源码是非常复杂的,但通过JavaFx,你自己就可以开发类似的控件。
授人于鱼,不如授人于渔

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT