自由的Java实现

✍ dations ◷ 2025-07-11 02:56:15 #自由的Java实现

自由的Java实现是用来实现Oracle Java,并在自由软件许可证下发布的软件。Sun公司在2007年5月将大部分Java的实现代码以开源协议发布,所以Oracle Java基本上是开源实现,但是从2019年4月16日起,Oracle Java颁布了新的许可协议,这将会对Oracle Java的商业使用造成影响。Java实现包括编译器、运行时、类库等。自由软件的倡导者们将自由的Java虚拟机称为自由Java运行时或自由的运行时。

一些自由软件运动的倡导者不愿意使用“Java”一词,因为它存在版权问题。因此,即使是“自由Java运动”,他们也避免使用“自由Java运行时”一词。

第一个提供大量Java平台功能的自由软件项目是Guavac,它在1995年11月左右开始。此后,自由软件运动开发了其他Java编译器,最著名的是GNU Java编译器。其他还包括由Eclipse基金会维护的Eclipse Java编译器(ECJ)和不再积极维护的Jikes。从GCC4.3开始,GCJ(GCC所附带的Java编译器)使用ECJ解析器前端来解析Java,但GCJ于不久后停止开发。

自由的运行时的例子则包括Kaffe、SableVM和gcj。

GNU Classpath是Java的主要自由类库。大多数自由的运行时都使用GNU Classpath作为其类库。

2005年5月,Apache Harmony宣布成立,然而,该项目选择了Apache许可证,而Apache许可证在当时与所有现有的自由Java实现不兼容。

2005年5月的另一个事件是OpenOffice.org宣布OpenOffice 2.0将依赖于某些特定的Java功能,而这些功能是自由软件实现无法提供的。在争议之后,OpenOffice.org采用了一个指导方针,要求它能够与自由的Java实现相兼容。

在2006年11月之前已经与自由软件Java实现合作的著名应用程序包括OpenOffice.org和Vuze,这两个应用程序都可以使用GCJ编译。

相关

  • 联合国环境署联合国环境署,又称为联合国环境规划署(英语:United Nations Environment Programme, UNEP;或 UN Environment),是联合国专责环境规划的常设部门。它的任务在于协调联合国的环境计
  • 苏珊·林德奎斯特苏珊·林德奎斯特(英语:Susan Lindquist,1949年6月5日-2016年10月27日),美国生物学家,麻省理工学院生物学教授,专门从事分子生物学,特别是朊毒体以及热休克蛋白的蛋白质折叠问题的研
  • 森林大火澳大利亚丛林大火(英语:Bushfires in Australia)是澳大利亚炎热干燥季节频繁发生的野外火灾。有大面积的土地每年都会被破坏,并且造成财产损失和人员伤亡。野外火灾通常是由闪电
  • 晶体惯态晶体惯态,又称晶癖,晶体习性,结晶习性,简称晶习,指矿物晶体趋向于某一种特定外形的特性。这种外形可以指单晶,也可以指晶簇的形态。晶体惯态主要取决于晶体本性,但有时也与生长条件
  • 舞钢市舞钢市位于河南省中部,是平顶山市下辖的一个县级市,伏牛山的东麓。其名字来源于境内的舞阳钢铁公司,是中国唯一一个以企业名称来命名的城市。全市年平均气温14℃,降水量996毫米
  • 不见不散不见不散可以指:
  • 皮埃尔·伽桑狄皮埃尔·伽桑狄(Pierre Gassendi,1592年1月22日-1655年8月24日),法国科学家、数学家、哲学家、传教士、天文学家。他在法国的教堂拥有一份工作,并且在巴黎领导一群自由思想派的知
  • 亲任官亲任官(日语:親任官/しんにんかん ),是大日本帝国宪法下的官僚阶级之一。明治宪法下的官僚制度的最高位置、由日本天皇经亲任式任命。必须使用阁下这一敬称。现在日本国宪法下,内
  • 记里鼓车记里鼓车,又称记里车、大章车,中国古代用来记录车辆行过距离的马车,构造与指南车相似,车有上下两层,每层各有木制机械人,手执木槌,下层木人打鼓,车每行一里路,敲鼓一下,上层机械人敲打
  • 全球奴隶制指数全球奴隶制指数(The Global Slavery Index)是由明德罗基金会发布的全球现代奴隶制研究。迄今为止,已在2013年,2014年,2016年和2018年发布了四个版本。2018年版以现代奴隶制全球