Project Awesome project awesome

Java

Popular secure object-oriented language designed for flexibility to "write once, run anywhere".

Collection 47.4k stars GitHub

Projects

Database

ArangoDB 206 updated 6d ago

ArangoDB Java driver.

Chronicle Map 2.9k updated 2d ago

Efficient, in-memory (opt. persisted to disk), off-heap key-value store.

eXist 461 updated 2d ago

NoSQL document database and application platform. (LGPL-2.1-only)

FlexyPool 1.2k updated 28d ago

Brings metrics and failover strategies to the most common connection pooling solutions.

HikariCP 21.1k updated 4mo ago

High-performance JDBC connection pool.

Jedis 12.3k updated 2d ago

Small client for interaction with Redis, with methods for commands.

Jest 2.1k (archived)

Client for the Elasticsearch REST API.

jetcd 142 updated 3y ago

Client library for etcd.

Jinq 663 updated 9mo ago

Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).

Leaf 6.7k updated 2y ago

Distributed ID generate service.

MariaDB4j 15 updated 2mo ago

Launcher for MariaDB that requires no installation or external dependencies.

Modality 15 updated 2mo ago

Lightweight ORM with database reverse engineering features.

OpenDJ 428 updated 2d ago

LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities.

QueryStream 21 updated 10mo ago

Build JPA Criteria queries using a Stream-like API.

QuestDB 16.8k updated 2d ago

High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.

Realm 11.5k updated 6mo ago

Mobile database to run directly inside phones, tablets or wearables.

Redisson 24.3k updated 5d ago

Allows for distributed and scalable data structures on top of a Redis server.

requery 3.1k updated 1mo ago

Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.

Speedment 2.1k updated 2y ago

Database access library that utilizes Java 8's Stream API for querying.

Spring Data Dynamic Query 34 updated 4mo ago

Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate.

Spring Data JPA MongoDB Expressions 101 updated 2mo ago

Allows you to use MongoDB query language to query your relational database.

Xodus 1.3k updated 3mo ago

Highly concurrent transactional schema-less and ACID-compliant embedded database.

CosId 619 updated 4d ago

Universal, flexible, high-performance distributed ID generator.

Apache ShardingSphere 20.7k updated today

Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database.

Miscellaneous

CQEngine 1.8k updated 2y ago

Ultra-fast, SQL-like queries on Java collections.

Design Patterns 93.8k updated 4d ago

Implementation and explanation of the most common design patterns.

FF4J 1.4k updated 23d ago

Feature Flags for Java.

FizzBuzz Enterprise Edition 23.6k updated 1y ago

No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)

IP2Location.io Java SDK 7 updated 13d ago

Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.

ISBN core 3 updated 2mo ago

A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.

J2ObjC

Java-to-Objective-C translator for porting Android libraries to iOS.

JBot 1.2k updated 5mo ago

Framework for building chatbots. (GPL-3.0-only)

JEmoji 105 updated 2d ago

An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.

Jimfs 2.5k updated 16d ago

In-memory file system.

jsweet

Source transpiler to TypeScript/JavaScript.

Maven Wrapper 1.6k (archived)

Analogue of Gradle Wrapper for Maven, allows building projects without installing maven.

Membrane Service Proxy 573 updated 2d ago

Open-source, reverse-proxy framework.

MinimalFTP 188 updated 9mo ago

Lightweight, small and customizable FTP server.

LittleProxy 2.1k updated 1y ago

High performance HTTP proxy atop Netty's event-based networking library.

Modern Java - A Guide to Java 8 16.8k updated 2y ago

Popular Java 8 guide.

Modernizer 385 updated 7d ago

Detect uses of legacy Java APIs.

OctoLinker 5.4k updated 2y ago

Browser extension which allows to navigate through code on GitHub more efficiently.

PipelinR 489 updated 7mo ago

Small utility library for using handlers and commands with pipelines.

Polyglot for Maven 921 updated 4mo ago

Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.

RR4J 25 updated 4y ago

RR4J is a tool that records java bytecode execution and later allows developers to replay locally.

Simple Java Mail 1.3k updated 9mo ago

Mailing with a clean and fluent API.

Smooks 415 updated 4mo ago

Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)

TypeTools 630 updated 2y ago

Tools for resolving generic types.

webcam-capture 2.3k updated 4mo ago

Library for using built-in and external webcams directly in Java.

XMLBeam 76 updated 7mo ago

Processes XML by using annotations or XPath within code.

yGuard 457 updated 6d ago

Obfuscation via renaming and shrinking.

ConsoleCaptor 33 updated 1mo ago

Captures console output for unit testing purposes.

junit-dataprovider 248 updated 1mo ago

TestNG-like data provider/runner for JUnit.

