OpenJDK :运行在i386和AMD-64机器上的软件

更新时间:2024-09-21 05:30

OpenJDK是Java平台标准版(Java SE)的免费开源实现,完全自由,开放源码。它是Sun Microsystems在2006年开始的一项努力的结果,于2009年4月15日正式发布。OpenJDK是Java SE的官方参考实现,自版本7以来一直如此。该软件只能在i386和AMD64机器上运行。OpenJDK的实现根据GPL-2.0-only许可证进行许可,但有一个链接例外。如果没有GPL链接例外,链接到Java类库的组件将受到GPL许可证的条款约束。甲骨文公司在2010年收购Sun Microsystems之后接管了这个专案。

主要功能

OpenJDK做为GPL许可(GPL-licensed)的Java平台的开源化实现,Sun正式发布它已经六年有余。从发布那一时刻起,Java社区的大众们就又开始努力学习,以适应这个新的开源代码基础(code-base)。

OpenJDK在2013年发展迅速,被著名IT杂志SD Times评选为2013 SD Times100,位于“极大影响力”分类第9位。

特点

Sun发布的OpenJDK只能运行在i386和AMD64机器上。OpenJDK可以运行在系统上,特别是那些基于PowerPC的机器上。为了解决这个问题,发起了IcedTea项目来完成移植。该项目基于Sun的C++解释程序,为OpenJDK向PowerPC移植构造了一个单独的解释程序。后来成为Zero,它是一个真正可移植的“零汇编程序”的版本。想到的,一个纯的解释程序确实要慢于Java实现中常用到的高性能的JIT(Just In 时间)编译器,但正在努力提高其性能。

版本介绍

最新版本为jdk-11。支持Solaris,Linux, Mac OS X或Windows多种操作系统。

组件和版本发展

OpenJDK项目生成许多重要组件,包括虚拟机(HotSpot)、Java类库和JAVA编译器javac)。OpenJDK最初仅基于Java平台的JDK 7版本。自JDK 10以来,生成Java SE平台开源参考实现的工作已移交给JDK项目。此长期进行的项目将生成所有未来的JDK特性版本,并将在一个基于时间的严格模型下每六个月发运一个特性版本。

IcedTea和软件发行版

IcedTea项目为了将OpenJDK捆绑到fedora和其他免费Linux发行版中而启动,它提供了OpenJDK项目中剩下的少数专有部分的自由软件备用版本。2008年5月,Fedora 9和Ubuntu 8.04发行版本中包含了基于完全自由开放源码代码的IcedTea 6。OpenJDK也可用于openSUSE、Red Hat Enterprise Linux和基于Red Hat Enterprise Linux的衍生产品(如centos)。在Android Nougat中,OpenJDK已取代现已停止的Apache Harmony,成为这个移动操作系统的源码中Java库。

历史和社区贡献

OpenJDK的历史始于2006年,当时Sun Microsystems宣布Java将成为免费开源软件。2007年,Sun发布了Java类库的完整源码,并承诺用备用实现替换剩余的专有组件。2008年,OpenJDK 6通过了技术兼容性套件(TCK)测试,成为一个完全兼容的Java 6实现。2010年,IBM决定加入Oracle数据库的OpenJDK项目,而苹果公司和Oracle宣布了适用于Mac OS X的OpenJDK项目。2011年,思爱普 AG宣布已正式加入OpenJDK项目。OpenJDK获得外部贡献的数量还在增长,2018年发布的OpenJDK 11获得了20%的外部修复,并增加了17个新问题报告(JEP),其中有3个是由社区作出的贡献。

兼容性和移植性

OpenJDK的兼容性和移植性得到了社区的广泛支持。例如,Red Hat与Sun签署了协议,使得fedora、JBoss和OpenJDK项目更紧密结合在一起。Porters小组在OpenJDK中成立,旨在协助将OpenJDK移植到不同的处理器架构和操作系统。此外,微软与Azul Systems合作创建了Zulu,即适用于Windows Azure云用户的OpenJDK版本。从2016年4月起,GitHub中出现了微软Windows的OpenJDK非受支持社区版本,该版本位于项目ojdkbuild中。2020年,针对Itanium平台上的openvms,已经发布了一个用于OpenJDK 8的移植版本。

参考资料

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: