Skip to content

Awesome Java is a meticulously curated list of exceptional frameworks, libraries, and software that will help you elevate your Java programming experience. Whether you’re developing web applications, working on microservices, or building complex enterprise systems, this repository provides the tools you need to succeed.

License

Notifications You must be signed in to change notification settings

Hunterdii/Awesome-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to the Java Ecosystem Library, your comprehensive guide to the essential frameworks, libraries, and middleware within the Java ecosystem, covering everything from web development and big data to desktop development, machine learning, software testing, IoT, and Android.

Awesome Badge Star Badge Pull Requests CCO_1.0 License Awesome Java Badge Open Source Badge GitHub Contributors Last Commit Owner Badge

Github Stats:

🌟 Stars 🍴 Forks 🐛 Issues 📏 Repo Size 🔔 Open PRs 🔕 Close PRs
Stars Forks Issues Repo Size Open Pull Requests Close Pull Requests

📔  Overview

Welcome to the Java Ecosystem Library, a curated compilation of essential frameworks, libraries, and middleware across the Java ecosystem. This repository serves as a comprehensive resource, encompassing tools and technologies used in web development, big data, desktop development, machine learning, software testing, IoT, Android, and more. It’s an indispensable reference that I frequently turn to in my daily work.

🚻  Audience

This repository is designed for everyone in the Java community. While it's particularly useful for Java developers, system architects, DevOps engineers, and software testers, anyone with an interest in Java can find valuable insights and tools here.

ℹ️  Contributing

If you discover any unclear or incorrect information, please feel free to submit a pull request with well-founded explanations for your changes or comments.

Here are a few guiding principles for this project:

  • Accessible and easy to understand
  • Engaging and informative
  • Practical and beneficial

Additionally, please adhere to the following rules:

  • Easy to contribute to (using Markdown + HTML)
  • Simple navigation (with a clear Table of Contents, extendable as needed)

URLs marked with * may be temporarily unavailable. Please avoid removing them without confirming their permanent expiration.

Before submitting a pull request, please review the contributing guidelines. Keep in mind:

+ This repository values quality over quantity.

We welcome all suggestions and pull requests!

If you want to help improve this repository or add something new, here's what you need to do:

  1. Create an Issue: Start by describing your idea or enhancement.
  2. Fork the Repo: Copy this repository to your own account.
  3. Make Changes: Update the code in your own copy.
  4. Open a Pull Request: Share your changes with us by submitting a pull request.
  5. Review and Merge: After we review your changes, we'll merge them into the main repository.
  6. Update the Issue: Let us know when your changes are merged so we can give you credit!

Feel free to open an issue if you have questions, need help, or have requests!

Table of Contents


📚 Tutorial Series

🛠 Frameworks and Libraries

🛠 ORM Framework

🛠 API Data

🛠 Automation and Testing

🔧 Assertion and Mocking

🔧 Test Data and Reporting

🔧 BDD and Automation

🗄 Data Storage and Management

📊 Database Middleware

🛠 Big Data

📁 File Operation

📨 Messaging

☁️ Cloud and DevOps

🔍 Performance and Monitoring

🛠 Fault Tolerance and Resilience

🔒 Security

🔧 Security Tools

📱 Mobile and Web Development

🌐 Web Development

🧑‍💻 Software Engineering Tools

🔧 Development Tools

🔧 Java Environment and Tools

🧪 Data Science and AI

📊 Data Science

🔧 Miscellaneous Tools and Libraries

🔍 Specialized Libraries

🎮 Game Development and Multimedia

🎵 Multimedia Processing

🛠 Other Technologies and Platforms

🌐 Emerging Technologies

🧑‍🔬 Science and Research

🔬 Physics and Earth Sciences

💬 Community and Support

✨ Features

  • Comprehensive Guides: Detailed tutorials and explanations to help both beginners and advanced users master Java programming.
  • Code Snippets: A collection of useful Java code snippets for quick reference and practical use.
  • Libraries & Frameworks: Explore essential libraries and frameworks to streamline your Java development.
  • Best Practices: Tips and strategies for writing clean, efficient, and maintainable Java code.
  • Community Contributions: Insights, tools, and resources shared by experienced Java developers.
  • Toolkits: Curated collections of tools and utilities for efficient Java development.

📜 Legal Note

All content and resources in this repository are intended for educational purposes and should be used responsibly within the legal boundaries.

🚀 Get Started

Dive into our curated resources, enhance your Java programming skills, and become part of a vibrant community of Java enthusiasts. Happy coding!

📚 Tutorial Series

The "Tutorial Series" section in your Java repository provides a curated list of in-depth tutorials on various Java-related topics. Each tutorial is designed to guide users through specific concepts, frameworks, or tools in Java, offering clear explanations, practical examples, and step-by-step instructions to enhance learning and understanding.

📚 Java Tutorial

Name Description
Tutorials A collection of small and focused tutorials, each covering a well-defined area of development in the Java ecosystem.
Advanced Java Covers high concurrency, distribution, high availability, microservices, and massive data processing. (Language Chinese)
Athena Java backend knowledge graph. (Language Chinese)
Blog Demo Over 600 original articles covering Java, Docker, Kubernetes, DevOps, and more. (Language Chinese)
BookSource Source code for "First Line of Code, 2nd Edition." (Language Chinese)
Code Examples Example projects demonstrating various Java technologies.
Code Guide Technical summary of Java development with clear tutorials. (Language Chinese)
Effective Java Third Edition Source code from the third edition of Effective Java.
Java Basic repository for learning Java. (Language Chinese)
Java 8 Lambdas Exercises Supporting material for the Java 8 Lambdas book.
Java 8 Tutorial Guide to understanding new language features in Java 8.
Java Core Summary of Java core technologies.
Java Developer Roadmap Roadmap for becoming a Java developer in 2024.
Java Family Collection of core knowledge for Java programmers.
Java Keeper Summary of essential architecture knowledge for Java engineers.
Java-Multi-Threading Series of articles on Java multithreading.
Java Lambda Internals Deep understanding of Java functional programming and Streams API.
Java Learning Comprehensive learning notes for Java SE and Java Web.
Java Practice Practical exercises on Java projects.
Java Tutorial Java tutorial covering core Java concepts.
JavaTutorial Covers core Java knowledge with high-quality technical articles.
JGrowing Java learning route repository.
JVM Summary of Java virtual machine principles.
Learning Notes Java learning notes.
Note General Java tools, algorithms, encryption, databases, and interview questions.
On Java 8 Chinese version of "On Java 8" (Note: Includes some non-English content).
On Java 8 Examples Code examples from the book "On Java 8."
Six Finger Complete tutorials covering Java basics, frameworks, microservices, distribution, and big data.
Tech Weekly Technology weekly report from Pony Ma.
Technology Talk Technical guide including interview questions, system architecture, and more.
ToBeBetterJavaer Humorous Java learning guide covering core knowledge points.
WhatsMars Research on Java ecosystem technologies like Spring Boot, Redis, Dubbo, RocketMQ, and ElasticSearch.
Java 8 in Action Code samples and exercises for Java 8 features.
Spring Framework Samples Examples demonstrating the use of the Spring Framework.
Java Algorithms Collection of algorithms implemented in Java.
Java Design Patterns Examples of design patterns implemented in Java.
Java Data Structures Java implementations of common data structures.
Java Code Examples Collection of code examples for Java programming.
Java Best Practices Java best practices and tips for effective programming.
Java Collections Practical guide to Java Collections Framework.
Java Testing Various testing frameworks and strategies for Java applications.
Multi-Threading Series of articles on Java multithreading.
Google Styleguide Google's Java Style Guide for writing clean and readable code.
Google Java Format Google's Java code formatter for ensuring consistent code style.
RxJava A library for composing asynchronous and event-based programs using observable sequences for the Java VM.
TheAlgorithms/Java Collection of algorithms and data structures implemented in Java.
Spring Framework The Spring Framework is a comprehensive framework for enterprise Java development.

📚 Big Data Tutorial

Name Description
Learning Spark Examples and exercises from the "Learning Spark" book.
Apache Flink Examples Examples demonstrating various use cases of Apache Flink.
Spark Examples Example projects showcasing Spark's capabilities.
Hadoop Examples Example projects demonstrating various use cases of Hadoop.
Kafka Examples Examples demonstrating various use cases of Apache Kafka.
Storm Examples Example projects showcasing Apache Storm's capabilities.
BigData-Notes A comprehensive guide to getting started with big data concepts. (Language Chinese)
BigData Guide Guide to learning big data development from scratch, including a resource summary for each learning stage. (Language Chinese)

📚 Spring Boot Tutorial

Name Description
Spring Data Examples Example projects for different Spring Data modules showcasing the API and functionality.
Spring MVC Showcase Demonstrates the capabilities of the Spring MVC web framework with simple examples.
SSM Building SSM and distributed microservices from scratch.
JWT Spring Security Demo Demonstrates JWT usage with Spring Security and Spring Boot 2.
Spring Boot Vue Full-stack Java web practice using Spring Boot and Vue.js.
Spring Security OAuth Exploring the new OAuth2 stack in Spring Security 5.
Spring Boot Vue.js Example project combining Spring Boot with Vue.js for a GUI.

📚 Algorithms and Data Structures Tutorials

Name Description
Algorithms Demonstrates implementations of common data structures and algorithms in a clean and elegant way.
AlgoDS A collection of algorithms, data structures, and interview problems with solutions.
Algorithms Sedgewick Code for the book "Algorithms" (4th edition) by Robert Sedgewick.
Algorithms Solutions to exercises from "Algorithms" (4th Edition) by Sedgewick and Wayne.
Algorithms Code from the book "Algorithms (4th Edition)" with additional solutions to exercises.
LeetCode Animation Animates ideas for solving LeetCode problems, making algorithms more visual and understandable. (Language Chinese)
Hello Algo An animated, easy-to-understand tutorial on data structures and algorithms. (Language Chinese)
The Algorithms Java implementations of a wide range of algorithms.
Hello Algorithm A complete guide for beginners to learn algorithms with clear explanations. (Language Chinese)
LeetCode Contains solutions for LeetCode problems, including books and interview questions. (Language Chinese)
Java Algorithms Implementation Java implementations of various algorithms and data structures.
LeetCode Book Code solutions for problems from the "LeetCode Book", covering Python, Java, and C++.
HackerRank Solutions Solutions to various HackerRank problems, offering practical coding examples.
GeeksforGeeks-POTD Personal repository: Solutions to GeeksforGeeks Problem of the Day, created and maintained by the owner.

📚 Software Engineering Tutorial

Name Description
Java Design Patterns A comprehensive tutorial on design patterns implemented in Java.
IDDD Samples Sample code from the book "Implementing Domain-Driven Design" by Vaughn Vernon, illustrating bounded contexts.
FTGO Example Application Example code for the book Microservices Patterns, demonstrating microservices architecture.
Head First Design Patterns Code examples from the book Head First Design Patterns, aimed at providing practical design pattern knowledge.
Buckpal A small web application implementing the hexagonal architectural style.
Domain-Driven Design with Java A demonstration of domain-driven design principles applied in a Java microservices context using the Spring framework.

📚 Other Technical Tutorials

Name Description
RabbitMQ Tutorials Code examples and tutorials for RabbitMQ, demonstrating various messaging patterns and use cases.
API Samples Code samples for using the YouTube API, including data, analytics, and live streaming APIs.
Vert.x 4 Examples A collection of examples demonstrating various features and capabilities of Vert.x 4.
Intro to RxJava A beginner's guide to RxJava, covering its capabilities for implementing reactive programming in JVM.
Java EE 7 Samples A repository of samples and unit tests for Java EE 7, showcasing various features and best practices.
AWS Lambda Developer Guide Additional resources and examples for AWS Lambda, enhancing the official developer guide.
Netty in Action Source code for the book Netty in Action, providing practical examples and use cases for Netty.
MyBatis-Plus Samples Sample code for MyBatis Plus, an enhancement of the MyBatis framework for simplified data access.
Kafka Streams Examples Examples showing how to use Apache Kafka’s Streams API for building real-time applications and event-driven microservices.
MIT Deep Learning Book PDF of the MIT Deep Learning book, offering an in-depth exploration of deep learning concepts.
Deeplearning4J Examples Examples for Deeplearning4J, including DL4J, DL4J Spark, and DataVec.
DeepLearning Tutorials on deep learning covering Python, C, C++, Java, Scala, and Go.
Quarkus QuickStarts Quickstart projects for the Quarkus framework, demonstrating various features and capabilities.
LWJGL Basics Tutorials and examples for LWJGL (Lightweight Java Game Library) and LibGDX.
DevOps For Beginners Beginner’s tutorial on DevOps, including Docker, Kubernetes, Terraform, Ansible, Jenkins, and Azure DevOps.
Ninety-Nine Problems Solutions to the Ninety-Nine Prolog Problems, adapted for learning and practice.

💼 Interview Tips

Name Description
Awesome Interview Questions A collection of interview questions for various programming languages, including Java.
Core Java Interview Questions A list of core Java interview questions and answers from Javatpoint.
CtCI-6th-Edition Solutions to Cracking the Coding Interview, Sixth Edition.
DSA Bootcamp Java Data Structures and Algorithms + Interview Prep Bootcamp for Java.
GFG Java Interview Questions Java interview questions from GeeksforGeeks, covering a wide range of topics.
Interview Collection of interview questions covering various technical topics.
InterviewBit Java Interview Questions Java interview questions covering key concepts and common problems.
Interviews A comprehensive guide to software engineering technical interviews.
Java Basics Fundamental Java interview questions to test your understanding of the basics.
Java Interview Repository with a variety of Java interview questions and topics.
Java Interview Programs Java interview programs that focus on practical coding questions.
Java Interview Q&A A collection of frequently asked Java interview questions and answers.
Java Interview Questions Curated list of Java interview questions for developers.
Java Interview Questions & Answers Comprehensive Java interview questions with detailed answers.
Java Interview Questions for Freshers A blog post with 40+ Java interview questions aimed at freshers.
Java Interview Questions Extensive set of Java interview questions for beginners and professionals.
SDE-Interview-Questions A comprehensive list of SDE interview questions from multiple sources.
Simplilearn Java Interview Questions Comprehensive list of Java interview questions and answers from Simplilearn.
System Design Interview Resources and notes for system design interviews.

🛠 Frameworks and Libraries

🛠 Frameworks and Libraries: A collection of essential Java frameworks and libraries categorized by their functionality, including web, JSF, REST, application, and microservices frameworks.

✨ Web Frameworks

Name Description
ActFramework A concise, easy-to-use, and powerful Java MVC full-stack framework.
Apache Camel An open-source integration framework that provides a rule-based routing and mediation engine.
Apache Cocoon A web application framework built around the concepts of pipeline, separation of concerns, and component-based web development.
Apache Struts A free, open source solution for creating Java web applications.
Apache Tapestry A component-oriented Java web application framework focused on performance and developer productivity.
Apache Wicket A component-based web application framework for Java.
AppFuse A full-stack framework for building web applications on the JVM.
Artemis An asynchronous, high-performance framework for building web applications.
Astrix A framework designed to simplify the development and maintenance of microservices.
Blade A web framework that pursues simplicity and efficiency.
Blynk A platform for IoT application development with a Java-based server.
Cloudopt Next A lightweight, JVM-based full-stack Kotlin framework that supports Java and Kotlin languages.
Caffeine A high-performance, Java-based cache library for building scalable web applications.
Crux A data-centric, event-driven, and graph-based database for Java web applications.
Dagger A fast dependency injection framework for Java and Android.
Dynamo A lightweight, full-stack Java web framework for rapid application development.
Dropwizard A Java framework for developing user-friendly, high-performance, RESTful Web Services.
GWT A development toolkit for building and optimizing complex browser-based applications.
Grails A framework for building web applications using the Groovy programming language.
HikariCP A high-performance JDBC connection pool for Java applications.
Hutool A Java utility library that offers a variety of tools for web development.
JHipster A development platform to generate, develop, and deploy Spring Boot + Angular/React/Vue web applications and Spring microservices.
JOOQ A framework for building type-safe SQL queries in Java.
Jax-RS A Java API for RESTful web services for the Java EE platform.
Jersey A framework for developing RESTful web services in Java.
JFinal A Java web framework that provides rapid development capabilities.
Javalin A lightweight Kotlin and Java web framework that supports WebSockets, HTTP2, and asynchronous requests.
Jooby A modern, high-performance and easy-to-use Java and Kotlin web framework.
Jib A Java container image builder for creating optimized Docker images for Java applications.
Kordamp A versatile framework for building modern Java applications.
Lavalink An audio sending server for Discord bots.
Micronaut A modern JVM-based, full-stack framework for building modular, easily testable microservice applications.
Modular Java A collection of modular frameworks and libraries for Java development.
MyBatis A persistence framework that simplifies database access in Java applications.
Ninja A full-stack web framework for Java that is rock-solid, fast, and efficient.
Netty A NIO client-server framework that enables quick and easy development of network applications.
Play Framework A web framework that combines productivity and performance to build scalable web applications.
Quarkus A Kubernetes-native Java framework tailored for GraalVM and OpenJDK HotSpot.
Ratpack A simple, powerful toolkit for creating high-performance web applications.
Reactor A foundational library for building reactive applications on the JVM.
Retrofit A type-safe HTTP client for Android and Java.
Resteasy A JAX-RS implementation for building RESTful web services.
Sanic An asynchronous Python framework with a focus on performance and flexibility.
Scalatra A tiny Scala web framework that is easy to use and integrate.
Shiro A powerful and flexible security framework for Java.
Spark A simple, expressive web framework.
SparkJava A simple and expressive Java web framework.
Spring Boot Helps easily create production-grade Spring-powered applications and services.
Spring Data Provides comprehensive data access solutions for Spring-based applications.
Spring MVC Web framework in the Spring ecosystem.
Spring Security A powerful and customizable authentication and access control framework.
Tomcat A robust web server and servlet container for Java applications.
Tapestry A component-based web application framework for Java.
tinystruct A lightweight Java framework focusing on simplicity and performance for microservice development.
Vaadin A framework for building modern web applications using pure Java.
Vert.x A tool-kit for building reactive applications on the JVM.
Vert.x-Web A set of building blocks for building web applications using Vert.x.
WildFly A flexible and powerful Java EE application server.
XWiki A powerful and customizable wiki and collaboration platform.
ZK A productive Java framework for building enterprise web and mobile applications.

🛠 JSF Framework

Name Description
Adminfaces A fully responsive admin template for JavaServer Faces, built on Bootstrap and Admin LTE.
Apache MyFaces Jakarta Faces implementation provided by the Apache Foundation.
Blazemeter An open-source testing framework that supports JSF and other technologies.
ButterFaces A lightweight JSF framework that combines Bootstrap 4, jQuery 3, and HTML 5 for developing responsive web applications.
ChartistJSF Provides customizable and responsive charts for JavaServer Faces.
Eclipse Mojarra The Jakarta Faces implementation maintained under the Eclipse Foundation.
JoinFaces Allows integration of JSF with Spring Boot applications.
JsfUnit A framework for testing JSF applications using JUnit.
Omnifaces A utility library for JSF, simplifying common tasks using the standard Faces API.
PrimeFaces A popular UI library for JavaServer Faces applications.
PrimeFaces Extensions An open source project providing additional Faces components and utilities to complement PrimeFaces.
RichFaces An advanced UI component framework for integrating Ajax into JSF applications, open sourced by RedHat.

🔗 REST Framework

Name Description
Airlift A framework for building REST services in Java.
Agrest A flexible model-driven REST data service framework.
Apache Juneau A toolkit for creating self-documenting REST interfaces and microservices.
Apache Sling A RESTful web application framework based on an extensible content tree.
Bootique A Java launcher and integration technology for building runnable Java applications.
Confluent REST Utils Provides utilities for writing Java REST APIs using Jersey, Jackson, Jetty, and Hibernate Validator.
Conjure Java Runtime Libraries for creating RESTish/RPC servers and clients based on Feign and Dropwizard/Jersey.
Crnk A Java implementation of the JSON API specification for building RESTful applications.
Dropwizard A framework for developing high-performance, RESTful web services.
EverRest A complete JAX-RS implementation and RESTful application framework.
Grumpyrest A minimalist Java REST server framework.
Hammock A framework for bootstrapping CDI and deploying REST APIs.
Kilo An open-source framework for creating and consuming RESTful web services.
Kanary A minimalistic web framework for building REST APIs in Kotlin/Java.
Lambada Framework A REST framework implementing JAX-RS APIs for serverless deployment on AWS Lambda.
Moqui Framework A full-featured application development framework based on Groovy and Java.
Proteus A minimalist Java API server framework built on Undertow for microservices.
RestExpress A thin wrapper over JBOSS Netty for creating high-performance RESTful services.
RestEasy A JBoss project for developing client and server RESTful applications using Java.
Rest.li A REST framework for building robust, scalable RESTful architectures.
Restlet A framework for building RESTful web APIs in Java.
RESTX A lightweight stack including Swagger-like UI for REST specification tests.
Spring HATEOAS A framework that simplifies building hypermedia-driven RESTful services.

🏗 Application Framework

Framework Description Link
Apiary A transactional Function as a Service (FaaS) framework for building database-oriented applications such as microservices and web service backends. Jointly developed by MIT and Stanford. Apiary
Apache Usergrid A multi-tenant backend-as-a-service stack for web and mobile applications based on a RESTful API. Apache Usergrid
Chill PL A Java web and cloud application development platform. Chill PL
Chronicle-Decentred A framework for building peer-to-peer secure and scalable microservices on distributed ledger technology. Chronicle-Decentred
Continuum Framework An open-source software framework aiming to provide developers with tools to create high-performance software solutions. Continuum Framework
Dynamo A software development framework focusing on convention over configuration and model-driven development. Dynamo
JADA JEE Framework A software framework for EJB3-based applications, allowing developers to configure data presentation and persistence layers. Open sourced by the Italian National Research Council. JADA JEE Framework
Jmix A set of libraries and tools for accelerating Spring Boot data-centric application development. Jmix
KivaKit An integrated Java mini-framework for daily development. KivaKit
Las2peer A Java-based server framework for developing and deploying microservices in a distributed peer-to-peer environment. Developed by RWTH Aachen University. Las2peer
Para A scalable multi-tenant backend server/framework for object persistence and retrieval. Para
Salespoint Framework A framework for developing point-of-sale applications. Open sourced by TU Dresden. Salespoint Framework
SiteMesh 3 A web page layout and decoration framework for creating websites with a consistent look and feel. SiteMesh 3
Synapse A set of lightweight infrastructure modules for rapid development, with enterprise-level quality. Open sourced by American Express. Synapse
TwelveT A microservice framework based on Spring Cloud Alibaba/Spring Cloud Tencent, built on Spring Boot 3.X. TwelveT
Jooby A modular microframework for building scalable, high-performance web applications in Java. Jooby
Ratpack A set of libraries that facilitate fast, efficient, and lightweight JVM-based web applications. Ratpack
Dropwizard A Java framework for developing RESTful web services with minimal configuration. Dropwizard
Micronaut A modern JVM-based framework for building modular, easily testable microservices and serverless applications. Micronaut
Orienteer Open-source business application platform for rapid configuration/development of CRM, ERP, LMS, and other applications. Orienteer
Jersey The reference implementation of JAX-RS, providing APIs to create RESTful web services. Jersey
Vert.x A polyglot event-driven application framework that runs on the JVM, allowing the development of reactive microservices. Vert.x
Spark A microframework for creating web applications in Java 8 with minimal effort. Spark
Play Framework A powerful web framework for creating scalable and fast web applications in Java and Scala. Play Framework
Quarkus A Kubernetes-native Java stack tailored for GraalVM and OpenJDK HotSpot to build small, fast applications. Quarkus
Apache Struts A popular framework for creating enterprise-ready Java web applications, based on the MVC design pattern. Apache Struts
Grails A powerful web application framework based on the Groovy programming language, simplifying the development process. Grails
Spring Boot An extension of the Spring framework that simplifies the creation of stand-alone, production-grade Spring-based applications. Spring Boot
Tapestry A component-oriented framework for creating highly scalable web applications in Java. Tapestry
Wicket A component-based web application framework that brings the simplicity of Java Swing to web development. Wicket

🔧 Microservices Framework

Framework Description Link
ActiveJ Java framework for modern web, cloud, high-load, and microservice solutions. ActiveJ
Apache Dubbo A high-performance, Java-based open-source RPC framework. Apache Dubbo
Apache JClouds An open-source multi-cloud toolkit for the Java platform, enabling portable cloud applications. Apache JClouds
Apache ServiceComb A software development kit for rapid microservices development in Java, providing service registration, discovery, and management. Apache ServiceComb
Armeria A microservice framework supporting multiple technologies like gRPC, Thrift, and Spring Boot. Armeria
Axon A framework for building event-driven microservices systems based on DDD, CQRS, and event tracing principles. Axon
Ballerina An open-source cloud-native programming language optimized for integration. Ballerina
Dapeng-SOA A lightweight, high-performance microservice framework built on Netty and a streamlined version of Thrift. Dapeng-SOA
Eclipse MicroProfile A project for applying enterprise Java technologies to distributed microservices architecture. Eclipse MicroProfile
Finatra A lightweight framework for building fast, testable Scala applications, open-sourced by Twitter. Finatra
Flower A reactive microservice framework built on Akka. Flower
Fusion A very lightweight Java framework aiming for Graal Native support. Fusion
Helidon A set of Java libraries for writing microservices, based on Java virtual threads. Helidon
Ja-Micro A lightweight Java framework for building microservices. Ja-Micro
JBoot A domestic framework based on JFinal, Dubbo, Seata, and other technologies. JBoot
Jakarta EE Provides a comprehensive set of vendor-neutral, open specifications for developing modern, cloud-native Java applications. Jakarta EE
JHipster A development platform for rapidly generating modern web applications and microservices architectures. JHipster
Ktor An asynchronous framework for creating microservices and web applications, open-sourced by JetBrains. Ktor
Lagom A reactive microservices framework on the JVM platform. Lagom
Light-4J A fast, lightweight, and efficient microservice framework. Light-4J
Micronaut A modern full-stack Java framework designed to build modular and easy-to-test JVM applications. Micronaut
Misk An open-source microservice container allowing quick creation of microservices using Kotlin or Java. Misk
Moleculer Java An implementation of the Moleculer microservices framework for the JVM. Moleculer Java
Nepxion Discovery An open-source solution focused on enterprise-level cloud-native microservices. Nepxion Discovery
NutzBoot A reliable enterprise-level microservice framework providing solutions like automatic configuration, service governance, and load balancing. NutzBoot
Quarkus A cloud-native, container-first framework for writing Java applications, developed by RedHat. Quarkus
Riposte A Netty-based microservice framework for rapid development of production-ready HTTP APIs, open-sourced by Nike. Riposte
SeedStack An opinionated, easy-to-use Java development stack. SeedStack
ServiceTalk A JVM network application framework with APIs tailored for specific protocols, open-sourced by Apple. ServiceTalk
Spring Cloud Provides developers with tools to build distributed systems with common patterns like service discovery and intelligent routing. Spring Cloud
Vert.x A toolkit for building reactive applications on the JVM. Vert.x
WSO2 Microservices Framework A lightweight, high-performance framework for developing and running microservices, open-sourced by WSO2. WSO2 Microservices Framework

🔨 Microservices Tools(Additionals)

Name Description
AdeptJ Runtime A high-performance, dynamic, modular runtime for RESTful APIs, microservices, and web applications.
Apollo A set of Java libraries used by Spotify to write microservices, including HTTP server and URI routing system for RESTful APIs.
Conjure A simple toolchain for defining APIs and generating client/server interfaces in multiple languages, developed by Palantir.
Edison-MicroService Standalone libraries on top of Spring Boot that provide faster JVM microservice setup.
Eventuate Tram Core A platform that addresses distributed data management issues in microservices architectures.
Femas Tencent Cloud's open-source, one-stop management platform for cloud-native microservices.
GreenLightning A high-performance microservices runtime.
Hexagon A Kotlin-based microservice toolkit that simplifies server application development for cloud platforms.
Infinitic A framework based on Apache Pulsar that simplifies the construction of asynchronous distributed applications.
LittleHorse A high-performance microservices orchestration engine for building scalable and maintainable applications.
Mats3 A Java library for developing asynchronous, stateless, multi-stage, message-based services.
Microserver A Java 8 native, zero-configuration library for running REST microservices from standard Java main classes.
Oracle Bedrock A Java framework for developing, orchestrating, and testing highly concurrent distributed applications.
Prana A sidecar for Netflix OSS-based services, open-sourced by Netflix.
Sermant An agentless service mesh using Java bytecode enhancement technology for service governance in large-scale microservice architectures.
SIP Framework A framework for building lightweight integration adapters using microservices for scalable system decoupling.
Squbs Components for standardizing and operationalizing Akka and Akka HTTP applications in large-scale cloud environments, open-sourced by PayPal.
Uship A lightweight microservices stack for modern applications.

🔍 HTTP Client Libraries

Name Description
Android Asynchronous HttpClient Asynchronous, callback-based HTTP client for Android, built on Apache HttpClient.
AndroidAsync Asynchronous socket, HTTP(s), and WebSocket library for Java and Android using NIO.
Apache HttpComponents Client Apache's open-source HTTP client library, providing a more fluent API than HttpComponents Core.
Apache HttpComponents Core Low-level Java component tools focused on HTTP and related protocols.
AsyncHttpClient Library for performing HTTP requests asynchronously in Java.
Avaje HttpClient Lightweight wrapper for JDK 11 HttpClient.
Chuck In-app HTTP inspector for Android using the OkHttp client.
Donkey Modern, Ring-compatible HTTP server and client designed for performance and ease of use.
Feign Java-to-HTTP client binder inspired by Retrofit, JAX-RS, and WebSocket, open-sourced by Netflix.
FusionAuth HTTPClient Full-featured, high-performance HTTP server and client written in pure Java.
Google API Java Client Flexible and efficient library for accessing any HTTP-based API.
Google HTTP Java Client Flexible, efficient Java library for accessing any HTTP resource.
HTTP4J Simple, lightweight wrapper around Java HttpURLConnection.
HTTP4K Lightweight, full-featured HTTP toolkit written in Kotlin.
HTTP-Kit Minimalistic and efficient Clojure-compatible HTTP client and server.
HTTPBuilder Simple HTTP client for Groovy.
HTTPBuilder NG Modern HTTP client for Groovy and Java, extending the original HTTPBuilder.
HttpClientUtil HttpClient utility class based on the Apache HttpClient library.
Java 11 HttpClient High-level HTTP client in the Java standard library, supports HTTP/1.1, HTTP/2, and WebSocket.
Jetty HttpClient HttpClient module in Jetty for performing HTTP and HTTPS requests.
Jetty ReactiveStream HttpClient Reactive stream wrapper for Jetty HttpClient.
Methanol Lightweight extension for Java HttpClient.
Netty HTTP Client Asynchronous HTTP client based on Netty 4.x.
NoHttp HTTP framework for Android with support for multiple cache modes, dynamically switches between OkHttp and URLConnection.
Novate Android network framework based on Retrofit and RxJava.
OkGo Network request framework for Android built on OkHttp.
OkHttp HTTP client for JVM, Android, and GraalVM, designed by Square.
Parallec Fast parallel asynchronous HTTP(S), SSH, TCP, UDP, and Ping client based on Akka, open-sourced by eBay.
Riptide Client-side response routing library open-sourced by Zalando.
RestVolley Network framework based on Volley and OkHttp for Android.
Retrofit Type-safe HTTP client for Java and Android, open-sourced by Square.
RoboSpice Modular library for writing asynchronous long-running tasks in Android.
RXHttp Type-safe HTTP client for Android based on OkHttp.
Spring HATEOAS Simplifies creating RESTful representations that follow the HATEOAS principle when using Spring.
Unirest Lightweight HTTP client library with a simplified API.
Volley HTTP library that simplifies networking for Android apps, open-sourced by Google.
WeChatPay HttpClient Apache HttpClient extension for WeChat Pay API v3, including request signature generation and response verification.

