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: 3 days ago
JSON representation

  • Projects

    • Build

      • Bazel - Tool from Google that builds code quickly and reliably.
    • Bytecode Manipulation

      • Perses - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering.
      • ASM - All-purpose, low-level bytecode manipulation and analysis.
      • Recaf - JVM reverse engineering toolkit, essentially an IDE for Java bytecode.
    • CLI

      • Airline - Annotation-based framework for parsing Git-like command-line arguments.
      • Jexer - 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](https://en.wikipedia.org/wiki/Turbo_Vision).
    • Code Coverage

      • Clover - Relies on source-code instrumentation instead of bytecode instrumentation.
      • Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)
      • JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.
    • Code Generators

      • FreeBuilder - Automatically generates the Builder pattern.
      • JavaPoet - API to generate source files.
      • Avaje Http Server - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.
      • Joda-Beans - Small framework that adds queryable properties to Java, enhancing JavaBeans.
      • Telosys - Simple and light code generator available as an Eclipse Plugin and also as a CLI.
      • Bootify ![c - Browser-based Spring Boot app generation with JPA model and REST API.
    • Compiler-compiler

      • JavaCC - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.
    • Configuration

      • avaje config - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.
      • Curator Framework - High-level API for Apache ZooKeeper.
      • ini4j - Provides an API for handling Windows' INI files.
    • CSV

    • Database

      • Jest - Client for the Elasticsearch REST API.
      • Querydsl - Typesafe unified queries.
    • Data Structures

      • HyperMinHash-java - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space.
      • Tape - Lightning-fast, transactional, file-based FIFO.
    • Date and Time

      • Jollyday - Determines the holidays for a given year, country/name and eventually state/region.
    • Development

    • Distributed Applications

      • JGroups - Toolkit for reliable messaging and cluster creation.
      • Quasar - Lightweight threads and actors for the JVM.
    • Distribution

      • Boxfuse ![c - Deployment of JVM applications to AWS using the principles of immutable infrastructure.
      • JavaPackager - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them.
    • Financial

      • Parity - Platform for trading venues.
      • Square - Integration with the Square API.
    • Formal Verification

      • OpenJML - 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

      • Functional Java - Implements numerous basic and advanced programming abstractions that assist composition-oriented development.
    • Game Development

      • JBox2D - Port of the renowned C++ 2D physics engine.
      • Void2D - High-level 2D game engine with built-in physics based on Swing.
    • Geospatial

      • ArcGIS Maps SDK for Java ![c - JavaFX library for adding mapping and GIS functionality to desktop apps.
      • H2GIS - Spatial extension of the H2 database. (LGPL-3.0-only)
    • High Performance

      • fastutil - Fast and compact type-specific collections.
      • fastutil - Fast and compact type-specific collections.
    • IDE

      • IntelliJ IDEA ![c - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector.
    • Introspection

      • Mirror - 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.
    • JSON

      • Genson - Powerful and easy-to-use Java-to-JSON conversion library.
      • Jackson-datatype-money - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.
      • fastjson - Very fast processor with no additional dependencies and full data binding.
    • JVM and JDK

      • ParparVM - VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)
    • Logging

      • OpenTracing Toolbox - Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.
      • Logback - Robust logging library with interesting configuration options via Groovy.
      • SLF4J - Abstraction layer/simple logging facade.
    • Machine Learning

      • Intelligent java - Seamlessly integrate with remote deep learning and language models programmatically.
      • Oryx 2 - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering.
    • Messaging

      • Deezpatch - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers.
      • Nakadi - Provides a RESTful API on top of Kafka.
    • Microservice

      • OpenAI-Java - Java libraries for using OpenAI's GPT-3 API.
      • KeenType - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX.
    • Miscellaneous

      • JCuda - JCuda offers Java bindings for CUDA and CUDA-related libraries.
      • JObfuscator![c - Source code obfuscator.
      • JPad - Snippet runner.
      • Maven Wrapper - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven.
      • JBang - JBang makes it easy to use Java for scripting. It lets you use a single file for
      • JPad - Snippet runner.
    • Monitoring

      • Failsafe Actuator - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.
      • Jaeger client - Jaeger client.
      • Stagemonitor - Open-source performance monitoring and transaction tracing for JVM apps.
      • Sysmon - Lightweight platform monitoring tool for Java VMs.
    • Natural Language Processing

      • LingPipe - Toolkit for tasks ranging from POS tagging to sentiment analysis.
    • PaaS

    • PDF

      • Open HTML to PDF - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox.
      • iText ![c - Creates PDF files programmatically.
    • Performance analysis

      • JMH - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0)
    • REST Frameworks

      • rest.li - Framework for building robust, scalable RESTful architectures using typesafe bindings and asynchronous, non-blocking IO with an end-to-end developer workflow that promotes clean practices, uniform interface design and consistent data modeling.
      • Crnk - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more.
      • Crnk - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more.
    • Science

      • JGraphX - Library for visualizing (mainly Swing) and interacting with node-edge graphs.
      • JFreeChart - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)
    • Security

      • DependencyCheck - Detects publicly disclosed vulnerabilities contained within a project's dependencies.
      • Kalium - Binding for the Networking and Cryptography (NaCl) library.
      • Keywhiz - System for distributing and managing secrets.
      • OACC - Provides permission-based authorization services.
      • Tink - Provides a simple and misuse-proof API for common cryptographic tasks.
    • Serialization

      • PHP Serializer - Serializing objects in the PHP serialization format.
    • Testing

      • JMockit - Integration testing, API mocking and faking, and code coverage.
      • JSONAssert - Simplifies testing JSON strings.
      • WireMock - Stubs and mocks web services.
    • Utility

      • CRaSH - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)
    • Version Managers

      • jabba - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows.
    • Web Crawling

      • StormCrawler - SDK for building low-latency and scalable web crawlers.
      • StormCrawler - SDK for building low-latency and scalable web crawlers.
    • Web Frameworks

      • Firefly - Asynchronous framework for rapid development of high-performance web application.
      • Pippo - Small, highly modularized, Sinatra-like framework.
      • Ninja - Full-stack web framework.
      • ArchUnit - 2.0</kbd> 🟒<br>Test library for specifying and asserting architecture rules.
      • jMolecules - 2.0</kbd> 🟠<br>Annotations and interfaces to express design and architecture concepts in code.
      • JMapper - 2.0</kbd> πŸ”΄<br>Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.
      • MapStruct - over-configuration approach.
      • ModelMapper - 2.0</kbd> 🟠<br>Intelligent object mapping library that automatically maps objects to each other.
      • Orika - 2.0</kbd> πŸ”΄<br>JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.
      • reMap - 2.0</kbd> 🟒<br>Lambda and method handle-based mapping which requires code and not annotations if objects have different names.
      • Buck2 - 2.0</kbd> 🟒<br>Encourages the creation of small, reusable modules consisting of code and resources.
      • bytecode-viewer - 3.0</kbd> 🟒<br>Java 8 Jar & Android APK reverse engineering suite.
      • cglib - 2.0</kbd> πŸ”΄<br>Bytecode generation library.
      • Javassist
      • Maker - 2.0</kbd> 🟒<br>Provides low level bytecode generation.
      • Mixin
      • Caffeine - 2.0</kbd> 🟒<br>High-performance, near-optimal caching library.
      • jbock
      • JLine
      • Jansi - 2.0</kbd> 🟠<br>ANSI escape codes to format console output.
      • Text-IO - 2.0</kbd> πŸ”΄<br>Aids the creation of full console-based applications.
      • Lanterna - 3.0</kbd> 🟒<br>Easy console text-GUI library, similar to curses.
      • Checkstyle - 2.1</kbd> 🟒<br>Static analysis of coding conventions and standards.
      • Error Prone - 2.0</kbd> 🟒<br>Catches common programming mistakes as compile-time errors.
      • Error Prone Support
      • Infer
      • NullAway - time overhead.
      • PMD
      • p3c - 2.0</kbd> πŸ”΄<br>Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse.
      • SonarJava - 3.0-only)
      • Spoon
      • Spotbugs - 2.1</kbd> 🟒<br>Static analysis of bytecode to find potential bugs.
      • ADT4J - 3-Clause</kbd> πŸ”΄<br>JSR-269 code generator for algebraic data types.
      • Auto - 2.0</kbd> 🟒<br>Generates factory, service, and value classes.
      • Geci - 2.0</kbd> 🟠<br>Discovers files that need generated code, updates automatically and writes to the source with a convenient API.
      • JHipster - 2.0</kbd> 🟒<br>Yeoman source code generator for Spring Boot and AngularJS.
      • Record-Builder - 2.0</kbd> 🟒<br>Companion builder class, withers and templates for Java records.
      • JavaCV
      • centraldogma - 2.0</kbd> 🟒<br>Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.
      • config
      • Configurate - 2.0</kbd> 🟒<br>Configuration library with support for various configuration formats and transformations.
      • dotenv - factor configuration library which uses environment-specific files.
      • Externalized Properties - 2.0</kbd> 🟠<br>Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism.
      • Gestalt - 2.0</kbd> 🟒<br>Gestalt offers a comprehensive solution to the challenges of configuration management. It allows you to source configuration data from multiple inputs, merge them intelligently, and present them in a structured, type-safe manner.
      • LangChain4j - 2.0</kbd> 🟒<br>Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.
      • MCP Java SDK
      • AWS SDK for Java - 2.0</kbd> 🟠<br>Provides Java APIs for interacting with Amazon Web Services.
      • Google Cloud Client Libraries - 2.0</kbd> 🟒<br>Client libraries for accessing Google Cloud services from Java applications.
      • simple-openai
      • EasyEntityToDTO
      • dOOv - 2.0</kbd> πŸ”΄<br>Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy.
      • Selma - 2.0</kbd> πŸ”΄<br>Annotation processor-based bean mapper.
      • JSpecify Package-Info Generator - 2.0</kbd> 🟠<br>Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate.
      • RefactorFirst - 2.0</kbd> 🟒<br>Identifies and prioritizes God Classes and Highly Coupled classes.
      • KAConf - 2.0</kbd> πŸ”΄<br>Annotation-based configuration system for Java and Kotlin.
      • owner - 3-Clause</kbd> 🟒<br>Reduces boilerplate of properties.
      • JaCoP - 3.0)
      • FastCSV - optimized, dependency-free and RFC 4180 compliant.
      • uniVocity-parsers - complete parsers. Also comes with parsers for TSV and fixed-width records.
      • Big Queue - 2.0</kbd> πŸ”΄<br>Fast and persistent queue based on memory-mapped files.
      • Persistent Collection
      • Protobuf
      • RoaringBitmap - 2.0</kbd> 🟒<br>Fast and efficient compressed bitmap.
      • Wire - 2.0</kbd> 🟒<br>Clean, lightweight protocol buffers.
      • ArangoDB - 2.0</kbd> 🟒<br>ArangoDB Java driver.
      • Chronicle Map - 2.0</kbd> 🟒<br>Efficient, in-memory (opt. persisted to disk), off-heap key-value store.
      • eXist - 2.1</kbd> 🟒<br>NoSQL document database and application platform.
      • FlexyPool - 2.0</kbd> 🟠<br>Brings metrics and failover strategies to the most common connection pooling solutions.
      • HikariCP - 2.0</kbd> 🟒<br>High-performance JDBC connection pool.
      • jetcd - 2.0</kbd> πŸ”΄<br>Client library for etcd.
      • Jinq
      • Leaf - 2.0</kbd> πŸ”΄<br>Distributed ID generate service.
      • MariaDB4j - 2.0</kbd> 🟠<br>Launcher for MariaDB that requires no installation or external dependencies.
      • Modality - 2.0</kbd> 🟒<br>Lightweight ORM with database reverse engineering features.
      • OpenDJ
      • QueryStream - 2.0</kbd> πŸ”΄<br>Build JPA Criteria queries using a Stream-like API.
      • QuestDB - 2.0</kbd> 🟒<br>High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.
      • Realm - 2.0</kbd> 🟠<br>Mobile database to run directly inside phones, tablets or wearables.
      • Redisson - 2.0</kbd> 🟒<br>Allows for distributed and scalable data structures on top of a Redis server.
      • requery - 2.0</kbd> 🟠<br>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.0</kbd> πŸ”΄<br>Database access library that utilizes Java 8's Stream API for querying.
      • Spring Data JPA MongoDB Expressions - 2.0</kbd> 🟠<br>Allows you to use MongoDB query language to query your relational database.
      • Xodus - 2.0</kbd> 🟒<br>Highly concurrent transactional schema-less and ACID-compliant embedded database.
      • CosId - 2.0</kbd> 🟒<br>Universal, flexible, high-performance distributed ID generator.
      • Apache ShardingSphere - 2.0</kbd> 🟒<br>Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database.
      • iCal4j - 3-Clause</kbd> 🟒<br>Parse and build iCalendar 🌎 [RFC 5545](tools.ietf.org/html/rfc5545) data models.
      • ThreeTen-Extra - 3-Clause</kbd> 🟒<br>Additional date-time classes that complement those in JDK 8.
      • Time4J - 2.1</kbd> πŸ”΄<br>Advanced date and time library.
      • java-tron - 3.0</kbd> 🟒<br>Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications.
      • Feather - lightweight, JSR-330-compliant dependency injection library.
      • Governator - 2.0</kbd> 🟠<br>Extensions and utilities that enhance Google Guice.
      • Guice - 2.0</kbd> 🟒<br>Lightweight and opinionated framework that completes Dagger.
      • JayWire - 3.0-only)
      • Faux Pas
      • HotswapAgent - 2.0</kbd> 🟠<br>Unlimited runtime class and resource redefinition.
      • JavaParser
      • Manifold - 2.0</kbd> 🟒<br>Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.
      • SneakyThrow
      • Dropwizard Circuit Breaker - 2.0</kbd> 🟠<br>Circuit breaker design pattern for Dropwizard.
      • Failsafe - 2.0</kbd> 🟠<br>Simple failure handling with retries and circuit breakers.
      • Hazelcast - memory datagrid with a free open-source version.
      • resilience4j - 2.0</kbd> 🟒<br>Functional fault tolerance library.
      • OpenIG - performance reverse proxy server with specialized session management and credential replay functionality.
      • ScaleCube Services - 2.0</kbd> 🟒<br>Embeddable Cluster-Membership library based on SWIM and gossip protocol.
      • Zuul - 2.0</kbd> 🟒<br>Gateway service that provides dynamic routing, monitoring, resiliency, security, and more.
      • Seata - 2.0</kbd> 🟒<br>Delivers high performance and easy to use distributed transaction services under a microservices architecture.
      • Artipie
      • Capsule - 1.0</kbd> πŸ”΄<br>Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.
      • Getdown - user computers and keeping them up to date. Developed as an alternative to Java Web Start.