User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Java

A curated list of awesome frameworks, libraries and software for the Java programming language.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Oct. 22, 2021, 6:06 p.m.

Thank you akullpp & contributors
View Topic on GitHub:
akullpp/awesome-java

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Bean Mapping

dOOv (Domain Object Oriented Validation) a fluent API for type-safe bean validation and mapping

61
8
1y 85d
Apache-2.0

Elegance, high performance and robustness all in one java bean mapper

157
19
4y 5m
Apache-2.0

An annotation processor for generating type-safe bean mappers

3.62K
509
8m
n/a

Intelligent object mapping

1.71K
265
8m
Apache-2.0

Simpler, better and faster Java bean mapping framework

1.03K
213
1y 0d
Apache-2.0

A declarative mapping library to simplify testable object mappings.

74
13
8m
Apache-2.0

Selma Java bean mapping that compiles

201
38
3y 7m
Apache-2.0

Build

A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.

7.75K
1.15K
9m
Apache-2.0

Declarative build and dependency management that favors convention over configuration. It might be preferable to Apache Ant, which uses a rather procedural approach and can be difficult to maintain.

A multi-language, fast and scalable build system from Google. [Apache]

Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.

Bytecode Manipulation

A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)

11.9K
852
1y 89d
GPL-3.0

cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access.

3.88K
805
2y 73d
Apache-2.0

Java bytecode engineering toolkit

3.06K
580
8m
n/a

Mixin is a trait/mixin and bytecode weaving framework for Java using ASM

538
89
1y 19d
MIT

A project to cause (controlled) destruction on your jvm application

52
4
2y 71d
MIT

ASM

All-purpose, low-level bytecode manipulation and analysis.

Further simplifies bytecode generation with a fluent API.

Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)

Caching

A high performance caching library for Java

9.37K
965
8m
Apache-2.0

In-memory high performance caching library.

Distributed general-purpose cache.

Highly concurrent key/value datastore used for caching.

CLI

Several implementations of a text table, originally using ASCII and UTF-8 characters for borders.

299
33
4y 5m
Apache-2.0

Java annotation-based framework for parsing Git like command line structures

834
137
1y 9m
Apache-2.0

Jansi is a small java library that allows you to use ANSI escape sequences to format your console output which works even on windows.

801
110
8m
Apache-2.0

ASCII renderer in pure java with no external dependencies

110
10
1y 10d
Apache-2.0

Reflectionless command line parser

49
3
89d
MIT

JLine is a Java library for handling console input.

829
153
8m
n/a

A library for creating interactive console applications in Java

224
31
1y 5d
n/a

Java library for creating text-based GUIs

1.59K
204
9m
LGPL-3.0

Small library to parse command-line arguments.

Command-line argument-parsing framework with custom types and validation via implementing interfaces.

Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like Turbo Vision.

Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes.

ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.

Cluster Management

Mesos framework for long-running services and cron jobs.

Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks.

Code Analysis

Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.

5.81K
7.68K
8m
n/a

Catch common Java mistakes as compile-time errors

5.49K
605
8m
Apache-2.0

A static analyzer for Java, C, C++, and Objective-C

12.06K
1.64K
8m
MIT

A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead

2.9K
224
8m
MIT

An extensible multilanguage static code analyzer.

3.27K
1.13K
8m
n/a

SonarSource Static Analyzer for Java Code Quality and Security

726
488
8m
n/a

Spoon is a metaprogramming library to analyze and transform Java source code (up to Java 15). is made with , and . It parses source files to build a well-designed AST with powerful analysis and transformation API.

1.06K
223
8m
n/a

SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.

2.2K
351
8m
LGPL-2.1

Static code analysis with Neo4J-based query language. (GPL-3.0-only)

Visual source code navigator.

Code Coverage

Relies on source-code instrumentation instead of bytecode instrumentation.

Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)

Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.

Code Generators

adt4j - Algebraic Data Types for Java

128
6
3y 7m
n/a

A collection of source code generators for Java.

9.11K
1.06K
8m
Apache-2.0

Automatic generation of the Builder pattern for Java

770
100
11m
Apache-2.0

A Java API for generating .java source files.

8.71K
1.12K
10m
Apache-2.0

JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.

18.03K
3.55K
8m
Apache-2.0

Record builder generator for Java records

189
15
8d
Apache-2.0

