GNU Classpath
- 0.99 (2012年3月16日;穩定版本)[1]
![編輯維基數據鏈接](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)
- git
.savannah .gnu .org /cgit /classpath .git
![編輯維基數據鏈接](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)
GNU Classpath是Java标准库的一个自由软件实现。它实现了J2SE 1.4和5.0规定的大部分类。因此,Classpath可以用来运行基于Java的应用程序。GNU Classpath是GNU项目的一部分。由于许可证不兼容,它最初是与libgcj并行开发的,但后来这两个项目合并了。
GNU Classpath 被自由软件基金会视为高优先级项目。当Classpath项目开始时,Sun Microsystems公司的官方Java实现的许可证不允许对其Java实现进行任何改动。自Classpath项目开始后,OpenJDK开始在GPL下发布,并成为Java平台的官方开源参考实现。
许可证
GNU Classpath采用GNU宽通用公共许可证v2(即LGPL v2协议)。
用处
GNU Classpath被许多自由的Java实现(如Kaffe、SableVM、JamVM、Jikes RVM和VMKit)所使用,因为任何一个功能完备的JVM都必须提供一个标准的Java类库实现。
其他的一些用途[3]:
- GCJ,它能够将Java代码编译成独立的可执行文件。
- GCJAppletViewer,用于在本地的浏览器不支持时从命令行使用Java Applet。
- IKVM.NET,它将Java与.NET框架整合在一起。
- JNode,一个只使用Java和汇编语言编写的操作系统。
- 用于集群分布式计算的虚拟机。
- IcedTea(英语:IcedTea)使用GNU Classpath在OpenJDK中的Blobs被上游被取代之前作为的替代品。
历史
GNU Classpath的开发始于1998年。在历史上,它曾多次与其他有类似目的的项目(如Kaffe、libgcj)合并。过去,GNU Classpath使用Japhar虚拟机,但由于用于储存Japhar项目所在网站数据的两张磁盘丢失[4],该项目现在事实上已停止更新(最后版本为v0.05,于1998年6月22日发布)[5],且GNU Classpath也已不兼容该虚拟机[6]。
在实现了大部分的Java 1.4官方API之后,项目的工作变得更多的是为了解决bug,而不是为了覆盖大多数Java API。2006年10月24日,最后一个缺失的Java1.4类 HTMLWriter的实现被提交[7]。
VM类
GNU Classpath包含来自官方Java API命名空间的类。必要时,某些调用由“VM”类来完成。这种VM类的名称与本地类的名称相匹配,但在名称前加'VM前缀。如VMObject、VMString等等。VM类与其他代码分开存储,包含私有类和final。这些类的方法包含关键字native,表示需配合的本地库。这类库由Java虚拟机的作者提供,因此GNU Classpath几乎可以连接到任何Java虚拟机。[7]
对Java1.5新特性的支持
在0.95版本之前,每个GNU Classpath发行版都由两个独立的压缩包组成;其中一个是稳定分支;另一个是开发分支,包含开发中的新功能,并支持Java 1.5中的新增内容,如泛型、枚举和注译。[8]
从0.95开始[9],Java1.5的新功能合并到了稳定分支中。
另见
- Apache Harmony
- GCJ
- IKVM.NET
- JamVM
- JamaicaVM
- Jaos
- JikesRVM
- Kaffe
- IcedTea
- 自由Java实现
- Java库
参考链接
- ^ "GNU Classpath 0.99 Released!"; 作者姓名字符串: Dr Andrew John Hughes; 作品或名稱使用語言: 英語; 出版日期: 2012年3月16日; 检索日期: 2022年8月19日.
- ^ Hughes, Andrew John. GNU Classpath 0.99 Released! (World Wide Web log). Fuseyism. 2012-03-16 [2012-03-20]. (原始内容存档于2012-12-14).
- ^ GNU Classpath - GNU Project - Free Software Foundation (FSF). www.gnu.org. [2020-08-20]. (原始内容存档于2020-03-14).
- ^ Hungry News. www.hungry.com. [2020-08-15]. (原始内容存档于2020-08-15).
- ^ Japhar - The Hungry Java Runtime. www.hungry.com. [2020-08-15]. (原始内容存档于2020-08-15).
- ^ GNU Classpath Success Stories - GNU Project - Free Software Foundation (FSF). www.gnu.org. [2020-08-15]. (原始内容存档于2020-09-15).
- ^ 7.0 7.1 classpath.git - classpath. git.savannah.gnu.org. [2020-08-18]. (原始内容存档于2019-09-26).
- ^ GNU Classpath "95% and counting" 0.19 released, The GNU Project (announcement), Software, The Free Software Foundation, 2005-11-02 [31 May 2011], (原始内容存档于2020-01-22) .
- ^ The release of GNU Classpath 0.98 "Better Late Than Never, The GNU Project (announcement), Software, The Free Software Foundation, 2009-02-05 [2020-08-27], (原始内容存档于2020-03-14) .
外部链接
- 官方网址(页面存档备份,存于互联网档案馆)
- Automatically generated documentation, including source code, Classpath, [2020-08-27], (原始内容存档于2020-05-05) .
- Builder, Classpath, [2020-08-27], (原始内容存档于2013-05-02) : test runs and binary compatibility tests
- A GNU Classpath developer, The state of free java project collaborations, GNU/Linux weekly news (article), May 2006 [2020-08-27], (原始内容存档于2020-09-18) .
- Permeable Development, SMI (World Wide Web log), CH: ETHZ, 2006-01-25 [2020-08-27], (原始内容存档于2006-07-20) .
|
|