The Most Widely Used Java Libraries

The Most Widely Used Java Libraries

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.

13. Date and Time

Joda-Time – a quality replacement for the Java date and time classes.

More From Comments
Lambok – a Java library meant to simplify the development of Java code writing

* 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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值