Annotation processors to generate simple, safe and consistent value objects.

Small framework that adds queryable properties to Java, enhancing JavaBeans.

Code generator that aims to reduce verbosity.

Simple and light code generator available as an Eclipse Plugin and also as a CLI.

Compiler-compiler

Complex full-featured framework for top-down parsing.

Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.

Lexical analyzer generator.

Computer Vision

Java interface to OpenCV, FFmpeg, and more

4.92K
1.25K
8m
n/a

Configuration

Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2

375
79
8m
Apache-2.0

Modern configuration library for distributed apps written in Java.

528
104
3y 49d
Apache-2.0

configuration library for JVM languages using HOCON files

5.19K
850
10m
Apache-2.0

A simple configuration library for Java applications providing a node structure, a variety of formats, and tools for transformation

114
33
11m
n/a

A twelve-factor configuration (12factor.net/config) library for Java 8+

36
1
3y 8m
n/a

KickAss Configuration. An annotation-based configuration system for Java and Kotlin

47
3
1y 8m
Apache-2.0

Get rid of the boilerplate code in properties based configuration.

791
189
10m
BSD-3-Clause

Provides an API for handling Windows' INI files.

Configuration system designed for microservices which helps to separate configuration from code. The configuration for different services can have common and specific parts and can be dynamically distributed.

Constraint Satisfaction Problem Solver

Java Constraint Programming solver

177
48
11m
AGPL-3.0

Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.

Business planning and resource scheduling optimization solver.

CSV

High performance CSV reader and writer for Java.

290
58
8m
MIT

(DEPRECATED) -- moved under: https://github.com/FasterXML/jackson-dataformats-text

193
80
4y 7m
n/a

uniVocity-parsers is a suite of extremely fast and reliable parsers for Java. It provides a consistent interface for handling different file formats, and a solid framework for the development of new parsers.

771
206
9m
n/a

Powerful CSV parser with support for Dozer, Joda-Time and Java 8.

Data Structures

A big, fast and persistent queue based on memory mapped file.

459
168
5y 20d
Apache-2.0

Union, intersection, and set cardinality in loglog space

34
8
1y 11d
n/a

A Persistent Java Collections Library

659
58
10m
MIT

Protocol Buffers - Google's data interchange format

46.46K
12.42K
8m
n/a

A better compressed bitset in Java

2.1K
379
8m
Apache-2.0

Simple Binary Encoding (SBE) - High Performance Message Codec

2.35K
398
8m
Apache-2.0

A lightning fast, transactional, file-based FIFO for Android and Java.

2.39K
295
3y 41d
Apache-2.0

gRPC and protocol buffers for Android, Kotlin, and Java.

3.42K
460
8m
Apache-2.0

Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.

Fast and efficient columnar storage format for Hadoop-based workloads.

Columnar storage format based on assembly algorithms from Google's paper on Dremel.

Data interchange format that originated at Facebook.

Database

The official ArangoDB Java driver.

175
77
8m
Apache-2.0

Replicate your Key Value Store across your network, with consistency, persistance and performance.

2.13K
402
8m
Apache-2.0

eXist Native XML Database and Application Platform

294
153
8m
LGPL-2.1

FlexyPool adds metrics and failover strategies to a given Connection Pool, allowing it to resize on demand.

854
99
1y 10d
Apache-2.0

ๅ…‰ HikariCPใƒปA solid, high-performance, JDBC connection pool at last.

14.62K
2.23K
8m
Apache-2.0

A blazingly small and sane redis java client

9.68K
3.41K
8m
MIT

Elasticsearch Java Rest Client.

2.05K
746
10m
Apache-2.0

Java binding for etcd

133
54
7y 7m
Apache-2.0

LINQ-style queries for Java 8

615
76
11m
n/a

Distributed ID Generate Service

4.29K
1.26K
1y 6m
Apache-2.0

MariaDB Embedded in Java JAR

573
154
8m
Apache-2.0

Model Layer Implementation for a J2EE Pull MVC WebApp

10
1
8m
Apache-2.0

Allows you to use the MongoDB query syntax to query your relational database.

11
2
5m
n/a

Build JPA Criteria queries using a Stream-like API

1
1
8m
Apache-2.0

Realm is a mobile database: a replacement for SQLite & ORMs

11.1K
1.75K
8m
n/a

Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ...

