An open API service indexing awesome lists of open source software.

fucking-awesome-java

A curated list of awesome frameworks, libraries and software for the Java programming language. With repository stars⭐ and forks🍴
https://github.com/correia-jpv/fucking-awesome-java

Last synced: 11 days ago
JSON representation

  • Projects

    • fastexcel
    • zerocell - 2.0</kbd> πŸ”΄<br>Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.
    • Cassandre - 3.0</kbd> πŸ”΄<br>Trading bot framework.
    • Philadelphia - 2.0</kbd> 🟒<br>Low-latency financial information exchange.
    • Stripe
    • ta4j
    • CATG - 2-Clause</kbd> πŸ”΄<br>Concolic unit testing engine. Automatically generates unit tests using formal methods.
    • Java Path Finder (JPF)
    • Cyclops - 2.0</kbd> πŸ”΄<br>Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.
    • derive4j - matching and morphisms. (GPL-3.0-only)
    • jOOΞ» - 2.0</kbd> πŸ”΄<br>Extension to Java 8 that aims to fix gaps in lambda by providing numerous missing types and a rich set of sequential Stream API additions.
    • Packrat - 2.0</kbd> 🟒<br>Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.
    • protonpack
    • StreamEx - 2.0</kbd> 🟒<br>Enhances Java 8 Streams.
    • vulkan4j - 3-Clause</kbd> 🟠<br>Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.
    • Geo - 2.0</kbd> 🟒<br>GeoHash utilities in Java.
    • GraphHopper - 2.0</kbd> 🟒<br>Road-routing engine. Used as a Java library or standalone web service.
    • Mapsforge - 3.0</kbd> 🟒<br>Map rendering based on OpenStreetMap data.
    • Spatial4j - purpose spatial/geospatial library.
    • SnapKit
    • JCTools - 2.0</kbd> 🟒<br>Concurrency tools currently missing from the JDK.
    • Koloboke
    • Async Http Client - 2.0</kbd> 🟒<br>Asynchronous HTTP and WebSocket client library.
    • Feign - 2.0</kbd> 🟒<br>HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.
    • Google HTTP Client - 2.0</kbd> 🟒<br>Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.
    • methanol
    • Ribbon - 2.0</kbd> 🟠<br>Client-side IPC library that is battle-tested in the cloud.
    • Riptide - side response routing for Spring's RestTemplate.
    • unirest-java
    • hate - friendly objects according to HAL specification.
    • JSON-LD - 3-Clause</kbd> πŸ”΄<br>JSON-LD implementation.
    • Siren4J
    • Spring HATEOAS - 2.0</kbd> 🟒<br>Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.
    • Barcode-Lib4J - 2.0</kbd> 🟒<br>Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support.
    • Imgscalr - 2.0</kbd> πŸ”΄<br>Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.
    • Tess4J - 2.0</kbd> 🟒<br>JNA wrapper for Tesseract OCR API.
    • Thumbnailator - quality thumbnail generation library.
    • TwelveMonkeys - 3-Clause</kbd> 🟒<br>Collection of plugins that extend the number of supported image file formats.
    • ZXing - 2.0</kbd> 🟒<br>Multi-format 1D/2D barcode image processing library.
    • image-comparison - 2.0</kbd> πŸ”΄<br>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.
    • vips-ffm - 2.0</kbd> 🟒<br>Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.
    • ClassGraph - fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.
    • jOOR - 2.0</kbd> πŸ”΄<br>jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.
    • ReflectASM - 3-Clause</kbd> πŸ”΄<br>ReflectASM is a very small Java library that provides high performance reflection by using code generation.
    • Reflections
    • JobRunr - and-forget, delayed and recurring jobs. Guarantees execution by single scheduler instance using optimistic locking. Has features for persistence, minimal dependencies and is embeddable.
    • Quartz - 2.0</kbd> 🟒<br>Feature-rich, open source job scheduling library that can be integrated within virtually any Java application.
    • Sundial - 2.0</kbd> 🟒<br>Lightweight framework to simply define jobs, define triggers and start the scheduler.
    • Wisp - 2.0</kbd> 🟠<br>Simple library with minimal footprint and straightforward API.
    • db-scheduler - 2.0</kbd> 🟒<br>Persistent and cluster-friendly scheduler.
    • easy-batch
    • shedlock - 2.0</kbd> 🟒<br>Makes sure that your scheduled tasks are executed at most once at the same time. If a task is being executed on one node, it acquires a lock which prevents execution of the same task from another node or thread.
    • DSL-JSON - 3-Clause</kbd> 🟒<br>JSON library with advanced compile time databinding.
    • Gson - 2.0</kbd> 🟒<br>Serializes objects to JSON and vice versa. Good performance with on-the-fly usage.
    • HikariJSON - 2.0</kbd> πŸ”΄<br>High-performance JSON parser, 2x faster than Jackson.
    • jackson-modules-java8 - 2.0</kbd> 🟒<br>Set of Jackson modules for Java 8 datatypes and features.
    • Jackson
    • JSON-io - 2.0</kbd> 🟒<br>Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings.
    • LoganSquare - 2.0</kbd> πŸ”΄<br>JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library.
    • Moshi - 2.0</kbd> 🟒<br>Modern JSON library, less opinionated and uses built-in types like List and Map.
    • Yasson
    • Jolt - 2.0</kbd> 🟒<br>JSON to JSON transformation tool.
    • JsonPath - 2.0</kbd> 🟠<br>Extract data from JSON using XPATH-like syntax.
    • Graal - 2.0-only WITH Classpath-exception-2.0)
    • Microsoft JDK
    • Echopraxia - free, meaning it can be implemented with any logging API.
    • Logbook - source library for HTTP request and response logging.
    • p6spy - 2.0</kbd> πŸ”΄<br>Enables logging for all JDBC transactions without changes to the code.
    • JSAT - 3.0</kbd> πŸ”΄<br>Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution.
    • m2cgen
    • Neureka - array/tensor library.
    • Siddhi - 2.0</kbd> 🟒<br>Cloud native streaming and complex event processing engine.
    • Smile
    • Aeron - 2.0</kbd> 🟒<br>Efficient, reliable, unicast and multicast message transport.
    • EventBus - 2.0</kbd> πŸ”΄<br>Simple publish/subscribe event bus.
    • JeroMQ - 2.0</kbd> 🟠<br>Implementation of ZeroMQ.
    • RabbitMQ Java client
    • Smack - 2.0</kbd> 🟒<br>Cross-platform XMPP client library.
    • NATS client - 2.0</kbd> 🟒<br>NATS client.
    • Armeria - 2.0</kbd> 🟒<br>Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.
    • consul-api - 2.0</kbd> πŸ”΄<br>Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.
    • Eureka - 2.0</kbd> 🟠<br>REST-based service registry for resilient load balancing and failover.
    • JDA - 2.0</kbd> 🟒<br>Wrapping of the Discord REST API and its WebSocket events.
    • kubernetes-client - 2.0</kbd> 🟒<br>Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.
    • Sentinel - 2.0</kbd> 🟒<br>Flow control component enabling reliability, resilience and monitoring for microservices.
    • CQEngine - 2.0</kbd> πŸ”΄<br>Ultra-fast, SQL-like queries on Java collections.
    • Design Patterns
    • FF4J - 2.0</kbd> 🟒<br>Feature Flags for Java.
    • FizzBuzz Enterprise Edition - nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)
    • IP2Location.io Java SDK
    • ISBN core - 10 and ISBN-13 and tools to parse, validate and format one.
    • J2ObjC - to-Objective-C translator for porting Android libraries to iOS.
    • JBot - 3.0</kbd> 🟠<br>Framework for building chatbots.
    • JEmoji - 2.0</kbd> 🟒<br>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.0</kbd> 🟒<br>In-memory file system.
    • jOOX - 2.0</kbd> πŸ”΄<br>Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery.
    • jsweet
    • MinimalFTP - 2.0</kbd> πŸ”΄<br>Lightweight, small and customizable FTP server.
    • LittleProxy - 2.0</kbd> πŸ”΄<br>High performance HTTP proxy atop Netty's event-based networking library.
    • Modern Java - A Guide to Java 8
    • Modernizer - 2.0</kbd> 🟒<br>Detect uses of legacy Java APIs.
    • OctoLinker
    • PipelinR
    • Polyglot for Maven - 1.0</kbd> 🟒<br>Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.
    • RR4J - 3.0</kbd> πŸ”΄<br>RR4J is a tool that records java bytecode execution and later allows developers to replay locally.
    • Simple Java Mail - 2.0</kbd> 🟒<br>Mailing with a clean and fluent API.
    • Smooks - based message processing. (Apache-2.0 OR LGPL-3.0-or-later)
    • Svix
    • TypeTools - 2.0</kbd> πŸ”΄<br>Tools for resolving generic types.
    • webcam-capture - in and external webcams directly in Java.
    • XMLBeam - 2.0</kbd> 🟠<br>Processes XML by using annotations or XPath within code.
    • yGuard
    • Apitally - focused API monitoring, analytics and request logging for Spring Boot apps.
    • Automon - 2.0</kbd> πŸ”΄<br>Combines the power of AOP with monitoring and/or logging tools.
    • Datadog - 2.0</kbd> 🟒<br>Modern monitoring & analytics.
    • Dropwizard Metrics - 2.0</kbd> 🟒<br>Expose metrics via JMX or HTTP and send them to a database.
    • HertzBeat - 2.0</kbd> 🟒<br>Real-time monitoring system with custom-monitor and agentless.
    • hippo4j - 2.0</kbd> 🟠<br>Dynamic and observable thread pool framework.
    • JavaMelody - 2.0</kbd> 🟒<br>Performance monitoring and profiling.
    • jmxtrans - Java programmers to access the JVM attributes. Supports different output writes, including Graphite, Ganglia, and StatsD.
    • Micrometer - 2.0</kbd> 🟒<br>Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries.
    • Micrometer Tracing - 2.0</kbd> 🟒<br>Vendor-neutral distributed tracing facade for the most popular tracer libraries.
    • nudge4j
    • OpenTelemetry - 2.0</kbd> 🟒<br>Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.
    • Prometheus - 2.0</kbd> 🟒<br>Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.
    • Sentry
    • SPM - 2.0</kbd> 🟒<br>Performance monitor with distributing transaction tracing for JVM apps.
    • Aparapi - 2.0</kbd> πŸ”΄<br>Converts bytecode to OpenCL which allows execution on GPUs.
    • JavaCPP
    • JNA
    • JNR
    • native-lib-loader
    • CogCompNLP
    • Hypherator - like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in.
    • Commons-networking - 2.0</kbd> πŸ”΄<br>Client for server-sent events (SSE).
    • Comsat - related APIs with Quasar fibers and actors.
    • Dubbo - 2.0</kbd> 🟒<br>High-performance RPC framework.
    • gRPC-java - 2.0</kbd> 🟒<br>RPC framework based on protobuf and HTTP/2.
    • KryoNet - 3-Clause</kbd> πŸ”΄<br>Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo.
    • Drift - 2.0</kbd> 🟒<br>Easy-to-use, annotation-based library for creating Thrift clients and serializable types.
    • ServiceTalk - 2.0</kbd> 🟒<br>Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.
    • sshj - 2.0</kbd> 🟒<br>Programmatically use SSH, SCP or SFTP.
    • TLS Channel - to-use (socket-like) TLS.
    • urnlib - 3.0</kbd> 🟠<br>Represent, parse and encode URNs, as in RFC 2141.
    • Fluency - 2.0</kbd> 🟒<br>High throughput data ingestion logger to Fluentd and Fluent Bit.
    • Doma - 2.0</kbd> 🟒<br>Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.
    • MyBatis - 2.0</kbd> 🟒<br>Couples objects with stored procedures or SQL statements.
    • MyBatis-Plus - 2.0</kbd> 🟒<br>A powerful enhanced toolkit of MyBatis for simplifying development.
    • ObjectiveSql - 2.0</kbd> πŸ”΄<br>ActiveRecord ORM for rapid development and convention over configuration.
    • Permazen - 2.0</kbd> 🟠<br>Language-natural persistence layer.
    • SimpleFlatMapper
    • Pathetic
    • DynamicReports - 3.0</kbd> 🟒<br>Simplifies JasperReports.
    • flyingsaucer - 2.1-or-later)
    • OpenPDF - source iText fork. (LGPL-3.0-only & MPL-2.0)
    • Tabula
    • honest-profiler - overhead, bias-free sampling profiler.
    • jHiccup
    • JITWatch
    • LatencyUtils
    • ch.vorburger.exec - 2.0</kbd> 🟒<br>Convenient API around Apache Commons Exec.
    • zt-exec - 2.0</kbd> 🟒<br>Provides a unified API to Apache Commons Exec and ProcessBuilder.
    • zt-process-killer - 2.0</kbd> 🟒<br>Stops processes started from Java or the system processes via PID.
    • Reactive Streams - 0</kbd> πŸ”΄<br>Provides a standard for asynchronous stream processing with non-blocking backpressure.
    • Reactor - 2.0</kbd> 🟒<br>A framework for building non-blocking applications on the JVM, providing support for reactive programming.
    • RxJava - 2.0</kbd> 🟒<br>Allows for composing asynchronous and event-based programs using observable sequences.
    • Dropwizard - 2.0</kbd> 🟒<br>Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.
    • Microserver - 2.0</kbd> πŸ”΄<br>Convenient, extensible microservices plugin system for Spring & Spring Boot. With more than 30 plugins and growing, it supports both micro-monolith and pure microservices styles.
    • RestExpress - 2.0</kbd> 🟠<br>Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance.
    • Restlet Framework
    • springdoc-openapi - 2.0</kbd> 🟒<br>Automates the generation of API documentation using Spring Boot projects.
    • openapi-generator - 2.0</kbd> 🟒<br>Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec.
    • Chart-FX - 3.0</kbd> 🟠<br>Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.
    • Erdos
    • JGraphT - 2.0</kbd> 🟒<br>Graph library that provides mathematical graph-theory objects and algorithms.
    • LogicNG - 2.0</kbd> 🟒<br>Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.
    • Mines Java Toolkit - 2.0</kbd> πŸ”΄<br>Library for geophysical scientific computation, visualization and digital signal analysis.
    • Morpheus - 2.0</kbd> πŸ”΄<br>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 - 3.0</kbd> πŸ”΄<br>Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG.
    • Tablesaw - 2.0</kbd> 🟒<br>Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.
    • XChart - 2.0</kbd> 🟒<br>Light-weight library for plotting data. Many customizable chart types are available.
    • Indexer4j - 2.0</kbd> πŸ”΄<br>Simple and light full text indexing and searching library.
    • Ayza - 2.0</kbd> 🟒<br>High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.
    • Hdiv - site scripting, cross-site request forgery, data tampering, and brute force attacks.
    • jjwt - 2.0</kbd> 🟒<br>JSON web token for Java and Android.
    • jwt-java
    • Jwks RSA
    • Nbvcxz
    • OpenAM
    • OTP-Java - time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).
    • pac4j - 2.0</kbd> 🟒<br>Security engine.
    • Password4j - 2.0</kbd> 🟠<br>User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.
    • SecurityBuilder - 2.0</kbd> πŸ”΄<br>Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.
    • Themis - 2.0</kbd> 🟠<br>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.
    • FlatBuffers - 2.0</kbd> 🟒<br>Memory-efficient serialization library that can access serialized data without unpacking and parsing it.
    • FST - 2.0</kbd> πŸ”΄<br>JDK-compatible, high-performance object graph serialization.
    • Kryo - 3-Clause</kbd> 🟒<br>Fast and efficient object graph serialization framework.
    • MessagePack - 2.0</kbd> 🟒<br>Efficient binary serialization format.
    • nanohttpd - 3-Clause</kbd> πŸ”΄<br>Tiny, easily embeddable HTTP server.
    • Jade4J