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: Dec. 3, 2020, 12:05 a.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

56
7
4m
Apache-2.0

Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another.

1.82K
447
4m
Apache-2.0

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

151
19
3y 6m
Apache-2.0

An annotation processor for generating type-safe bean mappers

3.33K
478
11d
n/a

Intelligent object mapping

1.65K
258
13d
Apache-2.0

Simpler, better and faster Java bean mapping framework

997
207
41d
Apache-2.0

A declarative mapping library to simplify testable object mappings.

73
13
15d
Apache-2.0

Selma Java bean mapping that compiles

197
38
2y 9m
Apache-2.0

Build

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

7.65K
1.14K
23d
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.71K
838
4m
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.76K
786
1y 114d
Apache-2.0

Java bytecode engineering toolkit

2.96K
562
48d
n/a

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

483
88
60d
MIT

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

48
3
1y 112d
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 8

8.81K
886
3d
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.

291
34
3y 7m
Apache-2.0

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

823
135
11m
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.

777
105
36d
Apache-2.0

ASCII renderer in pure java with no external dependencies

107
9
51d
Apache-2.0

The jbock command line parser

36
2
37d
MIT

JLine is a Java library for handling console input.

773
143
3d
n/a

A library for creating interactive console applications in Java

217
29
46d
n/a

Java library for creating text-based GUIs

1.53K
195
39d
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.65K
7.57K
4d
n/a

Catch common Java mistakes as compile-time errors

5.42K
590
1d
Apache-2.0

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

11.85K
1.59K
1d
MIT

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

2.86K
218
58d
MIT

An extensible multilanguage static code analyzer.

3.14K
1.09K
3d
n/a

SonarSource Static Analyzer for Java Code Quality and Security

705
476
3d
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.02K
215
3d
n/a

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

2.1K
335
5d
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
5
2y 9m
n/a

A collection of source code generators for Java.

8.97K
1.05K
8d
Apache-2.0

Automatic generation of the Builder pattern for Java

764
100
20d
Apache-2.0

A Java API for generating .java source files.

8.52K
1.1K
5m
Apache-2.0

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

17.69K
3.48K
2d
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.

Configuration

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

359
77
30d
Apache-2.0

Modern configuration library for distributed apps written in Java.

524
102
2y 90d
Apache-2.0

configuration library for JVM languages using HOCON files

5.1K
819
42d
Apache-2.0

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

114
33
29d
n/a

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

36
1
2y 10m
n/a

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

44
3
10m
Apache-2.0

Get rid of the boilerplate code in properties based configuration.

778
191
20d
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

175
48
13d
AGPL-3.0

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

Business planning and resource scheduling optimization solver.

CSV

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

194
80
3y 8m
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.

762
203
52d
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.

440
162
4y 61d
Apache-2.0

Union, intersection, and set cardinality in loglog space

32
7
52d
n/a

A Persistent Java Collections Library

645
57
71d
MIT

Protocol Buffers - Google's data interchange format

45.04K
12.09K
5d
n/a

A better compressed bitset in Java

1.98K
357
24d
Apache-2.0

Simple Binary Encoding (SBE) - High Performance Message Codec

2.31K
385
1d
Apache-2.0

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

2.39K
296
2y 82d
Apache-2.0

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

3.35K
456
7d
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.

171
77
31d
Apache-2.0

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

2.08K
397
3d
Apache-2.0

eXist Native XML Database and Application Platform

287
151
2d
LGPL-2.1

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

838
98
51d
Apache-2.0

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

14.17K
2.17K
49d
Apache-2.0

A blazingly small and sane redis java client

9.49K
3.38K
7d
MIT

Elasticsearch Java Rest Client.

2.02K
744
5m
Apache-2.0

Java binding for etcd

132
54
6y 9m
Apache-2.0

LINQ-style queries for Java 8

607
77
29d
n/a

Distributed ID Generate Service

4K
1.17K
7m
Apache-2.0

MariaDB Embedded in Java JAR

553
150
22d
Apache-2.0

Model Layer Implementation for a J2EE Pull MVC WebApp

10
1
3d
Apache-2.0

