GNU Classpath

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
GNU Classpath
截圖
GNU Classpath Swing的演示
GNU Classpath Swing的演示
開發者GNU Project
目前版本
  • 0.99 (2012年3月16日;穩定版本)[1]
編輯維基數據鏈結
原始碼庫 編輯維基數據鏈結
程式語言C語言Java
作業系統跨平台的
類型
許可協定LGPL
網站www.classpath.org

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實現(如KaffeSableVMJamVMJikes RVMVMKit)所使用,因為任何一個功能完備的JVM都必須提供一個標準的Java類別庫實現。

其他的一些用途[3]

  • GCJ,它能夠將Java代碼編譯成獨立的可執行檔。
  • GCJAppletViewer,用於在本地的瀏覽器不支援時從命令列使用Java Applet
  • IKVM.NET,它將Java與.NET框架整合在一起。
  • JNode,一個只使用Java組合語言編寫的作業系統。
  • 用於叢集分散式計算的虛擬機器。
  • IcedTea英語IcedTea使用GNU Classpath在OpenJDK中的Blobs被上游被取代之前作為的替代品。

歷史[編輯]

GNU Classpath的開發始於1998年。在歷史上,它曾多次與其他有類似目的的專案(如Kaffelibgcj)合併。過去,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的新功能合併到了穩定分支中。

另見[編輯]

參考連結[編輯]

  1. ^ "GNU Classpath 0.99 Released!"; 作者姓名字串: Dr Andrew John Hughes; 作品或名稱使用語言: 英語; 出版日期: 2012年3月16日; 檢索日期: 2022年8月19日.
  2. ^ Hughes, Andrew John. GNU Classpath 0.99 Released! (World Wide Web log). Fuseyism. 2012-03-16 [2012-03-20]. (原始內容存檔於2012-12-14). 
  3. ^ GNU Classpath - GNU Project - Free Software Foundation (FSF). www.gnu.org. [2020-08-20]. (原始內容存檔於2020-03-14). 
  4. ^ Hungry News. www.hungry.com. [2020-08-15]. (原始內容存檔於2020-08-15). 
  5. ^ Japhar - The Hungry Java Runtime. www.hungry.com. [2020-08-15]. (原始內容存檔於2020-08-15). 
  6. ^ GNU Classpath Success Stories - GNU Project - Free Software Foundation (FSF). www.gnu.org. [2020-08-15]. (原始內容存檔於2020-09-15). 
  7. ^ 7.0 7.1 classpath.git - classpath. git.savannah.gnu.org. [2020-08-18]. (原始內容存檔於2019-09-26). 
  8. ^ 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) .
  9. ^ 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) .

外部連結[編輯]