15.77K
3.85K
8m
Apache-2.0

requery - modern SQL based query & persistence for Java / Kotlin / Android

3.05K
252
1y 7m
Apache-2.0

Speedment is a Stream ORM Java Toolkit and Runtime

1.9K
222
1y 18d
n/a

Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub.

850
81
8m
Apache-2.0

Dynamic data management framework. It contains many of the pieces that comprise a typical database management system.

Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration.

High-performance relational database layer over HBase for low-latency applications.

Low latency data streaming platform for change data capture.

High-performance, column-oriented, distributed data store.

Simple database migration tool.

H2

Small SQL database notable for its in-memory functionality.

Convenient abstraction of JDBC.

Generates typesafe code based on SQL schema.

Database-independent library for tracking, managing and applying database schema changes.

Collections backed by off-heap or on-disk storage.

Typesafe unified queries.

JDBC connection pool library with advanced performance monitoring capabilities.

Date and Time

A Java-based calendar converter

25
6
4y 40d
Apache-2.0

A Java library for parsing and building iCalendar data models

492
166
9m
BSD-3-Clause

Provides additional date-time classes that complement those in JDK 8

287
67
8m
BSD-3-Clause

Advanced date, time and interval library for Java with sun/moon-astronomy and calendars like Chinese, Coptic, Ethiopian, French Republican, Hebrew, Hijri, Historic Christian, Indian National, Japanese, Julian, Korean, Minguo, Persian, Thai, Vietnamese

323
47
8m
LGPL-2.1

Dependency Injection

Lightweight dependency injection for Java and Android (JSR-330)

319
56
4y 6m
n/a

Governator is a library of extensions and utilities that enhance Google Guice to provide: classpath scanning and automatic binding, lifecycle management, configuration to field mapping, field validation and parallelized object warmup.

781
168
9m
Apache-2.0

Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google.

9.99K
1.43K
8m
Apache-2.0

JayWire Dependency Injection

47
3
10m
n/a

Compile-time injection framework without reflection.

HK2

Lightweight and dynamic dependency injection framework.

Development

A library that simplifies error handling for Functional Programming in Java

99
6
8m
MIT

Java unlimited redefinition of classes at runtime.

1.6K
371
8m
GPL-2.0

Java 1-15 Parser and Abstract Syntax Tree for Java, including preview features to Java 13

3.57K
823
8m
n/a

old repository --> this is now integrated in https://github.com/javaparser/javaparser

272
65
3y 9m
Apache-2.0

Manifold plugs into Java to supplement it with powerful features, from Type-safe Metaprogramming (direct access to GraphQL, JSON, XML, etc.), Extension Methods, Operator Overloading, and Unit Expressions to an integrated Template Engine and a Preprocessor. All fully supported in IntelliJ IDEA and Android Studio. Simply add Manifold to your project and begin taking advantage of it.

973
53
8m
Apache-2.0

SneakyThrow is a Java library to ignore checked exceptions

62
1
2y 0d
MIT

Seamless aspect-oriented programming extension.

JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only)

Allows checked exceptions in functional interfaces and converts exceptions to Optional return.

Enable infinite recursion using tail call optimization.

Distributed Applications

A circuit breaker design pattern for dropwizard

39
4
1y 9m
GPL-2.0

Fault tolerance and resilience patterns for the JVM

3.35K
257
1y 22d
Apache-2.0

Open Source In-Memory Data Grid

4.21K
1.44K
8m
Apache-2.0

Resilience4j is a fault tolerance library designed for Java8 and functional programming

6.55K
877
8m
Apache-2.0

ScaleCube Services is a high throughput, low latency reactive microservices library built to scale. it features: API-Gateways, service-discovery, service-load-balancing, the architecture supports plug-and-play service communication modules and features. built to provide performance and low-latency real-time stream-processing. its open and designed to accommodate changes. (no sidecar in a form of broker or any kind)

481
74
9m
Apache-2.0

Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.

10.53K
2K
8m
Apache-2.0

In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.

Realtime computation system.

Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems.

Fault-tolerant distributed coordination framework.

Framework for creating CQRS applications.

Toolkit for reliable messaging and cluster creation.

Lightweight threads and actors for the JVM.

Distributed Transactions

JTA Transaction Manager

390
131
2y 111d
Apache-2.0