Build JPA Criteria queries using a Stream-like API

1
0
41d
Apache-2.0

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

11.05K
1.75K
10d
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.03K
3.67K
3d
Apache-2.0

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

3.03K
251
9m
Apache-2.0

Speedment is a Stream ORM Java Toolkit and Runtime

1.88K
223
59d
n/a

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

814
78
3d
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.

Distributed SQL query engine for big data.

Typesafe unified queries.

Thin JDBC wrapper that simplifies database access and provides simple mapping of ResultSets to POJOs.

JDBC connection pool library with advanced performance monitoring capabilities.

Date and Time

A Java-based calendar converter

24
6
3y 81d
Apache-2.0

A Java library for parsing and building iCalendar data models

472
161
54d
BSD-3-Clause

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

275
62
3d
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

319
46
38d
LGPL-2.1

Dependency Injection

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

315
52
3y 8m
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.

767
164
1y 0d
Apache-2.0

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

9.79K
1.41K
28d
Apache-2.0

JayWire Dependency Injection

46
4
21d
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

96
5
7d
MIT

Java unlimited redefinition of classes at runtime.

1.56K
367
8d
GPL-2.0

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

3.39K
788
1d
n/a

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

268
63
2y 10m
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.

934
50
7d
Apache-2.0

SneakyThrow is a Java library to ignore checked exceptions

61
1
1y 41d
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

38
4
11m
GPL-2.0

Fault tolerance and resilience patterns for the JVM

3.3K
249
63d
Apache-2.0

Open Source In-Memory Data Grid

4.06K
1.4K
4m
Apache-2.0

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

6.21K
838
3d
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)

476
72
29d
Apache-2.0

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

10.18K
1.96K
1d
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

388
131
1y 5m
Apache-2.0

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

17.96K
5.23K
8d
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

Dead-Simple Packaging and Deployment for JVM Apps

1.14K
91
3y 11m
EPL-1.0

Download, Install, Update

409
112
51d
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
11d
GPL-3.0

Build optimized Java runtimes in your browser!

0
0
11d
Apache-2.0

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

2.11K
141
15d
Apache-2.0

maven plugin for making chmod +x jar files

93
21
4y 4m
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
16d
n/a

Simple, efficient Excel to POJO library for Java

52
12
51d
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

Open source software platform for trading venues

447
174
51d
Apache-2.0

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

203
72
4d
Apache-2.0

Java client library for the Square Connect v2 API

34
18
11m
Apache-2.0

Java library for the Stripe API.

513
275
9d
MIT

Formal Verification

a concolic testing engine for Java

78
29
2y 9m
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.

259
183
45d
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.16K
124
11m
Apache-2.0

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

508
42
1y 47d
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.74K
148
51d
Apache-2.0

Stream utilities for Java 8

419
54
10m
MIT

Enhancing Java Stream API

1.56K
182
51d
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.

All-round cross-platform, high-level framework.

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

331
76
51d
Apache-2.0

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

2.97K
1.07K
4d
Apache-2.0

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

862
337
3d
LGPL-3.0

LocationTech Spatial4j: A Geospatial Library for Java

726
144
5d
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.79K
275
1d
Apache-2.0

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

1.59K
371
4d
n/a
2.43K
372
116d
Apache-2.0

Java Collections till the last breadcrumb of memory and performance

898
127
4y 5m
n/a

Inter-thread messaging library.

Fast and compact type-specific collections.

HTTP Clients

Asynchronous Http and WebSocket Client library for Java

5.59K
1.5K
8d
n/a

Feign makes writing java http clients easier

6.45K
1.35K
14d
Apache-2.0

Google HTTP Client Library for Java

1.1K
393
13d
Apache-2.0

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

86
2
19d
MIT

Microservice query language

40
6
7m
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.8K
1.01K
57d
Apache-2.0

Client-side response routing for Spring

154
34
3d
MIT

Unirest in Java: Simplified, lightweight HTTP client library.

2.05K
552
15d
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
50d
MIT

JSON-LD implementation for Java

325
151
27d
BSD-3-Clause