log-capture 15 updated 1mo ago

Captures log entries and provides assertions for unit and integration testing.

Mutability Detector 242 updated 5mo ago

Reports whether instances of a given class are immutable.

raml-tester 73 updated 7y ago

Tests if a request/response matches a given RAML definition.

Selfie 92 updated 2d ago

Snapshot testing (inline and on disk).

Stebz 18 updated 7d ago

Multi-approach framework for test steps managing.

Testcontainers 8.6k updated 4d ago

Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.

junit-pioneer 612 updated 8d ago

JUnit 5 extension pack, pushing the frontiers on Jupiter.

LogCaptor 426 updated 6d ago

Captures log entries for unit testing purposes.

Apache Commons

BCEL 270 updated 4d ago

Byte Code Engineering Library - analyze, create, and manipulate Java class files.

BeanUtils

Easy-to-use wrappers around the Java reflection and introspection APIs.

BeanUtils2

Redesign of Commons BeanUtils.

BSF 30 updated 4d ago

Bean Scripting Framework - interface to scripting languages, including JSR-223.

Chain 80 updated 9mo ago

Chain of Responsibility pattern implementation.

ClassScan

Find Class interfaces, methods, fields, and annotations without loading.

CLI 384 updated 2d ago

Command-line arguments parser.

CLI2

Redesign of Commons CLI.

Codec

General encoding/decoding algorithms, e.g. phonetic, base64 or URL.

Collections 725 updated 2d ago

Extends or augments the Java Collections Framework.

Compress 392 updated 2d ago

Defines an API for working with tar, zip and bzip2 files.

Configuration 212 updated 2d ago

Reading of configuration/preferences files in various formats.

Convert

Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.

CSV 409 updated 2d ago

Component for reading and writing comma separated value files.

Daemon

Alternative invocation mechanism for unix-daemon-like java code.

DBCP 364 updated 2d ago

Database connection pooling services.

DbUtils 389 updated 4d ago

JDBC helper library.

Digester 60 updated 4d ago

XML-to-Java-object mapping utility.

Email

Library for sending e-mail from Java.

Exec

API for dealing with external process execution and environment management in Java.

FileUpload 257 updated 2d ago

File upload capability for your servlets and web applications.

Finder

Java library inspired by the UNIX find command.

Flatfile

Java library for working with flat data structures.

Functor 26 updated 8mo ago

Function that can be manipulated as an object, or an object representing a single, generic function.

Graph

General purpose graph APIs and algorithms.

I18n

Adds the feature of localized message bundles that consist of one or many localized texts that belong together.

Id

Id is a component used to generate identifiers.

Imaging 481 updated 2d ago

Image library.

IO 1.1k updated 2d ago

Collection of I/O utilities.

Javaflow

Continuation implementation to capture the state of the application.

JCI

Java Compiler Interface.

JCS

Java Caching System.

Jelly

XML based scripting and processing engine.

Jexl

Expression language which extends the Expression Language of the JSTL.

JNet

JNet allows to use dynamically register url stream handlers through the java.net API.

JXPath

Utilities for manipulating Java Beans using the XPath syntax.

Lang 3.0k updated 2d ago

Provides extra functionality for classes in java.lang.

Logging 163 updated 4d ago

Wrapper around a variety of logging API implementations.

Math 639 updated 2d ago

Lightweight, self-contained mathematics and statistics components.

Monitoring

Monitoring aims to provide a simple but extensible monitoring solution for Java applications.

Nabla

Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.

Net 289 updated 4d ago

Collection of network utilities and protocol implementations.

OGNL 86 updated 1mo ago

Object-graph navigation language.

OpenPGP

Interface to signing and verifying data using OpenPGP.

Performance

Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool.

Pipeline

Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.

Pool 549 updated 4d ago

Generic object pooling component.

Proxy 26 updated 2mo ago

Library for creating dynamic proxies.

RDF 55 updated 4d ago

Common implementation of RDF 1.1 that could be implemented by systems on the JVM.

RNG

Commons Rng provides implementations of pseudo-random numbers generators.

SCXML 65 updated 4d ago

Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.

Validator 224 updated 4d ago

Framework to define validators and validation rules in an xml file.

VFS

Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.

Weaver 26 updated 4d ago

Provides an easy way to enhance (weave) compiled bytecode.

Science

Chart-FX 592 updated 8d ago

Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.

Erdos 127 updated 2y ago

Modular, light and easy graph framework for theoretic algorithms.

JGraphT

Graph library that provides mathematical graph-theory objects and algorithms.

JGraphX 691 (archived)

Library for visualizing (mainly Swing) and interacting with node-edge graphs.

jSciPy 18 updated 1mo ago

jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations.