Seata is an easy-to-use, high-performance, open source distributed transaction solution.

18.75K
5.7K
8m
Apache-2.0

Provides transactions for REST, SOA and microservices with support for JTA and XA.

Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only)

Distribution

Binary Artifact Management Tool

219
24
8m
MIT

Dead-Simple Packaging and Deployment for JVM Apps

1.14K
91
4y 9m
EPL-1.0

Download, Install, Update

409
112
1y 10d
n/a

Gradle/Maven plugin to package Java applications as native Windows, Mac OS X, or GNU/Linux executables and create installers for them.

153
19
11m
GPL-3.0

Build optimized Java runtimes in your browser!

1
0
11m
Apache-2.0

Packages your JAR, assets and a JVM for distribution on Windows, Linux and Mac OS X

2.15K
147
8m
Apache-2.0

maven plugin for making chmod +x jar files

94
21
5y 91d
n/a

Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools.

Setup authoring tool for cross-platform deployments.

Document Processing

Generate and read big Excel files quickly

240
44
11m
n/a

Simple, efficient Excel to POJO library for Java

52
12
8m
Apache-2.0

Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT).

API for document format conversion using third-party converters such as MS Word.

Create and manipulate Microsoft Open XML files.

Financial

Cassandre is an open-source framework that makes it easy to create your crypto trading bot in Java. Our Spring boot starter takes care of exchange connections, accounts, orders, trades, and positions so you can focus on building your strategy.

227
66
44d
GPL-3.0

Open source software platform for trading venues

459
179
10m
Apache-2.0

Low-latency Financial Information Exchange (FIX) engine for the JVM

213
73
10m
Apache-2.0

Java client library for the Square Connect v2 API

35
19
1y 10m
Apache-2.0

Java library for the Stripe API.

524
279
8m
MIT

A Java library for technical analysis.

920
384
8m
n/a

Formal Verification

a concolic testing engine for Java

80
31
3y 8m
n/a

JPF is an extensible software analysis framework for Java bytecode. jpf-core is the basis for all JPF projects; you always need to install it. It contains the basic VM and model checking infrastructure, and can be used to check for concurrency defects like deadlocks, and unhandled exceptions like NullPointerExceptions and AssertionErrors.

280
199
9m
Apache-2.0

Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)

Detects likely program invariants and generates JML specs based on those invariants.

Detects inconsistencies between code and JML specification through feedback-directed random tests generation, and suggests a likely cause for each nonconformance detected. (GPL-3.0-only)

KeY

Formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for specification and symbolic execution for verification. (GPL-2.0-or-later)

Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only)

Functional Programming

An advanced, but easy to use, platform for writing functional applications in Java 8.

1.18K
127
1y 9m
Apache-2.0

Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.

511
43
2y 6d
n/a

jOOฮป - The Missing Parts in Java 8 jOOฮป improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams. The JDK 8's main efforts (default methods, lambdas, and the Stream API) were focused around maintaining backwards compatibility and implementing a functional API for parallelism.

1.78K
150
1y 10d
Apache-2.0

Stream utilities for Java 8

429
53
1y 9m
MIT

Enhancing Java Stream API

1.61K
189
9m
Apache-2.0

Functional extensions to Guava.

Implements numerous basic and advanced programming abstractions that assist composition-oriented development.

Functional component library that provides persistent data types and functional control structures.

Game Development

JavaFX Game Development Framework.

Game engine for modern 3D development.

Robust framework that abstracts libraries like OpenGL/CL/AL.

Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games.

Geospatial

Geohash utitlies in java

336
76
1y 10d
Apache-2.0

Open source routing engine for OpenStreetMap. Use it as Java library or server.

3.08K
1.1K
8m
Apache-2.0

Vector map library and writer - running on Android and Desktop.

881
337
8m
LGPL-3.0

LocationTech Spatial4j: A Geospatial Library for Java

745
146
10m
n/a

Library for developing geospatial applications.

Library that provides tools for geospatial data. (LGPL-2.1-only)

Spatial extension of the H2 database. (LGPL-3.0-only)

Library for using the GeoHash algorithm.

GUI

Visual layout tool for JavaFX applications.

SWT

Graphical widget toolkit.

High Performance

High Performance data structures and utility methods for Java

1.9K
285
8m
Apache-2.0

Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.

