Java Libraries

The Java programming language has many different libraries available for developers to use. Below is a list of some of the most common and useful libraries, as well as links for more information about each one. As we continue to develop more complex softwares, we may want to look at some of these libraries for additional information. We can also browse the repository at Maven Central for additional libraries we could use.

Java Standard Library

Java Standard Library Java Standard Library 1

First and foremost, the Java Standard Library contains thousands of classes that we can use in our applications for a variety of purposes. So, before looking elsewhere, it is always worth checking to see if the Java Standard Library already includes what we need.

Other Standard Libraries

Beyond the Java Standard Library, there are two other general purpose libraries that are commonly used by Java developers:

  • Apache Commons - a set of useful libraries maintained by the Apache Software Foundation. Many of these can help enhance the functionality of the Java Standard Library. A couple of useful libraries:
  • Google Guava - a set of libraries maintained by Google for their various Java projects. A couple of useful libraries:
    • Graph - a graph data structure for Java
    • Math - additional math operations that are highly optimized

Additional Useful Libraries

Here are a few more libraries that are commonly used by Java developers, some of which we are already using in this course:

  • JUnit - unit testing
  • Mockito - test doubles and mocks for unit tests
  • Log4j - a powerful logging framework
  • Jackson - data processing library for formats such as JSON and XML
  • Hamcrest - an assertions library for unit tests
  • AssertJ - an assertions library for unit tests
  • Spring - a web framework built for Java