LogicNG 152 updated 1mo ago

Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.

Mines Java Toolkit 84 updated 5y ago

Library for geophysical scientific computation, visualization and digital signal analysis.

Morpheus 243 updated 2y ago

Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.

Orson-Charts 122 updated 9mo ago

Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only)

Tablesaw 3.7k updated 23d ago

Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.

XChart 1.6k updated 4mo ago

Light-weight library for plotting data. Many customizable chart types are available.

Security

Ayza 572 updated 5d ago

High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.

DependencyCheck 46 (archived)

Detects publicly disclosed vulnerabilities contained within a project's dependencies.

Hdiv 218 updated 1y ago

Runtime application that repels application security risks included in the OWASP Top 10, including SQL injection, cross-site scripting, cross-site request forgery, data tampering, and brute force attacks.

jjwt 11.1k updated 5mo ago

JSON web token for Java and Android.

jwt-java 14 updated 8mo ago

Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.

Jwks RSA 204 updated 3mo ago

JSON Web Key Set parser.

Kalium 218 (archived)

Binding for the Networking and Cryptography (NaCl) library.

Keywhiz 2.6k (archived)

System for distributing and managing secrets.

Nbvcxz

Advanced password strength estimation.

OpenAM 869 updated yesterday

Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.

OTP-Java 234 updated 1y ago

One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).

pac4j 2.5k updated 2d ago

Security engine.

Password4j 415 updated 6mo ago

User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.

SecurityBuilder 47 updated 4y ago

Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.

Themis 2.0k updated 2mo ago

Multi-platform high-level cryptographic library provides easy-to-use encryption for protecting sensitive data: secure messaging with forward secrecy, secure data storage (AES256GCM); suits for building end-to-end encrypted applications.

Tink 13.6k (archived)

Provides a simple and misuse-proof API for common cryptographic tasks.

Utility

Arthas 37.2k updated 2d ago

Allows to troubleshoot production issues for applications without modifying code or restarting servers.

bucket4j 2.7k updated 16d ago

Rate limiting library based on token-bucket algorithm.

cactoos 769 updated 9d ago

Collection of object-oriented primitives.

Chocotea 48 updated 3y ago

Generates postman collection, environment and integration tests from java code.

Dex 1.3k updated 7y ago

Java/JavaFX tool capable of powerful ETL and data visualization.

dregex 51 updated 6d ago

Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.

Embulk 1.8k updated 4mo ago

Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.

fswatch 31 updated 2mo ago

Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.

Gephi 6.4k updated 10d ago

Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)

Guava 51.5k updated yesterday

Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.

Javadoc Publisher

Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.

JavaVerbalExpressions 2.6k updated 21d ago

Library that helps with constructing difficult regular expressions.

JKScope 21 updated 1y ago

Java scope functions inspired by Kotlin.

minio-java

Provides simple APIs to access any Amazon S3-compatible object storage server.

Semver4j 109 updated 6d ago

Lightweight library that helps you handling semantic versioning with different modes.

Underscore-java 549 updated 3d ago

Port of Underscore.js functions.

Monitoring

Apitally 5 updated 4d ago

Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.

Automon 572 updated 1y ago

Combines the power of AOP with monitoring and/or logging tools.

Boot Usage Spring Boot Starter 1 updated 2mo ago

Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load.

Datadog 697 updated 2d ago

Modern monitoring & analytics.

Dropwizard Metrics 7.9k updated 2d ago

Expose metrics via JMX or HTTP and send them to a database.

Failsafe Actuator 54 (archived)

Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.

HertzBeat 7.1k updated 2d ago

Real-time monitoring system with custom-monitor and agentless.

Jaeger client 491 (archived)

Jaeger client.

JavaMelody 3.0k updated 6d ago

Performance monitoring and profiling.

jmxtrans 1.7k updated 3y ago

Connect to multiple JVMs and query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVM attributes. Supports different output writes, including Graphite, Ganglia, and StatsD.

Micrometer 4.8k updated today

Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries.

Micrometer Tracing 292 updated 6d ago

Vendor-neutral distributed tracing facade for the most popular tracer libraries.

nudge4j 165 updated 6y ago

Remote developer console from the browser for Java 8 via bytecode injection.

OpenTelemetry 2.4k updated yesterday

Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.

Pinpoint 13.8k updated 2d ago

Open-source APM tool.

Prometheus 2.3k updated 2d ago

Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.

Sentry 1.3k updated 2d ago

Integration with Sentry, an application error tracking and performance analysis platform.

SPM 24 updated 15d ago

Performance monitor with distributing transaction tracing for JVM apps.

Stagemonitor

Open-source performance monitoring and transaction tracing for JVM apps.

Sysmon 159 (archived)

Lightweight platform monitoring tool for Java VMs.