1.64K
391
8m
n/a
2.43K
372
1y 75d
Apache-2.0

Java Collections till the last breadcrumb of memory and performance

907
128
5y 115d
n/a

Inter-thread messaging library.

Fast and compact type-specific collections.

HTTP Clients

Asynchronous Http and WebSocket Client library for Java

5.67K
1.51K
9m
n/a

Feign makes writing java http clients easier

6.72K
1.39K
8m
Apache-2.0

Google HTTP Client Library for Java

1.1K
393
11m
Apache-2.0

โš—๏ธ Lightweight HTTP extensions for Java 11

88
2
11m
MIT

Microservice query language

42
6
1y 6m
MIT

Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support.

3.89K
1.04K
1y 16d
Apache-2.0

Client-side response routing for Spring

164
40
8m
MIT

Unirest in Java: Simplified, lightweight HTTP client library.

2.09K
556
8m
n/a

A toolset of low level Java components focused on HTTP and associated protocols.

Retrofit turns your REST API into a Java interface.

Hypermedia Types

HATEOAS with HAL for Java

17
4
1y 9d
MIT

JSON-LD implementation for Java

336
153
8m
BSD-3-Clause

Java library for the Siren Hypermedia Type Specification

21
14
4y 7m
MIT

IDE

Popular open-source IDE, mainly for Java but with plugin support for a wide array of languages and platforms. ![Open-Source Software][OSS Icon] ![Freeware][Freeware Icon]

Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer.

Provides integration for several Java SE and EE features, from database access to HTML5.

Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace.

Imagery

Simple Java image-scaling library implementing Chris Campbell's incremental scaling algorithm as well as Java2D's "best-practices" image-scaling techniques.

1.05K
234
3y 7m
Apache-2.0

Java JNA wrapper for Tesseract OCR API

967
298
10m
Apache-2.0

Thumbnailator - a thumbnail generation library for Java

3.43K
633
1y 6d
n/a

TwelveMonkeys ImageIO: Additional plug-ins and extensions for Java's ImageIO

1.21K
227
8m
BSD-3-Clause

ZXing ("Zebra Crossing") barcode scanning library for Java, Android

27.24K
8.94K
9m
Apache-2.0

Published on Maven Central and jCenter Java Library that compares 2 images with the same sizes and shows the differences visually by drawing rectangles. Some parts of the image can be excluded from the comparison. Can be used for automation qa tests.

142
55
1y 45d
Apache-2.0

Introspection

An uber-fast parallelized Java classpath scanner and module scanner.

1.93K
213
8m
MIT

jOOR - Fluent Reflection in Java jOOR is a very simple fluent API that gives access to your Java Class structures in a more intuitive way. The JDK's reflection APIs are hard and verbose to use. Other languages have much simpler constructs to access type meta information at runtime. Let us make Java reflection better.

2.4K
357
11m
Apache-2.0

High performance Java reflection

1.16K
178
1y 9m
BSD-3-Clause

Java runtime metadata analysis

3.56K
591
1y 6m
WTFPL

Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks.

Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions.

Job Scheduling

An extremely easy way to perform background processing in Java. Backed by persistent storage. Open and free for commercial use.

312
33
8m
n/a

Code for Quartz Scheduler

4.24K
1.43K
2y 2d
n/a

A Light-weight Job Scheduling Framework

229
47
12m
Apache-2.0

A simple Java Scheduler library with a minimal footprint and a straightforward API

57
9
1y 6m
Apache-2.0

Persistent cluster-friendly scheduler for Java

342
73
8m
n/a

The simple, stupid batch framework for Java

492
163
8m
MIT

Distributed lock for your scheduled tasks

1.63K
283
9m
Apache-2.0

JSON

High performance JVM JSON library

700
86
9m
BSD-3-Clause

A Java serialization/deserialization library to convert Java Objects into JSON and back

19.22K
3.71K
1y 5m
Apache-2.0

High-performance JSON parser

424
66
4y 6m
Apache-2.0

Set of support modules for Java 8 datatypes (Optionals, date/time) and features (parameter names)

311
101
8m
Apache-2.0

Extension module to properly support datatypes of javax.money

162
32
8m
MIT

Main Portal page for the Jackson project

6.34K
1.04K
9m
n/a

Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.

272
88
1y 11d
Apache-2.0

Screaming fast JSON parsing and serialization library for Android.

