写在前面: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开发库。