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: None

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
9m
Apache-2.0

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

1.85K
451
10m
Apache-2.0

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

157
19
3y 11m
Apache-2.0

An annotation processor for generating type-safe bean mappers

3.62K
509
95d
n/a

Intelligent object mapping

1.71K
265
84d
Apache-2.0

Simpler, better and faster Java bean mapping framework

1.03K
213
6m
Apache-2.0

A declarative mapping library to simplify testable object mappings.

74
13
105d
Apache-2.0

Selma Java bean mapping that compiles

201
38
3y 66d
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
4m
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
9m
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
1y 9m
Apache-2.0

Java bytecode engineering toolkit

3.06K
580
102d
n/a

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

538
89
7m
MIT

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

52
4
1y 9m
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
80d
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 11d
Apache-2.0

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

834
137
1y 4m
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
89d
Apache-2.0

ASCII renderer in pure java with no external dependencies

110
10
7m
Apache-2.0

A command line parser generator

37
2
85d
MIT

JLine is a Java library for handling console input.

829
153
78d
n/a

A library for creating interactive console applications in Java

224
31
6m
n/a

Java library for creating text-based GUIs

1.59K
204
4m
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
77d
n/a

Catch common Java mistakes as compile-time errors

5.49K
605
76d
Apache-2.0

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

12.06K
1.64K
77d
MIT

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

2.9K
224
78d
MIT

An extensible multilanguage static code analyzer.

3.27K
1.13K
79d
n/a

SonarSource Static Analyzer for Java Code Quality and Security

726
488
77d
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
77d
n/a

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

2.2K
351
81d
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 72d
n/a

A collection of source code generators for Java.

9.11K
1.06K
78d
Apache-2.0

Automatic generation of the Builder pattern for Java

770
100
6m
Apache-2.0

A Java API for generating .java source files.

8.71K
1.12K
4m
Apache-2.0

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

18.03K
3.55K
77d
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
82d
n/a

Configuration

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

375
79
78d
Apache-2.0

Modern configuration library for distributed apps written in Java.

528
104
2y 8m
Apache-2.0

configuration library for JVM languages using HOCON files

5.19K
850
5m
Apache-2.0

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

114
33
6m
n/a

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

36
1
3y 95d
n/a

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

47
3
1y 100d
Apache-2.0

Get rid of the boilerplate code in properties based configuration.

791
189
4m
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
5m
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
94d
MIT

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

193
80
4y 55d
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
114d
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
4y 7m
Apache-2.0

Union, intersection, and set cardinality in loglog space

34
8
7m
n/a

A Persistent Java Collections Library

659
58
4m
MIT

Protocol Buffers - Google's data interchange format

46.46K
12.42K
78d
n/a

A better compressed bitset in Java

2.1K
379
90d
Apache-2.0

Simple Binary Encoding (SBE) - High Performance Message Codec

2.35K
398
76d
Apache-2.0

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

2.39K
295
2y 8m
Apache-2.0

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

3.42K
460
90d
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
89d
Apache-2.0

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

2.13K
402
76d
Apache-2.0

eXist Native XML Database and Application Platform

294
153
77d
LGPL-2.1

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

854
99
7m
Apache-2.0

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

14.62K
2.23K
88d
Apache-2.0

A blazingly small and sane redis java client

9.68K
3.41K
84d
MIT

Elasticsearch Java Rest Client.

2.05K
746
4m
Apache-2.0

Java binding for etcd

133
54
7y 67d
Apache-2.0

LINQ-style queries for Java 8

615
76
6m
n/a

Distributed ID Generate Service

4.29K
1.26K
1y 30d
Apache-2.0

MariaDB Embedded in Java JAR

573
154
80d
Apache-2.0

Model Layer Implementation for a J2EE Pull MVC WebApp

10
1
82d
Apache-2.0

Build JPA Criteria queries using a Stream-like API

1
1
96d
Apache-2.0

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

11.1K
1.75K
79d
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
77d
Apache-2.0

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

3.05K
252
1y 69d
Apache-2.0

Speedment is a Stream ORM Java Toolkit and Runtime

1.9K
222
7m
n/a

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

850
81
77d
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.

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

25
6
3y 8m
Apache-2.0

A Java library for parsing and building iCalendar data models

492
166
4m
BSD-3-Clause

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

287
67
83d
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
85d
LGPL-2.1

Dependency Injection

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

319
56
4y 45d
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
4m
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
77d
Apache-2.0