3.24K
318
5y 7m
Apache-2.0

A modern JSON library for Kotlin and Java.

7.08K
583
8m
Apache-2.0

Eclipse Yasson project

153
75
8m
n/a

A fast JSON parser/generator for Java.

23.06K
6.16K
8m
Apache-2.0

JSON to JSON transformation library written in Java.

1.04K
234
2y 14d
Apache-2.0

Java JsonPath implementation

5.64K
1.07K
10m
Apache-2.0

A streaming JsonPath processor in Java

201
38
11m
MIT

Powerful and easy-to-use Java-to-JSON conversion library.

Fast and flexible library with iterator and lazy parsing API.

JVM and JDK

[INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.

1.19K
165
12m
n/a

Alibaba Dragonwell8 JDK

3.09K
377
8m
GPL-2.0

GraalVM: Run Programs Faster Anywhere

14.6K
1.1K
8m
n/a

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.

2.57K
545
8m
n/a

Write once run anywhere native mobile apps using with Java 8 or Kotlin. Supports iOS (iPhone/iPad), Android, Windows (UWP) & others

984
265
8m
GPL-2.0

Community-driven OpenJDK builds, including both HotSpot and OpenJ9.

No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)

Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)

Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)

RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)

SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0)

OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)

Logging

An extensible Java library for HTTP request and response logging

797
133
8m
MIT

P6Spy is a framework that enables database data to be seamlessly intercepted and logged with no code changes to the application.

1.38K
256
8m
Apache-2.0

Best-of-breed OpenTracing utilities, instrumentations and extensions

159
42
8m
MIT

Complete rewrite with a powerful plugin and configuration architecture.

graylog2](https://twitter.com/graylog2) | - | Field-tested open source data analytics system used and trusted all around the world. Search your logs, create charts, send reports and be alerted when something happens. All running on the existing JVM in your datacenter. |

Analyzes and visualizes log files. Some features require payment.

Robust logging library with interesting configuration options via Groovy.

Tool for managing log files.

Abstraction layer/simple logging facade.

Lightweight logging framework with static logger class.

Machine Learning

Java Statistical Analysis Tool, a Java library for Machine Learning

675
202
8m
GPL-3.0

Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby) with zero dependencies

1.76K
153
1y 16d
MIT

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

1.74K
410
8m
Apache-2.0

Stream Processing and Complex Event Processing Engine

1.18K
448
8m
Apache-2.0

Statistical Machine Intelligence & Learning Engine

5.17K
1.02K
8m
n/a

Fast, reliable, large-scale data processing engine.

Scalable algorithms focused on collaborative filtering, clustering and classification.

Provides several algorithms and pre-trained models for natural language processing.

Distributed and multi-threaded deep learning library.

Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)

Messaging

Efficient reliable UDP unicast, UDP multicast, and IPC message transport

5.39K
640
8m
Apache-2.0

Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.

23.2K
4.57K
1y 8m
Apache-2.0

Pure Java ZeroMQ

1.97K
453
9m
MPL-2.0

A distributed event bus that implements a RESTful API abstraction on top of Kafka-like queues

730
133
8m
MIT

RabbitMQ Java client

960
465
8m
n/a

A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs

2.19K
841
8m
Apache-2.0

Java client for NATS

323
91
8m
Apache-2.0

Message broker that implements JMS and converts synchronous to asynchronous communication.

Glues together different transport APIs via Enterprise Integration Patterns.

High-throughput distributed messaging system.

Distributed pub/sub-messaging system.

Fast, reliable, and scalable distributed messaging platform.

Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms.

Fast and reliable message broker built on top of Kafka.

Microservice

Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.

2.97K
579
8m
Apache-2.0

Java client for Consul HTTP API

371
151
1y 6m
Apache-2.0

AWS Service registry for resilient mid-tier load balancing and failover.

10.22K
3.06K
9m
Apache-2.0

A powerful flow control component enabling reliability, resilience and monitoring for microservices. (้ขๅ‘ไบ‘ๅŽŸ็”ŸๅพฎๆœๅŠก็š„้ซ˜ๅฏ็”จๆตๆŽง้˜ฒๆŠค็ป„ไปถ)

15.39K
5.25K
8m
Apache-2.0

Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions.

Libraries for writing composable microservices.

Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile.