🔗 Hypermedia Types

Name Description
Edison HAL A library for generating and consuming application/hal+json representations of REST resources using Jackson.
Hate Builds hypermedia-friendly objects according to the HAL specification.
JSON-LD JSON-LD (JavaScript Object Notation for Linked Data) implementation in Java.
REST-Shell Command-line shell for interacting with Spring HATEOAS-compliant REST resources.
Siren4J Java library for handling Siren hypermedia type, helping to generate and parse Siren JSON structures.
Spring HATEOAS Provides APIs to simplify creating REST representations that follow the HATEOAS principle in Spring-based applications.
Spring HATEOAS JSON API Implementation of the application/vnd.api+json (JSON:API) media type that integrates with Spring HATEOAS.

🗃 ORM Framework

ORM Framework: An Object-Relational Mapping (ORM) framework facilitates the interaction between an object-oriented programming language and a relational database. It automates the mapping of database tables to objects in code, simplifying data manipulation and reducing the need for manual SQL queries.

🗃 ORM Framework

Name Description
Apache OpenJPA Apache OpenJPA is an implementation of the Jakarta Persistence API 3.0 specification.
Android Orma Orma is an ORM framework for Android SQLite databases.
Apache Cayenne An open source persistence layer framework providing ORM and remote processing services.
Apache Gora Provides in-memory data model and big data persistence.
Bee A simple, efficient ORM framework supporting JDBC, Cassandra, MongoDB, and Sharding.
Ebean A pure Java ORM framework designed to be simpler and easier than JPA.
EclipseLink Provides a standards-based object-relational persistence solution with advanced features.
GreenDAO A lightweight and fast Android ORM mapping objects to SQLite databases.
HotRod An ORM for Spring and Spring Boot, implementing a high-performance persistence layer for relational databases.
Hibernate Hibernate ORM is a powerful Java object/relational mapping solution that makes it easy to develop persistence layer logic for applications, libraries, and frameworks.
Jimmer A revolutionary ORM for Java and Kotlin with complete integration solutions.
Modality A lightweight and configurable Java ORM with supporting tools.
MicroStream A Java-native object graph persistence layer for microservices and serverless functions.
Mybatis A SQL mapper framework for easier use of relational databases in object-oriented applications.
Norm A simple way to access a JDBC database, often with just one line of code.
ObjectiveSQL An ORM framework based on the ActiveRecord pattern for rapid development and clean code.
ORMLite Provides lightweight functionality for persisting Java objects to a SQL database.
Persism A lightweight ORM library with auto-discovery, auto-configuration, and convention-over-configuration.
QueryDSL A framework for building type-safe SQL-like queries for various backends, including JPA and SQL.
Reladomo An enterprise-level ORM framework for Java, open-sourced by Goldman Sachs.
Sugar ORM An Android ORM library for easy data storage and retrieval.
Speedment A Java Stream ORM toolkit and runtime.
JOOQ An internal DSL and source code generator modeling SQL as a type-safe Java API.
Mars A MongoDB ORM/ODM framework for Java. {Language Chinese}
SQL-Toy A relational database ORM framework combining Hibernate and MyBatis advantages. {Language Chinese}
Bean Searcher A read-only ORM focused on advanced queries and joins, simplifying complex queries. {Language Chinese}

🔍 API Data

This section provides links to repositories containing code samples, tutorials, and resources for various APIs. It includes examples for APIs from YouTube, RabbitMQ, and other platforms, helping developers understand and implement API integrations effectively.

🔍 API Data

Name Description
Agrest A flexible model-driven REST data service framework.
DB2Rest A modern low-code REST Data API platform for building intelligent applications.
RestEasy A JBoss project providing a productivity framework for developing client and server RESTful applications and services using Java.
Rest.li An open source REST framework for building robust, scalable RESTful architectures using type-safe bindings and asynchronous, non-blocking IO.
Spring Data REST Provides a flexible and configurable mechanism for writing simple services that can be exposed over HTTP.

🔗 API Gateway

Name Description
Apache ShenYu A Java-native API gateway for service proxy, protocol conversion, and API governance, developed by the Dromara community.
Choreo Connect A cloud-native, open-source API gateway proxy designed for developer-centric use, provided by WSO2.
Gateleen A RESTful middleware toolkit for building API gateways, open-sourced by Swiss Post.
Gravitee A flexible and fast open-source API gateway.
Kaazing Gateway A network gateway designed for real-time web protocols, offering load balancing, clustering, and security management.
Membrane An API gateway supporting REST, OpenAPI, GraphQL, and SOAP, written in Java.
Okapi A multi-tenant API gateway.
Spring Cloud Gateway Provides a simple and effective way to route to APIs and handle cross-cutting concerns.
Zuul A gateway service offering dynamic routing, monitoring, resilience, and security, open-sourced by Netflix.
API ML Provides a single access point to mainframe service REST APIs.

🛠 Automation and Testing

🛠 Automation and Testing: Comprehensive strategies and tools for automating the testing of software to ensure quality, reliability, and performance.

🧪 Unit Testing

Framework/Tool Description Link
Eclipse Xpect Xpect is a unit and integration testing framework that can store test data in any type of text file and is based on JUnit. Eclipse Xpect
Flow Mastercard's open-source testing framework. Flow
JUnit 4 JUnit is a simple framework for writing repeatable tests. JUnit 4
JUnit 5 The fifth major version of the testing framework for Java and the JVM. JUnit 5
Kotest A flexible and comprehensive Kotlin testing tool with multi-platform support. Kotest
MUnit A Scala testing library with actionable errors and an extensible API. MUnit
Robolectric The industry-standard unit testing framework for Android. Robolectric
ScalaTest A free open-source testing toolkit for Scala and Java programmers. ScalaTest
Spock A BDD-style developer testing and specification framework for Java and Groovy applications. Spock
uTest A simple and intuitive Scala testing library. uTest
Unitils An open-source library designed to make unit and integration testing easy and maintainable. Unitils

🧪 Test Generator

Name Description
Auto Unit Test Case Generator Auto Unit Test Case Generator automatically generates high-level code coverage JUnit test suites for Java.
Diffblue Diffblue Cover uses next-generation autonomous AI to automate unit testing.
EvoSuite EvoSuite automatically generates JUnit test suites for Java classes, targeting code coverage criteria.
GraphWalker GraphWalker is a model-based testing tool that generates test paths from directed graphs.
JCUnit JCUnit is a model-based testing framework powered by combinatorial interactive testing technology.
Jtest Accelerates Java software development through AI-optimized static analysis and AI-powered automated unit testing.
Randoop Randoop is a unit test generator for Java that creates JUnit-formatted unit tests for your classes.
Squaretest Squaretest is an Intellij IDEA plugin that generates unit tests for Java classes.
Symflower Symflower is a Java code generation tool designed to reduce the routine work of unit and integration testing.
TestMe An Intellij IDEA plugin that automatically generates test cases for Java, Groovy, and Scala.
UTBotJava UnitTestBot is a tool for automated unit test generation and precise code analysis.

🔄 Integration Testing

Framework/Tool Description Link
Alternator A mock DynamoDB that runs locally for testing purposes. Alternator
Arquillian Provides a component model for integration testing, including dependency injection and container lifecycle management. Arquillian
CassandraUnit A Java testing tool that can be used to test Java applications created using the Cassandra database backend. CassandraUnit
Database Rider Integrates DBUnit and JUnit to make database testing a breeze. Database Rider
DbFit A database testing framework that supports simple test-driven development of database code. DbFit
DbSetup Allows populating the database before executing automated integration tests. DbSetup
DbUnit A JUnit extension for database-driven projects. DbUnit
Embedded Cassandra Provides an easy way to start and stop Apache Cassandra. Embedded Cassandra
Embedded Consul Provides an easy way to run Consul in integration tests. Embedded Consul
Embedded DB JUnit Provides JUnit Rules for in-memory databases (supports H2 and HyperSQL). Embedded DB JUnit
Embedded ElasticSearch A tool that simplifies creating integration tests with Elasticsearch. Embedded ElasticSearch
Embedded Kafka A library that provides an in-memory Kafka instance to run tests. Embedded Kafka
Embedded LDAP JUnit JUnit Rule for running an embedded LDAP server in JUnit tests. Embedded LDAP JUnit
Embedded MongoDB Provides a platform-neutral way to run MongoDB in unit tests. Embedded MongoDB
Embedded MySQL Embedded MySQL for testing. Embedded MySQL
Embedded Postgres Binaries Provides lightweight bundles of PostgreSQL binaries for testing purposes. Embedded Postgres Binaries
Embedded PostgreSQL Allows embedding PostgreSQL into Java application code using Docker containers. Embedded PostgreSQL
Embedded PostgreSQL Server Provides a platform-neutral way to run Postgres binaries in unit tests. Embedded PostgreSQL Server
Embedded Process Util Provides a platform-neutral way to run processes in unit tests. Embedded Process Util
Kafka JUnit Makes it easier to create and run integration tests using JUnit against a real Kafka server. Kafka JUnit
Keycloak Testcontainer Testcontainers implementation of Keycloak SSO. Keycloak Testcontainer
Kindcontainer A Java-based Testcontainers container implementation that provides a temporary Kubernetes cluster for integration testing. Kindcontainer
LDAP Server A simple in-memory LDAP server for testing purposes. LDAP Server
MongoUnit A data-driven integration testing framework for Spring Boot-based applications that use MongoDB for persistence. MongoUnit
Nats Server Embedded Nats server for testing. Nats Server Embedded
Testcontainers A Java library that supports JUnit testing with lightweight disposable instances of common databases or anything else that can be run in a Docker container. Testcontainers
Testcontainers Spring Boot Container automatic configuration for integration tests based on Spring Boot. Testcontainers Spring Boot

🌐 Interface Testing

Name Description Repository Link
CATS A REST API fuzzer and negative testing tool for OpenAPI endpoints. CATS
ChocoTea A library for generating Postman collections, environments, and integration tests from Java code. ChocoTea
Citrus A testing framework for creating fully automated end-to-end tests for enterprise SOA applications. Citrus
Cukes Cucumber DSL for testing RESTful web services. Cukes
Hikaku Tests whether a REST-API implementation meets its specification. Hikaku
HybridTestFramework End-to-end testing framework for web, API, cloud, events, and security. HybridTestFramework
Heat A simple solution for testing REST APIs based on the Rest Assured framework, open sourced by Expedia. Heat
RAML-Tester Tests whether a request/response matches a given RAML definition. RAML-Tester
Rest Assured A Java DSL for easily testing REST services. Rest Assured
Rest Driver A tool for testing RESTful services and clients. Rest Driver
RESTClient A Java application for testing RESTful web services. RESTClient
Sakuli An end-to-end testing and monitoring tool for websites and common UIs. Sakuli
Stove An end-to-end testing framework that can bootstrap physical dependencies along with your application, open sourced by Trendyol. Stove
Webtau A testing API, command-line tool, and framework for writing unit, integration, and end-to-end tests. Webtau

🔍 Functional Testing

Name Description Repository Link
Acai Makes it easy to write functional tests for your application using JUnit 4 and Guice, open sourced by Google. Acai
Arquillian Graphene Powerful functional testing using WebDriver and a concise AJAX-ready API. Arquillian Graphene
Galen An open source tool for testing the layout and responsive design of web applications. Galen
SoapUI A free, open-source, cross-platform API and Web Service functional testing solution. SoapUI

🧬 Mutation Testing

Name Description Repository Link
Code Defenders Gamification of mutation testing, developed by the University of Passau and the University of Leicester. Code Defenders
Descartes Supports developers in improving their test suites by reporting weaknesses in the covered code. Descartes
Major An efficient and flexible mutation analysis framework. Major
PG Index Health A Java library for analyzing and maintaining the health of indexes and tables in a PostgreSQL database. PG Index Health
Pitest A state-of-the-art mutation testing system for Java and the JVM. Pitest

🔍 Fuzz Testing

Name Description Repository Link
EvoMaster The first open-source AI-driven tool that automatically generates system-level test cases for web/enterprise applications. EvoMaster
Jazzer A coverage-guided in-process fuzzer for the JVM platform, developed by Code Intelligence. Jazzer
Javafuzz A coverage-guided fuzzer for testing Java packages. Javafuzz
JQF A feedback-guided fuzz testing platform for Java. JQF
Mu2 A fuzz testing platform for mutation-guided fuzzing, built on top of the JQF platform. Mu2
SQLancer A tool that automatically tests a DBMS to find logical errors in its implementation. SQLancer

⏱ Performance Testing

Name Description Repository Link
Apache JMeter An open-source load testing tool used to analyze and measure the performance of various services. Apache JMeter
Caliper A tool for measuring the performance of Java code, focusing mainly on microbenchmarks, open sourced by Google. Caliper
Criterium A benchmarking library for the JVM written in Clojure. Criterium
Gatling A load testing tool that officially supports HTTP, WebSocket, Server-Sent-Events, and JMS. Gatling
Hyperfoil A distributed benchmarking framework for microservices that solves the coordination omission fallacy. Hyperfoil
Intuit Tank A load testing platform that runs in a cloud environment, supporting Amazon web interface and leveraging EC2, S3, and CloudWatch services. Intuit Tank
JLBH A tool that allows you to benchmark code running in context (rather than in a microbenchmark). JLBH
JMH A Java tool for building, running, and analyzing macro benchmarks written in Java and other JVM-targeted languages, open sourced by Oracle. JMH
JUnitPerf API performance testing framework built using JUnit. JUnitPerf
KoPeMe A framework for performance testing in Java. KoPeMe
kraken A load testing IDE based on Gatling. kraken
NGrinder A stress testing platform that enables script creation, test execution, monitoring, and result report generation simultaneously, open sourced by Naver. NGrinder
PerfCake A lightweight performance testing framework and load generator. PerfCake
ScalaMeter A microbenchmark and performance regression testing framework for the JVM platform. ScalaMeter
XLT An extensive load and performance testing tool developed and maintained by Xceptance. XLT

⚙ Property Testing

Name Description
Hypothesis-Java A modern property-based testing system designed for mainstream languages.
JetCheck Property-based Java 8+ testing library open sourced by JetBrains.
Jqwik Brings property-based testing to the JVM.
JUnit Quickcheck Supports writing and running property-based tests in JUnit.
QuickPerf Testing library for Java to quickly evaluate performance-related properties.
QuickTheories Property-based testing for Java 8.
ScalaCheck Library for automated property-based testing of Scala or Java programs.
ScalaProps Property-based testing library for Scala.

🔍 A/B Testing

Name Description
Apache Unomi Stores user profile information and provides backend server for A/B testing and personalization.
PlanOut4J Java-based implementation of Facebook's PlanOut for conducting large-scale experiments.
Proctor A/B testing framework written in Java used by Indeed.
Sixpack Java Java client for the Sixpack A/B testing framework.
Wasabi A/B testing service, real-time, enterprise-grade, and API-driven.

✅ Acceptance Testing

Name Description
FitNesse Fully integrated, standalone acceptance testing framework and wiki.
Gwen Library for writing acceptance tests using the Give-When-Then syntax.
JLineup Automated visual regression testing tool for web pages.
JWebUnit Java framework for creating acceptance tests for web applications.
Kensa Acceptance testing tool supporting Java, Kotlin, and JUnit 5.
RestFixture FitNesse test fixture for writing tests for REST services.
Simple-DSL Style of writing acceptance tests used by LMAX Exchange for balancing readability.
Thucydides Library for writing automated acceptance tests.

🔁 Regression Testing

Name Description
ARA Helps in fighting regressions by analyzing test runs and tracking issues.
AREX Framework for regression testing using real-world data.
Diffy Uses instances of new and old code side by side to discover potential bugs.
Drill4J Identifies testing gaps and reduces time spent on regression testing.
NoraUi Non-regression automation of user interfaces.
Unlogged Java SDK Supports logging code execution in binary format.

📜 Contract Testing

Name Description
Contract Test Runner Java library for contract testing.
Pact JVM version of Pact for writing consumer-driven contract tests.
Specmatic Embodies contract-driven development by leveraging API specifications as executable contracts.
Spring Cloud Contract Spring's support for consumer-driven contracts.
Stubby4j HTTP/1.1, HTTP/2, and WebSocket stub server for contract testing.
ContractCase Contract Testing Framework Java binding for the ContractCase contract testing framework.

🔒 Penetration Testing

Name Description
Jackhammer Collaboration tool for security and development teams to track code quality.
WS-Attacker Modular framework for web service penetration testing.
Cobalt Strike Java-based penetration testing tool.

📸 Snapshot Testing

Name Description
ApprovalTests Validation library for Java.
Java Snapshot Testing Facebook-style snapshot testing for Java.
Selfie Snapshot testing tool for recording and specifying system behavior.

⚫ Black Box & White Box Testing

Name Description
MicroShed Fast and easy way to write and run production integration tests for Java microservices.
RESTest Framework for automated black-box testing of RESTful Web APIs.

🧰 Code Analysis

Name Description
Checkstyle Static analysis tool for checking Java coding conventions and standards.
Error Prone Compile-time tool that catches common programming mistakes.
Error Prone Support Provides additional bug checkers and Refaster templates for Error Prone.
Infer Static analysis tool to verify the correctness of code.
jQAssistant Static code analysis tool with a Neo4J-based query language.
NullAway Eliminates NullPointerExceptions at compile-time with minimal build overhead.
PMD Source code analysis tool for identifying bad coding practices.
p3c Coding guidelines and PMD rulesets provided by Alibaba for best practices.
RefactorFirst Identifies and prioritizes God classes and highly coupled classes for refactoring.
SonarJava Static analysis plugin for SonarQube and SonarLint, focuses on Java.
Spoon Tool for analyzing and transforming Java source code.
Spotbugs Static analysis tool for identifying potential bugs in Java bytecode.

🧪 Formal Verification

Name Description
CATG A concolic unit testing engine that generates unit tests using formal methods.
Checker Framework A pluggable type system for Java, including null types, physical units, and immutable types.
Daikon A tool that detects possible program invariants and generates JML specifications, open-sourced by the University of Washington.
Java PathFinder A JVM formal verification tool that includes model checking, open-sourced by NASA.
KeY A tool for formal software development, integrating design, implementation, specification, and verification, open-sourced by Karlsruhe Institute of Technology.
OpenJML A verification tool for Java programs that checks specifications annotated in the Java Modeling Language.
Theta A modular and configurable model checking framework for reachability analysis, developed by the Critical Systems Research Group at the Budapest University of Technology and Economics.

🔧 Assertion and Mocking

🔧 Assertion and Mocking: Tools and libraries for verifying code behavior and creating mock objects in Java applications to facilitate testing.

🔒 Assertion Library

Name Description
ArchUnit A library for checking the architecture of Java code, ensuring compliance with architecture rules.
AssertJ A rich and intuitive set of strongly typed assertions for unit testing in Java.
AssertJ Android Assertions for testing Android using the AssertJ library.
AssertJ-DB Assertions for testing databases, part of the AssertJ library family.
Atrium A multiplatform assertion library for Kotlin, supporting JVM, JS, and Android.
BeanMatcher A Hamcrest matcher for testing JavaBeans.
Deepdive A streaming assertion library for Java.
Expekt A BDD assertion library for Kotlin.
Fest Provides a fluent interface for assertions in Java.
Hamcrest A library of matchers for creating flexible expressions of intent in tests.
Hamcrest-JSON Hamcrest matchers for comparing JSON documents.
JFRUnit A JUnit extension for asserting Java Flight Recorder (JFR) events.
JSONAssert Simplifies writing JSON unit tests, ideal for testing REST interfaces.
Jcabi-Matchers Convenient Hamcrest matchers, mainly for fields in XPath, XHTML, and JAXB.
LambSpec An RSpec-like assertion library for Java 8.
LogCapture A library for asserting log messages in Java tests.
ModelAssert An assertion library for model data in Java.
NDD Check4J Provides simple parameter checking with a fluent or concise API.
Power Assert Enhances assertion failures with informative evaluation results.
ReCheck A full-featured testing tool replacing manual assertions with comprehensive checks.
Shazamcrest Reusable Hamcrest matchers suitable for automated testing.
Strikt An assertion library for Kotlin, compatible with test runners like JUnit.
Truth A fluent assertion library from Google.
Valid4j A simple assertion and validation library for Java.
Visible Assertions Provides insightful logging narratives for your tests.

🔄 Mock Framework

Name Description
EasyMock A Java library for creating mock objects for unit tests.
JMock Supports test-driven development in Java using mock objects.
JMockit A high-level library for integration testing, mocking, and code coverage in Java.
MockFramework A tool for creating mock objects for Java applications.
Mock-Box A lightweight and powerful mock library for testing.
Mockk A mock framework for Kotlin.
Mockito The most popular mock framework for unit testing in Java.
Mockrunner A mock tool for enterprise-level applications.
PowerMock Extends other mock libraries like EasyMock for enhanced capabilities.
ScalaMock A native mock framework for Scala.
TestableMock A lightweight mock tool, open sourced by Alibaba.

🔧 Mock Tools

Name Description
CouchbaseMock CouchbaseMock is a test Couchbase server.
DaggerMock JUnit Rule for easily overriding Dagger 2 objects.
GreenMail GreenMail is an open source, intuitive and easy-to-use email server testing suite.
gRPC Mock A gRPC Java testing tool that makes it easy to mock gRPC service endpoints for integration testing or unit testing.
Hoverfly Java bindings for Hoverfly, a proxy that allows you to simulate HTTP services.
Keycloak Mock A Java library that provides Keycloak testing support.
Mock-OAuth2-Server A scriptable/customizable web server for testing HTTP clients using OAuth2/OpenID Connect.
MockFtpServer Provides a mock/virtual FTP server implementation to test FTP client code.
RabbitMQ Mock RabbitMQ Java AMQP-Client mock library.
S3Mock Lightweight server that implements part of the Amazon S3 API, open sourced by Adobe.
S3Ninja Simulates the Amazon S3 API for development and testing purposes.
Thrift Mock Lightweight Java unit testing library for Thrift services.
gwtMockito Testing tool for GWT applications, open sourced by Google.

🔧 Test Data and Reporting

Tools and libraries for generating test data, creating test reports, and measuring code coverage to ensure software quality and reliability.

🔍 Test Data Generator

Name Description
AutoParams Arbitrary test data generator designed for Java parameterized tests, inspired by AutoFixture.
Beanmother Helps create various objects and use fixtures for testing very easily.
Burst Unit testing library for different test data, open sourced by Square.
DataFactory Java library for generating test data.
DataFaker Library for generating fake data in Java and Kotlin.
DataHelix Quickly generates rich and realistic data for simulation and testing.
EasyRandom Library for generating random Java objects.
Elmyr Kotlin library providing tools for generating random values.
Fabricator Minimalist generator of random strings, numbers, etc., to reduce monotony.
Fixture Factory Helps developers quickly build and organize fake objects for unit testing.
Fixture Monkey Generates controllable arbitrary instances for reuse in multiple tests.
Instancio Automates creation and population of objects for unit tests.
Java Faker Java port of Ruby's stympy/faker gem for generating fake data.
JFixture Automatically populates test data in Java.
jFairy Java test data generator.
MockNeat Open source library of arbitrary data generators written in Java.
Model Citizen Annotation-based Java model factory.
Nomen est Omen Helps to generate random names for unique IDs or passwords.
Podam Automatically populates POJOs with fictional data.
RandomJson Creates random JSON strings in Kotlin/Java.
Test Arranger Arranges test data into fully populated objects.
Test Data Supplier TestNG DataProvider wrapper providing test data flexibly.

📊 Test Report

Name Description
Allure A flexible, multilingual test reporting tool providing detailed representations of test execution results.
Scott Provides detailed test failure messages without requiring extra assertion libraries or configuration changes.
ReportPortal A TestOps service for enhanced results analysis and reporting with built-in analytics capabilities.
Zebrunner Reporting A test automation management tool that aggregates and presents test results.
Difido Reports Offers flexible, real-time HTML reports for various functional test automation frameworks.
Cluecumber Creates aggregate test reports from Cucumber-compatible JSON files.
Open Test Reporting Provides a language-independent test reporting format and tools.
Cucumber Reporting Java report publisher for generating Cucumber reports on Jenkins.
Java TestNG TestNG reporter that uploads results to the ReportPortal server.
Spock Reports An extension for Spock to create detailed test reports.

📈 Code Coverage

Name Description
JaCoCo A widely used Java code coverage library that provides detailed coverage reports.
Eclipse EclEmma A code coverage tool for Java within the Eclipse IDE, offering visual feedback on test coverage.
Super JaCoCo An enhanced Java code coverage platform built on JaCoCo with support for full and differential coverage.
Cobertura An open source Java code coverage tool that generates coverage reports for code testing.
JSCover A tool for measuring code coverage in JavaScript applications with easy-to-use features.
Codecov A comprehensive code coverage reporting solution supporting various test suites and languages.
JCov A Java code coverage tool used for collecting production-related quality metrics, developed by Oracle.
Parasoft JTest A commercial QA tool suite with code coverage measurement, static analysis, and other quality assurance features.
IntelliJ IDEA Coverage Coverage engine for JVM languages integrated into IntelliJ IDEA, supporting detailed branch and test coverage tracking.
OpenClover An open source code coverage tool for Java and Groovy, providing detailed code metrics and reports.

🔧 BDD and Automation

🔧 BDD and Automation: Tools for Behavior-Driven Development and automating software testing to enhance collaboration and efficiency.

🔖 BDD Framework

Name Description
Akita BDD test step library based on Cucumber and Selenide.
Cucumber Cucumber is a tool that supports behavior-driven development (BDD).
Chorus Chorus is a BDD test interpreter with additional features for testing distributed architectures.
Concordion Concordion is an open source runner that executes specifications, creating rich, living documentation.
JBehave JBehave is a BDD framework for Java and all JVM languages.
JGiven JGiven is a developer-friendly and practical Java BDD tool.
Lambda Behave Lambda Behave is a modern testing and behavioral specification framework for Java 8.
Narrative A framework for building behavior-driven tests using fluent Java.
Quantum Quantum is an open source Java-based BDD testing framework designed by Perfecto.
Serenity BDD Serenity BDD is a library designed to make writing automated acceptance tests easier and more fun.
SmartBDD A BDD framework for creating interactive HTML documentation/function files from Java code.
Spek Spek is a specification framework for Kotlin.
Spectrum Spectrum is inspired by the BDD frameworks Jasmine and RSpec, bringing their expressive syntax and functional style to Java testing.
YAKS YAKS is a framework for enabling cloud-native BDD testing on Kubernetes.
YatSpec YatSpec is a BDD testing framework that can run your JUnit tests and generate human-readable HTML reports.

🤖 QA Automation

Name Description
Appium Open-source tool for automating mobile applications on iOS and Android, supporting native, hybrid, and mobile web apps.
AET System for detecting visual changes on websites and performing basic page health checks, including W3C compliance and accessibility.
QMetry Quality automation framework for Web, MobileWeb, mobile native, and REST web services using Selenium, WebDriver, TestNG, and Jersey.
Stevia Open-source QA automation testing framework by Persado, designed for streamlined test automation.
Selenide Framework that simplifies the usage of Selenium WebDriver for UI test automation with a concise and readable API.

🔨 Automation Tools

Name Description
HydraLab Framework for building a cloud testing platform using existing test equipment/machines, open-sourced by Microsoft.
Testsigma Open-source, extensible test automation platform with out-of-the-box capabilities.
OpenTest Functional test automation tool for web, mobile, and API testing, open-sourced by McDonald's.
VIVIDUS Test automation tool for popular application types with built-in solutions.
Cerberus Low-code test automation platform supporting web, iOS, Android, and API applications.
SHAFT Unified test automation engine with a wizard-like syntax to maximize ROI and minimize the learning curve.
AppiumTestDistribution Tool for running Appium tests in parallel across Android and iOS devices.
Neodymium Framework combining JUnit, WebDriver, and BDD/Cucumber for UI test automation.
Video Recorder Library for recording videos of UI tests using annotations.
Step Unified software automation platform leveraging automation artifacts.
TESTAR Scriptless automated testing tool for desktop, web, and mobile applications, developed by multiple universities.
Testerra Integration framework for automated testing of web applications, open-sourced by Deutsche Telekom.
ReVoman JVM API automation tool for executing Postman collections in JVM programs/tests, open-sourced by Salesforce.

⏳ Multithreaded Testing

Name Description
Awaitility DSL for expressing expectations for asynchronous systems in a concise, readable way.
Lincheck Framework for testing concurrent algorithms on the JVM, open-sourced by JetBrains.
Vmlens Tool for unit testing multi-threaded applications on the JVM.
Thread Weaver Java framework for testing multithreaded code, open-sourced by Google. (Archive)
JCStress Experimental tool and set of tests for studying concurrency support in the JVM, class libraries, and hardware, open-sourced by Oracle.
MultithreadedTC Framework for testing concurrent Java applications, open-sourced by Google.(Archive)
ConcurrentUnit Helps developers test multi-threaded or asynchronous code.
Tempus Fugit Library for writing and testing concurrent code.
Threads Collider Tries to perform operations on multiple threads simultaneously to detect race conditions or deadlocks.
VerCors Toolset for verifying concurrent and parallel programs, open-sourced by the University of Twente.
ThreadPoster Lightweight library for unit testing and expressive multithreading.

🗄 Data Storage and Management

🗄 Data Storage and Management: Covers various methods and technologies for storing, managing, and accessing data, including both traditional and modern database systems.

