寫在前面: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
三、Web框架
Spring:Java平臺上衆所周知的開源框架和依賴注入容器。(示例)
Struts2:來自Apache的流行Web框架。 (示例)
Google Web Toolkit:Google提供的開發工具庫,主要用於構建和優化複雜的Web程序用。 (示例)
Strips:使用最新Java技術構建的Web程序框架,推薦使用。
Tapestry:面向組件的框架,用於使用Java建立動態、健壯、擴展性高的Web應用程序。
請猛擊這裏 查看以上面框架之間的比較。
四、圖表、報表、圖像
JFreeChart:用於建立如條形圖、折線圖、餅圖等圖表。
JFreeReport:建立於輸出PDF格式的報表。
JGraphT:建立圖像,其中只包含由線段鏈接的點集。
五、窗口
6.、GUI框架
Eclipse RCP。(示例)
七、天然語言處理
若是你是一名NLP專家,請猛擊這裏 查看更多工具庫介紹。
八、靜態分析
九、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開發庫。