Java library for the Siren Hypermedia Type Specification

21
14
3y 9m
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
230
2y 9m
Apache-2.0

Java JNA wrapper for Tesseract OCR API

930
289
18d
Apache-2.0

Thumbnailator - a thumbnail generation library for Java

3.28K
622
47d
n/a

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

1.17K
222
3d
BSD-3-Clause

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

26.68K
8.85K
14d
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.

131
53
86d
Apache-2.0

Introspection

An uber-fast, ultra-lightweight, parallelized Java classpath scanner and module scanner.

1.85K
208
5d
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.35K
351
7d
Apache-2.0

High performance Java reflection

1.14K
179
10m
BSD-3-Clause

Java runtime metadata analysis

3.47K
573
7m
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.

240
25
9d
n/a

Code for Quartz Scheduler

4.09K
1.4K
1y 43d
n/a

A Light-weight Job Scheduling Framework

226
47
39d
Apache-2.0

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

51
7
7m
Apache-2.0

Persistent cluster-friendly scheduler for Java

303
58
3d
n/a

The simple, stupid batch framework for Java

466
156
15d
MIT

Distributed lock for your scheduled tasks

1.43K
264
9d
Apache-2.0

JSON

High performance JVM JSON library

680
83
30d
BSD-3-Clause

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

18.87K
3.65K
6m
Apache-2.0

High-performance JSON parser

413
61
3y 8m
Apache-2.0

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

299
93
4d
Apache-2.0

Extension module to properly support datatypes of javax.money

151
31
3d
MIT

Main Portal page for the Jackson project

6.13K
1.03K
3d
n/a

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

269
89
52d
Apache-2.0

Screaming fast JSON parsing and serialization library for Android.

3.24K
315
4y 8m
Apache-2.0

A modern JSON library for Kotlin and Java.

6.8K
548
54d
Apache-2.0

Eclipse Yasson project

147
72
31d
n/a

A fast JSON parser/generator for Java.

22.71K
6.06K
12d
Apache-2.0

JSON to JSON transformation library written in Java.

1.01K
230
1y 55d
Apache-2.0

Java JsonPath implementation

5.41K
1.03K
6m
Apache-2.0

A streaming JsonPath processor in Java

194
36
10d
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.18K
162
37d
n/a

Alibaba Dragonwell8 JDK

2.89K
354
28d
GPL-2.0

GraalVM: Run Programs Faster Anywhere

14.08K
1.04K
2d
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.5K
532
0d
n/a

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

952
261
3d
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

723
124
2d
MIT

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

1.32K
244
4m
Apache-2.0

Best-of-breed OpenTracing utilities, instrumentations and extensions

154
41
7d
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

662
200
5m
GPL-3.0

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

1.73K
412
18d
Apache-2.0

Stream Processing and Complex Event Processing Engine

1.14K
441
7d
Apache-2.0

Statistical Machine Intelligence & Learning Engine

5.07K
1.01K
0d
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.27K
622
1d
Apache-2.0

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

23.01K
4.54K
9m
Apache-2.0

Pure Java ZeroMQ

1.95K
449
60d
MPL-2.0

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

704
129
2d
MIT

RabbitMQ Java client

947
460
10d
n/a

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

2.16K
836
8d
Apache-2.0

Java client for NATS

310
92
25d
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.86K
566
1d
Apache-2.0

Java client for Consul HTTP API

368
147
7m
Apache-2.0

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

9.99K
2.95K
2d
Apache-2.0

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

14.56K
4.93K
6d
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.25K
186
8m
Apache-2.0

Design patterns implemented in Java

62.25K
19.82K
3d
n/a

Feature Flags for Java made easy

842
216
28d
n/a

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

13.78K
609
11m
n/a

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

5.72K
838
1d
Apache-2.0

Java interface to OpenCV, FFmpeg, and more

4.73K
1.23K
30d
n/a

Make Slack and Facebook Bots in Java.

1.14K
340
107d
GPL-3.0

An in-memory file system for Java 7+

1.89K
236
43d
Apache-2.0

The easiest way to integrate Maven into your project!

1.42K
216
9m
Apache-2.0