💾 Durable Storage

Name Description(Persistence layer library)
Apache Cassandra A highly scalable NoSQL database for handling large amounts of data across many commodity servers.
Apache HBase A distributed, scalable, big data store that provides random, real-time read/write access to large datasets.
ActiveJPA ActiveJPA is a Java library implementing the active record pattern on top of JPA, aiming to simplify data access layer programming.
Apache Commons DbUtils Apache Commons DbUtils is a set of utility classes for simplifying JDBC development.
Apache EmpireDB Empire-DB is a lightweight library for handling all aspects of relational data storage, manipulation, retrieval, and modeling.
Apache JDO Apache JDO is a standard API for accessing persistent data in a database using plain Java objects (POJOs).
Blaze Persistence Blaze Persistence is a rich Criteria API for JPA providers.
DataNucleus DataNucleus is a data persistence framework compatible with Java standards such as JDO and JPA.
Doma Doma is a DAO-oriented database mapping framework for Java.
Eclipse JNoSQL JNoSQL is a compliant implementation of Jakarta NoSQL and Jakarta Data specifications for integrating Java with NoSQL databases.
Eclipse Store EclipseStore is a Java-native persistence layer designed for cloud-native microservices and serverless applications.
FluentJPA FluentJPA is a LINQ technology for relational databases and JPA, allowing for strongly typed queries.
Hibernate Hydrate Hibernate Hydrate aims to populate the persistent entity graph to avoid LazyInitializationException.
Hypersistence Utils Hypersistence Utils provides utilities for Spring and Hibernate to enhance the data access layer.
Jdbi Jdbi offers convenient access to relational databases from Java and other JVM technologies.
Jinq Jinq provides a simple and natural way to write database queries in Java.
Kundera Kundera is a "polyglot object mapper" with JPA interfaces.
LitePal LitePal is an Android library for easy use of SQLite databases.
Morphia Morphia is a Java-based object-document mapper for MongoDB.
Objectify Objectify is a data access API designed specifically for Google Cloud Datastore.
Permazen Permazen is a persistence layer framework for SQL, key-value, or in-memory databases.
PulseDB PulseDB is a database mapping library providing transparent access to various database implementations.
QueryStream QueryStream allows execution of JPA queries using a Stream-like API.
Redis An in-memory data structure store used as a database, cache, and message broker.
Requery Requery is a lightweight, powerful object mapper and SQL generator for Java/Kotlin/Android.
Sql2o Sql2o is a small Java library that converts SQL statement results into objects.
UroboroSQL UroboroSQL is a simple SQL execution library compatible with Java 8.
Yank Yank is an ultra-lightweight JDBC persistence layer for Java applications.

📊 Relational Database

Name Description
AntsDB Low-latency, high-concurrency virtual SQL layer for HBase.
ArcadeDB Multi-model DBMS capable of processing millions of records per second on commodity hardware.
CrateDB Distributed SQL database for real-time storage and analysis of large amounts of data.
CreatorDB DBMS that includes storage, operators, optimization, transactions, indexes, etc.
Deephaven Community Real-time, time-series, column-oriented analytics engine with relational database capabilities.
H-Store Experimental main-memory parallel database system optimized for OLTP applications, developed by MIT and other institutions.
KarelDB Full-featured relational database powered by Apache Kafka.
PolarDB-X Cloud-native distributed SQL database designed for high concurrency and complex queries, open sourced by Alibaba.
Simple-DB-HW-2021 Implementation of MIT Database Course 6.830.
SimpleDB Implementation of UC Berkeley's CS186 database course.
Sqlg Tinkerpop3 implementation on RDBMS, supporting H2, HSQLDB, and PostgreSQL.
VanillaDB Single-node, multi-threaded relational database engine with partial SQL-92 standard support.
VoltDB Horizontally scalable, in-memory SQL RDBMS for high read and write throughput applications.
Wasp Distributed relational database similar to Google MegaStore & F1, open sourced by Alibaba.
YugabyteDB High-performance, cloud-native, distributed SQL database supporting PostgreSQL features.

📦 NoSQL Databases

Name Description
Apache Cassandra Highly scalable partitioned row store, originally open sourced by Facebook.
Apache HBase Distributed, versioned, column-oriented storage, open source version of Google Bigtable.
Apache IoTDB Data management system for time series data, led by Tsinghua University.
Apache Ignite Distributed database for high-performance computing at memory speeds, open sourced by GridGain.
BlobCityDB All-in-one database supporting local storage of data in various formats like JSON, XML, CSV, and more.
CorfuDB Consistency platform based around a shared log abstraction.
Datomic Distributed database and Datalog implementation.
DingoDB Distributed multimodal vector database combining features of data lakes and vector databases, open sourced by Jiuzhang Yunji.
Elassandra Apache Cassandra distribution with integrated Elasticsearch search engine.
ElephantDB Designed to export key/value data from Hadoop.
EvitaDB Low-latency NoSQL in-memory engine for e-commerce systems, open sourced by FG Forrest and University of Hradec Kralove.
EXistDB High-performance open source native XML database and application platform.
Infinispan Open source data grid platform and scalable NoSQL cloud data store, open sourced by RedHat.
JasDB Fast multi-platform NoSQL database with full Android support.
LevelDB Java rewrite of LevelDB with feature-complete implementation and performance close to the original C++ code.
OrientDB Multi-model NoSQL DBMS supporting graph, document, full-text search, and other concepts.
Paper Fast NoSQL-like store for Java/Kotlin objects on Android, with automatic schema migration support.
Sensei Distributed, elastic, real-time searchable database, open sourced by LinkedIn.
Terrastore Modern document store with advanced scalability and resiliency features. (Archive)
ToroDB NoSQL database running on top of RDBMS.

📊 OLAP Database

Name Description
Apache Doris High-performance, real-time analytical database based on the MPP architecture, open sourced by Baidu.
Apache Kylin Unified OLAP platform for Hadoop and cloud, contributed by eBay.
Apache Pinot Real-time distributed OLAP data store, open sourced by LinkedIn.
Apache Druid High-performance, real-time analytical database with sub-second queries on streaming and batch data, open sourced by MetaMarkets.
COOL Efficient OLAP engine for cohort and OLAP analysis of time series data.
CrateDB Distributed SQL database for real-time data storage and analysis.
StarRocks Next-generation data platform for fast and easy data-intensive real-time analysis, open sourced by Baidu Doris team.

📦 Embedded Database

Name Description
Apache Derby Open source embedded relational database implemented in Java.
Couchbase Android Lightweight, embeddable NoSQL database engine for Android.
HaloDB Fast, simple embeddable key-value store written in Java, open sourced by Yahoo.
H2 Embedded RDBMS written in Java.
HerdDB Distributed embedded database with data distributed across servers, requiring no shared storage.
JDBM3 Provides collections like TreeMap and HashMap backed by disk storage.
Keva JVM off-heap memory data store that can replace Redis.
LMDB Ordered, embedded, persistent key-value store using B+ trees.
MariaDB4j Java launcher for MariaDB, allowing use of MariaDB from Java without installation.
MapDB Provides concurrent Map, Set, List, and Queue backed by disk storage or off-heap memory.
Nitrite Open source NoSQL embedded document store with in-memory and file-based persistent storage.
ObjectBox Simple yet powerful library for Java and Kotlin.
PalDB Embeddable write-once key-value store written in Java, open sourced by LinkedIn.
Realm Mobile database running directly on devices like phones, tablets, or wearables.
QuickIO Java embedded database based on the LevelDB engine and Java NIO design.
SirixDB Embeddable, bi-temporal, append-only database system for immutable, lightweight snapshots.
Tupl High-performance, concurrent, transactional, scalable embedded database.
YoctoDB Tiny embeddable Java engine for extremely fast partitioned, post-build immutable databases, open sourced by Yandex.

📊 Time Series Database

Name Description
Apache Druid High-performance, real-time analytical database for time series data, open sourced by MetaMarkets.
Apache IoTDB IoT-native database with high-performance data management and analysis, led by Tsinghua University.
Atlas Manages multi-dimensional time series data for near real-time operational insights, developed by Netflix.
Chronicle-TimeSeries Multithreaded time series library.
ChronixDB Efficient and fast time series storage.
CrateDB Distributed SQL database for real-time data analysis.
FiloDB Distributed, real-time, in-memory, massively scalable time series/event database with Prometheus and some Spark support.
Heroic Monitoring system for collecting and analyzing metrics at scale and near real-time, built by Spotify.
KairosDB Fast, distributed, and scalable time series database built on top of Cassandra.
Newts Time series data store based on Apache Cassandra.
OpenTSDB Distributed, scalable time series database developed on HBase, open sourced by StumbleUpon.
QuestDB Time series database enabling high-throughput ingestion, fast SQL queries, and simple operations.
RRD4J High-performance data logging and graphing system for time series data in Java.
TimeBase High-performance time series database developed by Deltix.
Warp 10 Modular open source platform for IoT, designed for collecting, storing, and analyzing sensor data.

📦 Object Database

Name Description
ObjectDB Object database for Java with client-server and embedded modes.

📊 Datalog Database

Name Description
Datahike Persistent Datalog database with an efficient query engine.
DataScript Immutable in-memory Datalog query engine in Clojure and ClojureScript.
Datalevin Simple and persistent Datalog database.

📦 Other Databases

Name Description
Apollo Delphinius Experimental multi-tenant distributed system platform open sourced by Salesforce.
Cottontail DB Column store for multimedia retrieval with Boolean and vector space retrieval.
EmoDB RESTful HTTP server for storing and monitoring JSON objects, open sourced by Bazaarvoice.
JsonDB Pure Java database that stores data as JSON files.
KSqlDB Database for building stream processing applications on top of Kafka, open sourced by Confluent.
OpenLineage Open standard for metadata and lineage collection, designed to instrument jobs.
Polypheny-DB Adaptive Polystore providing access to heterogeneous data, originally a research project at the University of Basel.
RSQLDB Stream processing database based on RocketMQ, open sourced by Alibaba.
Simbase Vector similarity database similar to Redis, open sourced by Guokr Technology.
SnappyData Distributed, memory-optimized analytical database.
Whois Internet resource information database maintained by RIPE NCC.
XTDB General-purpose database with a bitemporal index.

🔄 Caching Tools

Name Description
Apache Commons JCS A distributed, versatile caching system.
BlazingCache A fast cache solution for distributed Java applications.
CarbonJ A high-performance cache designed for metric data points with low query latency.
Cache2K An in-memory, high-performance Java cache library.
Caffeine A high-performance, near-optimal caching library.
DiskLruCache A disk-based LRU cache, designed for Android.
Ehcache A standards-based open source cache that improves performance and scalability, open-sourced by Terracotta.
EVCache A caching solution based on Memcached, used in AWS EC2 to cache data, open-sourced by Netflix.
Guava Cache A local caching tool provided by the Google Guava library.
Imcache A Java caching library designed to speed up applications with efficient cache management.
Infinispan An open-source in-memory data grid with flexible deployment and data processing capabilities, open-sourced by RedHat.
JetCache A Java cache abstraction providing a unified interface for different cache solutions, open-sourced by Alibaba.
KCache A client library providing an in-memory cache backed by Kafka-compressed topics.
MicroStream A Java-native object graph persistence layer designed for microservices and serverless functions.
OHC An off-heap caching solution for Java.
RxCache A responsive caching library for Android and Java.

🔍 Database middleware

🔍 Database Middleware: Software that acts as an intermediary between applications and databases, facilitating data management, integration, and communication, including functionalities related to Stream Processing Platforms, ETL Tools, and Data Visualization.

🔍 Database Middleware

Name Description
Apache ShardingSphere A distributed SQL transaction and query engine allowing data sharding, scaling, and encryption.
Coral A SQL translation, analysis, and rewriting engine, open sourced by LinkedIn.
Elasticsearch JDBC A JDBC importer for fetching data from JDBC sources and indexing into Elasticsearch.
Gizzard A sharding framework for distributed data stores, open sourced by Twitter. (Archive)
Mongeez Manages changes to MongoDB documents, synchronizing them with code changes during deployments.
MySQL Binary Log Connector MySQL binary log connector in Java.
Open Replicator A high-performance MySQL binlog parser written in Java.
Raigad ElasticSearch backup/restore, deployment, and configuration management, open sourced by Netflix.
Redis Replicator A Redis replication tool supporting synchronization, psync, and psync2.
ReplicaDB An open-source tool for database replication, designed for efficient bulk data transfer between databases.
SymmetricDS Database replication and file synchronization software that is platform-independent and database-agnostic.

🔄 Stream Processing Platform

Name Description
Apache Beam A unified programming model for batch and streaming data processing, open sourced by Google.
Apache Flink A stream processing framework with powerful batch and stream processing capabilities.
Apache Gobblin A distributed big data integration framework for streaming and batch data ecosystems, open sourced by LinkedIn.
Apache Heron Twitter's real-time, distributed, fault-tolerant stream processing engine. (Archive)
Apache Kafka The most widely used distributed streaming platform, open sourced by LinkedIn.
Apache Nemo An optimized framework for distributed data stream processing, ensuring high performance and correctness.
Apache Pulsar A cloud-native distributed message streaming platform, open sourced by Yahoo.
Apache RocketMQ A cloud-native messaging and streaming platform by Alibaba for event-driven applications.
Apache Samza A distributed stream processing framework using Kafka for messaging and Hadoop YARN for fault tolerance.
Apache SeaTunnel A high-performance, distributed, massive data integration tool.
AthenaX A large-scale streaming analytics platform based on SQL, open sourced by Uber. (Archive)
BeepBeep An event stream query engine open sourced by the University of Quebec.
Dinky A one-stop real-time computing platform for stream batch processing, data lakes, and data warehouses.
Gearpump A lightweight real-time big data streaming engine, open sourced by Intel.
Hazelcast A real-time stream processing platform that enables immediate action on data.
Jet A distributed batch and stream processing engine by Hazelcast.
JStorm A distributed, fault-tolerant real-time computing system inspired by Storm and rewritten by Alibaba. (Archive)
LogIsland A scalable event mining platform for high throughput event handling.
NeonBee A responsive data flow engine and processing framework using Vert.x, open sourced by SAP.
Pravega An open-source stream storage system for unbounded data, open sourced by Dell.
Siddhi A cloud-native stream processing and complex event processing engine.
StreamFlow A tool for building and monitoring stream processing workflows, open sourced by Lockheed Martin.
Streamis A streaming application development and management system. (Language Chinese)
Stream Registry Stream discovery and orchestration service, open sourced by Expedia.
Summingbird A library that allows writing MapReduce programs in Scala or Java for execution on distributed platforms. (Archive)
Tigon A real-time, low-latency stream processing framework, open sourced by Google. (Archive)

🔄 ETL Tools

Name Description
Addax A versatile open-source ETL tool that can seamlessly transfer data between various RDBMS and NoSQL databases, ideal for data migration. Originated from Alibaba's DataX.
TIS Supports agile DataOps based on Flink, DataX, and Flink-CDC. Includes a Web-UI and is open-sourced by the Datavane big data organization.
Smooks An extensible Java framework for building snippet-based applications over XML and non-XML data (CSV, EDI, POJOs, etc.).
Kafka Connect File Pulse A multi-purpose Kafka connector for parsing, transforming, and streaming any file format to Apache Kafka.
Extract A cross-platform command-line tool for parallel, distributed content extraction.
Bender An extensible Java framework for creating Serverless ETL functions on AWS Lambda. (Archive)
Orbital A data gateway automating integration, transformation, and discovery of data across the enterprise.
LinkMove A model-driven, dynamically configurable framework for acquiring data from external sources and persisting it in a database.
Hydrograph A powerful ETL tool that allows developers to create complex graphs using a drag-and-drop interface.
LinkedPipes ETL A lightweight ETL tool based on RDF.
FHIR Data Pipes Pipelines for converting data from FHIR servers into data warehouses based on Apache Parquet files or other FHIR servers, open-sourced by Google.
Kettle An open-source ETL tool for extracting, cleaning, and transforming data.
Scriptella An open-source ETL and script execution tool written in Java.
Flowman An ETL framework powered by Apache Spark, simplifying the development of complex data pipelines.
WhiteRabbit A small application for analyzing database structures and content in preparation for designing ETL processes.
DataPull A self-service distributed ETL tool for connecting and transforming data from heterogeneous data stores.

📊 Data Visualization

Name Description
Prefuse A Java-based toolkit for building interactive information visualization applications, supporting a rich set of data modeling, visualization, and interaction capabilities.
Mirador A tool for identifying new hypotheses in complex datasets through visual exploration, developed by Stanford and Harvard.
Ananas A hackable data integration and analysis tool that enables non-technical users to edit data processing jobs and visualize data on demand.
Dex A powerful data visualization tool written in Groovy and Java on top of JavaFX, capable of powerful ETL and publishing web visualization.
MDSplus A set of software tools for data acquisition, storage, and management of complex scientific data.
AAChartCore An Android data visualization chart framework supporting various chart types like bar charts, line charts, and curve charts.

🛠 Big Data

🛠 Big Data: A collection of Java-based tools and frameworks for processing, managing, and analyzing large datasets.

📊 Big Data Framework

Name Description
Airbyte A leading data integration platform for ETL/ELT data pipelines from APIs, databases, and files to data warehouses, lakes, and lakehouses.
Apache Accumulo A sorted, distributed key/value store providing scalable data storage and retrieval, open-sourced by the U.S. National Security Agency.
Apache Bookkeeper A scalable, fault-tolerant, and low-latency storage service optimized for append-only workloads, developed by Yahoo Research.
Apache Calcite A dynamic data management framework that provides query processing, optimization, and query planning services.
Apache CarbonData An indexed columnar data storage solution for fast analytics on big data platforms like Apache Hadoop and Spark, open-sourced by Huawei.
Apache Cassandra A highly scalable partitioned row store, open-sourced by Facebook.
Apache Celeborn A resilient and high-performance service for shuffling and spilling data, open-sourced by Alibaba Cloud.
Apache Doris An easy-to-use, high-performance, real-time analytical database based on the MPP architecture, open-sourced by Baidu.
Apache Drill A distributed MPP query layer supporting SQL and alternative query languages for NoSQL and Hadoop data storage systems, open-sourced by LinkedIn, Cisco, and others.
Apache Flume A distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data, open-sourced by Cloudera.
Apache Geode A data management platform providing real-time, consistent access to data-intensive applications across widely distributed cloud architectures, open-sourced by GemStone.
Apache Hadoop A framework allowing distributed processing of large data sets across clusters of computers using simple programming models, open-sourced by Yahoo.
Apache HBase An open-source, distributed, versioned, column-oriented storage system, open-sourced by Powerset.
Apache Hive A distributed, fault-tolerant data warehouse system that enables large-scale analytics and helps manage PB-level data in distributed storage using SQL, open-sourced by Facebook.
Apache InLong A one-stop, full-scenario massive data integration framework supporting data ingestion, synchronization, and subscription, open-sourced by Tencent.
Apache Kylin A unified and powerful OLAP platform for Hadoop and cloud, contributed by eBay.
Apache Kyuubi A distributed multi-tenant gateway for providing Serverless SQL on data warehouses and lakehouses, open-sourced by NetEase Cloud Computing.
Apache Linkis A computing middleware layer between applications and engines like Spark, Hive, and Flink, open-sourced by WeBank.
Apache Nifi An easy-to-use, powerful, and reliable system for processing and distributing data, open-sourced by the U.S. National Security Agency.
Apache OODT A data management middleware framework enabling database connection, workflow processing, and hardware/file management, open-sourced by NASA's Jet Propulsion Laboratory. (Archive)
Apache Oozie An extensible, scalable, and reliable system for defining, managing, scheduling, and executing complex Hadoop workloads, open-sourced by Cloudera.
Apache Ozone A scalable, redundant, and distributed object storage for Hadoop and cloud-native environments, open-sourced by the Tencent Big Data team.
Apache Parquet A columnar storage format used by various Hadoop ecosystem projects, jointly open-sourced by Twitter and Cloudera.
Apache Phoenix A SQL layer over HBase, providing low-latency queries on HBase data, open-sourced by Salesforce.
Apache Pig A data flow programming environment for processing large files, open-sourced by Yahoo.
Apache Sedona A spatial computing engine that enables developers to process spatial data at any scale in cluster computing systems like Apache Spark and Flink, open-sourced by Arizona State University.
Apache Spark A multi-language engine for performing data engineering, data science, and machine learning on a single-node machine or a cluster, open-sourced by UC Berkeley.
Apache Storm A free and open-source distributed real-time computing system, open-sourced by Twitter.
Apache Zookeeper A centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services, developed by Yahoo Research.
Batch Processing Gateway A batch processing gateway simplifying the running of Spark services on Kubernetes, open-sourced by Apple.
Genie A federated big data orchestration and execution engine, developed by Netflix.
Pipes A data flow framework that can split, merge, filter, and transform data from input to output, open-sourced by Los Alamos National Laboratory.
Presto A distributed SQL query engine for big data, open-sourced by Facebook.
Scaleph An open data platform built on Flink and Kubernetes, supporting Flink and SeaTunnel task management and Doris cluster operation and maintenance on Kubernetes.
Scio A Scala API for Apache Beam and Google Cloud Dataflow, open-sourced by Spotify.
Snowplow A developer-first engine for collecting behavioral data.
SquashQL An open-source SQL query engine designed to simplify the process of building multi-dimensional queries.
Taier A big data development platform for task submission, scheduling, operation and maintenance, and indicator information display, open-sourced by Kangaroo Cloud.
Trino A fast, distributed SQL query engine for big data analysis, open-sourced by Starburst.
Venice A derivative data storage platform, open-sourced by LinkedIn.

🛠 Big Data Tools

Name Description
Ambrose A platform for MapReduce data workflow visualization and real-time monitoring, open sourced by Twitter. (Archive)
Apache Ambari A tool for configuring, managing, and monitoring Apache Hadoop clusters, open sourced by Hortonworks.
Apache AsterixDB A big data management system with a rich feature set, initiated by Michael Carey of the University of California, Irvine.
Apache Bigtop Designed for packaging, testing, and configuring leading open source big data components.
Apache Metron Integrates multiple big data technologies for centralized security monitoring and analysis, open sourced by Cisco. (Archive)
Apache TsFile A columnar storage file format designed for time series data, compatible with frameworks like Spark and Flink.
Cloudbreak Provides a comprehensive analytics and data management platform on cloud services, open sourced by Hortonworks.
Cassandra Reaper A tool for running Apache Cassandra repairs, open sourced by DataStax.
Data Generator A Java library for systematically generating large amounts of data, open sourced by FINRA.
Data Transfer Project Facilitates data transfer between online service providers, developed by Google and partners.
Deequ A library for defining data quality "unit tests" on large datasets, built on Apache Spark and open sourced by AWS.
Elephant Bird Twitter's library including Hadoop InputFormats, OutputFormats, and other tools related to LZO, Thrift, and Protocol Buffers.
Exhibitor Collaborative processing for ZooKeeper, including monitoring and visualization, open sourced by Netflix. (Archive)
Flink Spector Provides a framework for unit testing Apache Flink data flows.
GraphAr A standard data file format for graph data storage and retrieval, open sourced by Alibaba.
Haeinsa A multi-row, multi-table transaction library for HBase, open sourced by VCNC.
HiBench A benchmark suite for evaluating big data frameworks, open sourced by Intel.
Hollow A library for high-performance, read-only access to in-memory datasets, open sourced by Netflix.
Inviso A tool for searching Hadoop jobs, visualizing performance, and viewing cluster utilization, open sourced by Netflix.
KNIME A software for big data analytics launched by the University of Konstanz, Germany.
Lipstick Combines graphical descriptions of Pig workflows with relevant job execution information, open sourced by Netflix.
Metanome Provides efficient algorithms and tools for data analysis, developed by HPI and Qatar Computing Research Institute.
Priam A tool for managing Apache Cassandra clusters, open sourced by Netflix.
Quarkus QuickStarts Contains quickstarts for the Quarkus framework.
Spark RAPIDS RAPIDS accelerator for Apache Spark using GPUs to speed up processing, open sourced by NVIDIA.
Spark-JobServer Provides a RESTful interface for submitting and managing Apache Spark jobs, jars, and contexts.
Surus Analytical tools for Pig and Hive, open sourced by Netflix.
WInte.r A framework for data integration, including preprocessing, pattern matching, and data fusion.
YCSB Yahoo Cloud Services Benchmark Framework for database performance testing.
Yanagishima A web application for Trino, Hive, and Spark, open sourced by Yanagishima.

📦 Big Data Components

Name Description
Apache Apex A unified platform for big data stream and batch processing. (Archive)
Apache Griffin A big data quality solution supporting batch and streaming data quality detection.
Apache Hop An orchestration platform for data and metadata processes.
Apache Knox An application gateway for secure interaction with Hadoop clusters.
Apache ORC A columnar file format designed for Hadoop workloads.
Apache Tez A data processing pipeline engine for high-level abstractions like Hadoop MapReduce.
BitSail A high-performance, distributed data integration engine by ByteDance.
CDAP An integrated open-source application development platform for Hadoop.
DataSphere Studio A one-stop portal for data application development and management by WeBank.
DeltaFi A flexible, lightweight data transformation and normalization platform.
Dr.Elephant A performance monitoring and tuning tool for Hadoop and Spark.
DnA An end-to-end analytics solution for enterprises.
Elasticsearch Hadoop Integration of Elasticsearch with Hadoop for real-time search and analysis.
Egeria Provides an open metadata and governance type system and framework.
Embulk A parallel bulk data loader for transferring data between various storage systems.
Esper A component for complex event processing, streaming SQL, and event series analytics.
Firehose A cloud-native service for loading real-time streaming data from Kafka to data stores.
Fili A Java-based framework for building and maintaining RESTful web services for time series reporting.
IndexR An ultra-fast columnar data format on HDFS for fast analysis of large data sets.
Maxwell A change data capture application that reads MySQL binary logs and writes data changes to Kafka and other platforms.
Maha A framework for rapid reporting API development supporting high-cardinality dimension lookups.
MR4C A framework for running native code within Hadoop's execution framework. (Archive)
OpenHuFu A data federation system supporting multi-database collaborative queries with security guarantees.
OpenLooKeng An embedded engine for on-site analysis of geographically remote data sources.
Rakam An analytics platform for creating analytics services.
Secor A service for persisting Kafka logs to various cloud storage solutions.
Shuttle Provides remote shuffle functionality for distributed file systems.
Stocator A high-performance connector for Apache Spark object storage.
Stroom A data processing, storage, and analysis platform.
TrainDB An ML-based engine for approximate query processing in seconds.

📁 File Operation

File Operation involves managing file system interactions, including uploading files, performing various file operations (like reading and writing), and comparing file contents. Here’s the updated and formatted list for file systems, file uploads, file operations, and file comparison:

📁 File System

Name Description
ADFS An evolved version of Hadoop with high availability and automatic restart, open sourced by Alibaba.
Amazon S3 FileSystem NIO2 Amazon AWS S3 file system provider for Java 7 (NIO2).
Apache Commons VFS A virtual file system library for Java.
Google NIO Filesystem Java client for Google Cloud Storage's NIO file system provider.
HDFS A framework for distributed processing of large data sets across clusters, open sourced by Yahoo.
JNR FUSE A FUSE implementation in Java using Java Native Runtime.
JavaFS Java file system powered by FUSE.
Memory File System An in-memory file system implementation for testing.
NFS4J A pure Java implementation of NFS server versions 3, 4.0, and 4.1.
ParallelGit High-performance Java NIO in-memory file system for Git.
RubiX A lightweight data caching framework for big data engines.
S3FS NIO Implementation of Amazon AWS S3 file system provider for JSR-203 using Java 8.
SDFS A deduplicated file system that stores data in object or block storage.
XtreemFS A distributed, replicated, and fault-tolerant file system for federated IT infrastructures.

📁 File Upload

Name Description
Apache Commons FileUpload A library for adding multipart file upload functionality to Servlet and Web applications.
AWS S3 OutputStream Allows multipart uploads to AWS S3 buckets via java.io.OutputStream.
FastUpload A high-performance component for multipart file uploads based on RFC1867.
NIO-Multipart A Java library for handling multipart requests and responses in a non-blocking manner.
Upload Parser A file upload library for Servlet and Web applications.

📁 File Operations

Name Description
AppDirs Provides paths to platform-dependent special folders/directories for Java.
Directory Watcher Directory monitoring utility for JDK 8+ that provides recursive monitoring for multiple operating systems.
FSWatch Java library for monitoring directories or files based on java.nio.file.WatchService.
Wildcard Java library for efficient pattern matching on files and directories.

🔍 File Comparison

Name Description
Diff Utils Library for performing comparison operations between texts and generating diffs.
DiffPlug A free tool for text and image comparison.
GumTree A code diffing tool for analyzing and visualizing differences in code.

📨 Messaging

📨 Messaging: Systems and tools for enabling communication between distributed applications and services, including Kafka for high-throughput event streaming and MQTT for lightweight IoT messaging.

🔗 Kafka Ecosystem

Name Description
AKHQ Kafka GUI for managing topics, topic data, consumer groups, schema registry, and more.
CMAK A tool for managing Apache Kafka clusters, open sourced by Yahoo.
Confluent Schema Registry Confluent's schema registry for Kafka.
Cruise-control Tool for managing and scaling Kafka clusters, open sourced by LinkedIn.
Decaton Streaming task processing framework built on Apache Kafka, open sourced by Line.
Jikkou Tool for managing, automating, and configuring resources on event streaming platforms.
Kafdrop Web UI for viewing Kafka topics and browsing consumer groups.
KCenter Platform for Kafka cluster management, maintenance, and monitoring.
Kafka REST Proxy Provides a RESTful interface for a Kafka cluster, facilitating data production, consumption, and management.
Kafka-Sprout Web GUI for quickly starting Zookeeper and Kafka servers locally.
Klaw Self-service Apache Kafka topic management and governance tool.
Kstreamplify Java library for creating Kafka Stream-based applications with additional features.
Mirus Cross-data center replication tool for Apache Kafka, open sourced by Salesforce.
Reactor Kafka Reactor-based Kafka driver for reactive applications.
Strimzi Runs Kafka clusters on Kubernetes or OpenShift, open sourced by RedHat.
Xinfra-Monitor Framework for implementing and executing Kafka system tests in real clusters, open sourced by LinkedIn.

🔗 MQTT