JayWire Dependency Injection

47
3
5m
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
86d
MIT

Java unlimited redefinition of classes at runtime.

1.6K
371
88d
GPL-2.0

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

3.57K
823
79d
n/a

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

272
65
3y 119d
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
77d
Apache-2.0

SneakyThrow is a Java library to ignore checked exceptions

62
1
1y 6m
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 4m
GPL-2.0

Fault tolerance and resilience patterns for the JVM

3.35K
257
7m
Apache-2.0

Open Source In-Memory Data Grid

4.21K
1.44K
77d
Apache-2.0

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

6.55K
877
77d
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
4m
Apache-2.0

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

10.53K
2K
78d
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
1y 10m
Apache-2.0

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

18.75K
5.7K
79d
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
96d
MIT

Dead-Simple Packaging and Deployment for JVM Apps

1.14K
91
4y 4m
EPL-1.0

Download, Install, Update

409
112
7m
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
5m
GPL-3.0

Build optimized Java runtimes in your browser!

1
0
5m
Apache-2.0

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

2.15K
147
80d
Apache-2.0

maven plugin for making chmod +x jar files

94
21
4y 9m
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
5m
n/a

Simple, efficient Excel to POJO library for Java

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

459
179
5m
Apache-2.0

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

213
73
4m
Apache-2.0

Java client library for the Square Connect v2 API

35
19
1y 4m
Apache-2.0

Java library for the Stripe API.

524
279
79d
MIT

A Java library for technical analysis.

920
384
77d
n/a

Formal Verification

a concolic testing engine for Java

80
31
3y 82d
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
118d
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 4m
Apache-2.0

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

511
43
1y 6m
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
7m
Apache-2.0

Stream utilities for Java 8

429
53
1y 111d
MIT

Enhancing Java Stream API

1.61K
189
4m
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
7m
Apache-2.0

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

3.08K
1.1K
83d
Apache-2.0

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

881
337
80d
LGPL-3.0

LocationTech Spatial4j: A Geospatial Library for Java

745
146
4m
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
76d
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
83d
n/a
2.43K
372
9m
Apache-2.0

Java Collections till the last breadcrumb of memory and performance

907
128
4y 10m
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
4m
n/a

Feign makes writing java http clients easier

6.72K
1.39K
86d
Apache-2.0

Google HTTP Client Library for Java

1.1K
393
5m
Apache-2.0

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

88
2
5m
MIT

Microservice query language

42
6
1y 20d
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
7m
Apache-2.0

Client-side response routing for Spring

164
40
86d
MIT

Unirest in Java: Simplified, lightweight HTTP client library.

2.09K
556
95d
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
7m
MIT

JSON-LD implementation for Java

336
153
91d
BSD-3-Clause

Java library for the Siren Hypermedia Type Specification

21
14
4y 69d
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 73d
Apache-2.0

Java JNA wrapper for Tesseract OCR API

967
298
4m
Apache-2.0

Thumbnailator - a thumbnail generation library for Java

3.43K
633
6m
n/a

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

1.21K
227
97d
BSD-3-Clause

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

27.24K
8.94K
113d
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
8m
Apache-2.0

Introspection

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

1.93K
213
89d
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
5m
Apache-2.0

High performance Java reflection

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

Java runtime metadata analysis

3.56K
591
1y 16d
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
94d
n/a

Code for Quartz Scheduler

4.24K
1.43K
1y 6m
n/a

A Light-weight Job Scheduling Framework

229
47
6m
Apache-2.0

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

57
9
1y 24d
Apache-2.0

Persistent cluster-friendly scheduler for Java

342
73
80d
n/a

The simple, stupid batch framework for Java

492
163
94d
MIT

Distributed lock for your scheduled tasks

1.63K
283
116d
Apache-2.0

JSON

High performance JVM JSON library

700
86
4m
BSD-3-Clause

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

19.22K
3.71K
12m
Apache-2.0

High-performance JSON parser

424
66
4y 41d
Apache-2.0

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

311
101
82d
Apache-2.0

Extension module to properly support datatypes of javax.money

162
32
86d
MIT

Main Portal page for the Jackson project

6.34K
1.04K
4m
n/a

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

272
88
7m
Apache-2.0

Screaming fast JSON parsing and serialization library for Android.

3.24K
318
5y 64d
Apache-2.0

A modern JSON library for Kotlin and Java.

7.08K
583
78d
Apache-2.0

