The Most Widely Used Java Libraries
2013-11-16 20:14
405 查看
A typical Java project relies on third-party libraries. This article summarizes the most popular and widely used Java libraries for a variety of different applications. A simple example is also provided for some of them, if it can be found on ProgramCreek.
Java SDK
is surely the #1 widely used library. So the focus of this list is the popular third-party libraries. The list may not not perfect, so leave your comment if you think others should be included.
1. Core
Apache Commons Lang – Apache’s library that provides a host of helper utilities for the java.lang API, such as String manipulation, object creation, etc.
Google Guava – Google’s Core library for collections, caching, primitives support, etc.
(example)
2. HTML, XML Parser
Jsoup – a convenient library to manipulate HTML.
(example)
STaX – Process XML code.
(example)
3. Web Frameworks
Spring – an open source application framework and inversion of control container for the Java platform.
(example)
Struts 2 – most popular web framework from Apache.
(example)
Google Web Toolkit – a development toolkit from Google for building and optimizing complex browser-based applications.
(example)
Strips – a presentation framework for building web applications using the latest Java technologies.
Tapestry – component oriented framework for creating dynamic, robust, highly scalable web applications in Java.
Here is a
comparison of those frameworks.
4. Chart, Report, Graph
JFreeChart – creates charts such as bar charts, line charts, pie charts, etc.
JFreeReport – creates PDF reports.
JGraphT – create graph that contains a set of nodes connected by edges.
5. Windowing Libraries
Swing – a GUI library from SDK.
(example)
SWT – a GUI library from eclipse.
SWT vs. Swing
6. GUI Frameworks
Eclipse RCP.
(example)
7. Natural Language Processing
OpenNLP – a library from Apache.
(example)
Stanford Parser – a library from Stanford University.
(example)
If you are an expert of NLP,
here are more tools.
8. Static Analysis
Eclipse JDT – a library from IBM which can manipulate Java source code.
(example)
WALA – a library that can process .jar file, i.e., bytecode.
(example)
9. JSON
Jackson – a multi-purpose Java library for processing JSON data format. Jackson aims to be the best possible combination of fast, correct, lightweight, and ergonomic for developers.
XStream – a simple library to serialize objects to XML and back again.
Google Gson – a Java library that can be used to convert Java Objects into their JSON representation. (example)
JSON-lib – a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans and DynaBeans.
10. Math
Apache Commons Math – provide functions for math and statistics.
11. Logging
Apache Log4j – most popular logging library.
(example)
Logback – a successor to the popular log4j project.
The Simple Logging Facade for Java (SLF4J) – a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.
12. Office-Complicant
Apache POI – APIs for manipulating various file formats based upon Microsoft’s OLE 2 Compound Document format using pure Java.
Docx4j – a Java library for creating and manipulating Microsoft Open XML (Word docx, Powerpoint pptx, and Excel xlsx) files.
* 1) The list above are based on my own survey combined with personal experience. It is possible that they are not precisely THE MOST popular, but at least well-known.
* 2) I will keep updating this list to make it more complete and accurate. Thanks for your comments.
Related posts:
Software Engineering Research – Frameworks (1)Reflection for Java framework
Library vs. Framework?
Learn Eclipse RCP framework by using open source projects
相关文章推荐
- Struts2在MyEclipse9.0上的一些错误
- JAVA学习.JAVA面向对象编程的理解&Random类
- Java Hour 40 Maven ( 2 )
- Struts2通配符和动态方法调用
- spring 中事物的说明
- 以后坚持用java
- 深入研究java.lang.ThreadLocal类
- Struts2 注解约定
- java测试程序2
- 设置JavaDoc
- zookeeper+dubbo+spring,从头到尾
- Java中Math类的常用方法
- Java中的Random类
- java中PreparedStatement和Statement的区别
- JDK自带的native2ascii工具完全揭密
- Java中常见的日期时间类
- Eclipse reports rendering library more recent than ADT plug-in.Please update ADT plug-in
- 正式进入javaEE学习阶段
- Java Hour 39 Maven ( 1 )
- Java泛型原理笔记