Name Description
ActiveMQ Artemis Next generation message broker of ActiveMQ, supporting MQTT.
AndrOBD Android app to connect to a car's OBD system via ELM327 adapter.
BifroMQ High-performance distributed MQTT proxy with multi-tenant support, open sourced by Baidu.
EnMasse Messaging platform on Kubernetes and OpenShift with a unified interface. (Archive)
HiveMQ Foundation of HiveMQ enterprise connectivity and messaging platform.
Jmqtt MQTT Broker implemented in Java and Netty, supporting persistence and clustering.
Moquette MQTT broker supporting QoS 0, 1, and 2.
MQTT-Client MQTT client API with automatic reconnect and session resume.
RocketMQ MQTT MQTT protocol architecture model for RocketMQ, supporting IoT and mobile apps.

☁️ Cloud and DevOps

☁️ Cloud and DevOps: Encompasses technologies and practices for managing and deploying applications across cloud platforms, including cloud computing, cloud-native solutions, serverless architectures, containerization tools, Docker clients, DevOps practices, and cloud services.

☁ Cloud Computing

Name Description
Apache CloudStack A scalable, open-source IaaS platform for deploying and managing virtualized data centers.
CloudSim A simulation framework for modeling and analyzing cloud computing environments.
CloudSimPlus An enhanced simulation framework for cloud computing, providing modern features and extensive documentation.
DLSF A deep learning-based scheduler for stochastic fog and cloud computing environments.
PureEdgeSim A simulation framework for evaluating performance in cloud, edge, and fog computing environments.

☁ Cloud Native

Name Description
Buildpacks Tools for transforming application source code into container images that can run on any cloud.
GeoServer Cloud A Dockerized version of GeoServer for cloud deployment and management.
Kogito A business automation platform designed for cloud-native development and deployment.
Linkerd A lightweight, transparent service mesh for managing microservices traffic.
Micro Integrator A lightweight integration runtime for hybrid cloud and on-premise environments.
Simian Army Tools to improve the reliability and resilience of cloud infrastructures. (Archive)

🌩 Serverless

Name Description
Apache EventMesh A serverless event middleware for building distributed event-driven applications.
Flink Stateful Functions An API for building distributed, stateful applications in a serverless architecture.
Function Framework Java A framework for writing portable Java functions for serverless platforms.
Open Runtimes A runtime environment for serverless computing supporting multiple programming languages.
Pulumi AWS A resource provider for AWS, allowing integration of AWS resources into cloud applications.
Serverless Java Container Tools for running Java applications in AWS Lambda with various frameworks.
Spring Cloud Function A framework for building serverless functions using Spring Boot.
SOFAServerless A modular architecture for serverless computing to enhance enterprise efficiency. (Archive)

📦 Containerization Tools

Name Description
Cattle Orchestration engine for Rancher, managing metadata and external system orchestration. (Archive)
Dekorate Tool for generating Kubernetes-related manifests.
Dockerfile Maven Maven tools for working with Dockerfiles, open sourced by Spotify. (Archive)
Docker Maven Plugin Maven plugin for creating and running Docker images.
Eclipse JKube Plugins and libraries for building container images using Docker, JIB, or S2I build strategies.
Helios Docker orchestration platform for deploying and managing containers, open sourced by Spotify. (Archive)
HyScale Application-centric abstraction framework based on Kubernetes.
Jib Builds optimized Docker and OCI images for Java applications without a Docker daemon.
Kubernetes Operators Framework for implementing Kubernetes Operators in Java.
StackGres Full-stack PostgreSQL distribution for Kubernetes with tuned components.
Styx Service for triggering periodic calls to Docker containers, open sourced by Spotify. (Archive)
Terrakube Collaborative platform for remote infrastructure as code operations using Terraform or OpenTofu.

🐳 Docker Client

Name Description
Docker Client Docker HTTP client for the JVM written in Groovy.
Docker Java Official Java Docker client.
Docker Java API Lightweight Docker client library for Java.
Spotify Docker Client Docker client written in Java, used in many Spotify systems. (Archive)

🔧 DevOps

Name Description
Dubbo Admin Console for visualizing Dubbo services, compatible with multiple Dubbo versions.
EazyBuilder Complete DevOps platform for cloud-native architecture, open sourced by iSoftStone.
Hinemos Integrated system management software for monitoring and job management, open sourced by NTT Data.
Kardio Tool for performing health checks on endpoints, open sourced by T-Mobile.
MSEC Backend DevOps engine with monitoring, release, and capacity management, open sourced by Tencent. (Archive)
MoSKito System for monitoring the performance and behavior of Java web applications.
OneOps Cloud management platform for automated operations development, sponsored by Walmart.
Pallet Tool for configuring and maintaining servers across cloud and VM infrastructures.
Rundeck Automation service with a web console, command line tools, and API for running tasks.
Suricate Application for monitoring environments through customizable dashboards, open sourced by Michelin.
Uyuni System management solution derived from Spacewalk.

☁ Cloud Services

Name Description
Alfresco Cloud-native content services platform.
Apache Stratos Multi-language, multi-environment support platform for IaaS runtimes. (Archive)
AWS SaaS Boost Core software elements for running SaaS workloads in the cloud, open sourced by Amazon.
Eclipse Dirigible High-productivity PaaS with built-in web development tools and low-code technologies.
Eucalyptus Open source software for building private and hybrid clouds compatible with AWS.
Gaia Terraform UI for Terraform modules and self-service infrastructure.
Nomulus Scalable, cloud-based service for operating top-level domains (TLDs), open sourced by Google.
Paladin Cloud Cloud security platform for discovering blind spots in cloud security.
XGVela 5G cloud-native PaaS platform initiated by China Mobile.

☁ Spring Cloud Ecosystem

Name Description
Spring Cloud Alibaba A one-stop solution for distributed application development with Spring Cloud, provided by Alibaba.
Spring Cloud AWS Simplifies the use of AWS managed services in Spring and Spring Boot applications.
Spring Cloud Azure Integrates Spring with Azure services, developed by Microsoft.
Spring Cloud GCP Makes the Spring Framework a first-class citizen on the Google Cloud Platform.
Spring Cloud Huawei Facilitates efficient microservices development using Spring Cloud, provided by Huawei.
Spring Cloud Netflix Provides Netflix OSS integration for Spring Boot applications through auto-configuration and binding to the Spring Environment.
Spring Cloud OCI Simplifies integration with Oracle Cloud Infrastructure services using the internal OCI Java SDK.
Spring Cloud Services Starters A curated set of dependencies for use with Spring Cloud Services in a Pivotal Cloud Foundry environment.
Spring Cloud Tencent A one-stop microservice solution that integrates Spring Cloud with Tencent middleware.

🔧 Workflow Orchestration Engines

Name Description
Cadence A stateful code platform from Uber, designed for running fault-tolerant workflows at scale.
flowable A compact and efficient workflow and business process management platform.
Temporal A microservice orchestration platform, forked from Cadence, but based on gRPC to improve performance and scalability.

🛠 Distributed Applications

Name Description
Apache Geode An in-memory data management system providing reliable asynchronous event notifications and guaranteed message delivery.
Apache Storm A real-time computation system designed for distributed processing of large data streams.
Apache ZooKeeper A coordination service for distributed systems offering distributed configuration, synchronization, and naming registry.
Atomix A fault-tolerant distributed coordination framework for building distributed systems.
Axon A framework for creating event-driven and CQRS-based applications.
Dropwizard Circuit Breaker A circuit breaker pattern implementation for the Dropwizard framework.
Failsafe A simple, lightweight library for failure handling, including retries and circuit breakers.
Hazelcast A highly scalable in-memory data grid with distributed computing capabilities.
JGroups A toolkit for reliable messaging and cluster creation in distributed applications.
OpenIG A high-performance reverse proxy server with advanced session management and credential replay functionality.
Quasar A lightweight thread and actor model implementation for the JVM.
resilience4j A functional fault tolerance library providing resilience patterns like retries, circuit breakers, and bulkheads.
ScaleCube Services An embeddable library for cluster membership and service discovery based on the SWIM protocol.
Zuul A gateway service providing dynamic routing, monitoring, resiliency, and security, developed by Netflix.

🔄 Distributed Transactions

Name Description
Acku A distributed transaction library supporting MQ transactions, TCC, and eventual consistency.
Apache ServiceComb Pack An eventual data consistency solution for microservices, supporting TCC and Saga patterns.
Apache ShardingSphere A distributed SQL transaction and query engine supporting data sharding, expansion, and encryption.
Atomikos A distributed transaction manager supporting JTA and XA for microservices and RESTful applications.
AtlasDB A transactional layer built on top of key-value stores, offering cross-database transactions.
Bitronix A simple and complete implementation of the JTA 1.1 API for distributed transactions.
ByteJTA A distributed transaction manager based on the XA/2PC mechanism.
ByteTCC A distributed transaction manager using the TCC (Try-Confirm-Cancel) mechanism.
EasyTransaction A distributed transaction solution supporting TCC, SAGA, reliable messaging, and compensation patterns.
Eventuate Tram Sagas A Saga framework for distributed transactions in microservices, supporting Spring Boot and Micronaut.
Hmily A distributed transaction solution following the TCC mechanism, open-sourced by the dromara community.
LCN A distributed transaction framework compatible with Spring Cloud, Dubbo, and Motan.
Multiverse A software transactional memory implementation for the JVM, enabling distributed transactions.
Myth A distributed transaction framework using message queues to ensure data consistency.
Narayana A transaction toolkit supporting JTA, JTS, and other standards for traditional ACID and compensation transactions.
Raincat A strongly consistent distributed transaction framework based on the TCC model.
Scalardb A cross-database HTAP engine providing distributed transactions across different data stores.
Seata A distributed transaction solution providing high-performance and easy integration with microservices.
TAPIR A protocol for linearizable distributed transactions, leveraging replication without traditional consistency guarantees.
TCC Transaction A distributed transaction solution based on the TCC (Try-Confirm-Cancel) model, optimized for microservices.
Transaction Outbox A flexible implementation of the outbox pattern for ensuring consistency between transactions and events.
Txle A distributed transaction solution ensuring eventual consistency for business data.

🔍 Performance and Monitoring

🔍 Performance and Monitoring: Techniques and tools used to measure, analyze, and optimize software performance, including application monitoring, tracing, metrics collection, and various diagnostic methods.

📊 APM

Name Description
Apache SkyWalking An open source APM system that provides monitoring, tracing, and diagnostic capabilities for distributed systems in cloud-native architectures.
Digma A continuous feedback platform that integrates observability with development.
Elastic APM Java agent for Elastic APM, providing application performance monitoring capabilities.
Fiery An APM tool for PHP, open sourced by Weibo. (Archive)
Hertzbeat An open source real-time monitoring system with custom monitoring and Prometheus compatibility.
HoloInsight A cloud-native observability platform focusing on real-time log analysis and AI integration.
Hypertrace An observability platform based on cloud-native distributed tracing.
InspectIT An open source APM tool for monitoring and analyzing Java (EE) applications.
Kamon Libraries for instrumenting JVM applications to provide observability.
Matrix A performance monitoring APM used in Tencent WeChat to identify and analyze performance issues.
New Relic Java Java agent for New Relic's APM services.
OzHera An application observability platform for the cloud-native era.
Scouter An open source APM similar to New Relic and AppDynamics.
Stagemonitor An open source solution for Java server application performance monitoring. (Archive)
Zipkin A distributed tracing system that helps with monitoring and troubleshooting applications.

🔍 Distributed Tracing

Name Description
Brave A distributed tracing instrumentation library.
HoloInsight Focuses on distributed tracing and real-time log analysis.
OpenTelemetry Provides instrumentation for distributed tracing in Java applications.
Pinpoint A distributed tracing tool for large distributed systems written in Java.
Spring Cloud Sleuth Provides distributed tracing for Spring Boot applications.
Wingtips Java distributed tracing solution based on Google's Dapper paper.
Micrometer Tracing Provides tracing facade for Micrometer metrics.
Cicada Distributed tracing system based on Google Dapper paper. (Archive)
PerfMark A low-overhead, manually-instrumented Java tracing library.

📊 Metrics Report

Name Description
Argus Time series monitoring and alerting platform for metrics and events. (Archive)
Blueflood A distributed metrics processing system that aggregates and serves metrics at scale.
Dropwizard Metrics Toolkit for measuring the behavior of key components in a production environment.
ElasticSearch Metrics Metrics reporter that sends metrics to an ElasticSearch server.
InfluxDB Metrics Metrics reporter for InfluxDB.
Keycloak Metrics Adds metrics endpoint to Keycloak for Prometheus scraping.
Micrometer Provides a facade for popular observability systems to instrument JVM applications.
OpenMessaging Java Runtime interface for Java applications.
PerfMon Agent for accessing system metrics on remote machines.
Prometheus Java Prometheus instrumentation library for JVM applications.
Spectator Library for recording metrics for dimensional time series.
SOFALookout Project for measuring and monitoring systems using multi-dimensional metrics.
Tritium Library for instrumenting applications for better runtime observability.
Jmxtrans JMX metrics exporter based on Java agent.
Servo Provides a simple interface for exposing and publishing Java application metrics.
Hawkular Metrics Metrics data storage engine as part of the Hawkular community.
Oculus Component of the Etsy Kale system for metrics. (Archive)

📊 Registration Center

Name Description
Apache Zookeeper A centralized service for maintaining configuration information, naming, distributed synchronization, and group services.
Eureka A RESTful service for service discovery, load balancing, and failover, mainly used in the AWS cloud.
JHipster Registry A registry service based on Spring Cloud Netflix Eureka and Spring Cloud Config for JHipster applications.
SnoopEE An experimental registration and discovery service for Java EE-based microservices. (Archive)

🔍 Performance Analysis

Name Description
BTrace A secure, dynamic tracing tool for the Java platform.
Cryostat A tool for generating, analyzing, and retrieving JDK Flight Recorder data.
Eclipse Trace Compass An application for solving performance and reliability problems by analyzing system logs or traces.
HdrHistogram Supports recording and analyzing sampled data values in a configurable integer value range.
JMX Exporter Exposes JMX beans over HTTP for Prometheus.
JOL A toolbox for analyzing object layout in the JVM.
Kamon A set of libraries for instrumenting JVM applications.
Kieker Provides dynamic analysis capabilities for monitoring and analyzing runtime behavior of software systems.
LatencyUtils Tools for measuring and reporting latency.
MySQL Performance Analyzer Performance monitoring and analysis for MySQL, open sourced by Yahoo.
PerfJ A wrapper for Linux Perf for Java programs.
RemoraJ An extensible Java analysis agent that uses bytecode instrumentation for IPC call interception.
Spring Boot Startup Report Generates interactive Spring Boot application startup reports to optimize startup time.
Spring Startup Analyzer Generates interactive Spring application startup reports for performance optimization.
Sysmon A lightweight platform monitoring tool for the JVM, open sourced by Palantir. (Archive)
Takin A performance testing system for microservices, especially in online measurement or test environments.
DJigger A performance analysis and monitoring solution for Java applications with a 24/7 sampler.
Hawtio A lightweight, modular web console for managing Java applications, open sourced by IBM.

🔍 GC Log Analysis

Name Description
Eclipse Jifa An online analysis tool for analyzing Java heap dumps, GC logs, thread dumps, and JFR files, open sourced by Alibaba.
GCGC Analyzes GC log files using the Jupyter Notebook interface, open sourced by Apple.
GCPlot A Java garbage collector (GC) log analyzer.
GCToolkit A set of libraries for analyzing HotSpot Java GC log files, open sourced by Microsoft.
GCViewer A tool to visualize GC output generated by various Java virtual machines.
Gchisto A Hotspot JVM garbage collection log visualization tool.
GarbageCat A command-line tool for parsing and analyzing Java GC logging to support JVM tuning and troubleshooting.
Heapothesys A collection of JVM garbage collection workloads developed by Amazon Corretto.
JITWatch A log analyzer/visualizer for the Java HotSpot JIT compiler.
JVM GC Logs Analyzer A Java Virtual Machine and GC logs analyzer dedicated to JVM 11 and later.

🧠 Heap Dump

Name Description
Heap Dump Tool Captures and cleans sensitive data from Java heap dumps, open sourced by PayPal.

🔄 Thread Dump

Name Description
FastThread A tool for analyzing Java thread dumps.
Java Thread Dump Analyzer A thread dump analyzer written in JavaScript, open sourced by Spotify. (Archive)
MJProf A toolset for analyzing thread dumps using monadic blocks.
TDA A Swing GUI for analyzing thread dumps and heap information generated by the Java VM.

🧩 Object Measurement

Name Description
Jamm Provides MemoryMeter, a Java agent for measuring object memory usage, including JVM overhead.
Sizeof A library to get the size of a Java object instance in bytes.
Sizeofag A Java agent for determining the size of Java objects within the JVM at runtime.

🔥 Flame Graph

Name Description
Flamegrapher A front-end for Java Flight Recorder allowing you to manage JFR recordings from your browser.
JFR-Flame-Graph Reads method profiling examples from Java Flight Recorder dumps and converts them to a FlameGraph format.
JavaFlame Simple flame graphs for Java without needing a server or open connections.

🚀 High Performance

Name Description
Agrona Data structures and utilities for high-performance applications.
Disruptor A high-performance inter-thread messaging library.
Eclipse Collections Java collections framework inspired by Smalltalk, designed for performance.
fastutil A collection of fast and compact type-specific collections.
HPPC A collection library with primitive specializations for high-performance use cases.
JCTools High-performance concurrency tools not available in the JDK.
Koloboke High-performance Java collections framework with primitive specializations.
Java Chronicle Low-latency, high-performance messaging and persistence framework.
Trove4j Fast, efficient collections for primitive data types.
Jool A set of functional extensions to Java 8, providing high-performance, lazy evaluation streams.
GS Collections Forked from Eclipse Collections, focused on high-performance, memory-efficient collection operations.

🛠 Fault Tolerance and Resilience

🛠 Fault Tolerance and Resilience: encompasses strategies and tools to ensure systems remain operational and recover quickly from failures, including techniques for fault-tolerant components and chaos engineering.

🛠 Fault-Tolerant Components

Name Description
Bucket4j Java library for rate limiting based on the token bucket algorithm.
Concurrency Limits Java library implementing TCP congestion control concepts to manage service concurrency limits. Open sourced by Netflix.
Failsafe Lightweight library for handling failures in Java with a concise API for common use cases.
Hystrix Latency and fault tolerance library for isolating access points to remote systems and preventing cascading failures. Open sourced by Netflix.
MicroProfile Fault Tolerance Fault tolerance component provided in MicroProfile.
Resilience4j Fault tolerance library designed for Java 8 and functional programming.
Token-Bucket Library providing an implementation of the token bucket algorithm.

🛠 Chaos Engineering

Name Description
Byte Monkey Small Java library for testing failure scenarios in JVM applications.
Mangle Tool for running chaos engineering experiments on applications and infrastructure components. Open sourced by VMware.
OpenChaos Unified API for chaos engineering in cloud-native environments. Initiated by Alibaba.

🔐 Security Libraries

Name Description
AntiSamy Library for fast, configurable sanitization of HTML from untrusted sources.
Auth0 Java Java client library for the Auth0 platform.
Athenz Platform for X.509 certificate-based service authentication and fine-grained access control.
Apache Shiro Java security framework for authentication, authorization, encryption, and session management.
Bouncy Castle All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations.
DependencyCheck Detects publicly disclosed vulnerabilities contained within a project's dependencies.
Fosstars Rating Core Framework for defining and calculating open source project ratings.
Hdiv Runtime application that addresses OWASP Top 10 risks including SQL injection, cross-site scripting, and more.
Java-TOTP Library for generating and verifying time-based one-time passwords.
Keywhiz System for distributing and managing secrets.
Microsoft Authentication Library Library for integrating with the Microsoft identity platform.
NTRU Java implementation of NTRUEncrypt and NTRUSign.
OpenAS2 Java-based implementation of the EDIINT AS2 standard for secure data exchange.
OpenJSSE JSSE provider supporting TLS 1.3.
Passay Password policy implementation for Java.
PowerAuth Protocol for key exchange and request signing with high security requirements.
RFC3161 Timestamping Server Timestamping authority/server compliant with RFC 3161.
SecurityBuilders Fluent API builders for java.security classes with a more type-safe and intuitive API.
Soteria Implementation of Jakarta Security.
TLS-Attacker Framework for analyzing TLS libraries.
Themis High-level cryptographic library for secure messaging and data storage.
Tink Provides a simple and misuse-proof API for common cryptographic tasks. (Archive)

🔒 Authentication and Authorization

Name Description
Aegis Secure and open source Android 2FA application.
Apache Syncope System for managing digital identities in enterprise environments.
AndOTP Open source two-factor authentication app for Android. (Archive)
AuthzForce Attribute-based access control (ABAC) framework compliant with OASIS XACML standard.
Google Auth Library Java client library for Google authentication services.
Iridium OAuth 2.x compliant Customer Identity and Access Management system.
jCasbin Access control library supporting various models for Java projects.
Keycloak Integrated SSO and IDM for browser apps and RESTful web services.
Line FIDO2 Server Open source FIDO2 implementation certified by the FIDO Alliance.
MidPoint Comprehensive identity governance and administration platform.
OpenAM Access management solution including authentication, SSO, and authorization.
OpenID4Java Library for enabling OpenID in Java web applications.
PowerAuth Server Backend application implementing the PowerAuth protocol cryptography.
SAML Java Adds SAML support to Java applications.
Sureness Security framework focusing on REST API protection.
Topaz Open source authorization service for fine-grained, real-time policy-based access control.
UAF Strong Authentication Framework for leveraging native security features of devices.
Vertx-Auth Authentication implementations for Vert.x and common authentication interfaces.
WSO2 Identity Server Identity and access management solution for enterprise and cloud environments.
WebAuthn4J Portable Java library for WebAuthn server-side authentication.
UAA Multi-tenant identity management service for Cloud Foundry and standalone OAuth2 server.

🔐 JWT Library

Name Description
JJWT Easiest library for creating and validating JWTs and JWKs on the JVM and Android.
Java-JWT Java implementation of JWT.
Jose4j Open source implementation of JWS, JWE, JWA, and JWK from the IETF JOSE working group.
Nimbus-JOSE-JWT JWT library for Java and Android.
FusionAuth JWT Simple Java library for verifying, signing, encoding, and decoding JWT.
JWT Lightweight Kotlin JWT implementation.
JWT-Java Create and parse JWTs using a fluent API.
JWT-Resource-Server Tools for a synchronous OpenID resource server using Access Tokens for authorization.

🔒 OAuth Libraries

Name Description
Apache Oltu A Java language implementation of the OAuth protocol by Apache.
AppAuth Android client SDK for OAuth 2.0 and OpenID Connect providers.
Google OAuth Client A powerful and easy-to-use Java library for OAuth 1.0 and 2.0, developed by Google.
Java Authorization Server An authorization server implementation in Java that supports OAuth 2.0 and OpenID Connect.
JOAuth A Java library for authenticating HTTP requests using OAuth, developed by Twitter.
Keycloak Open source identity and access management solution for modern applications and services.
Light-OAuth2 A fast, lightweight, cloud-native OAuth 2.0 server built on the Light-4j framework. (Archive)
MITREid-Connect OpenID Connect identity provider and OAuth 2.0 authorization server.
OAuth2-Essentials A simple OAuth2 client implementation based on Http-Client-Essentials.
OxAuth Open source OpenID Connect Provider and UMA Authorization Server.
Pac4j A simple and powerful Java security framework that supports OAuth, CAS, SAML, OIDC, LDAP, and JWT.
ScribeJava Simple and intuitive OAuth library for Java.
Signpost A simple solution for signing HTTP messages compliant with OAuth 1.0a on the Java platform.
Spring Authorization Server A framework for implementing OAuth 2.1 and OpenID Connect 1.0 specifications.
SuperTokens An open source alternative to Auth0, Firebase Auth, and AWS Cognito.
Tokens A Java library for validating and storing OAuth 2.0 service access tokens, open-sourced by Zalando.
UAA A multi-tenant identity management service used in Cloud Foundry, also functioning as a standalone OAuth2 server.

🔒 Encryption Library

Name Description
AES A cross-language encryption library that provides the ability to encrypt and decrypt data using a single algorithm across different platforms.
ACME4J A Java client for the ACME protocol, used for obtaining certificates from Let’s Encrypt.
Apache Commons Crypto An encryption library optimized for AES-NI, providing Java APIs for both cipher and Java stream levels.
BouncyCastle Java The Java distribution of BouncyCastle, providing cryptographic operations and implementations.
Clusion A searchable cryptographic library from the Cryptosystems Lab at Brown University.
Conscrypt A Java security provider implementing parts of the Java Cryptography Extension (JCE) and Java Secure Sockets Extension (JSSE), developed by Google.
CredHub An API for securely storing, generating, retrieving, and deleting various types of credentials.
Cryptacular A friendly supplement to the BouncyCastle Java encryption API.
Cryptomator Provides multi-platform, transparent, client-side encryption for files stored in the cloud.
Encryptor4j A set of wrappers and utility classes to make it easier to leverage encryption technology in Java applications.
FRESCO A framework for efficient and secure computation in Java.
I2P An anonymity network that provides a secure communication layer for identity-sensitive applications.
Jasypt A Java library that simplifies adding cryptographic functionality to projects with minimal effort.
JNCryptor Java implementation of RNCryptor for encrypting data.
KeePassJava2 A Java API for the KeePass password database.
Keyczar An easy-to-use encryption toolkit, developed by Google. (Archive)
Lazysodium Java implementation of the Libsodium cryptography library.
MPC4j An efficient and easy-to-use secure multi-party computation (MPC) and differential privacy (DP) library, open-sourced by Alibaba.
Password4j A user-friendly cryptographic library for encrypting and verifying passwords using various KDFs and CHFs.
PrimiHub Platform A multi-party computation and multi-party joint task security scheduling platform for MPC and FL peer-to-peer services.
Themis A high-level cryptographic library providing secure messaging, data storage, and forward secrecy, open-sourced by Xiaomi.
Tink A multi-language, cross-platform cryptographic library offering a secure API, developed by Google. (Archive)
Wycheproof A project testing cryptographic libraries against known attacks, developed by Google.
XiPKI A highly scalable and high-performance open-source PKI (CA and OCSP responder).

🔐 Password Library

Name Description
Nbvcxz A password strength estimator library in Java.
Zxcvbn4j Java port of zxcvbn, a JavaScript password strength estimator.
Google Authenticator One-time password generator implementations for multiple platforms, open-sourced by Google. (Archive)
OTP-Java A small, easy-to-use Java one-time password generator implementing RFC 4226 and RFC 6238.
Java-OTP Java library for generating HOTP (RFC 4226) and TOTP (RFC 6238) one-time passwords.
OneTrickPony A modern Java library for implementing one-time passwords (OTP).
1Time Lightweight Java/Kotlin implementation of RFC-6238 and RFC-4226 for generating and verifying TOTP, open-sourced by Atlassian.
Password4j User-friendly cryptographic library supporting various hash functions.
Passay Enforces password policies by validating against a configurable rule set.
RandPassGenerator Command-line utility for generating random passwords, passphrases, and raw keys, open-sourced by the NSA Cybersecurity Directorate.

🔒 Encryption Algorithm

Name Description
Kalium Java bindings for the Networking and Cryptography (NaCl) library. (Archive)
EdDSA-Java Java implementation of EdDSA.
Dilithium Experimental Java implementation of the post-quantum encryption algorithm Dilithium.
jBCrypt Java implementation of the OpenBSD Blowfish password hashing algorithm.
Bcrypt Standalone Java implementation of the bcrypt password hash function.
Argon2-JVM Argon2 bindings for the JVM.
2FA 2-factor authentication Java code using the TOTP algorithm.
XXTEA-Java Java library for the XXTEA fast and secure encryption algorithm.
Tencent Kona SM Suite Java security providers supporting SM2, SM3, SM4 algorithms, and TLCP/GMSSL, TLS 1.3, and TLS 1.2 protocols, developed by Tencent.
Themis High-level cryptographic library for secure messaging and data storage.
Tink Simple and misuse-proof API for cryptographic tasks.
Chronicle-Salt Chronicle wrapper for the NaCl library.
Tongsuo-Java-SDK Java security provider implementing parts of the Java Cryptography Extension and Java Secure Socket Extension.
Hash4j Java library with various non-cryptographic hash algorithms and data structures based on high-quality hash functions.
Homomorphic Encryption Contains ElGamal, Paillier, Goldweiser-Micali, and DGK homomorphic encryption systems, open-sourced by Florida International University.

🖊 Electronic Signature

Name Description
Apache Santuario Library implementing the XML Digital Signature and XML Encryption specifications, developed by Apache.
Apache Shiro Performs authentication, authorization, cryptography, and session management.
Bouncy Castle Cryptographic library offering a range of functions, including electronic signatures.
Cryptomator Provides client-side encryption and secure storage solutions.
DigiDoc4j Java library for digitally signing documents and creating digital signature containers.
DSS Open-source library for electronic signature creation and verification, open-sourced by the European Commission.
JHOVE Extensible software framework for format identification, validation, and characterization of digital objects, developed at Harvard University.
SignServer Community Open-source signature software for signing code, documents, timestamps, etc., based on PKI.
XAdES4j Java implementation of XML Advanced Electronic Signatures (XAdES 1.3.2 and 1.4.1), configurable and extensible.

🔧 Security Tools

Security Tools encompass a wide range of resources designed to enhance the security of applications, systems, and networks.

🛡 Self-Protection

Name Description
OpenRASP A free, open-source application runtime self-protection product by Baidu Security.
Hdiv Open source software for real-time, self-protecting applications, offering protection against a wide range of web security risks.

🔍 Safety Training

Name Description
CRAPI A vulnerable API project designed for educational purposes, provided by OWASP.
WebGoat An intentionally insecure web application maintained by OWASP, used to teach web application security.
BodgeIt A vulnerable web application aimed at beginners in penetration testing.
OWASP Benchmark A Java test suite designed to assess the speed and accuracy of vulnerability detection tools.
OWASP Security Shepherd A security training platform for web and mobile applications, aimed at improving security awareness.
MASTG Hacking Playground A series of educational mobile apps intentionally built to be insecure, helping developers and security professionals practice their skills.

📱 Mobile and Web Development

📱 Mobile and Web Development focuses on creating responsive and functional applications for mobile devices and the web, using a variety of tools, libraries, and frameworks.

📱 Mobile Development

Name Description
Codename One Cross-platform solution for writing native mobile apps using Java and Kotlin, with support for iOS, Android, and more.
MobileUI Cross-platform framework for developing mobile apps with native UI using Java and Kotlin.
Multi-OS Engine Open-source engine for developing native mobile apps across iOS, Android, and more platforms.
Flutter Google’s UI toolkit for crafting natively compiled applications for mobile, web, and desktop from a single codebase.
Kivy Open-source Python framework for developing multitouch applications with a natural user interface.

📦 Android Library

