Comprehensive List of Java Libraries and Tools (Awesome‑Java)
This article presents an extensive, categorized collection of Java libraries, frameworks, and tools—including build systems, databases, logging, testing, functional programming, machine learning, and more—providing developers with a one‑stop reference for the Java ecosystem.
Awesome‑Java Resource Collection
A curated list of Java libraries and tools covering a wide range of development needs, from build systems and databases to machine‑learning frameworks and GUI libraries.
Business Process Management
jBPM : Flexible BPM framework bridging developers and business analysts. Website
Activiti : High‑performance BPMN 2.0 engine emphasizing embeddability and extensibility. Website ( Download )
Bytecode Manipulation
ASM : Low‑level bytecode manipulation and analysis library. Website
Byte Buddy : Fluent API for generating and modifying bytecode. Website
Byteman : Runtime bytecode injection using DSL rules for testing and fault injection. Website
Javassist : Simplified bytecode editing library. Website
Cluster Management
Apache Aurora : Mesos framework for long‑running services and cron jobs. Website
Singularity : Mesos framework for deploying and operating services and batch jobs. Website
Code Analysis
Checkstyle : Static analysis for coding standards. Website
Error Prone : Detects common Java mistakes at compile time. Website
FindBugs : Finds bugs via bytecode analysis. Website
jQAssistant : Neo4j‑based static analysis. Website
PMD : Detects bad coding practices. Website
SonarQube : Platform for code quality metrics and reporting. Website
Compiler Generation Tools
ANTLR : Full‑featured top‑down parser generator. Website
JavaCC : Lightweight parser generator with predictive parsing. Website
Build Tools
Apache Maven : Declarative build and dependency management. Website
Bazel : Fast, reliable build system from Google. Website
Gradle : Incremental builds using Groovy DSL, integrates with Maven repositories. Website
External Configuration Tools
config : Typesafe configuration library for JVM languages. Website
owner : Reduces redundant configuration properties. Website
Constraint‑Satisfaction Solvers
Choco : Java library for constraint programming. Website
JaCoP : FlatZinc interface for MiniZinc models. Website
OptaPlanner : Enterprise planning and resource scheduling optimizer. Website
Sat4J : Advanced SAT and optimization solver. Website
Continuous Integration
Bamboo : Atlassian CI solution (open‑source and commercial editions). Website
CircleCI : Hosted CI service with free tier. Website
Codeship : Hosted CI with limited free plan. Website
fabric8 : Container‑integrated platform. Website
Go : ThoughtWorks open‑source CI solution. Website
Jenkins : Extensible server‑based CI system. Website
TeamCity : JetBrains CI server with free edition. Website
Travis CI : Popular CI for open‑source projects. Website
CSV Parsing
uniVocity‑parsers : Fast, feature‑rich CSV/TSV/fixed‑width parser. Website
Databases
Apache Phoenix : High‑performance SQL layer over HBase. Website
Crate : Distributed SQL database with sharding and replication. Website
Flyway : Simple database migration tool. Website
H2 : Small, embeddable, in‑memory SQL database. Website
HikariCP : High‑performance JDBC connection pool. Website
JDBI : Convenient JDBC abstraction. Website
jOOQ : Typesafe SQL code generation. Website
MapDB : Embedded DB engine based on concurrent collections. Website
Presto : Distributed SQL query engine for big data. Website
Querydsl : Typesafe fluent API for queries. Website
Data Structures
Apache Parquet : Columnar storage format based on Google Dremel. Website
Protobuf : Google’s language‑neutral data interchange format. Website
SBE : Simple Binary Encoding, a fast messaging format. Website
Wire : Lightweight protocol buffer library. Website
Date/Time Libraries
Joda‑Time : De‑facto standard before Java 8. Website
Time4J : Advanced date‑time library. Website
ThreeTen : JSR‑310 backport for pre‑Java 8. Website
Dependency Injection
Apache DeltaSpike : CDI extensions. Website
Dagger 2 : Compile‑time DI without reflection. Website
Guice : Lightweight DI framework from Google. Website
HK2 : Dynamic DI framework used by Jersey. Website
Development Process Enhancement Tools
ADT4J : JSR‑269 code generator for algebraic data types.
AspectJ : Seamless aspect‑oriented programming.
Auto : Collection of source‑code generators.
DCEVM : Unlimited runtime class redefinition for the JVM.
HotswapAgent : Runtime class and resource hot‑swap.
Immutables : Generates immutable value objects.
JHipster : Yeoman generator for Spring Boot + Angular/React.
JRebel : Commercial tool for instant code reload.
Lombok : Boilerplate‑reducing annotation processor.
Spring Loaded : Class reloading agent.
vert.x : Polyglot, event‑driven application framework.
Distributed Applications
Akka : Toolkit for building fault‑tolerant, concurrent, distributed systems.
Apache Storm : Real‑time stream processing.
Apache ZooKeeper : Coordination service for large clusters.
Hazelcast : Scalable in‑memory data grid.
Hystrix : Latency and fault‑tolerance library.
JGroups : Reliable messaging and cluster creation.
Orbit : Actor‑based concurrency library.
Quasar : Lightweight threads and actors for the JVM.
Distributed Databases
Apache Cassandra : Highly available column‑store.
Apache HBase : Hadoop‑based big‑data store.
Druid : Real‑time and historical OLAP engine.
Infinispan : High‑concurrency key‑value store.
Publishing
Bintray : Binary repository with Maven/Gradle integration.
Central Repository : Default Maven artifact repository.
IzPack : Cross‑platform installer authoring tool.
JitPack : Builds GitHub projects on‑the‑fly for Maven/Gradle.
Launch4j : Wraps JARs as native Windows executables.
Nexus : Binary repository manager with proxy and caching.
packr : Packages JARs, resources, and JVM into native binaries.
Document Processing Tools
Apache POI : Reads/writes Office OOXML and OLE2 formats.
documents4j : Converts documents via third‑party converters.
jOpenDocument : Handles OpenDocument XML format.
Functional Programming Libraries
Cyclops : Monads, streams, comprehensions, pattern matching.
Fugue : Functional extensions for Guava.
Functional Java : Rich functional abstractions for composition‑oriented development.
Javaslang : Persistent data types and functional control structures.
jOOL : Enhances Java 8 lambdas with missing types and fluent streams.
Game Development
jMonkeyEngine : Modern 3D game engine.
libGDX : Cross‑platform high‑level framework.
LWJGL : Low‑level bindings for OpenGL, OpenCL, OpenAL.
GUI
JavaFX : Successor to Swing for modern UI development.
Scene Builder : Visual layout tool for JavaFX.
High‑Performance Computing
Agrona : Data structures and utilities for low‑latency apps.
Disruptor : Inter‑thread messaging library.
fastutil : Compact type‑specific collections.
GS Collections : Smalltalk‑inspired collection framework.
HPPC : Primitive collections library.
Javolution : Real‑time and embedded systems utilities.
JCTools : Missing concurrent utilities for the JDK.
Koloboke : High‑performance hash sets/maps.
Trove : Primitive collections.
high‑scale‑lib : Cliff Click’s high‑throughput concurrent utilities.
IDE
Eclipse : Extensible open‑source IDE.
IntelliJ IDEA : Feature‑rich IDE for JVM languages (commercial).
NetBeans : Integrated support for Java SE/EE, HTML5, etc.
Scala IDE : Eclipse‑based IDE for Scala.
SpringSource Tool Suite (STS) : Eclipse‑based Spring development environment.
Image Processing
Imgscalr : Simple Java2D image‑scaling library.
Picasso : Android image downloading and caching.
Thumbnailator : High‑quality thumbnail generation.
ZXing : Barcode image processing library.
im4java : Java wrapper for ImageMagick/GraphicsMagick command line.
JSON
Genson : Powerful Java‑to‑JSON conversion.
Gson : Google’s JSON serialization/deserialization library.
Jackson : High‑performance JSON processor.
LoganSquare : Faster JSON parsing using Jackson streaming API.
Fastjson : High‑performance JSON library by Alibaba.
JVM and JDK
JDK 9 : Early‑access release of Java 9.
OpenJDK : Open‑source implementation of the JDK.
Languages on the JVM
Scala : Statically typed language blending OOP and functional programming.
Groovy : Dynamically typed language with optional static typing.
Clojure : Modern Lisp for the JVM.
Ceylon : Red Hat’s object‑oriented language.
Kotlin : JetBrains’ statically typed language for JVM, Android, and browsers.
Xtend : Static language that compiles to readable Java code.
Logging
Apache Log4j 2 : Rewritten logging framework with plugins.
Kibana : Log analysis and visualization.
Logback : Robust logging library with Groovy configuration.
logstash : Log management and processing pipeline.
Metrics : Publishes JVM metrics via JMX/HTTP.
SLF4J : Simple logging façade.
Machine Learning
Apache Flink : Fast, reliable large‑scale data processing engine.
Apache Hadoop : Distributed storage and processing framework.
Apache Mahout : Scalable algorithms for clustering, classification, collaborative filtering.
Apache Spark : Cluster‑computing framework for data analytics.
DeepDive : Extracts structured information from unstructured data.
Deeplearning4j : Distributed deep‑learning library for the JVM.
H2O : Scalable machine‑learning engine for big data.
Weka : Data‑mining algorithms and visualization tools.
Messaging
Aeron : High‑throughput, low‑latency messaging.
Apache ActiveMQ : Open‑source JMS broker.
Apache Camel : Integration patterns for routing messages.
Apache Kafka : Distributed high‑throughput messaging system.
Hermes : Kafka‑based fast, reliable broker.
JBoss HornetQ : Modular, embeddable messaging tool.
JeroMQ : Pure‑Java implementation of ZeroMQ.
Smack : Cross‑platform XMPP client library.
(Content continues beyond this excerpt.)
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Architecture Digest
Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