Eclipse Yasson project

153
75
83d
n/a

A fast JSON parser/generator for Java.

23.06K
6.16K
101d
Apache-2.0

JSON to JSON transformation library written in Java.

1.04K
234
1y 7m
Apache-2.0

Java JsonPath implementation

5.64K
1.07K
4m
Apache-2.0

A streaming JsonPath processor in Java

201
38
5m
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
6m
n/a

Alibaba Dragonwell8 JDK

3.09K
377
96d
GPL-2.0

GraalVM: Run Programs Faster Anywhere

14.6K
1.1K
77d
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
76d
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
78d
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
86d
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
104d
Apache-2.0

Best-of-breed OpenTracing utilities, instrumentations and extensions

159
42
77d
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
99d
GPL-3.0

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

1.74K
410
83d
Apache-2.0

Stream Processing and Complex Event Processing Engine

1.18K
448
78d
Apache-2.0

Statistical Machine Intelligence & Learning Engine

5.17K
1.02K
76d
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
76d
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 91d
Apache-2.0

Pure Java ZeroMQ

1.97K
453
4m
MPL-2.0

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

730
133
82d
MIT

RabbitMQ Java client

960
465
79d
n/a

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

2.19K
841
86d
Apache-2.0

Java client for NATS

323
91
78d
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
89d
Apache-2.0

Java client for Consul HTTP API

371
151
1y 33d
Apache-2.0

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

10.22K
3.06K
112d
Apache-2.0

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

15.39K
5.25K
78d
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
116d
Apache-2.0

Design patterns implemented in Java

64.31K
20.42K
80d
n/a

Feature Flags for Java made easy

886
222
96d
n/a

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

14.12K
620
1y 4m
n/a

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

5.75K
852
76d
Apache-2.0

Make Slack and Facebook Bots in Java.

1.14K
347
104d
GPL-3.0

An in-memory file system for Java 7+

1.95K
235
85d
Apache-2.0

A Java to JavaScript transpiler.

1.1K
137
4m
n/a

The easiest way to integrate Maven into your project!

1.45K
218
1y 83d
Apache-2.0

API gateway for REST and SOAP written in Java.

353
116
82d
Apache-2.0

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

94
23
12m
Apache-2.0

Modern Java - A Guide to Java 8

14.41K
3.51K
2y 7m
MIT

Detect uses of legacy Java APIs

232
39
5m
Apache-2.0

OctoLinker โ€” Links together, what belongs together

4.64K
294
79d
MIT

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

123
24
5m
MIT

Support alternative markup for Apache Maven POM files

747
77
4m
n/a

Simple API, Complex Emails (JavaMail smtp wrapper)

811
203
85d
Apache-2.0

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

289
315
77d
n/a

Tools for working with generic types

499
82
1y 76d
Apache-2.0

Java XML library. A really cool one. Obviously.

62
9
5m
Apache-2.0

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

126
18
105d
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
4m
Apache-2.0

Endpoint library for the failsafe framework

47
14
1y 10m
MIT

JavaMelody : monitoring of JavaEE applications

2.35K
660
100d
Apache-2.0

Jaeger Bindings for Java OpenTracing API

438
214
5m
n/a

jmxtrans

1.64K
495
109d
MIT

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

7.28K
1.76K
77d
Apache-2.0

Get inside your JVM

144
13
1y 30d
MIT

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

11.2K
3.36K
77d
Apache-2.0

Prometheus instrumentation library for JVM applications

1.44K
565
99d
Apache-2.0

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

1.63K
275
9m
Apache-2.0

A lightweight platform monitoring tool for Java VMs

151
23
4y 5m
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
9m
Apache-2.0

The missing bridge between Java and native C++

3.4K
479
76d
n/a

Java Native Access

6.37K
1.45K
77d
n/a

Java Abstracted Foreign Function Layer

840
120
78d
n/a

Natural Language Processing

CogComp's Natural Language Processing libraries and Demos:

410
139
1y 7m
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

586
95
4y 7m
n/a

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

34.72K
23.12K
77d
Apache-2.0

The Java gRPC implementation. HTTP/2 based RPC

8.44K
2.84K
78d
Apache-2.0

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

1.6K
400
1y 68d
BSD-3-Clause

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

176
59
10m
Apache-2.0

A networking framework that evolves with your application

652
81
78d
Apache-2.0

ssh, scp and sftp for java

1.84K
453
93d
n/a

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

112
28
7m
MIT

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