Name Description
MPAndroidChart A powerful chart library for Android that supports a variety of charts like line, pie, radar, and more.
Lottie Library to render animations exported as JSON from Adobe After Effects.
Glide Fast and efficient image loading library that focuses on smooth scrolling.
Retrofit Type-safe HTTP client for Android and Java.
Room A persistence library providing an abstraction layer over SQLite.
Dagger A fully static, compile-time dependency injection framework for Java, Kotlin, and Android.
Koin A pragmatic lightweight dependency injection framework for Kotlin developers.
Picasso A powerful image downloading and caching library for Android.
ExoPlayer An extensible media player library for Android, maintained by Google.

📱 Mobile Development Framework

Name Description
Compose Multiplatform A framework to share UI across platforms using Kotlin, developed by JetBrains.
React Native A popular framework for building native apps using React.
Hippy Cross-platform framework to write once and run on multiple platforms, open-sourced by Tencent.
CodenameOne A mobile-first, cross-platform environment for Java and Kotlin developers.
Flutter Google’s UI toolkit for crafting natively compiled apps for mobile, web, and desktop.
RIBs Uber's cross-platform mobile architecture framework.
Hummer A high-performance, cross-end framework for developing Android and iOS applications, open-sourced by Didi.
Ionic Cross-platform mobile app framework built with web technologies like HTML, CSS, and JavaScript.

📧 Apple Push Notification

Name Description
APNS-HTTP2 Java library for sending notifications via APNS using Apple's HTTP/2 API.
Apns4j Java implementation of Apple Push Notification Service, open-sourced by Alibaba.
DBay-APNS-Java High-performance Java client for APNS.
Java-Apns Java client for Apple Push Notification Service (APNs), offering a simple and modular interface.
JavaAPNS-JDK16 Apple Push Notification Service Provider for Java.
Pushy A reliable Java library for sending APNs push notifications.

📱 Mobile Phone Number Analysis

Name Description
LibPhoneNumber Google’s library for parsing, formatting, and validating international phone numbers.
PhoneNumber Library for retrieving information about a phone number, including location and type (fraud/harassment).
PhoneNumber-Geo Java library for local parsing and identifying the location of a mobile phone number.
PhoneNumber-Geo Determine the operator and location based on the phone number, with support for China.
PhoneNumber Normalizer A Deutsche Telekom library for normalizing phone numbers to E164 format, considering regional complexities.

🌐 Web Development

Web Development refers to the process of creating, building, and maintaining websites and web applications.

📦 Responsive

Name Description
RxJava JVM implementation of Reactive Extensions for writing asynchronous and event-based programs using observable sequences. Open sourced by Netflix.
Project Reactor Reactive library based on the Reactive Streams specification for building non-blocking applications on the JVM.
Reactive Stream Standard for asynchronous stream processing with non-blocking back pressure.
Vert.x Toolkit for building reactive applications on the JVM.
Akka Toolkit for building highly concurrent and distributed applications on the JVM. Open sourced by Lightbend.
Alpakka Reactive enterprise integration library for Java and Scala based on Reactive Streams and Akka.
RSocket Binary protocol for byte stream transports such as TCP, WebSockets, and Aeron.
Agera Functional, asynchronous, and reactive library for Android, open sourced by Google. (Archive)
Mobius Functional reactive framework for managing state evolution and side effects, with add-ons for Android UI and RxJava Observables. Open sourced by Spotify.
Smallrye Mutiny Modern Java reactive programming library.
AutoDispose RxJava tool for automatically binding the execution of RxJava streams to a provided scope via disposal/cancellation. Open sourced by Uber.
Store Java library for asynchronous data loading and caching. (Archive)
Reaktive Kotlin multi-platform implementation of Reactive Extensions.
RSocket JVM Provides fast gRPC-like services on the JVM with a rich streaming model over multiple network transports.
Sqlbrite Lightweight wrapper around SupportSQLiteOpenHelper and ContentResolver introducing Responsive Streams semantics. Open sourced by Square. (Archive)
StorIO Responsive API for SQLiteDatabase and ContentResolver.
RxNetty Netty reactive extension adapter.
Reactive gRPC Libraries combining gRPC with the Reactive Streams programming library, open sourced by Salesforce.
QBit Responsive programming library for building microservices.
ScaleCube Simplifies the development of responsive and distributed applications with an embeddable microservices library.
Reactive-Audit Audit tool for projects using reactive architectures. (Archive)
CohereFlux Responsive, functional, type-safe, and stateless data aggregation framework for querying and merging data from multiple sources/services.
Reactive-Commons Provides abstractions and implementations for reactive microservices architecture patterns and practices.
Arez Simple, efficient, and extensible client-side application state management library.

🌐 WebServer

Name Description
Netty Asynchronous event-driven network application framework for rapid development of maintainable, high-performance protocol servers and clients.
Apache Tomcat Open source implementation of Java Servlet, JavaServer Pages, Jav EL, and Java WebSocket technologies.
Apache TomEE Lightweight but powerful JavaEE application server with feature-rich tooling.
Undertow Java web server based on non-blocking IO, open sourced by RedHat.
Wildfly Powerful, modular, and lightweight application server open sourced by RedHat.
Oracle WebLogic Unified and extensible platform for developing, deploying, and running enterprise applications like Java on-premises and in the cloud.
Payara Open source server runtime for development projects, containerized Jakarta EE, and MicroProfile applications.
Eclipse Jetty Lightweight, highly extensible Java-based web server and Servlet engine.
Eclipse Glassfish Jakarta EE-compatible implementation sponsored by the Eclipse Foundation and open sourced by Oracle.
Apache Geronimo Open source Java EE server under the Apache Foundation.
Red5 Open source Flash server written in Java.
Microhttp Fast, scalable, event-driven, standalone Java web server.
Apache MINA Network application framework that helps users develop high-performance and highly scalable network applications.
Resin Supports Servlet and JSP.
ZFoo Extremely fast enterprise server framework for RPC, game server, and web server.
Eclipse Grizzly Helps developers build scalable and powerful servers using NIO and provide extension framework components.
Reactor Netty Non-blocking and backpressure-ready TCP/HTTP/UDP/QUIC clients and servers based on the Netty framework.
Nettosphere Java WebSocket and HTTP server powered by Atmosphere and Netty.
NanoHTTPD Lightweight HTTP server designed to be embedded in other applications.
Java NIO Server Java NIO server that always uses non-blocking IO.
AndServer HTTP and reverse proxy server.
Rapidoid Extremely fast HTTP server and modern Java web framework/application container.
Quixote Small embedded HTTP server for unit testing.
Nginx-Clojure Nginx module for embedding Clojure, Java, or Groovy programs.
Acteur Framework for writing web server applications using Netty.
QuickServer Open source Java library/framework for quickly creating powerful multi-client TCP server applications.
Android HTTP Server Small but powerful multi-threaded web server written entirely in Java SE.
MuServer Modern Java web server based on Netty.
Fluent-HTTP Simple, fast, and mature web server.
Webpieces Web server designed to be asynchronous, testable, fast, and easy to use.
Kooby Web framework that delivers the minimalism and feel of Flask, the power of Spring Boot, and more.

🔗 WebSocket

Name Description
AndroidAsync An asynchronous socket, HTTP(s) client/server, and WebSocket library for Android, based on NIO instead of threads.
Async Http Client An asynchronous HTTP and WebSocket client library for Java.
Autobahn WebSocket and WAMP in Java for Android and Java 8.
Babl WebSocket Server A high-performance, scalable WebSocket server designed for low-latency applications.
Eclipse Tyrus An open-source JSR 356-WebSocket reference implementation of the Java API for developing WebSocket applications.
EzyFox A server supporting various components including WebSocket, HTTP RESTful API, and more, for enterprise product development.
Java/Android WebSocket Client A lightweight WebSocket client library suitable for JVM-based clients or Android, implementing the WebSocket protocol defined in RFC 6455.
Java WebSocket A barebones WebSocket client and server implementation written in pure Java.
JavaWebsocketClient A simple library for WebSocket connections in RX for Java and Android, designed to be fast and fault-tolerant.
Kafka-WebSocket A simple WebSocket server interface for the Kafka distributed message broker.
Netty Socket.IO An open-source Java implementation of the Socket.IO server, based on the Netty server framework.
Netty WebSocket Spring Boot Starter A lightweight, high-performance WebSocket framework.
NV Websocket Client A high-quality WebSocket client implementation in Java.
Pusher Java Client Pusher Channels client library for Java, targeting Java and Android.
Qonduit Accumulo's secure WebSocket proxy, open-sourced by the National Security Agency.
Scarlet A WebSocket client for Kotlin, Java, and Android inspired by Retrofit.
Socket.IO Java Client A Socket.IO client implementation in Java.
Socket.IO Java A full-featured Java Socket.IO client library, compatible with Socket.IO v1.0 and higher.
Socket.IO Java A Java Socket.IO server library ported from the JavaScript server.
Socket.x A library for building high-performance, distributed WebSocket applications.
wAsync A Java-based library allowing asynchronous communication with any web server that supports the WebSocket or HTTP protocols.
Webbit A Java event-based WebSocket and HTTP server.
WebSocket Android A very simple Android WebSocket client.

🌐 Jakarta EE Products

Name Description
Adobe ColdFusion A proven, high-performance application server that simplifies web development.
AISWare FlyingServer Web middleware software meeting the Java EE 8 standard, supporting various application deployments.
Apache Geronimo An open-source Java EE server under the Apache Foundation.
Apache TomEE A lightweight but powerful Java EE application server with feature-rich tooling.
Apusic AAS A secure, efficient, integrated, and feature-rich enterprise-level application server software that supports Jakarta EE 8/9.
BES Application Server A general-purpose middleware for Java applications that complies with the Java EE standard, provided by Borland.
Eclipse Glassfish A Jakarta EE-compatible implementation sponsored by the Eclipse Foundation, open-sourced by Oracle.
Fujitsu Software Enterprise Application Server A cloud-native application server using Fujitsu's proprietary technology to enhance the reliability and operability of Java.
Fujitsu Software Interstage Application Server An application server that ensures the stable operation of highly open business applications.
InforSuite Application Server Enterprise-level middleware that has passed full compatibility certification of Jakarta EE and Java EE.
IBM WebSphere Liberty An application server developed by IBM that complies with Java EE, XML, and Web Services standards.
JOnAS The leading Java EE 6 Web Profile certified open-source OSGi enterprise server developed by Bull and OW2.
JEUS A platform for developing, running, and executing applications in a web environment, developed by TmaxSoft.
KumuluzEE A lightweight open-source framework for developing microservices using standard Jakarta EE technologies.
ManageFish Server A commercially supported distribution of the GlassFish application server.
Open Liberty A highly composable, fast-starting, dynamic application server runtime environment.
Oracle WebLogic A Java application server produced by Oracle for developing and managing large-scale distributed Web applications.
Payara An open-source server runtime for containerized Jakarta EE and MicroProfile applications.
Piranha A cloud-ready container and integration module provider.
Primeton AppServer A "deploy-instant" Java EE container developed by Primeton.
Resin A web server and Java application server developed by Caucho, available in Resin (free) and Resin Pro (licensed) versions.
RockyAS A secure and efficient Web application server developed by Ping An Cloud.
SAP AS A component of the NetWeaver solution by SAP, compliant with Jakarta EE standards.
Thunisoft Application Server An enterprise-level middleware product independently developed by Huayu, complying with the Jakarta EE standard.
TongWeb Application Server A lightweight, powerful, and easy-to-use application server developed by Tongtech.
UseOpen Application Server An open-source Java application server product supporting Jakarta EE Web Profile specifications.
WebOTX Application Server A Java application execution platform ideal for promoting digital transformation, developed by NEC Corporation.
WildFly A flexible, lightweight, managed application runtime developed by Red Hat for building highly optimized Jakarta EE and MicroProfile applications.

🧑‍💻 Software Engineering Tools

📚 Software Engineering encompasses a wide range of practices, tools, and frameworks aimed at improving the efficiency, quality, and maintainability of software development.

📚 Software Engineering

Name Description
Eclipse Capella A model-based systems engineering (MBSE) tool for designing system architectures, open sourced by Thales.
FJage A platform for agent-oriented software development in Java and Groovy, developed by the National University of Singapore.
JRugged Implements patterns needed to build robust, production-ready server code in Java, open sourced by Comcast.
JSyntrax A railroad diagram generator that creates visual syntax descriptions for programming languages, open sourced by the Moscow Institute of Physics and Technology.
Lowfer A tool that helps software engineers and architects document, discuss, and analyze software designs and architectures.
Moduliths A framework for building modular, monolithic Spring Boot applications. (Archive)
Rosie An Android framework that follows the principles of Clean Architecture. (Archive)
RR A syntax diagram generator (railroad diagrams) with a browser-based GUI and batch mode.
RRDiagram A Java library that generates railroad diagrams from code or BNF notation.
Spring Modulith A library that guides developers in building well-structured Spring Boot applications using domain-driven application modules.
Structurizr Java Built on "diagram as code," Structurizr allows creating multiple software architecture diagrams from a single model.
Umple A technology that embeds modeling concepts like UML associations and state machines in traditional code and vice versa, developed by the University of Ottawa.
VMF A lightweight modeling framework that converts annotated Java interfaces into powerful implementations.

🔧 Design Patterns

Name Description
Apache Commons Chain Implementation of the GoF Chain of Responsibility pattern.
Apache Commons Proxy A Java library for creating dynamic proxies.
AutoProxy A library that generates proxy classes on top of interfaces or abstract classes, allowing interception of calls.
Decorator A dynamic inheritance library that implements the decorator pattern.

🔧 Idempotent Processing

Name Description
Idempotence4j A lightweight library providing support for handling idempotent operations.
Idempotent A solution for idempotent processing.
Quidem An idempotent query executor.

🔧 Migration & Refactoring

Name Description
Astra A tool for analyzing and refactoring Java source code.
Butterfly An application code transformation tool used for automated application migrations, upgrades, and source code changes, open sourced by PayPal.
EMT4J A project that simplifies Java version migration, open sourced by Alibaba.
Eclipse Transformer Tools and runtime components for transforming Java binaries, open sourced by the Open Liberty team.
Jakarta Migration A tool that automatically converts Java EE 8 web applications for Jakarta EE 9 compatibility.
MigrationMiner A tool for detecting migration code between two Java third-party libraries.
RefactoringMiner A library/API that detects refactorings applied in the history of a Java project.
Rewrite A source code automatic refactoring ecosystem that enables developers to effectively eliminate technical debt, open sourced by Netflix.
Scientist4J The Java port of the GitHub refactoring tool Scientist.
Spring Boot Migrator A tool that automates the migration or upgrade to Spring Boot.
Windup A toolset for large-scale Java application modernization and migration projects, open sourced by RedHat.

🔄 Bean Mapping

Name Description
Apache Commons BeanUtils Provides a reflection-based utility for converting JavaBeans.
BeanMapper A library for mapping different Java classes with similar fields.
Cloning A library for deep cloning Java objects.
Crane4j Framework for fast annotation-based mapping of related fields.
Datus Functional API for defining transformation processes between data structures.
Dozer Java Bean to Java Bean mapper that recursively copies data between objects.
EasyMapper Lightweight, high-performance Java Bean mapping framework.
EasyMapper Simple Java object mapping library designed to simplify model mapping.
JMapper High-performance Java Bean mapping library using byte code manipulation.
MapStruct Annotation processor for generating mappers for Java Bean classes.
MapStruct Plus Extension of MapStruct with enhanced features.
ModelMapper Intelligent object mapping library for automatically mapping objects.
Orika Java Bean mapping framework that recursively copies data.
ReMap Lambda and method handle-based field-by-field mapping.
Selma Annotation processor for compile-time field-to-field mapping.
Tamper Alibaba's Bean/Map attribute copy tool, supporting deep mapping.

🔧 Dependency Injection

Name Description
Apache DeltaSpike CDI extension framework designed to improve productivity when working with CDI and Java EE.
Avaje Inject Microservice-focused, compile-time dependency injection framework that avoids reflection, focusing on speed and lightweight design.
CDI Contexts and Dependency Injection (CDI) is the standard specification for dependency injection in Java, used across many frameworks.
Dagger Compile-time dependency injection framework from Google that doesn't use reflection, generating pure Java source code.
Feather Ultra-lightweight, JSR-330-compliant dependency injection library for Java and Android.
GlassFish HK2 Lightweight, dynamic dependency injection framework that powers the GlassFish application server.
Governator Extensions and utilities that enhance Google Guice, providing injector lifecycle management, open-sourced by Netflix.
Guice Lightweight dependency injection framework from Google, focusing on simplicity, modularity, and fast performance.
Inverno Statically verified, compile-time dependency injection framework for the Java platform, ensuring errors are caught during compilation.
Java IoC Inversion of control framework developed by IBM that simplifies dependency management in Java.
Javax Inject The JSR-330 standard for dependency injection, defining annotations for DI frameworks.
JayWire Lightweight dependency injection framework for Java 8, focusing on flexibility and ease of use.
JBoss MSC Highly concurrent, lightweight dependency injection container for Java, primarily used in JBoss projects.
Koin Lightweight, practical dependency injection framework for Kotlin developers, offering simplicity and minimal configuration.
Kodein Simple and easy-to-configure dependency retrieval container for Kotlin and Java.
MacWire Lightweight Scala dependency injection library that avoids runtime reflection and enhances performance.
Micronaut Inject The core dependency injection and inversion of control (IoC) module for the Micronaut framework.
Mini Spring Simplified version of the Spring framework to help users understand the core principles of Spring.
Motif DI framework open-sourced by Uber, optimized for working with nested scopes without runtime overhead.
PicoContainer Ultra-lightweight IoC container that supports dependency injection, lifecycle management, and more.
Scaldi Scala dependency injection library that provides elegant and type-safe injection.
SIRIUS Kernel Provides core classes and a dependency injection microkernel for all SIRIUS applications.
Toothpick A scope-tree based Java dependency injection library offering modularity and fast performance.
Transfuse Dependency injection and integration library specifically designed for the Android platform.
Unnamed Inject Lightweight, zero-dependency, and fast runtime dependency injection library, based on Google Guice.
Weld The reference implementation of the CDI (Contexts and Dependency Injection) specification.
OfficeFloor IoC library enabling the creation of applications through first-class programs.

🔧 Development Tools

🔧 Development Tools encompass a wide range of software utilities that assist developers in creating, managing, and deploying applications.

🔧 Build Tools

Name Description
Apache Maven A software project management and comprehension tool that helps manage a project’s build, reporting, and documentation.
Apache Mvnd A faster build tool derived from Gradle and Takari, created by the Apache Maven team.
Gradle A build automation tool that supports multi-language development with a focus on performance.
Bazel A fast, scalable, multi-language build system developed by Google.
Apache Ant A Java-based build tool that uses XML files to describe the build process.
Buck A fast build system that encourages the creation of small, reusable modules, developed by Facebook. (Archive)
SBT A build tool specifically designed for Scala and Java projects.
Mill A modern build tool that supports the building and management of Scala and Java projects.
Pants A fast, extensible, and user-friendly build system for codebases of all sizes.
1JPM An alternative to Maven/Gradle that uses a single Java file for configuration.
Boot A Clojure build framework and ad-hoc Clojure script evaluator.
JeKa A Java build tool for building or executing Java applications and scripts directly from source code.
Apache Ivy A dependency management tool integrated with Apache Ant.
Leiningen A build automation and dependency management tool for Clojure.
Maven Wrapper A tool that allows building Maven projects without installing Maven. (Archive)
BLD A new build system that allows you to write build logic in pure Java.
Pro A Java build tool designed to work seamlessly with Java 9 modules.
Fury A next-generation build tool designed to address challenges in a changing environment.
Saker.build A language-agnostic build system focused on extensibility and scalable incremental builds.

🔧 Maven Plugin

Name Description
Aadarchi Maven archetype that generates projects supporting architectural description using C4, Asciidoc, Agile Architecture, and PlantUML.
Allure Maven Plugin Plugin to generate Allure reports from existing XML files during the Maven build process.
Android Maven Plugin Maven plugin to assist in Android application development.
Appbundle Maven Plugin Creates an application bundle on OS X, containing project dependencies and metadata.
ArchUnit Maven Plugin Enforces architectural rules by wrapping ArchUnit for easy Maven integration.
AspectJ Maven Plugin Uses the AspectJ compiler to weave aspects into Java classes during the build process.
Asciidoctor Maven Plugin Processes AsciiDoc source files using JRuby and Asciidoctor.
Azure Maven Plugin Supports integration with Microsoft Azure services for deploying and managing applications.
Build Helper Maven Plugin Adds extra functionality like resolving version info, adding supplementary folders, and attaching artifacts.
Cargo Maven Plugin Standardized tool to operate JEE containers like Tomcat, Wildfly, etc., in a build process.
Clojure Maven Plugin Helps integrate Clojure in enterprise mixed-language Maven projects.
Confluence Publisher Publishes AsciiDoc documentation directly into Confluence spaces.
Coveralls Maven Plugin Submits Java code coverage reports to the Coveralls service.
CycloneDX Maven Plugin Generates a software BOM that aggregates all project dependencies.
Cucable Maven Plugin Simplifies parallel execution of Cucumber scenarios during Maven builds.
DepClean Automatically detects and removes unused dependencies in Maven projects.
Duplicate-Finder Maven Plugin Identifies and flags duplicate classes and resources in the classpath.
Elasticsearch Maven Plugin Runs an Elasticsearch instance during the integration-test phase of a Maven build.
Exec Maven Plugin Executes system and Java programs directly from a Maven build.
Flatten Maven Plugin Flattens the pom.xml by removing unnecessary information and simplifying deployment.
Fmt Maven Plugin Spotify's plugin for formatting Java code automatically.
Frontend Maven Plugin Downloads and installs Node, NPM, and associated tools like Grunt, Gulp, and Webpack.
Git Build Hook Maven Plugin Simplifies adding Git hooks and initializing Git repositories within a Maven project.
Git-Flow Maven Plugin Integrates Git workflows (GitFlow, GitHub Flow) directly into Maven builds.
GitHub Maven Plugins Collection of plugins for integration with GitHub API v3, supporting repository operations.
GluonFX Maven Plugin Simplifies building native images for Java/JavaFX projects with GraalVM.
Google App Engine Maven Plugin Maven goals for building and deploying Google App Engine applications.
Helm Maven Plugin Packages and uploads HELM charts via Maven.
Heroku Maven Plugin Deploys Java apps to Heroku without requiring Git repository pushes.
JasperReports Maven Plugin Compiles JasperReport files into the target directory during Maven builds.
JAXB Tools JAXB2 Maven plugin for compiling XML schemas into Java classes.
JavaFX Maven Plugin Enables building and packaging JavaFX 8+ applications using Maven.
Jaxb2 Maven Plugin Generates Java classes from XML schema and vice versa.
JShell Maven Plugin Integrates Java's JShell tool into Maven for interactive code execution.
Lombok Maven Plugin Plugin to integrate Lombok for auto-generating Java boilerplate code during Maven builds.
Maven Archetype Plugin A toolkit to create project templates (archetypes) for reuse in Maven.
Maven Compiler Plugin Compiles Java source code using a configurable compiler setup.
Maven Dependency Plugin Manipulates artifacts and dependencies by copying or unpacking them to a specified location.
Maven Enforcer Plugin Ensures environmental constraints (like JDK version, OS type) are met during the Maven build.
Maven Javadoc Plugin Uses the Javadoc tool to generate documentation for Maven projects.
Maven Release Plugin Automates the release process for Maven projects, including version updates and artifact deployments.
Maven Shade Plugin Packages artifacts in an uber-jar and shades dependencies (renames packages).
Native Build Tools Plugins for building native images using GraalVM's native-image tool.
Nexus Maven Plugin Supports publishing and managing artifacts in Nexus repositories.
Polyglot Maven Allows POMs to be written in non-XML formats (e.g., YAML, Groovy) for greater flexibility.
Protoc-Jar Maven Plugin Compiles .proto files into Java code using a portable embedded Protobuf compiler.
Really Executable Jars Maven Plugin Makes JAR files truly executable by adding chmod +x support for Unix-based systems.
Rust Maven Plugin Integrates Rust Cargo crates into Java Maven projects for native code compilation.
Scala Maven Plugin Compiles and tests Scala code within a Maven build.
SonarQube Maven Plugin Scans code for quality and security issues using SonarQube during Maven builds.
Spring MVC-RAML Plugin Enforces a contract-first approach to Spring MVC applications by using RAML specifications.
Takari Maven Plugin Supports installing Maven Wrapper and other extensions.
Tomcat Maven Plugin Runs a Tomcat server during Maven builds for easy integration testing.
TypeScript Generator Generates TypeScript declaration files from Java source code or class files.
Versions Maven Plugin Manages and updates versions of project dependencies and plugins.
Wildfly Maven Plugin Manages Wildfly JEE containers directly within a Maven build process.

🔧 Gradle Plugin

Name Description
Android SVG Drawable Generates qualified, density-specific PNG drawables from SVG files when your Android project is built.
Clean Architecture Gradle Plugin Creates Java and Kotlin applications based on Clean Architecture, following best practices.
Dependency Management Plugin Provides Maven-like dependency management capabilities.
Dexcount Gradle Plugin Reports the number of method references in the APK on each build.
Gradle Avro Plugin Facilitates easy execution of Java code generation for Avro.
Gradle AWS Plugin Manages Amazon Web Services with Gradle.
Gradle Baseline Plugin Configures default code quality tools for developers.
Gradle Dependency Graph Generator Plugin Visualizes dependencies in a graph.
Gradle Docker Plugin Manages Docker images and containers with Gradle.
Gradle Graal Adds tasks for interacting with the GraalVM tool, including download and extraction.
Gradle Modules Plugin Supports the Java 9 platform module system in Gradle.
Gradle Retrolambda Provides Java Lambda support for Java 6, 7, and Android.
Gradle Shadow Creates fat/uber JARs with package relocation support.
Gradle Test Logger Plugin Prints visually appealing test logs on the console during Gradle builds.
JavaFX Gradle Plugin Provides support for JavaFX development using Gradle.
Google Play Gradle Plugin Simplifies usage of Google Play services SDK in Gradle projects.
Git-Version Gradle Plugin Uses git describe to generate version strings.
OkBuck Gradle Plugin Integrates the Buck build system with Gradle projects, open sourced by Uber.
WSDL2Java Gradle Plugin Generates Java source code from WSDL files.

🔧 IntelliJ Plugin

Name Description
Android Parcelable Generates Android Parcelable boilerplate code in IntelliJ.
AutoDev AI-driven coding assistant that supports multi-language, automatic code generation, and error elimination.
CheckStyle IDEA Provides CheckStyle code quality checks within IntelliJ IDEA.
Elixir Provides Elixir language support for IntelliJ IDEA.
EmmyLua Lua IDE and debugger plugin for IntelliJ IDEA.
Flutter Plugin Adds Flutter development support to IntelliJ IDEA.
GitIgnore Adds .gitignore support in IntelliJ IDEA.
Golang Plugin Provides Go language support for IntelliJ IDEA.
IdeaVim Vim emulation plugin for JetBrains IDEs.
IntelliJ Plugins Open-source plugins included in IntelliJ IDEA Ultimate.
Intellij Swagger Assists in editing Swagger and OpenAPI spec files in IntelliJ IDEA.
Key Promoter X Helps IntelliJ IDEA users learn keyboard shortcuts.
Leetcode Editor Integrates LeetCode problem-solving into JetBrains IDEs.
Lombok Intellij Plugin Provides support for Lombok annotations in IntelliJ IDEA.
MinecraftDev Plugin for supporting Minecraft mod development in IntelliJ IDEA.
PHP Inspections PHP static code analyzer for IntelliJ IDEA.
Rainbow Brackets Adds rainbow-colored brackets for better code readability in IntelliJ.
Restful Fast Request RESTful API toolkit plugin for IntelliJ IDEA, open sourced by the dromara community.
Scala Plugin Adds Scala language support for IntelliJ IDEA.
Translation Provides translation functionality in IntelliJ IDEA.
WakaTime Automatically tracks and generates insights on coding activities within JetBrains IDEs.

📦 Package Manager

Name Description
Nuts A Java package manager that helps discover, download, assemble, and execute local and remote artifacts.
Nix A package manager that simplifies the packaging of Maven Java applications.

🔁 CI/CD

Name Description
Jenkins A leading open-source automation server that supports the automation of almost everything.
TeamCity A general-purpose CI/CD software platform by JetBrains for flexible workflows and collaboration.
Bamboo A continuous integration build server provided by Atlassian with a free version available.
GoCD An open-source tool to automate and simplify the build-test-release cycle.
OneDev A self-hosted Git server with CI/CD and Kanban features.
FlowCI An open-source CI/CD automation server designed to be simple and fast.
Hudson A continuous integration server and the predecessor of Jenkins.
Bob A tool to build custom CI/CD infrastructure for various purposes.
Blazar A CI tool designed to integrate with GitHub and Singularity, developed by HubSpot.

📤 Publishing Tools

Name Description
JitPack A novel repository that builds Git projects on demand and provides ready-to-use artifacts.
Sonatype Nexus A binary management tool supporting proxy and caching capabilities.
Indy A simple repository manager for Maven and other build tools using the Maven repository format.
Maven Central The largest binary component repository, providing free services to the open-source community.
Cloudsmith A fully managed package management SaaS that supports Maven/Gradle/SBT with a free tier.
Apache Archiva Extensible repository management software to manage build artifact repositories. (Archive)
Apache Rat A tool to improve accuracy and efficiency in checking releases.
Strongbox A modern OSS artifact repository manager.
Reposilite A lightweight and easy-to-use repository manager for Maven-based artifacts.
CloudRepo Cloud-based private and public Maven and PyPi repositories, free for open-source projects.
Gemfury Private and public artifact repositories for various languages, free for public projects.

🔧 IDEs

