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
Categories
Sub Categories
Miscellaneous
6
Code Generators
6
Security
5
Monitoring
4
REST Frameworks
3
Configuration
3
JSON
3
Logging
3
Code Coverage
3
PaaS
3
Bytecode Manipulation
3
Web Crawling
2
Messaging
2
Science
2
Geospatial
2
Microservice
2
Game Development
2
Data Structures
2
PDF
2
Distribution
2
CSV
2
Machine Learning
2
Distributed Applications
2
CLI
2
High Performance
2
Web Frameworks
2
Financial
2
Database
2
IDE
1
Testing
1
Functional Programming
1
Serialization
1
Development
1
Formal Verification
1
Performance analysis
1
Introspection
1
Natural Language Processing
1
JVM and JDK
1
Version Managers
1
Build
1
Date and Time
1
Utility
1
Podcasts and Screencasts
1
Compiler-compiler
1
Keywords
java
379
kotlin
39
commons
30
database
27
testing
23
spring-boot
21
android
20
microservices
20
sql
20
jvm
19
java-library
17
library
16
python
16
http
16
jdbc
15
spring
15
static-analysis
15
apache
13
framework
13
machine-learning
12
monitoring
12
xml
12
junit
11
javafx
11
javascript
11
rest-api
11
json
11
scala
11
logging
10
orm
10
high-performance
10
groovy
10
big-data
10
annotation-processor
10
awesome
10
cloud-native
10
api
9
jpa
9
rest
9
reactive
9
security
9
web
9
messaging
9
test-automation
8
template-engine
8
data-science
8
maven-plugin
8
functional-programming
8
mysql
8
kubernetes
8