自由的Java实现

✍ dations ◷ 2025-08-07 04:47:44 #自由的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编译。

相关

  • Ne1s2 2s2 2p62, 8蒸气压第一:2080.7 kJ·mol−1 第二:3952.3 kJ·mol−1 第三:6122 kJ·mol−1 (主条目:氖的同位素氖(旧译作氝,讹作氞)是一种化学元素,它的化学符号是Ne,它的原子
  • 膨胀宇宙加速膨胀是宇宙的膨胀速度越来越快的现象。以天文学术语来说,就是宇宙标度因子  a ( t ) {\displays
  • 安政安政是日本的年号之一,指的是嘉永之后、万延之前,1854年到1860年这段期间。此时期的天皇是孝明天皇,江户幕府的将军是德川家定、德川家茂。出自《群书治要》里的“庶民安政,然后
  • 罗德洛世罗德洛世(Ludlow epoch,427.4±0.5百万年前至423.0±2.3百万年前)在地质年代里属于志留纪,位于侯默期之后,其命名缘由是来自英格兰施洛普郡的拉德洛。罗德洛世可细分为戈斯特期及
  • 蒙提贝罗蒙特贝洛(Montebello, California,又译蒙提贝罗)是美国加利福尼亚州南部洛杉矶县的一座城市,是洛杉矶市的住宅和工业区。2000年人口59,564人。
  • 硒酸铁硒酸铁是一种无机化合物,化学式为Fe2(SeO4)3,存在无水物和九水合物。硒酸铁的热稳定性比对应的硫酸铁差。无水硒酸铁可由草酸亚铁和硒酸按化学计量比在450 K进行水热反应得到,
  • 尼古拉·卡尔达肖夫尼古拉·谢苗诺维奇·卡尔达肖夫(俄语:Николай Семёнович Кардашёв,转写:Nikolai Semenovich Kardashev,1932年4月25日-2019年8月3日)出生于莫斯科,前苏联
  • Gov 2.0Gov 2.0(政府2.0)是由提姆·奥莱理于2009年9月4日在techcruch网页提出,他认为政府应当视为一个平台(Government As A Platform)提供网络服务(Web Services),政府机构不应只是提供网
  • 托马斯·雷伯恩托马斯·雷伯恩(丹麦语:Thomas Laybourn,1977年9月30日-),丹麦男子羽毛球运动员,擅长双打项目。2010年,托马斯·雷伯恩联同卡米拉·吕特·尤尔参加世界羽联超级系列赛新加坡公开赛混
  • 中左联盟中左联盟(意大利语:Coalizione di centrosinistra)是对自1995年以来在意大利出现的一些中左翼政党联盟的泛称,它们拥有不同的存在形式和名称。该联盟一直围绕着左翼民主党及其后