Name Description
AIDE Android/Java IDE for Android software and game development on mobile devices.
Aptana Studio 3 A web development IDE open sourced by Axway.
Android Studio Official IDE for Android app development by Google, built on IntelliJ.
AndroidIDE An IDE suitable for Android development, focused on mobile platforms.
Apache NetBeans Open source IDE for Java SE, EE, and web development, originally developed by Oracle.
BlueJ Educational Java IDE suitable for small-scale software development.
Codenvy Cloud-based IDE supporting multiple languages, including Java, maintained by RedHat.
Consulo Multi-language IDE based on IntelliJ.
Cosmic IDE Rich IDE for JVM development on Android.
DrJava Lightweight IDE designed primarily for beginner Java developers, open sourced by Rice University.
Eclipse Well-established open-source IDE with support for multiple languages and an extensive plugin ecosystem.
FDT Eclipse-based IDE designed for interactive developers.
Flash Builder Adobe IDE for developing rich internet applications based on the Eclipse platform.
Greenfoot Java IDE for educational purposes at high school and undergraduate levels.
IntelliJ IDEA Leading Java and Kotlin IDE with extensive JVM language support, developed by JetBrains.
JBuilder Integrated programming environment for Java produced by Borland.
JBoss Developer Studio Java IDE created by RedHat for building Java enterprise applications.
JDoodle Online Java compiler and IDE allowing development directly in the browser.
JDeveloper Oracle's free IDE simplifying Java-based application development.
jGRASP IDE focused on providing software visualizations for improved understanding of code.
JCreator Lightweight, proprietary Java IDE developed by Xinox Software.
JEdit Text editor written in Java, designed for programming.
JetBrains Fleet Next-generation multi-language IDE by JetBrains, developed using Kotlin.
MyEclipse Commercial Java IDE built on the Eclipse platform, provided by Genuitec.
Online Java Web-based Java compiler and IDE offering fast and robust online development.
PraxisLive Hybrid visual real-time programming Java IDE.
RStudio IDE for the R programming language, open sourced by Posit Software, with support for Java.
RapidClipse Eclipse-based IDE focused on rapid Java application development.
SnapCode Browser-based IDE for Java, designed for educational purposes.
Spring Tools Eclipse-based Java IDE developed by the Spring team.
TIDE Small, open-source Java IDE.
Visual Studio Code Lightweight source code editor by Microsoft with extensions for Java development.

📄 Configuration

Name Description
Amper A project configuration tool by JetBrains aimed at improving project configuration experiences within IDEs.
Apache Commons Configuration Provides a common configuration interface for Java applications to read configuration data from various sources.
Apache Zookeeper A centralized service for maintaining configuration information, providing distributed synchronization and group services.
Archaius Configuration library by Netflix that combines static and dynamic configuration into a single unit.
avaje config Loads YAML and properties files, supports dynamic configuration, file watching, and event listeners.
centraldogma Version-controlled service configuration repository based on Git, ZooKeeper, and HTTP/2 by Line.
CFG4J A modern configuration library for distributed applications written in Java.
Cerberus Cloud-native, secure configuration storage solution with auditing capabilities, by Nike.
config Configuration library for Java properties, JSON, and HOCON files.
Config Magic Simple and convenient Java configuration library.
ConfigMe Out-of-the-box YAML configuration management library.
Configurate Configuration library supporting multiple formats with transformations.
Curator Framework High-level API for managing ZooKeeper resources.
dotenv Configuration library using environment-specific files following the twelve-factor app principle.
Externalized Properties Lightweight configuration library supporting external property resolution and extensible post-processing.
Gestalt Configuration library to source, merge, and present configuration data in a type-safe manner.
JadConfig Minimalist annotation-driven configuration parsing library with minimal dependencies.
KAConf Annotation-based configuration system for Java and Kotlin applications.
Konf Type-safe cascading configuration library for Java, Kotlin, and Android supporting multiple formats.
microconfig Configuration system tailored for microservices, dynamically distributing configuration.
NightConfig Powerful and easy-to-use configuration library that supports various formats.
owner Reduces boilerplate code required for handling Java properties.
Pkl A programming language developed by Apple for generating configurations.
ScaleCube Config Configuration management library for JVM-based distributed applications.
Sjsonnet JVM implementation of the Jsonnet configuration language, open sourced by Databricks.
Spring Cloud Config Provides server-side and client-side support for externalized configuration in distributed systems.
Spring Fu Declarative configuration for Spring Boot using code, part of an experimental incubator project.
Typesafe Config Configuration library for JVM-based applications, using HOCON format.
Waterfall Config Java configuration library, heavily based on Typesafe Config with additional features.

🔧 Java Environment and Tools

🔧 Java Environment and Tools refers to the ecosystem and tools used for developing and running Java applications, including the management of Java environments, the Java Development Kit (JDK), JVM languages, and various JVM implementations.

🧰 Java Environment Management

Name Description
IDE Tool to help developers set up and share development environments and project settings.
JEnv Java environment manager for managing parallel versions of the JDK on any system.
JEnv Windows Tool for changing the current Java version with a single command on Windows.
Jabba Java version management tool developed in Go language.
JVMS JDK version manager specifically for Windows.
SDKMAN Tool for managing parallel versions of multiple software development kits on Unix-based systems.

🛠 JDK

Name Description
Alibaba Dragonwell Alibaba's open source JDK version.
AWS Corretto Free, multi-platform, production-ready distribution of OpenJDK provided by Amazon.
Azul Zulu Azul's open source JDK version.
Bellsoft Liberica BellSoft's open source JDK version.
Eclipse OpenJ9 Optimized Java virtual machine for small footprint, fast startup, and high throughput.
Eclipse Temurin JDK version under the Eclipse Foundation.
GraalVM High-performance JDK distribution supporting multiple languages and JVM languages.
IBM Semeru IBM's open source JDK version.
JetBrains JDK Runtime environment based on OpenJDK developed by JetBrains.
Loongson JDK Java environment for the Loongson platform, based on OpenJDK.
Mandrel Downstream distribution of GraalVM Community Edition for Quarkus support.
Microsoft JDK Microsoft's open source JDK build version.
OpenLogic OpenLogic's open source JDK version.
Redhat JDK Redhat open source JDK version.
SapMachine OpenJDK version maintained and supported by SAP.
Tencent Kona Tencent's open source JDK version.
Trava OpenJDK OpenJDK with advanced hot-swapping capabilities.
VMS Software OpenJDK VMS Software's free and open source implementation of OpenJDK.

🖥 JVM Languages

Name Description
Ballerina An open-source, cloud-native language optimized for integration tasks. Developed by WSO2.
BeanShell A lightweight, embeddable Java source interpreter with scripting capabilities.
BoxLang A modern dynamic language for the JVM, designed for deployment across various runtimes.
Clojure A functional, dynamic language combining scripting ease with powerful concurrency features.
Concurnas A JVM language focused on building high-performance concurrent and distributed systems.
DDlog A language for incremental computing, ideal for applications needing continuous updates.
Ecstasy A secure, general-purpose language designed for cloud and serverless environments.
Eclipse Ceylon A modular, statically typed language for the JVM and JavaScript, developed by Red Hat.
Eclipse Epsilon A set of languages for automating software engineering tasks like model transformation and code generation.
Eclipse Golo A simple, dynamic language for the JVM, focused on rapid development.
Enkel A straightforward language that runs on the JVM, designed for simplicity.
EOLang An object-oriented language based on 𝜑-calculus, emphasizing immutability and composability.
Erjang A JVM-based Erlang virtual machine.
Eta A Haskell dialect that operates on the JVM, bringing functional programming to Java.
Fantom A portable language for the JVM and web browsers, designed for simplicity and performance.
Flix A functional, imperative, and logic programming language with static typing.
Frege A Haskell variant for the JVM, supporting pure functional programming.
Genesis An ancient Hebrew-inspired programming language, procedural and Turing-complete.
Gosu A practical and versatile language for the JVM, offering both static and dynamic typing.
Groovy A powerful, dynamic language for the JVM, offering seamless Java integration and scripting capabilities.
Ioke A dynamic, prototype-based language with strong typing, designed for flexibility.
Jactl A scripting language for the JVM, blending features from Java, Groovy, and Perl.
Java The ubiquitous general-purpose, object-oriented programming language led by Oracle.
JGO A Java compiler and runtime environment tailored for Golang.
Jolie A service-oriented language for developing microservices with native abstractions.
JPHP A JVM-based implementation of PHP, supporting modern PHP features.
JRuby A Ruby language implementation that runs on the JVM.
Jython A Python implementation for the JVM, allowing Python scripts to interact with Java libraries.
Kotlin A modern, statically typed language for the JVM, fully interoperable with Java, developed by JetBrains.
LuaJ A lightweight Lua interpreter for the JVM, designed for portability and speed.
Lucee A dynamic scripting language for rapid web development, Java-based.
Lux A statically typed, functional Lisp language that runs on multiple platforms, including the JVM.
Panda A clean and modern JVM language with an emphasis on readability and simplicity.
Processing A flexible programming language and environment for learning code, popular in the visual arts.
Rascal A metaprogramming language for the JVM, ideal for source code analysis and transformation.
Renjin A JVM-based interpreter for the R language, allowing integration with Java.
Scala A multi-paradigm language combining object-oriented and functional programming on the JVM.
Swift/T A parallel programming language for composing external functions into large-scale applications.
Venice A Lisp dialect for the JVM, inspired by Clojure and focused on sandboxing and Java interoperability.
Virgil A lightweight, high-performance systems programming language for the JVM.
Yeti A functional programming language for the JVM, inspired by ML.

⚙ JVM Implementation

Name Description
Avian A lightweight JVM and class library designed for building standalone applications.
Bck2Brwsr A JVM that converts Java bytecode into JavaScript, enabling Java applications to run in a browser.
CACAO A JVM using Just-In-Time (JIT) compilation to execute Java methods natively.
DCEVM A JVM variant for Java 7/8 that supports dynamic code evolution, allowing changes to classes without restarting the JVM.
DoppioJVM A JVM written in TypeScript, compliant with POSIX, developed as a research project by the University of Massachusetts.
Eclipse OpenJ9 A JVM for OpenJDK with a small footprint, fast startup, and high throughput, developed by IBM.
HaikuVM A tiny JVM designed for Arduino-compatible microcontrollers.
IKVM A JVM implementation that integrates with the Microsoft .NET platform, allowing Java applications to run on .NET.
JamaicaVM A JVM optimized for embedded systems, supporting real-time applications, developed by aicas.
Jamiga A JVM for the AmigaOS, allowing Java applications to run on Amiga computers.
JamVM A compact and easy-to-understand JVM designed to support the latest JVM specifications.
Jelatine JVM A JVM targeting Java 2 Micro Edition Connected Limited Device Configuration (J2ME CLDC) for embedded systems.
Jikes RVM A research-focused JVM written in Java, contributing to virtual machine technology advancements.
JOE A JVM that integrates the operating system and hardware subsystems within the Java programming environment.
JVM.Go A simple JVM implementation written in the Go programming language.
LeJOS A JVM developed by Lego for robotics, used on devices like the International Space Station.
Maxine VM A meta-circular JVM developed by the University of Manchester, focused on research and development in VM technologies.
Metascala A minimal JVM written in the Scala language, designed as a meta-circular implementation.
Mini JVM A simplified JVM written in Java, developed by the University of Tübingen for educational purposes.
Multi-OS Engine A Java runtime for developing native iOS applications with portability across Android and iOS.
Node JVM A JVM implemented in pure Node.js, allowing Java bytecode to run within a JavaScript environment.
ParparVM A JVM bytecode to C translator for iOS, developed as part of the CodenameOne project.
PHPJava An experimental library emulating the JVM and compiling intermediate code through PHP.
RJVM A minimal JVM implementation written in Rust.
RoboVM A JVM bytecode Ahead-Of-Time (AOT) compiler for iOS, macOS, and Linux applications.
SableVM A portable, efficient JVM developed by McGill University, designed to be easy to maintain and extend.
SSVM A JVM that operates on the JVM, designed for experimental purposes.
TakaTuka A highly portable JVM for micro embedded devices and wireless sensor networks, developed by the University of Freiburg.

🔧 Bytecode Manipulation Tools

Name Description
ASM Low-level, all-purpose bytecode manipulation and analysis framework for Java.
Byte Buddy Simplifies bytecode generation and modification using a fluent API.
bytecode-viewer Java 8 JAR & Android APK reverse engineering suite.
Byteman Manipulates bytecode at runtime for testing and troubleshooting using rules-based DSL.
cglib Enhances bytecode generation for runtime proxy classes, frequently used in AOP frameworks.
Javassist Simplifies the process of bytecode editing using source-level abstraction.
Maker Provides a low-level API for efficient bytecode generation.
Mixin Runtime bytecode manipulation library using Java code, often used for modding.
Perses Dynamically injects failure or latency at the bytecode level, aimed at chaos engineering.
Recaf Comprehensive JVM reverse engineering toolkit with bytecode editing functionality.

🔧 Native Compilation Tools

Name Description
BridJ High-performance Java to native interoperability library.
Codename One Cross-platform solution for writing native mobile apps in Java.
FastFFI Efficient foreign function interface (FFI) for Java and C++, open-sourced by Alibaba.
Facebook JNI Simplifies the use of Java Native Interface (JNI) in Java projects.
GlueGen Java and JNI code generator for native libraries.
JNI Standard programming interface for writing Java native methods and embedding the JVM in native apps.
JNIWrapper Simplifies the process of calling native code in Java without using JNI.
JNA Provides easy access to native shared libraries from Java without writing JNI.
JavaCPP Provides Java bindings to native C++ libraries for improved performance.
JniHelpers Spotify's library for facilitating the writing of JNI code in C++.
JNAerator Generates native bindings for C, C++, and Objective-C libraries targeting JNA or BridJ.
Jextract Automatically generates Java bindings from native library headers.
JNR-FFI A foreign function interface for Java, built on top of libffi.
MobileUI Cross-platform framework for building native UI apps in Java and Kotlin.
Multi-OS Engine Open-source cross-platform engine for developing native mobile applications.
Nalim Links Java methods to native functions using the JVM Compiler Interface (JVMCI).
Native-Utils Utility library for loading native libraries from JAR files.
Native Platform Cross-platform Java APIs for accessing native system APIs.
Project Panama Set of improvements to boost Java-native library interoperability.
ReLinker Robust native library loader for Android applications.
SoLoader Lightweight native library loader for Android, developed by Facebook.
Spring Native Enables Spring apps to be compiled into native executables using GraalVM.

🧪 Data Science and AI

🧪 Data Science and AI: This encompasses the study and application of algorithms, models, and tools to analyze data and solve complex problems, including various specialized areas such as artificial intelligence, machine learning, natural language processing, and more. Here’s a revised and formatted version of the AI and LLM repositories table in alphabetical order, with clear, concise descriptions and working links:

🤖 Artificial Intelligence

Name Description
AIMA Java A Java implementation of the algorithms in "Artificial Intelligence: A Modern Approach."
Artemis An interactive learning platform offering instant feedback on exercises, developed by the Technical University of Munich.
EdgeChains A syntax framework for production-friendly generative AI applications.
FATE A framework for federated learning, enabling secure data collaboration, developed by WeBank.
GDX AI A framework offering AI techniques commonly used in the gaming industry.
Hbox A platform combining big data and AI, supporting multiple machine learning frameworks.
Intelligent Java A tool for integrating Java with modern language models and deep learning frameworks.
jAER A Java tool for neuromorphic processing, developed by ETH Zurich.
Lucida A voice and vision-based personal assistant inspired by Sirius.
Malmo An AI experimentation platform built on Minecraft, open-sourced by Microsoft.
ModernMT A neural machine translation technology offering context-aware, incremental translations.
SD4J An implementation of Stable Diffusion inference using ONNX runtime, developed by Oracle.
Serenade A tool for coding via voice commands, integrating speech recognition and AI.
Starwhale An MLOps/LLMOps platform simplifying model creation, evaluation, and publishing.
SUSI.AI Server An open-source personal assistant supporting chat and voice interactions, developed by FOSSASIA.
XEF A library bringing AI capabilities like LLM and image generation to your applications, developed by Xebia.
Xtreme1 A data labeling and annotation platform supporting 3D LiDAR, images, and LLMs.

🧠 LLM

Name Description
CodeMind A framework for evaluating inductive code reasoning in LLMs, developed by the University of Illinois.
Freeplay A tool for managing the end-to-end LLM product development lifecycle for product teams.
Jama A modern LLM reasoning engine for Java.
LangChain4j A library simplifying the integration of AI/LLM capabilities into Java applications.
LangStream A framework for building and running GenAI applications, open-sourced by DataStax.
Langtorch A Java library for building composable LLM applications.
LangChain Java Java version of LangChain, enabling integration with LLM big data.
OpenAI Java A Java library for using OpenAI's GPT API, supporting GPT-3, ChatGPT, and GPT-4. (Archive)
OpenAI Kotlin A Kotlin client for the OpenAI API, supporting multiplatform and coroutine capabilities.
Semantic Kernel An SDK integrating LLMs like OpenAI and Hugging Face with traditional languages like Java.
Spring AI Provides Spring-friendly APIs and abstractions for AI application development.

💬 ChatGPT Client

Name Description
ChatGPT Java A Java SDK for ChatGPT, supporting GPT-3.5 and GPT-4 API.
ChatGPT Java Java client for ChatGPT, offering a simple and easy-to-use API interface.
ChatGPT-Java Java wrapper for the unofficial reverse-engineered ChatGPT API.
EDDI Middleware for connecting and managing LLM API bots, including OpenAI's ChatGPT.
Easy OpenAI A community-maintained OpenAI API library in Java, designed for ease of use with GPT-3/4.
Google-Bard A Java library for interacting with Google Bard, a question-answering AI.
Ollama4j Java library for interacting with the Ollama server for AI interactions.
OpenAI Java A Java library for using OpenAI's GPT API, supporting multiple versions including GPT-3, GPT-4, and ChatGPT.
OpenAI Kotlin Kotlin client for the OpenAI API, featuring multi-platform support and coroutine capabilities.
OpenAi4J An unofficial Java library for interacting with OpenAI's GPT models, including the latest features.
Watson Java SDK Java SDK for using IBM Watson services, including NLP and machine learning capabilities.

🔍 Machine Learning

Name Description
9nFL A federated learning solution developed by JD.
Alink A machine learning algorithm platform based on Flink, developed by the Alibaba computing platform PAI team.
Alluxio Data orchestration for analytics and machine learning in the cloud, developed by Haoyuan Li at UC Berkeley.
AMIDST A Java toolkit for scalable probabilistic machine learning.
Angel A high-performance distributed machine learning and graph computing platform based on the parameter server concept, open sourced by Tencent and Peking University.
Apache Flink A fast, reliable, large-scale data processing engine.
Apache Mahout Scalable algorithms focused on collaborative filtering, clustering, and classification.
Apache PredictionIO An open-source machine learning framework for developers, data scientists, and end users.
Apache Samoa A platform for mining big data streams and distributed streaming machine learning framework.
Apache Spark MLlib Spark's scalable machine learning library.
Apache Submarine An end-to-end machine learning platform for creating workflows.
Apache SystemDS Open-source machine learning system for the end-to-end data science lifecycle.
Aurora A Java machine learning framework for model training, evaluation, deployment, tuning, and benchmarking.
BEAST A cross-platform program for Bayesian analysis of molecular sequences using MCMC.
BEAST 2 Bayesian inference using molecular sequence MCMC, developed by the University of Auckland.
Breeze A set of libraries for machine learning and numerical computing.
Byzer A low-code, open-source, distributed programming language for data pipelines, analytics, and AI.
CERMINE A Java library and web service for extracting metadata and content from PDFs of scholarly publications, developed by the University of Warsaw.
Chronon A platform that removes the complexity of data computation and serves AI/ML applications, developed by Airbnb.
Dagli A machine learning framework that simplifies writing efficient, maintainable, and easily deployable models in Java, developed by LinkedIn.
Datumbox An open-source machine learning framework for rapid development of ML applications.
DatumBox Provides several algorithms and pre-trained models for natural language processing.
DeepDive An information extraction system developed by Stanford University.
Deeplearning4j A distributed and multi-threaded deep learning library.
DJL A high-level, engine-agnostic framework for deep learning.
EasyML A general-purpose dataflow-based system that simplifies the application of machine learning algorithms to real-world tasks.
Elasticsearch Learning A plugin for integrating machine learning with Elasticsearch.
Encog A pure Java machine learning framework that supports genetic programming, NEAT/HyperNEAT, and other neural network techniques.
FATE-Serving A high-performance, industrialized federated learning model serving system designed for production environments.
Feathr A data and AI engineering platform used in production at LinkedIn, open sourced in 2022.
FeatureFu A project for agile feature engineering in machine learning tasks, open sourced by LinkedIn.
Flink ML A library providing machine learning APIs and infrastructure to simplify building ML pipelines.
Fregata A lightweight, ultra-fast large-scale machine learning library based on Apache Spark, developed by TalkingData.
GROBID A machine learning library for extracting, parsing, and reconstructing raw documents into structured XML/TEI encoded documents, focusing on technical and scientific publications.
H2O An in-memory platform for distributed, scalable machine learning.
H2O.ai An analytics engine for statistics over big data.
HTM.Java Hierarchical Temporary Memory Implementation in Java - Official community-driven Java port of the Numenta Intelligent Computing Platform.
Intelligent Java Seamlessly integrates remote deep learning and language models programmatically.
Java-ML A collection of standard machine learning (classification) algorithms implemented in Java.
JSAT A library for quickly getting started with machine learning problems, supporting multi-threaded execution.
Libsvm A simple, easy-to-use and efficient SVM classification and regression software, developed by Professor Zhiren Lin of National Taiwan University.
MacroBase A data analysis tool that uses machine learning to prioritize attention in large datasets, open sourced by Stanford.
Mallet A Java-based package for statistical natural language processing, document classification, clustering, topic modeling, and information extraction.
Meka An open-source implementation of multi-label learning and evaluation methods, developed by the University of Waikato.
Metarank An open-source ranking service for building personalized semantic/neural search and recommendations.
MLReef An open-source ML-Ops platform for collaboration and sharing of machine learning work.
ModelDB An open-source system for machine learning model versioning, metadata, and experiment management, created by Verta CEO Manasi Vartak during his doctoral research at MIT.
MOA An open-source framework for big data stream mining, including a range of machine learning algorithms and evaluation tools.
Morel A Standard ML interpreter with relational extensions, implemented in Java.
Neureka A lightweight, platform-independent, OpenCL-accelerated nd-array/tensor library.
Neuroph An open-source Java neural network framework and neural network development environment.
Oryx 2 A framework for building real-time, large-scale machine learning applications using Lambda architecture on Apache Spark and Apache Kafka.
Primus A distributed scheduling framework for machine learning applications, managing training lifecycle and data distribution. Developed by ByteDance.
PSL A machine learning framework for developing probabilistic models, developed by the University of Maryland and the University of California, Santa Cruz.
QuickML A high-performance, easy-to-use machine learning library designed for Scala developers.
RankLib A library of learning to rank algorithms.
SAMOA A platform for mining big data streams and distributed streaming machine learning framework.
Scikit-Multilearn A Python library for multi-label classification.
Scikit-Optimize Sequential model-based optimization with a focus on machine learning.
Seldon An open-source platform to deploy and scale machine learning models on Kubernetes.
Spacy An industrial-strength natural language processing library in Python and Cython.
Spark MLlib Apache Spark's scalable machine learning library.
Stanford NLP An open-source Java library for natural language processing and analysis, developed by Stanford University.
SystemML Declarative large-scale machine learning (ML) that aims to improve the productivity of data scientists and reduce the complexity of training algorithms.
SynapseML A library that simplifies the creation of massively scalable and distributed machine learning pipelines.
TensorFlow Java An open-source library for machine learning, developed by the Google Brain team.
TensorFlowJS An open-source library that enables you to define, train, and run machine learning models entirely in the browser using JavaScript.
Vowpal Wabbit A fast, scalable machine learning system, designed to be efficient in both memory usage and learning speed.
WeLearn A machine learning library that implements an automatic learning process for data-driven models.
Weka A collection of machine learning algorithms for data mining tasks, developed by the University of Waikato.
XGBoost A scalable, flexible, and portable gradient boosting framework for large-scale machine learning.
Zerene A machine learning framework with a focus on speed and flexibility, developed by the University of California, Berkeley.

🧠 Natural Language Processing

Name Description
AIKA A new type of artificial neural network that aims to mimic the behavior of the biological brain and bridge the gap with classical artificial intelligence.
AmbiverseNLU A natural language understanding suite developed by the Max Planck Institute for Informatics.
Apache cTAKES A natural language processing platform for clinical text, open sourced by Apache.
Apache NLPCraft An open-source library for adding natural language interfaces to modern applications.
Apache OpenNLP A machine learning-based toolkit for processing natural language text, developed by Apache.
Apache UIMA A software system for analyzing large amounts of unstructured information to discover knowledge relevant to end users, open sourced by IBM.
ARK Twitter NLP A part-of-speech tagger for Twitter data, developed by the CMU ARK group.
ClearTK A framework for developing statistical natural language processing components, developed by the Center for Computational Language and Education Research at the University of Colorado Boulder.
CogCompNLP A toolkit with various NLP tools like lemmatizer, NER, POS tagging, etc., developed by the University of Illinois.
Cornell SPF A Semantic Parsing Framework developed by Cornell University.
CoreNLP A set of Java core NLP tools for tasks such as tokenization, NER, and sentiment analysis, developed by Stanford University.
DKPro Core A collection of NLP components based on the Apache UIMA framework, developed by the Technical University of Darmstadt.
FNLP A toolkit mainly for Chinese NLP, developed by Fudan University.
GATE A comprehensive software toolkit for text processing, developed by the University of Sheffield.
Hawking A natural language date and time parser that can extract and parse date and time from text.
HeidelTime A multilingual, cross-domain temporal tagger developed by Heidelberg University.
Joshua An open-source statistical machine translation decoder developed by Johns Hopkins University.
JStarCraft NLP A lightweight engine for natural language processing.
LAC A joint lexical analysis tool developed by Baidu's NLP department, implementing Chinese word segmentation, POS tagging, and more.
Lingua A highly accurate natural language detection library for Java, suitable for both long and short texts.
LingPipe A toolkit for tasks ranging from POS tagging to sentiment analysis.
Mallet A Java-based package for statistical NLP, document classification, clustering, and more, developed by the University of Massachusetts and the University of Pennsylvania.
MetaMapLite A near real-time named entity recognizer, open sourced by the National Centre for Biomedical Communications at Mount Lister.
MiNLP Xiaomi's Natural Language Processing Platform, offering modules for lexical, syntactic, and semantic analysis.
MyNLP A high-performance, modular, and extensible Chinese NLP toolkit, open sourced by Shanghai Wanxing Company.
Neo4j NLP A plugin for Neo4j that provides graph-based natural language processing capabilities.
NLP-Lang A basic package that encapsulates commonly used NLP tools for Java projects.
NLP4J An NLP toolkit for JVM languages, developed by Emory University.
Phrasal A large-scale statistical machine translation system developed by Stanford University.
Processors A set of open-source natural language processors developed by the Computational Language Understanding (CLU) Laboratory at the University of Arizona.
SemanticVectors A toolkit that creates semantic WordSpace models from natural language text.
SimpleNLG A simple Java API designed to facilitate natural language generation, developed at the University of Aberdeen.
Similarity A Java toolkit for similarity calculation methods in natural language processing.
Spark NLP A state-of-the-art NLP library built on Apache Spark.
Twitter Text The library used by Twitter for tokenizing and parsing text to meet platform content expectations.
VnCoreNLP A fast and accurate Vietnamese NLP annotation pipeline.
Z-MERT A software tool for minimum error rate training of machine translation systems, developed by Johns Hopkins University.
Zemberek-NLP Provides Turkish natural language processing tools.

🔍 Deep Learning

Name Description
ADAMS A deep learning library specifically for Java, developed by the University of Waikato.
CaffeOnSpark Brings deep learning to Hadoop and Spark clusters, open sourced by Yahoo.
Deep Java Library (DJL) A high-level, engine-agnostic deep learning framework for Java, open sourced by AWS.
Deep Learning Flink Integrates Flink with deep learning frameworks like TensorFlow and PyTorch for distributed deep learning.
Deep Netts A Java-based deep learning platform providing a community version of the Deep Netts engine.
DL Inference A general deep learning inference tool for production environments, supporting TensorFlow, PyTorch, and Caffe, open sourced by 58.com.
Eclipse Deeplearning4J A set of tools for running deep learning on the JVM, including support for distributed computing.
JDLL A Java library for running deep learning models and communicating with various deep learning frameworks.
KotlinDL A high-level deep learning API for Kotlin, inspired by Keras.
Multi Model Server (MMS) A flexible tool for serving deep learning models trained with any ML/DL framework, open sourced by AWS.
Neural Networks Java implementation of algorithms for training deep neural networks.
OpenDL A deep learning training framework on Apache Spark.
OpenLabeler An open-source application for annotating objects for AI and deep learning training.
Porcupine A highly accurate and lightweight wake-word engine.
TensorDash Allows remote monitoring of deep learning model metrics and notifications for training status.
TonY A framework for running deep learning jobs natively on Apache Hadoop.

🧬 Genetic Algorithms

Name Description
Chips-n-Salsa A customizable Java library for iterative, parallel, and adaptive local search algorithms.
ECJ 23 An evolutionary computation framework with tools for popular EC algorithms, including genetic programming, open sourced by George Mason University.
EARS A framework for ranking, developing, and experimenting with evolutionary algorithms, open sourced by the University of Maribor.
EasyOpt A lightweight Java library for heuristic optimization algorithms like genetic algorithms and particle swarm optimization.
Eva A Java OOP implementation of evolutionary algorithms.
Evolving-Protozoa Creates an environment where protozoan-like entities evolve behavior and morphology for survival and reproduction.
Genetic Algorithms A general implementation of genetic algorithms in Java.
Gin A genetic improvement (GI) tool.
JCLEC A general evolutionary computation framework developed in Java, open sourced by the University of Cordoba.
JGAP A genetic algorithm and genetic programming package written in Java, open sourced by Victoria University of Wellington.
JGEA A modular Java framework for experimental evolutionary computation.
Jenetics A modern Java library for genetic algorithms, evolutionary algorithms, and genetic programming.
MergeLife A project focused on evolving complex cellular automata using genetic algorithms.
MOEAFramework A library for developing and experimenting with Multi-Objective Evolutionary Algorithms (MOEA).
Opt4J An open source evolutionary computation framework with optimization algorithms like evolutionary algorithms, particle swarm optimization, and simulated annealing.
Watchmaker An extensible framework for implementing platform-independent evolutionary/genetic algorithms in Java.

🔧 Computer Vision

Name Description
BoofCV An open-source real-time computer vision library offering features like camera calibration, motion tracking, and image processing.
DataGym A modern web-based workbench for labeling images and videos, enabling project management and data pipeline creation.
GRIP An application for rapid prototyping and deployment of computer vision algorithms, primarily for robotics.
ImageJ Public domain software for processing and analyzing scientific images, open-sourced by the National Institutes of Health.
JavaCV Java interfaces for OpenCV, FFmpeg, and more, facilitating multimedia processing.
OpenIMAJ A collection of libraries for multimedia content analysis and generation developed by the University of Southampton.
OpenCV A cross-platform computer vision library providing various functionalities for image and video processing.
OpenCV Processing Offers convenient wrappers for common OpenCV functions based on official Java bindings.
Origami An image processing, computer vision, and neural network library for the JVM.

