最經常使用的Java庫一覽

寫在前面:html

1) 本文列出的名單是根據我本身的調查,並結合我的的經驗。有多是它們不偏偏是最流行的,但至少衆所周知的。java

2) 我會不斷更新這個列表,使之更加完整和準確。感謝您的意見。web

一個典型的Java項目依賴於第三方庫。本文總結的Java庫適用於各類應用,比較流行而且普遍使用。其中一些還提供簡單的示例(來自ProgramCreek )。spring

Java SDK  確定是使用最廣的庫,因此本文的名單焦點是流行的第三方庫。該列表可能並不完善,因此若是你以爲有什麼應該出如今列表中的,請留下您的評論。很是感謝!數據庫

一、核心庫api

  • Apache Commons Lang:來自Apache的核心庫,爲java.lang API補充了許多經常使用的工具類,如字符串操做、對象的建立等。緩存

  • Google Guava:來自谷歌的核心庫,包括集合(Collection)、緩存(Caching)、支持原語(Primitives)等。(示例)java-web

二、HTML、XML Parseroracle

  • Jsoup:一個簡化了的 HTML操做的庫。(示例)app

  • STaX:一組能夠高效處理 XML的API。 (示例)

三、Web框架

  • Spring:Java平臺上衆所周知的開源框架和依賴注入容器。(示例)

  • Struts2:來自Apache的流行Web框架。 (示例)

  • Google Web Toolkit:Google提供的開發工具庫,主要用於構建和優化複雜的Web程序用。 (示例)

  • Strips:使用最新Java技術構建的Web程序框架,推薦使用。

  • Tapestry:面向組件的框架,用於使用Java建立動態、健壯、擴展性高的Web應用程序。

請猛擊這裏  查看以上面框架之間的比較。

四、圖表、報表、圖像

  • JFreeChart:用於建立如條形圖、折線圖、餅圖等圖表。

  • JFreeReport:建立於輸出PDF格式的報表。

  • JGraphT:建立圖像,其中只包含由線段鏈接的點集。

五、窗口

SWT與Swing的比較 

6.、GUI框架

七、天然語言處理

  • OpenNLP:來自Apache的天然語言處理庫。 (示例)

  • Stanford Parser:斯坦福大學提供的天然語言處理庫。(示例)

若是你是一名NLP專家,請猛擊這裏  查看更多工具庫介紹。

八、靜態分析

  • Eclipse JDT:由IBM提供的靜態分析庫,能夠操做Java源代碼。(示例)

  • WALA:能夠處理jar包文件(即字節碼)的工具庫。(示例)

九、JSON

  • Jackson: 用於處理JSON數據格式的多用途的Java庫。Jackson 旨在快速、準確、輕量、對開人員友好之間找到最好的平衡點。

  • XStream:一個簡單用於對象和XML互相轉換的庫。

  • Google Gson:一個專門用於Java對象和Json對象相互轉換的工具庫。(示例)

  • JSON-lib:用於 beans、maps、collections、java arrays、XML 和 JSON 之間相互轉換操做的工具庫。

十、數學

  • Apache Commons Math:提供數學計算和數值統計需函數的工具庫。

十一、日誌

  • Apache Log4j:風行一時的日誌記錄操做庫。 (示例)

  • Logback:當前流行的log4j項目的繼任者。

  • SLF4J(The Simple Logging Facade for Java): 各類日誌框架的一個簡單的外觀或抽象(如java.util.logging 、logback、log4j等),容許用戶在部署時加入須要的日誌框架。

十二、Office

  • Apache POI:利用其提供的APIs,可使用純Java代碼操做各類基於微軟OLE2合成文檔格式的文檔。

  • Docx4j:一個用於建立、操做微軟公開的XML文件的庫(支持Word docx、 Powerpoint pptx和Excel xlsx)。

1三、日期和時間

  • Joda-Time:若有質量問題包退包換的Java日期和時間類。

1四、數據庫

  • Hibernate、EclipseLink、JPA

  • SpringJDBC、Spring Data

  • Apache DbUtils

1五、開發工具

  • Lambok: 旨在減小代碼編寫的Java開發庫。

相關文章
相關標籤/搜索