Modern full-stack framework with focus on modularity, minimal memory footprint and startup time.

Dynamic service discovery, configuration and service management platform for building cloud native applications.

Kubernetes stack tailored for the HotSpot and Graal VM.

Miscellaneous

Ultra-fast SQL-like queries on Java collections

1.29K
186
9m
Apache-2.0

Design patterns implemented in Java

64.31K
20.42K
8m
n/a

Feature Flags for Java made easy

886
222
8m
n/a

FizzBuzz Enterprise Edition is a no-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes.

14.12K
620
1y 10m
n/a

A Java to iOS Objective-C translation tool and runtime.

5.75K
852
8m
Apache-2.0

Make Slack and Facebook Bots in Java.

1.14K
347
8m
GPL-3.0

An in-memory file system for Java 7+

1.95K
235
8m
Apache-2.0

A Java to JavaScript transpiler.

1.1K
137
10m
n/a

The easiest way to integrate Maven into your project!

1.45K
218
1y 8m
Apache-2.0

API gateway for REST and SOAP written in Java.

353
116
8m
Apache-2.0

A lightweight, simple FTP server. Pure Java, no dependencies.

94
23
1y 5m
Apache-2.0

Modern Java - A Guide to Java 8

14.41K
3.51K
3y 29d
MIT

Detect uses of legacy Java APIs

232
39
10m
Apache-2.0

OctoLinker โ€” Links together, what belongs together

4.64K
294
8m
MIT

A lightweight command processing pipeline โ โ‡ข โ โ‡ข โ for your Java awesome app.

123
24
11m
MIT

Support alternative markup for Apache Maven POM files

747
77
10m
n/a

Simple API, Complex Emails (JavaMail smtp wrapper)

811
203
8m
Apache-2.0

An extensible Java framework for building XML and non-XML (CSV, EDI, Java, etc...) streaming applications

289
315
8m
n/a

Tools for working with generic types

499
82
1y 8m
Apache-2.0

Java XML library. A really cool one. Obviously.

62
9
10m
Apache-2.0

The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts

126
18
8m
MIT

Static website generator.

JCuda offers Java bindings for CUDA and CUDA-related libraries.

Basic currency and money classes and algorithms not provided by the JDK.

Snippet runner.

Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases.

Implementation of the Feature Toggles pattern.

Mobile Development

Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0)

Cross-platform framework for developing mobile apps with native UI in Java and Kotlin.

Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.

Monitoring

Automon combines the power of AOP (AspectJ) with monitoring or logging tools you already use to declaratively monitor your Java code, the JDK, and 3rd party libraries.

545
142
9m
Apache-2.0

Endpoint library for the failsafe framework

47
14
2y 4m
MIT

JavaMelody : monitoring of JavaEE applications

2.35K
660
8m
Apache-2.0

Jaeger Bindings for Java OpenTracing API

438
214
10m
n/a

jmxtrans

1.64K
495
9m
MIT

Capturing JVM- and application-level metrics. So you know what's going on.

7.28K
1.76K
8m
Apache-2.0

Get inside your JVM

144
13
1y 6m
MIT

APM, (Application Performance Management) tool for large-scale distributed systems.

11.2K
3.36K
8m
Apache-2.0

Prometheus instrumentation library for JVM applications

1.44K
565
8m
Apache-2.0

an open source solution to application performance monitoring for java server applications

1.63K
275
1y 80d
Apache-2.0

A lightweight platform monitoring tool for Java VMs

151
23
4y 10m
Apache-2.0

Open-source Java APM.

Captures detailed run-time information via hooks that can be changed on the fly. It supports tracing over multiple systems via the OpenTracing API and can correlate the data with end user monitoring.

JMX over REST.

Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.

Native

The New Official Aparapi: a framework for executing native Java and Scala code on the GPU.

310
54
1y 88d
Apache-2.0

The missing bridge between Java and native C++

3.4K
479
8m
n/a

Java Native Access

6.37K
1.45K
8m
n/a

Java Abstracted Foreign Function Layer

840
120
8m
n/a

Natural Language Processing

CogComp's Natural Language Processing libraries and Demos:

410
139
2y 10d
n/a

Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later)

Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.

Toolkit for tasks ranging from POS tagging to sentiment analysis.

Networking

commons networking utils

2
0
8m
Apache-2.0

Fibers and actors for web development

586