🔧 Expert System

Name Description
Apache Jena A Java framework for building semantic web and linked data applications, originally developed by HP Labs.
EYE A reasoning engine that supports the semantic web layer and implements Notation3.
PowerLoom The successor to the Loom knowledge representation system, providing a language and environment for building intelligent, knowledge-based applications, developed by USC.
Tweety A collection of Java frameworks for logical aspects of artificial intelligence and knowledge representation.

🔧 Constraint Solving

Name Description
ACE An open-source constraint solver written in Java, developed by the University of Artois.
Choco Solver A Java library for constraint programming, developed by Ecole Nationale Supérieure des Mines de Nantes.
CLP Java A Java interface to the CLP linear solver, optimized for fast model building and parsing.
CPSolver A local search-based framework for modeling problems using constraint programming primitives.
JaCoP A Java-based constraint solver developed by Lund University, Sweden.
JavaSMT A general API layer for accessing various SMT solvers, developed by the University of Munich.
JSCIPOpt A Java interface for SCIP, a fast non-commercial solver for mixed integer programming, developed by the Free University of Berlin.
JSolver Extends Java programming with object-oriented, constraint-based declarative programming, open sourced by City University of Hong Kong.
JSprit A Java toolkit for solving Traveling Salesman and Vehicle Routing Problems.
Kiwi-Solver A simple, extensible constraint programming solver designed for education, open sourced by Google. (Archive)
MiniCP A lightweight CP solver implemented in Java, developed by universities in the US and Belgium.
OptaPlanner A lightweight, embeddable constraint satisfaction engine that optimizes planning problems, developed by RedHat.
OptaPy An AI constraint solver for Python, optimizing various planning problems like vehicle routing and employee scheduling.
Sat4j A Java library for solving Boolean satisfaction and optimization problems, developed by Artois University.
SMTInterpol An interpolation SMT solver developed at the University of Freiburg.
Statix ​​Solver A constraint solver developed by Delft University of Technology.
Timefold An AI solver for optimizing operations and scheduling in Java, Python, or Kotlin.

🔍 Entity Resolution

Name Description
JedAI An open-source, scalable Java toolkit for entity resolution, developed by KU Leuven, Université Paris-Cité, and Università degli Studi di Modena and Reggio Emilia.
ReCiter A system for guessing which publications a person has authored in PubMed, developed by Cornell University.
Zentity An Elasticsearch plugin for real-time entity resolution.
Zingg An ML-based tool for entity resolution.

📊 Data Science

Data Science: involves extracting insights and knowledge from structured and unstructured data using various techniques such as statistical analysis, machine learning, and data visualization.

📊 Data Science

Name Description
Classifai A comprehensive open-source data annotation platform.
CUDF Provides Java bindings for CUDF to process large amounts of data on GPUs, developed by NVIDIA.
DataCleaner A data quality toolkit for analyzing, correcting, and enriching data.
Dataframe A Kotlin-based library for handling and processing tabular data, suitable for Jupyter Notebooks.
DataMelt A software suite for numerical computing, data analysis, and data visualization.
DFLib A lightweight, pure-Java DataFrame implementation.
Eclipse ICE A scientific workbench and workflow environment for computational scientists. (Archive)
ELKI An open-source data mining software for research and teaching.
Enso An interactive programming language with visual and textual representations.
Featran A Scala feature transformation library for data science and machine learning, developed by Spotify.
Incanter A Clojure-based, R-like statistical computing and graphics environment.
JFreeChart A comprehensive charting library for Java, supporting both client and server-side applications.
Joinery A DataFrame library for Java.
JScience Provides classes for working with scientific measurements and units.
Krangl A Kotlin library for data manipulation with a modern functional API. (Archive)
Morpheus A high-performance analytical library for large datasets on the JVM.
OpenRefine A tool for data cleaning, harmonization, and augmentation.
RumbleDB A query engine for large and chaotic datasets, developed by ETH Zurich.
Tablesaw A Java-based data framework and visualization library for data loading, cleaning, and analysis.
TMD A Clojure library for tabular data processing, similar to Python's Pandas.
XChart A lightweight data plotting library for quick and customizable chart creation.

🔍 Anomaly Detection

Name Description
Adaptive Alerting A streaming anomaly detection tool with automatic model selection, developed by Expedia.
Random Cut Forest A probabilistic data structure for non-parametric anomaly detection on streaming data, developed by Amazon.
ThirdEye An integrated tool for real-time time series monitoring and root cause analysis, originally from LinkedIn.

📊 Business Intelligence

Name Description
Abixen Platform A microservices-based platform for building enterprise applications with CMS integration.
ART A reporting and business intelligence solution supporting SQL query results, tabular reports, and dashboards.
Helical Insight An open-source BI framework for insights from multiple data sources.
KNOWAGE An open-source analytics and BI suite for combining traditional and big/cloud data sources.
Poli An easy-to-use SQL reporting application for SQL enthusiasts.
SuperSonic A next-generation LLM-powered data analysis platform integrating ChatBI and HeadlessBI, developed by Tencent Music.
Wren Engine A standalone semantic engine designed for AI agents and semantic layer integration.

🔍 Recommendation System

Name Description
LensKit An implementation of collaborative filtering algorithms and tools for benchmarking, developed by the University of Minnesota.
LibRec A Java library for recommender systems, offering state-of-the-art algorithms for rating prediction and item ranking.
RankSys A framework for implementing and evaluating recommendation algorithms and techniques.
Twitter Recommendation Algorithm Twitter's recommendation algorithm providing a feed of tweets and content across its product interfaces.

🧠 Fingerprint Recognition

Name Description
Android-Goldfinger A library for simplifying biometric authentication implementation on Android.
FingerprintIdentify An Android fingerprint authentication SDK.
SourceAFIS A Java port of SourceAFIS, used for fingerprint identification with 1:1 comparison and 1:N search capabilities.

🧠 Logic Programming

Name Description
Alpha An Answer Set Programming (ASP) system for computing answer sets from logic programs, developed by the Vienna University of Technology.
Formulog Extends Datalog with SMT formulas and first-order functional programming, developed by Harvard Programming Languages Research Group.
LogicNG A Java library for creating and solving Boolean and pseudo-Boolean formulas, including implementations of MiniSAT and related tools.
NeuraLogic A framework for writing differentiable programs to encode learning scenarios, similar to deep learning frameworks.

🔧 Multi-Agent

Name Description
Jason A full-fledged interpreter for AgentSpeak, a logic programming language for BDI agents, developed by the Federal University of Santa Catarina.
JaCaMo A development platform for Multi-Agent Oriented Programming (MAOP), integrating various tools and languages.
Yggdrasil A hypermedia multi-agent system (MAS) platform built with Vert.x, developed by the Interactions research team at the University of St. Gallen.

🔧 Miscellaneous Tools and Libraries

🔧 Miscellaneous Tools and Libraries: These libraries serve specialized or niche functions, such as configuration file parsing, license management, and data validation, among others. They often complement other libraries in specific contexts or enhance the functionality of a primary library by adding additional capabilities.

📚 Libraries

Name Description
Apache Commons Testing A package of Java utility classes for testing.
Component Test Framework A library that allows component testing of Spring Boot applications.
ConsoleCaptor A library that allows you to easily capture console output for unit testing.
Courgette-JVM An extension for Cucumber that adds the ability to run Cucumber tests in parallel at the feature level or scenario level.
EasyTest A library for performing data-driven testing in Java.
EqualsVerifier Verifies that the contracts of equals and hashCode methods in a class are met in unit testing.
Freud A framework for writing static analysis tests, developed by LMAX, a British foreign exchange trading company.
Hsac-Fitnesse-Fixtures Assists in testing web services and applications by providing utilities for defining and running tests.
HtmlUnit A GUI-free browser for Java programs, useful for testing.
JsonUnit Simplifies JSON comparison in tests.
Karibu-Testing Server-side, browser-less, and container-less unit testing for Vaadin.
LogCaptor Captures logging entries for unit and integration testing purposes.
Mutability Detector Analyzes Java classes to report whether an instance of a given class is immutable.
Oleaster Allows writing JUnit tests similarly to Jasmine tests.
OpenPojo Simplifies POJO testing in Java.
OpenTest4J A project initiated by the JUnit 5 team, providing a minimal common foundation for testing frameworks.
Overcast Java utility classes for writing tests against cloud-hosted environments.
POJO-TESTER A Java library that makes POJO testing easier.
SikuliRobot Provides keywords for testing UI through Sikuli in the Robot Framework.
Skippy A test impact analysis and predictive test selection framework for the JVM.
SocketTest A Java tool for socket testing, useful for testing servers or clients that use TCP or UDP protocols.
Specnaz A library for writing RSpec/Jasmine/Mocha/Jest style specifications in Java, Kotlin, and Groovy.
Spring Addons Provides OAuth2 resource server configuration and testing for Spring.
SQL Logic Test A suite of over 7 million tests for testing core aspects of SQL.
StackSrc Decorates the stack trace of test failures to make them more useful.
Tzatziki A collection of ready-made Cucumber steps for implementing TDD Java microservices, focusing on an outside-in testing strategy.

📄 JSON Library

Name Description
Ason A library aimed at making JSON very easy to interact with in Java. (Archive)
Avaje JsonB A fast, reflection-free JSON binding library generated via APT source code.
Boon A simple Java-based JSON toolkit for encoding or decoding JSON data efficiently.
BSON4Jackson Adds support for BSON to the Jackson JSON processor.
DSL-JSON The fastest JVM JSON library with advanced compile-time data binding support.
Eclipse Parsson Implementation of the Jakarta JSON Processing specification.
Eclipse Yasson A framework providing a standard binding layer between Java classes and JSON documents.
Fastjson A high-performance JSON library open sourced by Alibaba.
Functional JSON Parse and write JSON in a functional way.
Genson A complete JSON Java transformation library that provides full data binding, streaming, and more.
Gson A Java library for converting Java objects to JSON and vice versa, open sourced by Google.
HikariJSON A high-performance JSON parser.
Hjson Java A relaxed configuration file format for humans, with more comments and fewer errors.
Hope A high-level language for predicate evaluation on JSON in Java.
Instagram JSON Parser A fast JSON parser for Java projects, open sourced by Instagram. (Archive)
Jackson The most widely used JSON library in Java, and the default JSON processor in Spring.
Jackson-JQ A pure Java jq implementation for Jackson JSON processor.
Jakarta JSON Processing Provides a portable API for parsing, generating, transforming, and querying JSON documents.
JMESPath-Java A Java implementation of JMESPath, a query language for JSON.
Jolt A JSON to JSON transformation library, open sourced by Bazaarvoice.
JSON Canonicalization A Java implementation of JSON Canonicalization Scheme.
JSON Compare A Java library for comparing JSON.
JSON-Flattener A library that flattens nested JSON objects and can also unflatten them.
JSON-Java A reference implementation for parsing and generating JSON documents in Java.
JSON-LD Java A Java implementation of the JSON-LD 1.0 and JSON-LD-API 1.0 specifications.
JSON-Lib A Java library for converting Beans, Maps, Collections, Java Arrays, and XML to JSON and back.
JSON-IO A small, lightweight library for converting between JSON and Java objects.
JSON Patch An implementation of RFC 6902 JSON Patch and RFC 7386 JSON Merge Patch.
JSON-RPC Tools for implementing JSON-RPC for the Java programming language.
JSON Schema Generator A tool for generating JSON schemas from Java classes.
JSON Schema Validator A Java implementation of JSON Schema.
JSON Simple A simple Java library for parsing and generating JSON.
JsonPath A Java implementation of XPath for JSON, allowing you to navigate through JSON objects.
JsonUnit Simplifies JSON comparison in tests.
JsonWriter JSON parsing and serialization library based on Jackson's streaming parser.
JWKS RSA A library for handling JSON Web Keys in Java.
JsonSurfer A high-performance streaming JSON processor in Java.
Moshi A modern JSON library for Android and Java, created by Square.
Nashorn JSON The JavaScript engine Nashorn, part of the JDK, can be used to work with JSON data in Java.
Minimal JSON A fast and minimal memory footprint JSON parser and generator in Java.
Org.JSON A reference implementation for parsing and generating JSON documents in Java.
Protocol Buffers - JSON A Google library for serializing structured data, with JSON encoding support.
Qute Json A Java library that provides a JSON extension for the Qute template engine.
RapidJson A fast JSON parser/generator for C++ with optional Java binding.
Storm JSON A tool for real-time computation on JSON objects in Java.
Jolt A JSON to JSON transformation library, open sourced by Bazaarvoice.
Swagger-parser A parser for Swagger API specifications, using JSON.
Tapestry JSON Provides JSON support for Apache Tapestry web applications.

📄 PDF Library

Name Description
Apache FOP An XSL-FO driven print formatter and output independent formatter.
Apache PDFBox An open-source Java tool for processing PDF documents.
Boxable A library for easily creating tables in PDF documents.
Briss A small application for cropping PDF files.
ComPDFKit A powerful PDF library for building viewers and editors with features like annotation, signing, and encryption.
EasyTable A small project built on Apache PDFBox for simple table creation in PDFs.
HTMLToPDF A Java-based project for converting HTML documents to PDF.
ICEpdf A pure Java PDF document rendering and viewing solution.
iText A high-performance library for creating, adapting, and maintaining PDF documents.
Java WkHtmlToPdf Wrapper A Java-based wrapper for the WkHtmlToPdf command-line tool.
JSignPdf A Java application for adding digital signatures to PDF documents.
OPENHTMLTOPDF A Java library for rendering well-formed XML/XHTML using CSS 2.1, outputting to PDF or images.
OpenPDF An open-source Java library for PDF files.
OrsonPDF A PDF generation library for Java using the Java2D drawing API.
PDF Converter A Java library for converting PDF files to various formats like EPUB, TXT, PNG, JPG, and ZIP.
PDF Layout Text Stripper Converts PDF files to text files while preserving the layout.
PDF Studio Viewer A reliable and easy-to-use cross-platform PDF reader.
PDF Test A PDF test library for validating PDF content.
PDF Util A library for comparing two PDF files.
PDF2DOM A PDF parser that converts documents to an HTML DOM representation.
PDF2JSON A PDF file parser that converts PDF binary files into text-based JSON.
PdfCompare A simple Java library for comparing two PDF files.
PdfRenderer A Java library for rendering PDF documents to the screen using Java2D.
PDFsam A desktop application for splitting, merging, mixing, rotating PDF files, and extracting pages.
Sejda A task-oriented PDF editing SDK library written in Java.
Staplr A library providing functions for manipulating PDF files.
Stirling-PDF A powerful locally hosted web-based PDF manipulation tool with various operations like splitting, merging, and compressing.
Tabula A library for extracting tables from PDF files.
TrapRange A data method for detecting table contents and extracting them from a PDF file.
VeraPDF An industry-supported open-source PDF/A validation library.

📈 Excel Library

Name Description
Apache POI A Java library for reading and writing Office binary and OOXML file formats.
AutoExcel A fast import and export tool for Excel.
DsExcel Java A high-speed Java Excel spreadsheet API library.
Excel Streaming Reader An easy-to-use implementation of a streaming Excel reader using Apache POI.
ExcelCompare A command-line tool for comparing Excel/Open document (ODS) spreadsheets.
FastExcel A library for quickly generating and reading large Excel files.
JXLS A small and easy-to-use Java library for generating Excel reports using Excel template files.
Keikai A web application for building spreadsheet-driven applications.
MemPOI A library that simplifies exporting from a database to Excel files using Apache POI.
Poiji A small thread-safe Java library that maps Excel worksheets to Java classes.
Xcelite An ORM-like Java library that easily serializes and deserializes Java Beans to/from Excel spreadsheets, open-sourced by eBay.
ZK Spreadsheet An open-source, embeddable, web-based online spreadsheet with rich Excel-like functionality in the browser.
ZeroCell A simple API for loading data from Excel into POJO using annotations.

📁 CSV Library

Name Description
AdaptiveTableLayout A library for reading, editing, and writing CSV files.
Charred An efficient character-based file parsing library for CSV and JSON formats.
CSVeed A Java library that works with CSV files and exposes them as rows or Java Beans.
Daff A library for comparing tables and generating summaries of their differences.
DeCS A simple Java 8 CSV parser and generator.
Deephaven CSV A high-performance, column-oriented, type-inferred CSV parser.
FastCSV A lightning-fast, dependency-free Java CSV library that complies with RFC standards.
Jackson Dataformats Text Support for reading and writing CSV-encoded data through the Jackson abstraction.
Java CSV A small, fast, open-source Java library for reading and writing CSV and delimited text files.
kotlin CSV A pure Kotlin library for reading and writing CSV files.
Scala CSV CSV reading and writing library for Scala.
Super CSV A fast, programmer-friendly open-source library for reading and writing CSV files.
TomlJ A complete TOML parser.
UniVocity Parsers A fast and comprehensive library for CSV and fixed-width records parsing.

📄 Word Library

Name Description
Documents4j A Java library for converting documents to other formats.
Docx Stamper A Java template engine for DOCX documents.
Docx4j An open-source library for creating, editing, and saving OpenXML packages, including DOCX, PPTX, and XLSX.
Mammoth Converts DOCX documents to HTML.
POI-TL A Word template engine for generating documents based on templates and data.

🔧 Toml Library

Name Description
Toml4j A TOML 0.4.0 parser for Java.
TomlJ A complete TOML parser.

🌐 HTML Library

Name Description
AttoParser A Java parser for XML and HTML tags.
CSSBox An XHTML/CSS rendering engine written in JavaScript.
Fruit A library for converting HTML to Java objects.
HTMLParser A Java implementation of the HTML parsing algorithm.
J2Html Java to HTML generator.
JFiveParse A Java HTML 5 compliant parser.
Jspoon A Java library for parsing HTML into Java objects based on CSS selectors.
JTidy A Java port of HTML Tidy for syntax checking and pretty-printing.
NekoHTML HTML parser and tag balancer.
OWASP Java HTML Sanitizer A fast HTML sanitizer for including third-party HTML while preventing XSS.
RenderSnake A Java library for generating HTML using Java.

📄 XML Library

Name Description
Aalto-XML An ultra-high-performance, next-generation Stax XML processor implementing both basic Stax API and Stax2 API extensions.
Apache Commons Digester Configures XML-to-Java object mapping with rules triggered by specific patterns of nested XML elements.
Apache Commons JXPath Java-based XPath 1.0 implementation that can inspect/modify Java object graphs and mixed Java/XML structures.
Apache Commons SCXML A Java implementation of a statechart XML engine.
Apache Santuario Provides implementations of major XML security standards.
BaseX An XML database to store compressed XML data with efficient XPath and XQuery implementations.
Dom4j An open-source framework for processing XML with support for XPath, DOM, SAX, JAXP, and the Java platform.
FlyingSaucer A Java library for rendering arbitrary XML or XHTML using CSS 2.1, outputting to Swing panels, PDF, and images.
GsonXml A small library that enables XML deserialization using the Google Gson library. (Archive)
Jaxb RI Eclipse implementation of JAXB.
Jackson-XML An extension to the Jackson JSON processor adding support for XML serialization and deserialization.
JDOM A library simplifying XML operations in Java.
Jcabi-XML Java library for XML parsing, conversion, printing, and validation.
jOOX A simple wrapper around the org.w3c.dom package for streaming creation and manipulation of XML documents.
Jaxb Tools JAXB2 Maven plugin for XML schema compilation.
Jaxen XPath engine for Java.
Jettison A Java library for converting XML to and from JSON using StAX, supporting Mapped and BadgerFish conventions.
Jcabi-XML Java XML parsing, conversion, printing, and validation library.
Json2Xml A simple implementation of JSON to XML conversion.
SitemapGen4j A library for generating XML sitemaps in Java.
Simple-XMl A high-performance Java XML serialization and configuration framework.
TikXML Fast XML parser for Java and Android.
Validator An XML validation engine used to validate and process XML files in various formats.
Woodstox Stax XML API (javax.xml.stream) implementation.
XMLBeam Process XML using annotations or XPath in your code.
XmlToJson Android library for converting XML to JSON and vice versa.
Xembly An assembly-like imperative programming language for XML document manipulation.
XDocReport Merges XML documents created with Office, OpenOffice, or LibreOffice with Java models to generate reports and convert to other formats.
XSoup XPath selector based on JSoup.
XsdParser A library that parses XML definition files (.xsd) into lists of Java objects.
XStream A library for converting between Java and XML.
Xjx A lightweight XML serialization and deserialization library for Java.
XmlResolver Provides high-level implementations of SAX EntityResolver, Transformer URIResolver, and NamespaceResolver.

📝 YML Library

Name Description
BoostedYAML A simple, easy-to-use, standalone Java library that provides an enhanced experience when working with YAML documents.
EO-YAML A YAML library for Java 8 and later.
Psych A YAML parser and emitter.
SnakeYAML A YAML parsing library for Java.
YamlBeans YamlBeans simplifies the serialization and deserialization of Java object graphs to and from YAML.

🔐 License Library

Name Description
Candlepin An open-source subscription and licensing engine designed to manage software subscriptions from both the vendor and customer perspectives.
FOSSLight Manages open source, licenses, and vulnerabilities for compliant and secure software usage.
HawkEye Simple license header checker and formatter available in multiple distribution forms.
License3j A free and open-source Java library for managing license files in Java programs requiring technical license management.
Licensius A Java micro-licensing framework.
Solicitor A tool to manage software dependency licenses.
TrueLicense An open-source engine for license management on the JVM.

📝 Markdown Library

Name Description
Commonmark-Java A Java library for parsing and rendering Markdown text according to the CommonMark specification.
Intellij-Markdown A multi-platform Markdown processor written in Kotlin.
Java Markdown Generator Java library for generating Markdown.
Markdown To AsciiDoc A small, lightweight Markdown to AsciiDoc converter written in Java based on Pegdown.
MarkdownJ MarkdownJ is a pure Java port of Markdown, a text-to-HTML conversion tool written by John Gruber.
MarkdownPapers Markdown parser and converter implemented in Java.
Pegdown A pure-Java Markdown processor based on a parboiled PEG parser supporting a variety of extensions.
TxtMark A fast and lightweight Markdown processor in pure Java.

📚 Document Library

Name Description
AlgART-TIFF Java library that provides full read/write support for TIFF files.
Apron Small library for reading and writing Java .properties files.
CDC Tool class related to Office documents.
DD PList Java library providing support for ASCII, XML, and binary property lists.
DotEnv Dependency-free, pure-Java port of the Ruby DotEnv project for loading environment variables from .env files.
Dotenv Kotlin Port of the Ruby dotenv project to Java and Kotlin.
EPUBCheck Official conformance checker for EPUB publications, open sourced by W3C.
Epublib Java library for reading and writing EPUB files.
Fugerit Doc Framework for generating documentation in various output formats starting from an XML document metamodel.
HCL4j Parser for the Hashicorp Configuration Language on the JVM.
JDBF Java utilities for reading and writing DBF files.
JElf Java library for parsing ELF files.
JODConverter Automates document conversions using LibreOffice or Apache OpenOffice.
JPMML-Evaluator Java library for generating and consuming PMML documents.
Jcabi Manifests Java library for conveniently reading MANIFEST.MF files available in the classpath.
JavaDBF Java library for reading and writing Xbase (dBase/DBF) files.
Java netCDF Java library for accessing scientific data from various file formats, including netCDF, HDF, GRIB, BUFR, etc.
JglTF Java library related to glTF.
LASzip4j Java port of the LASzip library.
LibPST Library for reading PST files in Java.
MPXJ Enables reading and writing of project plans in various file formats.
MSLinks Library for parsing and creating Windows shortcut files (.lnk).
Meico Converter framework for MEI files, open sourced by the University of Paderborn.
ODF Toolkit Java modules for programmatic creation, scanning, and manipulation of ODF documents.
Obj Simple Wavefront OBJ file loader and writer.
Org-Java Org mode file Java parser.
OST2PST Convert Outlook OST files to PST format.
SODS Simple Java library for working with ODS files.
Silencio Java library for converting XML, JSON, YAML, Properties, and other formats.
TIFF Java Java library for reading and writing TIFF files, open sourced by the National Geospatial-Intelligence Agency.
WaveAccess Java library for reading and writing wave files (.wav).

🔍 Specialized Libraries

Specialized libraries: provide focused functionality, such as reflection, date and time handling, mathematical computations, ontology management, semantic web integration, and knowledge graph operations.

🔍 Reflection Library

Name Description
Apache Commons ClassScan Provides information about all classes available at runtime, whether the class has been loaded or not.
FEST-Reflect Offers a compact, type-safe fluent API for easy Java reflection usage.
Jandex A space-efficient Java class file indexer and offline reflection library.
jOOR A fluent API library for intuitive access to the Class structure via reflection.
Lambda-Factory Provides a fast alternative to reflection-based method invocation.
Mirror Easy reflection for Java and Android.
Mirror A simple DSL layer over the Java reflection API.
Objenesis Bypasses constructors when creating objects.
Paranamer Allows access to parameter names of non-private methods and constructors at runtime.
ReflectASM Provides high-performance reflection by using code generation.
Reflections Scans and indexes classpath metadata for reverse transitive queries at runtime.
Reflection Util Simplifies common use cases of Java reflection.
Reflecto Simplifies deep reflection tasks with a powerful Java reflection library.
Jeflect A set of utilities designed to interact with and speed up reflection.

📅 Date and Time

Name Description
Adhan Kotlin A well-tested library for calculating Islamic prayer times.
Biweekly An iCalendar library written in Java.
BusinessCalendar4J A 100% pure Java business calendar library with no additional dependencies.
Business Hours Java Helps handle business hours like "Monday to Friday 9am to 6pm, Saturday 9am to 12pm".
Clocks Java.time.Clock implementation for testing and Joda-Time integration.
Date4j A lightweight replacement for Java's built-in date class.
DateParser A smart, high-performance date and time parser library supporting hundreds of patterns.
GoodTimes Java 8 date/time API enhancements for Groovy.
iCal4j A Java library for reading and writing iCalendar data streams as defined in RFC2445.
Internet Time Utility An extremely fast parser and formatter for ISO format date times.
Jollyday A Java library for querying public holidays, supporting over 70 countries.
Jollyday Determines holidays for a given year, country/name, and optionally state/region.
Joda-Time A high-quality replacement for the Java date and time classes.
Lib-Recur Parses and iterates over repeated strings defined in RFC 5545 and RFC 2445.
Prettytime Social-style date and time formatting for Java.
Sunrise/SunsetLib Java Java library for calculating local sunrise and sunset based on latitude/longitude and date.
ThreeTen Backports of Java 8 date-time classes to Java 6 and 7.
ThreeTen-Extra Provides additional date-time classes to supplement the classes in JDK 8.
TickTock A time zone data management library for the JVM and Android, targeting the java.time.* API in Java 8 or later. (Archive)
TimeAgo A simple Java library for displaying dates as relative times in various languages.
TimeFlow Provides a Java clock that can be adjusted in tests without using dependency injection.
Tyme4j A powerful calendar tool library supporting Gregorian and lunar calendars, constellations, zodiac signs, solar terms, and holidays.
Zmanim An API for calculating astronomical times, including Jewish religious times for prayers.

🔢 Mathematical Library

Name Description
Apache Commons Math Provides a range of basic mathematical algorithms and advanced functions.
Apache Commons Numbers Implements number types and utilities.
Apfloat High-performance arbitrary-precision arithmetic library for calculations with millions of digits.
BigDecimalMath High-level BigDecimal math functions with arbitrary precision.
BigDecimal Utils Utility library for comparing BigDecimals.
Catalano Scientific computing framework for Java and Android.
Cojac Improves arithmetic capabilities of Java numbers.
DDoggeg High-performance library for nonlinear optimization, robust model fitting, and other tasks.
Decimal4j Fast fixed-point arithmetic library supporting up to 18 decimal places.
DSI Utils Collection of utility classes developed at the University of Milan.
Eclipse January Libraries for working with numerical data in Java, inspired by NumPy.
EJML Fast and easy-to-use linear algebra library for dense and sparse matrices.
FastDoubleParser Optimized parsers for double, float, BigDecimal, and BigInteger values.
GLPK Solvers for large-scale linear and mixed integer programming.
Hipparchus Lightweight math and statistics components for common problems.
Histogram Implementation of streaming one-shot histograms.
JAutoDiff Automatic differentiation library written in pure Java.
JTransforms Multi-threaded FFT library written in pure Java.
KMath Kotlin math extension library.
KotlinGrad Type-safe symbolic differentiation for the JVM.
La4j Provides linear algebra primitives and algorithms.
LIBLINEAR Java version of LIBLINEAR for large-scale regularized linear problems.
Matrix-Toolkits-Java High-performance library for linear algebra applications. (Archive)
NetLib-Java Wrapper for low-level BLAS, LAPACK, and ARPACK implementations. (Archive)
NdArray Java Framework for manipulating data in N-dimensional space.
NM Dev Numerical library covering a wide range of algorithms.
Neanderthal Clojure library for fast matrix and linear algebra computations.
Ojalgo Open source code for mathematics, linear algebra, and optimization.
ParallelColt Multithreaded version of Colt.
SSJ Library for stochastic simulation.
SymJava Symbolic numerical computation library.
Symja Computer algebra language and symbolic mathematics library.
Tensorics Framework for multidimensional data processing.
UnCommons-Maths Libraries for random number generation, probability distributions, and statistics.
UJMP Library for dense and sparse matrix computations and linear algebra.
Vectorz Fast double-precision vector and matrix math library.
BigInt Improved version of java.math.BigInteger with fast algorithms.

🔗 Ontology Library