API gateway for REST and SOAP written in Java.

345
116
27d
Apache-2.0

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

89
21
6m
Apache-2.0

Modern Java - A Guide to Java 8

14.13K
3.43K
2y 70d
MIT

Detect uses of legacy Java APIs

228
38
7m
Apache-2.0

OctoLinker โ€” Links together, what belongs together

4.56K
289
3d
MIT

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

101
20
10d
MIT

Support alternative markup for Apache Maven POM files

725
75
106d
n/a

Simple API, Complex Emails (JavaMail smtp wrapper)

785
197
39d
Apache-2.0

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

279
313
3d
n/a

Tools for working with generic types

486
81
9m
Apache-2.0

Java XML library. A really cool one. Obviously.

62
7
49d
Apache-2.0

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

116
14
30d
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.

539
142
1y 5m
Apache-2.0

Endpoint library for the failsafe framework

44
13
1y 5m
MIT

JavaMelody : monitoring of JavaEE applications

2.32K
647
9d
Apache-2.0

Jaeger Bindings for Java OpenTracing API

422
208
21d
n/a

jmxtrans

1.62K
497
4m
MIT

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

7.2K
1.75K
7d
Apache-2.0

Get inside your JVM

144
13
7m
MIT

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

10.98K
3.3K
2d
Apache-2.0

Prometheus instrumentation library for JVM applications

1.37K
544
24d
Apache-2.0

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

1.62K
270
4m
Apache-2.0

A lightweight platform monitoring tool for Java VMs

150
23
3y 12m
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
4m
Apache-2.0

The missing bridge between Java and native C++

3.33K
464
7d
n/a

Java Native Access

6.18K
1.41K
7d
n/a

Java Abstracted Foreign Function Layer

816
117
1d
n/a

Natural Language Processing

CogComp's Natural Language Processing libraries and Demos:

406
137
1y 51d
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

Fibers and actors for web development

580
94
4y 55d
n/a

Apache Dubbo is a high-performance, java based, open source RPC framework.

34.15K
22.6K
17d
Apache-2.0

The Java gRPC implementation. HTTP/2 based RPC

8.13K
2.76K
2d
Apache-2.0

TCP/UDP client/server library for Java, based on Kryo

1.57K
398
9m
BSD-3-Clause

An annotation-based Java library for creating Thrift serializable types and services.

164
58
5m
Apache-2.0

A networking framework that evolves with your application

617
73
3d
Apache-2.0

ssh, scp and sftp for java

1.79K
437
9d
n/a

A Java library that implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS for Java applications.

105
24
53d
MIT

Java library for representing, parsing and encoding URNs as in RFC2141 and RFC8141

19
1
1y 93d
GPL-3.0

NIO framework. Used as a network layer in Glassfish.

Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO.

Framework for building high-performance network applications.

Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only)

ORM

DAO oriented database mapping framework for Java 8+

239
52
17d
Apache-2.0

MyBatis SQL mapper framework for Java

14.66K
9.83K
6d
n/a

Language-Natural Persistence Layer for Java

266
33
21d
Apache-2.0

Fast and Easy mapping from database and csv to POJO. A java micro ORM, lightweight alternative to iBatis and Hibernate. Fast Csv Parser and Csv Mapper

361
59
6m
MIT

Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation.

Provides simple and fast data access.

Supports a number of persistence standards: JPA, JAXB, JCA and SDO.

Robust and widely used, with an active community. (LGPL-2.1-only)

PDF

Java reporting library for creating dynamic report designs at runtime

117
48
55d
LGPL-3.0

XML/XHTML and CSS 2.1 renderer in pure Java

1.53K
489
10m
n/a

An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Section 508, PDF/UA)!

1.01K
196
3d
n/a

OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. OpenPDF is based on a fork of iText. We welcome contributions from other developers. Please feel free to submit pull-requests and bugreports to this GitHub repository. โ›บ

1.78K
234
3d
n/a

Extract tables from PDF files

876
275
91d
MIT

Toolbox for creating and manipulating PDFs.

Abstraction layer to JasperReports. (LGPL-3.0-only)