Name Description
AMIE System for mining Horn rules on knowledge bases.
Apache Jena Java framework for building semantic web and linked data applications.
CEL Lightweight description logic reasoner for large-scale biomedical ontologies.
DL-Learner Machine learning framework for enforcing rich semantic background knowledge.
ELK Ontology reasoner supporting the OWL 2 EL profile.
IDMP OWL ontology for drug identification based on ISO standards.
JOPA Java OWL persistence layer for efficient access to OWL2 ontologies and RDF graphs.
Karma Information integration tool for various data sources including databases and web APIs.
KOMMA RDF object mapper and framework for managing and editing RDF, RDFS, and OWL.
LODE Converts OWL ontologies into human-readable HTML pages.
LogMap Scalable ontology matching system with reasoning and inconsistency repair.
MELT Framework for developing, tuning, and evaluating ontology matching systems.
Ontmalizer Automates transformation of XML schemas and data to RDF/OWL.
Ontology Modeling Language Abstract syntax, textual syntax, graphical syntax, API, and specification for OML.
ONT-API RDF-centric Java library for use with OWL2.
Openllet Checks ontology consistency, computes hierarchies, and answers SPARQL queries.
O'FAIRe Tool for assessing fairness in ontologies and semantic resources.
OBOGraphs JSON/YAML format specification for ontology exchange with OWL converter.
OntoBrowser Web-based application for managing ontologies.
OntoGraph OWL ontology graphing program.
OWL-CLI Command-line tool for ontology engineering including diagram generation and OWL DL reasoning.
OWLAPI Java API for creating, manipulating, and serializing OWL ontologies.
OWLTools Convenient Java API on top of the OWL API.
OWL2VOWL Converts ontologies to WebVOWL format.
Pellet OWL 2 reasoning engine available under open source and commercial licenses.
Phenol Phenomics and genomics ontology library.
Racer Knowledge representation system with optimized tabular calculus for description logic SRIQ(D).
RDF Toolkit Tool for reading and writing RDF files in various formats.
ROBOT Command-line tool and library for automating ontology development tasks.
Scowl Scala DSL for writing OWL expressions and axioms in a declarative way.
SciGraph Represents ontologies and data as Neo4j graphs.
Sigma Integrated development environment for logic theories, extending the Suggested Upper Merged Ontology (SUMO).
STATO General statistical ontology.
ZOOMA Application for discovering optimal ontology mappings.
WebProtégé Collaborative ontology development environment.
Widoco Generates HTML templates with ontology documents.

🌐 Semantic Web

Name Description
Apache Commons RDF Provides a common library for RDF 1.1 with implementations for various Java RDF frameworks.
CARML Java library for converting structured sources into RDF as declared in RML mappings.
Corese Platform for creation, manipulation, parsing, serialization, querying, reasoning, and validation of RDF data.
D2RQ Accesses relational databases as virtual read-only RDF graphs. (Archive)
ESMF SDK Artifacts and resources for using, extending, or integrating with the Semantic Aspect Metamodel (SAMM).
Empire Provides a JPA-style interface to RDF databases using SPARQL.
FOX Framework for extracting RDF triples from natural language using NLP algorithms.
HeFQUIN Query federation engine for heterogeneous federation of graph data sources.
HDT Java library for the RDF HDT (Header-Dictionary-Triple) binary format.
JSON2RDF Streaming, general-purpose JSON to RDF converter.
LinkedGeoData Adds a spatial dimension to the Semantic Web, using OpenStreetMap data as an RDF knowledge base.
LodView Java web application providing IRI dereferencing compliant with W3C standards.
NeoSemantics Plugin for integrating RDF with Neo4j.
Pinto Java framework for converting JavaBeans to RDF.
qEndpoint Scalable triple store with full-text and GeoSPARQL support.
Ripple Stack-based functional query language for Linked Data and RDF data sources.
RDFUnit Data validation tool based on the Test Driven Data Validation Ontology.
SPARQL System for querying anything using SPARQL.
Trellis Platform for building scalable linked data applications.
Vitro Web-based ontology and instance editor with customizable public browsing.
Wikidata Toolkit Java library for accessing Wikidata and other Wikibase installations.
Mobi Collaborative knowledge graph platform for teams and communities.

🔍 Knowledge Graph

Name Description
DMX Knowledge building platform.
LinkedDataHub Software for managing data, creating visualizations, and building applications on RDF knowledge graphs.
OpenSPG Knowledge graph engine based on the SPG (Semantic Enhanced Programmable Graph) framework.
Wandora General-purpose information extraction, management, and publishing application based on topic graphs.

🔧 CLI Tools

Name Description
Airline A Java library providing an annotation-based framework for parsing command line interfaces.
Apache Commons CLI A simple API for presenting, processing, and validating command-line interfaces.
Babun A Linux-like console for Windows, providing a familiar environment for developers.
Crash A shell designed for extending Java programs and the Java virtual machine.
Clikt A Kotlin library simplifying the creation of command-line interfaces.
J2ObjC A command line tool from Google that converts Java source code to Objective-C for iOS.
JD-CLI A simple command-line wrapper for the JD-Core project.
JBang A command-line development tool for running Java programs in script form.
JLine A Java library for processing console input.
Just A smart zero-configuration command-line interface for running Spring Boot applications.
MCS A small CLI for querying Maven Central from the command line.
Open PDF Sign A CLI application for easily signing PDF files from the command line.
Progressbar A console-based Java progress bar library.
RSC A curl tool for RSocket.
SDKMAN A tool for managing parallel versions of multiple software development kits on Unix-based systems.
Signal CLI Command line interface for Signal Messenger, supporting messaging functionalities.
SQLLine A command-line shell for issuing SQL to relational databases via JDBC.
Text-IO A library for creating Java console applications that read interactive user input.
Unix4j A Java implementation of Unix command line tools for use within Java applications.
JeeSh A JVM extensible and embeddable shell.
JMXTerm An interactive JMX client written in Java.
Barclay Classes for annotating, parsing, validating, and generating documentation for command-line options.

🔧 Serialization

Name Description
Apache Avro A data serialization system providing rich data structures and compact binary serialization.
Bond A cross-platform framework for processing schema-based data, supporting cross-language serialization.
Chill An extension of Kryo serialization with optimizations for use in frameworks like Hadoop and Akka.
Colfer A binary serialization format optimized for speed and size.
FST High-performance object graph serialization compatible with JDK serialization.
FlatBuffers A memory-efficient serialization library enabling access to serialized data without unpacking.
Fury A blazing-fast object graph serialization framework utilizing JIT and zero-copy techniques.
Hessian A binary-based lightweight protocol for remote procedure calls between applications.
Kryo A fast and efficient Java binary object graph serialization framework.
MessagePack An efficient binary serialization format for compact data representation.
OpenRTB Supports the OpenRTB specification with additional features for JSON serialization and validation in Java.
PHP Serializer Serializes Java objects in the PHP serialization format.
Protostuff A serialization library with built-in support for schema evolution and validation.
Reservoir A library for easily serializing objects using key/value pairs and caching them to disk.
Serial Custom serialization implementation designed for performance and developer visibility.
SOFA-Hessian An improved version of Hessian with stable performance in production environments.
Swift An easy-to-use annotation-based library for creating Thrift serializable types and services.
uPickle A simple and fast Scala library for JSON and MessagePack serialization.
VelocyPack Java Java implementation of VelocyPack, a fast format for serialization and storage.
Zserio A framework for serializing structured data compactly and efficiently.

🔍 Logging Libraries

Name Description
Apache Log4j 2 Complete rewrite with a powerful plugin and configuration architecture.
Echopraxia API designed around structured logging, rich context, and conditional logging; dependency-free implementation.
Graylog Open-source aggregator suited for extended role and permission management. (GPL-3.0-only)
Kibana Analyzes and visualizes log files; some features require payment.
Logback Robust logging library with interesting configuration options via Groovy.
Logbook Extensible, open-source library for HTTP request and response logging.
Logstash Tool for managing log files.
p6spy Enables logging for all JDBC transactions without changes to the code.
SLF4J Abstraction layer/simple logging facade.
tinylog Lightweight logging framework with static logger class.
OpenTracing Toolbox Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.
Apache Log4j The initial version of Log4j, which has stopped maintenance.
Apache Log4j2 Log4j2 is a versatile, industrial-strength Java logging framework.
Logback A reliable, general, fast and flexible Java logging framework.
Apache Commons Logging Commons Logging is a thin adapter that allows configurable bridging to other logging systems.
Slf4j SLF4J is used as a simple facade or abstraction for various logging frameworks, allowing end users to plug in the desired logging framework at deployment time.
JUL Provides classes and interfaces for the core logging facilities of the Java platform.
Flogger A streaming Java logging API developed by Google.
Logstash Free and open source server-side data processing pipeline that collects and sends data.
Tinylog Lightweight logging framework for Java, Kotlin, Scala and Android.
Blitz4j Built on top of Log4j to reduce contention and achieve highly scalable logging without affecting performance.
Kotlin Logging Lightweight multi-platform logging framework for Kotlin.
Apache DistributedLog High-throughput, low-latency replicated log service developed by Twitter.
JBoss Logging Logging facade that can be bound to different log managers.
Timbermill Advanced open-source logging service built for ElasticSearch by Salesforce.
Scala Logging Fast logging library that wraps SLF4J, open-sourced by Lightbend.
ECS Logging Java Helps implement structured logs easily.
Logger Simple, powerful logger for Android.
BqLog Lightweight, high-performance log system used in major projects, open-sourced by Tencent.
Timbre Clojure/Script logging library.
Google Cloud Logging Google Cloud Logging client library for Java.
GFLog Efficient and garbage-free logging framework for Java 8+, open-sourced by EPAM.
Timber Logger with a small, extensible API for Android.
MinLog Small Java logging library with zero overhead.
Logbook Enables full request and response logging for various technologies, open-sourced by Zalando.
XLog Lightweight and flexible logger for Android and Java.
P6Spy Framework for intercepting and logging database data without code changes.
Loki4j Fast and lightweight Logback Appender for Grafana Loki.
Fluent Logger Java library for logging events via Fluentd.
Chronicle Logger Sub-microsecond Java logger supporting standard logging APIs.
Jcabi Log Static wrapper for SLF4J eliminating the need for static LOGGER instances.
PLog Log encapsulation library for Android, open-sourced by Jumei Youpin.
PL4J SLF4J wrapper for pretty-printing with ANSI format via jansi.
ObjectLogger Object logging system supporting querying of object property changes.
Trojan Efficient mobile logging SDK, open-sourced by Ele.me.
AutoLog4j Extension of the log library from Autohome dealer technology department.
Sensitive Annotation-based Java log desensitization tool framework.
Spotify Logging Utility class for Spotify-compatible logging setup.
LogUtils Convenient and easy-to-use Android log manager.
Singer High-performance log agent for uploading logs to Kafka, open-sourced by Pinterest.
Log Record Elegantly records operation logs through Java annotations.
Logback Android Stripped-down version of Logback for Android.
Zerolog Logging facade suitable for performance-sensitive applications.
Yolo Log tailing and parsing framework, open-sourced by Ustream.
Penna Backend for SLF4J focused on logging structured data in JSON format.
BizLog Spring Boot annotation for general operation log component, open-sourced by Meituan employees.
Napier Logger library for Kotlin Multiplatform.
KLogging Pure Kotlin logging library using Kotlin idioms.
Syslog4j Client and server implementations of the Syslog Protocol.
Log4JDBC JDBC driver logging SQL statements.
Monitor Dependency for logging performance and other statistics.
SmartLog High-performance structured logging library for Java.
Timber4J High-performance, logging library with support for JSON, XML, and plaintext formats.
JQuickLog Fast logging system for enterprise applications.
Freemarker Template engine to create log formats dynamically.

🔧 Code Generators

Name Description
Apache Avro A framework for data serialization, with tools for generating schemas and source code.
JOOQ Generates Java code from your database schema.
Lombok A library that helps you reduce boilerplate code in Java applications.
Dagger A dependency injection library that generates code at compile time.
MapStruct Code generator for bean mapping, simplifying object mapping between Java objects.
JavaPoet A Java API for generating .java source files.
Spring Roo Rapid application development framework for Spring applications.
JHipster Generates a Spring Boot + Angular/React/Vue web application.
Hibernate Tools Code generation for Hibernate ORM entities and configuration.
Swagger Codegen Automatically generates client libraries, server stubs, and API documentation.
Micronaut A modern JVM-based framework for building modular, easily testable microservices.
Thymeleaf A modern server-side Java template engine for web and standalone environments.
Spring Initializr Quickly bootstrap a new Spring Boot application.
IntelliJ IDEA Provides code generation features such as constructor, getters, and setters.
JOOQ Code Generation Generates code from database schema for type-safe SQL queries.
JOOQ Generator Generates Java code from database tables, views, and stored procedures.
EasyCode Rapid code generation tool for Java applications.
Spring Data Rest Automatically exposes JPA entities as RESTful APIs.
JAXB Generates Java classes from XML schemas (XSD).
ProtoBuf Generates Java code for Protocol Buffers (protobuf) serialization.
XStream Converts Java objects to XML and back, with code generation for XML representations.
Codegen Generate API client libraries and server stubs based on OpenAPI specifications.
Hiberate ORM Generates code for entity classes based on database schema.
JOOQ Code Generation Generates type-safe SQL queries from database schema.
ServiceStack Provides various tools for code generation and service development.
Apache CXF Code generation for web services using JAX-WS and JAX-RS.
Flyway Database migration tool that can generate migration scripts.
JOOQ Generates Java code from SQL statements and database schemas.
QueryDSL Generates typesafe query APIs for JPA, SQL, and other backends.
JRebirth Framework that helps generate JavaFX applications.
Byte Buddy Code generation and manipulation library for Java.
AspectJ Aspect-oriented programming framework for Java, enabling code generation at runtime.
Spring Cloud Provides tools for developing cloud-native applications, including code generators.

🎮 Game Development and Multimedia

🎮 Game Development and Multimedia encompasses creating and designing games, including game engines, rendering tools for 2D and 3D graphics, and game server frameworks for online gameplay.

🎮 Game Development

Name Description
Alice Alice is an innovative block-based programming environment for creating animations, interactive narratives, or simple 3D games.
AndEngine A free 2D OpenGL game engine for Android.
Artemis ODB A high-performance entity component system framework based on Java.
Ashley A small entity framework written in Java, inspired by Ash and Artemis.
Baritone The pathfinding system used by Impact for Minecraft, designed for automated pathfinding.
Bladecoder Adventure Tools for creating interactive graphical adventures, such as point-and-click games.
ByteLegend An open-source MMORPG game that helps users gain real-world programming skills.
Delver A game engine and editor designed for creating dungeon crawler games.
DimensioneX A simple, free multiplayer MMORPG game engine.
Dyn4j A Java 2D collision detection and physics engine designed for speed and stability.
Env3D A 3D engine written in Java aimed at computer science students.
FastJ A Java-based 2D game engine and framework that provides a streamlined development experience.
Forge An unofficial rules engine for the card game Magic: The Gathering.
FriceEngine A simple and lightweight native game engine for the JVM.
FXGL FXGL is a Java/JavaFX/Kotlin game engine library designed for creating 2D games.
Grasscutter An experimental game server designed to simulate an anime game experience.
jMonkeyEngine A 3D game engine for Java developers looking to create 3D games.
JBox2d A Java port of the C++ physics engines LiquidFun and Box2d.
KTX A Kotlin game framework that extends LibGDX for additional features.
KorGE A modern multi-platform game engine for Kotlin.
Kool A multi-platform OpenGL/WebGPU/Vulkan game engine for Java, Android, and browsers.
LibGDX A cross-platform Java game development framework based on OpenGL.
Libbulletjme JNI interface for BulletPhysics and V-HACD.
Litiengine A Java 2D game engine with a map editor for creating tile-based games.
LunarCore A reimplementation of a server for a turn-based anime game.
LWJGL A Java library providing access to native APIs for graphics, audio, and parallel computing.
Mindustry A 2D game combining tower defense, factory automation, sandbox, and real-time strategy.
Mini2Dx A framework for rapid prototyping and building 2D games in Java.
OpenRTS A 3D real-time strategy game engine.
OpenRSC The Open RuneScape Classic game framework.
ODE4j An open-source library for simulating rigid body dynamics.
PlayN A cross-platform Java game development library targeting HTML5, desktop JVMs, Android, and iOS.
Pixel Dungeon A Roguelike game with pixel art graphics and a simple interface for multiple platforms.
PretendYoureXyzzy A Cards Against Humanity clone with server and web client.
Recast4j A Java port of the Recast and Detour navigation mesh toolset.
SGDK A development kit for the Sega Mega Drive.
SilenceEngine A 2D/3D game engine handling low-level aspects like graphics, input, and collision detection.
Shattered Pixel Dungeon A roguelike dungeon crawler role-playing game.
Slick2D Tools and utilities built around LWJGL OpenGL bindings for easier 2D Java game development.
SquidLib A library aimed at creating traditional roguelike games and similar types.
Talos An open-source node-based VFX editor with a LibGDX runtime.
Terasology A voxel world game inspired by Minecraft, evolving into a versatile game platform.
TripleA A turn-based strategy game and board game engine similar to Axis & Allies or Risk.
Unciv A moddable remake of Civ V for Android and desktop, made with LibGDX.
VASSAL A game engine for building and playing online adaptations of board games and card games.
Void2D Void2D is a 2D game engine focused on simplicity and performance.
Zircon A scalable and user-friendly multi-platform tile engine.

🔍 2D/3D Rendering

Name Description
Art of Illusion Free, open-source 3D modeling and rendering software.
Constellation Graph-centric data visualization and interactive analysis application for large datasets.
Grafx Java library for drawing lines and filled polygons with floating-point coordinates.
ImGui-Java JNI-based bindings for the ImGui graphical user interface library.
JMathPlot Interactive 2D and 3D plotting library in Java.
Jzy3d Framework for 3D and 2D charts in Java with GPU/CPU rendering.
LEGUI Java OpenGL GUI library for LWJGL 3.
Marlin Java 2D rendering engine optimized for performance and quality.
ModernUI Framework for developing 2D/3D rendering software or game engines with modern technologies.
Oreon OpenGL/Vulkan Java 3D engine.
Scenery VR visualization of volumetric and geometric data on the JVM with Kotlin and Vulkan.
Skija High-quality Java binding for the Skia 2D graphics library.
VTM OpenGL vector map library for Android, iOS, desktop, and browsers.

🔧 Game Server

Name Description
Apollo High-performance RuneScape simulator with utilities for managing data files and plugins.
Carmelo Fast, scalable Java server framework designed for online games.
GameServer4j Distributed Java game server framework with login and gateway servers.
JetServer Multiplayer Java game server based on high-speed NIO sockets using Netty and Jetlang.
Socket.IO Netty-based Socket.IO Java server for high-performance game requirements.
TenIO Open source multiplayer online game server project with a Java NIO-based server.
ZFoo High-speed enterprise server framework for RPC, game server, and web server applications.

🎵 Multimedia Processing

Multimedia processing: libraries offer tools for handling, analyzing, and manipulating audio, video, images, optical character recognition (OCR), and Scalable Vector Graphics (SVG) formats.

🔵 Audio and Video Processing

Name Description
Airsonic A free web-based media streamer that lets you access your music anywhere, anytime. (Archive)
Alexa Skills Kit Java SDK Amazon's cloud-based voice service SDK, enabling developers to build voice-driven applications for Alexa.
Audiveris An open-source optical music recognition (OMR) software that converts scanned sheet music into machine-readable formats like MusicXML or MIDI.
AudioBookConverter An improved converter for turning MP3s into M4B audiobook formats.
Beat-Link A Java library for syncing to the beat of a Pioneer DJ Link device and retrieving track information.
Concentus A portable C# and Java implementation of the Opus audio codec.
Echoprint Server An open-source audio fingerprint system server developed by Spotify. (Archive)
FFmpeg CLI Wrapper A streaming interface for running FFmpeg commands from Java.
FFmpeg4j A Java library that encapsulates the functionality of the FFmpeg library.
GStreamer 1.x Java Core Java bindings for the GStreamer 1.x multimedia framework.
Horizon A simple visual equalizer for Android devices.
Jaffree A command-line wrapper for FFmpeg and FFprobe, written in Java.
JAVE2 A Java wrapper library for FFmpeg, used for audio and video transcoding.
Jitsi A free, open-source audio/video and chat communicator that supports multiple protocols.
JLayer A library for decoding, playing, and converting MP3 files on the Java platform.
JNAJack Java bindings for the JACK audio connectivity kit.
JSyn A modular audio synthesizer for Java.
JCodec A pure Java implementation of video and audio codecs.
jPSXdec A cross-platform tool for converting PlayStation 1 audio and video formats.
libjitsi A high-level media library for secure, real-time audio/video communications.
LibSDL4J A Java mapping of the SDL2 API.
LiTr A lightweight hardware-accelerated video/audio transcoder for Android.
LavaPlayer An audio player library for Discord bots, capable of loading tracks from various sources and converting them to Opus streams.
MaryTTS An open-source, multilingual text-to-speech synthesis system in Java.
Metadata Extractor A Java library for reading metadata from media files, including images, audio, and video.
Minim A Java audio library designed for use with Processing.
MP3agic A Java library for reading MP3 files and manipulating ID3 tags.
M3U8-Parser A simple parser for HLS playlists written in Java.
OmRecorder A simple PCM/WAV recorder for Android.
Opencast An open-source video management system for academic institutions, enabling reliable and scalable video content delivery.
OSCI Render A synthesizer for creating music by drawing objects, text, and images on an oscilloscope using audio output.
Panako An acoustic fingerprinting system for matching audio streams with stored fingerprints.
Photon A Java implementation of the IMF standard, open-sourced by Netflix for media production.
Processing Video A video processing library for Processing, based on GStreamer.
RootEncoder A streaming encoder for pushing video/audio to media servers using RTMP, RTSP, and SRT protocols.
Rebound A Java library for simulating spring dynamics, open-sourced by Facebook. (Archive)
RxAndroidAudio An Android audio encapsulation library with partial Rx support.
Smallville A framework for generative agents, enabling virtual characters to store memories and react dynamically to environments.
Sndcpy A tool for forwarding Android audio to a computer via USB.
SoundLibs Maven artifacts for various Java sound libraries.
Supersonic An open-source media streaming and jukebox server, supporting formats like MP3, OGG, and AAC.
Sphinx-4 A Java-based speech recognition library developed by Carnegie Mellon University.
TarsosDSP A Java library for audio processing, providing a simple interface for practical music processing algorithms.
Tracker A video analysis and modeling tool built on the Open Source Physics framework.
Universal Media Server A DLNA-compatible UPnP media server for sharing video, audio, and images across devices.
Vlcj A Java framework for integrating the VLC media player.
WaveInApp A high-frame-rate animation tool for visualizing audio from any source on Android.
WhisperJNI A JNI wrapper for whisper.cpp, enabling speech-to-text transcription in Java.
XYScope A Processing library for rendering graphics on vectorscopes by converting them to audio.

🖼 Image Processing

Name Description
Ant Graph Learning Provides a comprehensive solution for industrial-scale graph learning tasks, open-sourced by Ant.
Apache Commons Graph A toolkit for managing graphs and graph-based data structures.
Erdos A lightweight, modular, and easy-to-use Java modern graph theory algorithm framework.
GraphBuilder Provides functions for building large-scale graphs, open-sourced by Intel. (Archive)
GraphStream A Java library for modeling, analyzing, and visualizing graphs and dynamic graphs, open-sourced by the University of Le Havre.
Graphviz Java Enables the use of Graphviz with pure Java to create models and convert them into graphs.
Gradoop An open-source research framework for scalable graph analytics, built on Apache Flink.
JGraphT A free Java library providing mathematical graph theory objects and algorithms.
JUNG A software library for modeling, analyzing, and visualizing data represented as graphs or networks.
Neo4j Graph Data Science Includes graph algorithms, transformations, and ML pipelines operated through Cypher programs within the Neo4j DBMS.
PGQL A SQL-based query language for property graph data models, open-sourced by Oracle.
PGX A toolkit for efficient graph analysis and SQL-like graph pattern matching queries, developed by Oracle.
SociaLite A high-level query language for distributed graph analysis, open-sourced by Stanford.

🔍 Optical Character Recognition

Name Description
CompreFace A free, open-source face recognition service that can be integrated into systems without machine learning expertise.
EasyOCR An OCR recognition engine in Java that automates image cleaning and CAPTCHA image content recognition. (Archive)
Face Recognition An Android face recognition library with multiple methods, developed by the University of Applied Sciences Zurich. (Archive)
FaceRecognition Face recognition using PCA, LDA, and LPP techniques.
OCR4all A tool for performing OCR on historical prints to obtain high-quality results, developed by the University of Würzburg.
Shudong OCR A cross-platform OCR tool that operates without an internet connection.
Tess4j A Java JNA wrapper for the Tesseract OCR API.

🔧 SVG Library

Name Description
Apache Batik A Java-based toolkit for processing images in SVG format, supporting various tasks like viewing, generating, or manipulating SVG content.
JFreeSVG A Java graphics library for generating SVG format content using the standard Java2D drawing API.
JSVG An SVG user agent for Java that utilizes AWT graphics for rendering SVG content.
Safe SVG A simple, lightweight library for validating SVG files securely.
SVG Salamander A small and fast SVG engine for Java, designed to efficiently render SVG files.
VectorGraphics2D An implementation of the Java Graphics2D interface that exports graphics in various vector file formats, including SVG.
WebVector An HTML to SVG, PDF, or PNG converter for Java applications.
WMF2SVG A tool and library for converting WMF (Windows Metafile) files to SVG format in Java.

💬 Community and Support

Category Description Links
👥 Forums Join the Java developer community and engage in discussions. - GitHub Discussions
- r/java
❓ Q&A Have questions? Get answers from the community or maintainers. - GitHub Issues
- FAQ (WORKING ON IT)
💡 Feedback Share suggestions or ideas to improve the repository. - Submit Feedback
- Google Form
📧 Contact Us Need direct support or inquiries? Reach out to the maintainers. - Email
- GitHub Profile

📚 Resources

Resources: A collection of valuable materials, lists, and communities to deepen your knowledge of Java and connect with other enthusiasts.

🔗 Related Awesome Lists

Awesome lists: Curated collections of resources related to the Java & JVM ecosystem.

Name Description Link
🌟 Awesome Annotation Processing Curated list of annotation processing resources and tools. Watch here
⚙️ Awesome Graal Explore GraalVM, a high-performance runtime. Watch here
🔧 Awesome Gradle Plugins Collection of useful Gradle plugins. Watch here
🎨 Awesome JavaFX Resources for building desktop applications with JavaFX. Watch here
🔍 Awesome JVM Discover JVM languages, libraries, and tools. Watch here
🌐 Awesome Microservices Tools and frameworks for microservices architecture. Watch here
📡 Awesome REST A list of RESTful web services tools and libraries. Watch here
🚗 Awesome Selenium Browser automation resources for testing. Watch here
💼 Awesome Hybris Everything about SAP Hybris. Watch here
🔄 ciandcd Continuous integration and delivery tools. Watch here
📚 Useful Java Links A comprehensive list of useful Java resources. Watch here
🚦 Java Concurrency Checklist Best practices for Java concurrency. Watch here
🗺️ Java Developer Roadmap A complete guide to becoming a Java developer. Watch here

🌐 Communities

Communities: Active discussions and communities where Java enthusiasts can connect and share knowledge.

Name Description Link
🗨️ r/java Subreddit for the Java community. Watch here
❓ Stack Overflow Question/answer platform. Watch here

🎨 Frontends

Frontends: Websites that provide a frontend for exploring Java resources.

Name Description Link
📦 java.libhunt.com A curated collection of Java libraries and frameworks. Watch here

📖 Influential Books

Influential Books: Books that made a big impact and are still worth reading in the Java community.

Name Description Link
📘 Core Java Volume I--Fundamentals Essential for Java beginners and pros alike. Watch here
📙 Core Java, Volume II--Advanced Features Dive deeper into advanced Java features. Watch here
💡 Effective Java (3rd Edition) Best practices for writing robust Java code. Watch here
🧠 Head First Java (3rd Edition) A brain-friendly guide to learning Java. Watch here
⚙️ Java Concurrency in Practice Mastering concurrency in Java. Watch here
🚀 The Well-Grounded Java Developer (2nd Edition) A comprehensive guide to modern Java development. Watch here
🔍 Thinking in Java A thorough exploration of Java programming concepts. Watch here

🎙 Podcasts

Podcasts and Screencasts: Something to look at or listen to while programming.

Name Description Link
🐣 140 Second Ducklings Short videos on Twitter explaining Java debugging. Watch here
🎧 A Bootiful Podcast Hosted by Josh Long, discussing Spring and more. Watch here
🎙️ Foojay Podcast Insights from the Foojay community. Watch here
📻 Inside Java Official podcast on Java and the JVM. Watch here
🎧 Java Off Heap Unscripted discussions on Java and tech. Watch here
💻 The Java Posse Discontinued as of 02/2015. Watch here

🌐 Redditors

Redditors: Engaging individuals and communities on Reddit sharing insights, tutorials, and discussions about Java, Java EE, frameworks, and programming tips.

Name Description Link
👤 Adam Bien Java EE specialist. Watch here
👤 Baeldung Java tutorials and guides. Watch here
👤 Cay Horstmann Java author. Watch here
👤 DZone Java news and articles. Watch here
👤 Heinz Kabutz Java concurrency expert. Watch here
👤 Java Advent Java articles during December. Watch here
👤 Java Code Geeks Tutorials and news. Watch here
👤 Java Revisited Java programming tips. Watch here
👤 Lukas Eder jOOQ developer. Watch here
👤 Mkyong Java and Spring tutorials. Watch here
👤 Spring Updates from the Spring team. Watch here
👤 Vlad Mihalcea Hibernate tips. Watch here

📚 Blogs

Blogs: A collection of informative articles and tutorials on Java, covering various topics including frameworks, best practices, and advanced Java techniques.

Name Description Link
✍️ Adam Bien Expert in Java and Java EE. Watch here
✍️ Baeldung Tutorials on Java, Spring, and web development. Watch here
✍️ Cay Horstmann Author of Core Java, Scala for the Impatient. Watch here
✍️ DZone News and articles about Java. Watch here
✍️ Heinz Kabutz Advanced Java topics. Watch here
✍️ Java Advent Daily articles during December. Watch here
✍️ Java Code Geeks Java tutorials, news, and articles. Watch here
✍️ Java Revisited Tips, tutorials, and best practices. Watch here
✍️ jOOQ Blog SQL with Java, and jOOQ. Watch here
✍️ Lukas Eder Database and SQL related topics. Watch here
✍️ Mkyong Java and Spring framework tutorials. Watch here
✍️ Reddit User-generated content on Java. Watch here
✍️ Spring News and updates from the Spring team. Watch here
✍️ Vlad Mihalcea Hibernate and JPA tips. Watch here

🎥 Videos

Videos: Tutorials, conferences, and discussions on Java, covering a range of topics including performance optimization, framework tutorials, and functional programming insights.

Name Description Link
🎓 Spring Framework Guru Hands-on tutorials for Spring Framework. Watch here
🧠 Venkat Subramaniam Talks on Java and functional programming. Watch here
🔍 Vlad Mihalcea Insights on Hibernate and database performance. Watch here

🌟 Special Thanks

A heartfelt thank you to Awesome-Java(Andreas K.) for inspiring this repository! Your dedication to curating valuable resources for Java developers has laid the foundation for this collection. We stand on the shoulders of giants, and your contributions have made a significant impact in our community.

📈 Statistics

Repobeats analytics image

💬 Feedback

If you have any feedback, please reach out to us at hunterdii9879@gmail.com

Show Some Love Heart Icon by Starring the repo and Share this product! Animation - 1723091871778