update lists

This commit is contained in:
2025-07-18 22:22:32 +02:00
parent 55bed3b4a1
commit 5916c5c074
3078 changed files with 331679 additions and 357255 deletions

View File

@@ -1,16 +1,18 @@
 Awesome Java !Awesome (https://awesome.re/badge.svg) (https://awesome.re)
 Awesome Java !Awesome (https://awesome.re/badge.svg) (https://awesome.re)
A curated list of awesome Java frameworks, libraries and software.
Contents
- Projects (#projects)
 - Architecture (#architecture)
 - Artificial Intelligence (#artificial-intelligence)
 - Bean Mapping (#bean-mapping)
 - Build (#build)
 - Bytecode Manipulation (#bytecode-manipulation)
 - Caching (#caching)
 - CLI (#cli)
 - Cluster Management (#cluster-management)
 - Cloud (#cloud)
 - Code Analysis (#code-analysis)
 - Code Coverage (#code-coverage)
 - Code Generators (#code-generators)
@@ -85,6 +87,22 @@
Projects
Architecture
_Frameworks and libraries that help implementing and verifying design and architecture concepts._
- ArchUnit (https://github.com/TNG/ArchUnit) - Test library for specifying and asserting architecture rules.
- jMolecules (https://github.com/xmolecules/jmolecules) - Annotations and interfaces to express design and architecture concepts in code.
Artificial Intelligence
_Frameworks that help you to leverage LLMs and AI._
- LangChain4j (https://github.com/langchain4j/langchain4j) - Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.
- MCP Java SDK (https://github.com/modelcontextprotocol/java-sdk) - Enables applications to interact with AI models and tools through a standardized interface (i.e. Model Context Protocol), supporting both synchronous and asynchronous 
communication patterns.
- Spring AI (https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring.
Bean Mapping
_Frameworks that ease bean mapping._
@@ -101,10 +119,9 @@
_Tools that handle the build cycle and dependencies of an application._
- Apache Maven (https://maven.apache.org) - Declarative build and dependency management that favors convention over configuration. It might be preferable to Apache Ant, which uses a rather procedural approach and can be difficult to 
maintain.
- Apache Maven (https://maven.apache.org) - Declarative build and dependency management that favors convention over configuration. It might be preferable to Apache Ant, which uses a rather procedural approach and can be difficult to maintain.
- Bazel (https://bazel.build) - Tool from Google that builds code quickly and reliably.
- Buck (https://github.com/facebook/buck) - Encourages the creation of small, reusable modules consisting of code and resources.
- Buck2 (https://github.com/facebook/buck2) - Encourages the creation of small, reusable modules consisting of code and resources.
- Gradle (https://gradle.org) - Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.
Bytecode Manipulation
@@ -155,12 +172,12 @@
- Text-IO (https://github.com/beryx/text-io) - Aids the creation of full console-based applications.
- Lanterna (https://github.com/mabe02/lanterna) - Easy console text-GUI library, similar to curses. (LGPL-3.0-only)
Cluster Management
Cloud
_Frameworks that can dynamically manage applications inside of a cluster._
_Libraries to integrate or use cloud-specific features._
- Apache Aurora (https://aurora.apache.org) - Mesos framework for long-running services and cron jobs.
- Singularity (http://getsingularity.com) - Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks.
- AWS SDK for Java (https://github.com/aws/aws-sdk-java) - Provides Java APIs for interacting with Amazon Web Services.
- Google Cloud Client Libraries (https://github.com/googleapis/google-cloud-java) - Client libraries for accessing Google Cloud services from Java applications.
Code Analysis
@@ -201,8 +218,8 @@
- JavaPoet (https://github.com/square/javapoet) - API to generate source files.
- JHipster (https://github.com/jhipster/generator-jhipster) - Yeoman source code generator for Spring Boot and AngularJS.
- Joda-Beans (https://www.joda.org/joda-beans/) - Small framework that adds queryable properties to Java, enhancing JavaBeans.
- JPA Buddy !c  (https://www.jpa-buddy.com) - Plugin for IntelliJ IDEA. Provides visual tools for generating JPA entities, Spring Data JPA repositories, Liquibase changelogs and SQL scripts. Offers automatic Liquibase/Flyway script 
generation by comparing model to DB, and reverse engineering JPA entities from DB tables.
- JPA Buddy !c  (https://www.jpa-buddy.com) - Plugin for IntelliJ IDEA. Provides visual tools for generating JPA entities, Spring Data JPA repositories, Liquibase changelogs and SQL scripts. Offers automatic Liquibase/Flyway script generation by 
comparing model to DB, and reverse engineering JPA entities from DB tables.
- Lombok (https://projectlombok.org) - Code generator that aims to reduce verbosity.
- Record-Builder (https://github.com/Randgalt/record-builder) - Companion builder class, withers and templates for Java records.
- Telosys (https://www.telosys.org/) - Simple and light code generator available as an Eclipse Plugin and also as a CLI.
@@ -233,13 +250,13 @@
- Configurate (https://github.com/SpongePowered/Configurate) - Configuration library with support for various configuration formats and transformations.
- Curator Framework (https://curator.apache.org/) - High-level API for Apache ZooKeeper.
- dotenv (https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files.
- Externalized Properties (https://github.com/joel-jeremy/externalized-properties) - Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible 
post-processing/conversion mechanism.
- Gestalt (https://github.com/gestalt-config/gestalt) - Gestalt offers a comprehensive solution to the challenges of configuration management. It allows you to source configuration data from multiple inputs, merge them intelligently, 
and present them in a structured, type-safe manner.
- Externalized Properties (https://github.com/joel-jeremy/externalized-properties) - Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion 
mechanism.
- Gestalt (https://github.com/gestalt-config/gestalt) - Gestalt offers a comprehensive solution to the challenges of configuration management. It allows you to source configuration data from multiple inputs, merge them intelligently, and present 
them in a structured, type-safe manner.
- ini4j (http://ini4j.sourceforge.net) - Provides an API for handling Windows' INI files.
- KAConf (https://github.com/mariomac/kaconf) - Annotation-based configuration system for Java and Kotlin.
- microconfig (https://microconfig.io) - Configuration system designed for microservices which helps to separate configuration from code. The configuration for different services can have common and specific parts and can be dynamically
- microconfig (https://microconfig.io) - Configuration system designed for microservices which helps to separate configuration from code. The configuration for different services can have common and specific parts and can be dynamically 
distributed.
- owner (https://github.com/lviggiano/owner) - Reduces boilerplate of properties.
@@ -341,7 +358,7 @@
- Feather (https://github.com/zsoltherpai/feather) - Ultra-lightweight, JSR-330-compliant dependency injection library.
- Governator (https://github.com/Netflix/governator) - Extensions and utilities that enhance Google Guice.
- Guice (https://github.com/google/guice) - Lightweight and opinionated framework that completes Dagger.
- HK2 (https://javaee.github.io/hk2/) - Lightweight and dynamic dependency injection framework.
- HK2 (https://eclipse-ee4j.github.io/glassfish-hk2/) - Lightweight and dynamic dependency injection framework.
- JayWire (https://github.com/vanillasource/jaywire) - Lightweight dependency injection framework. (LGPL-3.0-only)
Development
@@ -434,10 +451,10 @@
- Checker Framework (https://checkerframework.org) - Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)
- Daikon (https://plse.cs.washington.edu/daikon/) - Detects likely program invariants and generates JML specs based on those invariants.
- Java Path Finder (JPF) (https://github.com/javapathfinder/jpf-core) - JVM formal verification tool containing a model checker and more. Created by NASA.
- JMLOK 2.0 (https://massoni.computacao.ufcg.edu.br/home/jmlok) - Detects inconsistencies between code and JML specification through feedback-directed random tests generation, and suggests a likely cause for each nonconformance 
detected. (GPL-3.0-only)
- KeY (https://www.key-project.org) - Formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for 
specification and symbolic execution for verification. (GPL-2.0-or-later)
- JMLOK 2.0 (https://massoni.computacao.ufcg.edu.br/home/jmlok) - Detects inconsistencies between code and JML specification through feedback-directed random tests generation, and suggests a likely cause for each nonconformance detected. 
(GPL-3.0-only)
- KeY (https://www.key-project.org) - Formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for specification 
and symbolic execution for verification. (GPL-2.0-or-later)
- OpenJML (http://www.openjml.org) - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only)
Functional Programming
@@ -449,6 +466,7 @@
- Fugue (https://bitbucket.org/atlassian/fugue) - Functional extensions to Guava.
- Functional Java (http://www.functionaljava.org) - Implements numerous basic and advanced programming abstractions that assist composition-oriented development.
- jOOλ (https://github.com/jOOQ/jOOL) - Extension to Java 8 that aims to fix gaps in lambda by providing numerous missing types and a rich set of sequential Stream API additions.
- Packrat (https://github.com/jhspetersson/packrat) - Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.
- protonpack (https://github.com/poetix/protonpack) - Collection of stream utilities.
- StreamEx (https://github.com/amaembo/streamex) - Enhances Java 8 Streams.
- Vavr (https://www.vavr.io) - Functional component library that provides persistent data types and functional control structures.
@@ -465,6 +483,7 @@
- LWJGL (https://www.lwjgl.org) - Robust framework that abstracts libraries like OpenGL/CL/AL.
- Mini2Dx (https://mini2dx.org) - Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games.
- Void2D (https://github.com/xzripper/Void2D) - High-level 2D game engine with built-in physics based on Swing.
- vulkan4j (https://github.com/chuigda/vulkan4j) - Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.
Geospatial
@@ -509,8 +528,7 @@
- Async Http Client (https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library.
- Avaje Http Client (https://avaje.io/http-client) - Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements.
- Feign (https://github.com/OpenFeign/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.
- Google HTTP Client (https://github.com/googleapis/google-http-java-client) - Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and 
Protobuf.
- Google HTTP Client (https://github.com/googleapis/google-http-java-client) - Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.
- methanol (https://github.com/mizosoft/methanol) - HTTP client extensions library.
- Retrofit (https://square.github.io/retrofit/) - Typesafe REST client.
- Ribbon (https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in the cloud.
@@ -524,6 +542,7 @@
- hate (https://github.com/blackdoor/hate) - Builds hypermedia-friendly objects according to HAL specification.
- JSON-LD (https://github.com/jsonld-java/jsonld-java) - JSON-LD implementation.
- Siren4J (https://github.com/eserating-chwy/siren4j) - Library for the Siren specification.
- Spring HATEOAS (https://github.com/spring-projects/spring-hateoas) - Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.
IDE
@@ -545,8 +564,9 @@
- Thumbnailator (https://github.com/coobird/thumbnailator) - High-quality thumbnail generation library.
- TwelveMonkeys (https://github.com/haraldk/TwelveMonkeys) - Collection of plugins that extend the number of supported image file formats.
- ZXing (https://github.com/zxing/zxing) - Multi-format 1D/2D barcode image processing library.
- image-comparison (https://github.com/romankh3/image-comparison) - Library that compares 2 images with the same sizes and shows the differences visually by drawing rectangles. Some parts of the image can be excluded from the 
comparison.
- image-comparison (https://github.com/romankh3/image-comparison) - Library that compares 2 images with the same sizes and shows the differences visually by drawing rectangles. Some parts of the image can be excluded from the comparison.
- vips-ffm (https://github.com/lopcode/vips-ffm) - Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.
- scrimage (https://sksamuel.github.io/scrimage) - Immutable, functional, and performant JVM library for manipulation of images.
Introspection
@@ -563,15 +583,15 @@
_Libraries for scheduling background jobs._
- JobRunr (https://github.com/jobrunr/jobrunr) - Job scheduling library which utilizes lambdas for fire-and-forget, delayed and recurring jobs. Guarantees execution by single scheduler instance using optimistic locking. Has features for
- JobRunr (https://github.com/jobrunr/jobrunr) - Job scheduling library which utilizes lambdas for fire-and-forget, delayed and recurring jobs. Guarantees execution by single scheduler instance using optimistic locking. Has features for 
persistence, minimal dependencies and is embeddable.
- Quartz (https://github.com/quartz-scheduler/quartz) - Feature-rich, open source job scheduling library that can be integrated within virtually any Java application.
- Sundial (https://github.com/knowm/Sundial) - Lightweight framework to simply define jobs, define triggers and start the scheduler.
- Wisp (https://github.com/Coreoz/Wisp) - Simple library with minimal footprint and straightforward API.
- db-scheduler (https://github.com/kagkarlsson/db-scheduler) - Persistent and cluster-friendly scheduler.
- easy-batch (https://github.com/j-easy/easy-batch) - Set up batch jobs with simple processing pipelines. Records are read in sequence from a data source, processed in pipeline and written in batches to a data sink.
- shedlock (https://github.com/lukas-krecan/ShedLock) - Makes sure that your scheduled tasks are executed at most once at the same time. If a task is being executed on one node, it acquires a lock which prevents execution of the same 
task from another node or thread.
- shedlock (https://github.com/lukas-krecan/ShedLock) - Makes sure that your scheduled tasks are executed at most once at the same time. If a task is being executed on one node, it acquires a lock which prevents execution of the same task from 
another node or thread.
JSON
@@ -599,14 +619,13 @@
_Current implementations of the JVM/JDK._
- Which JDK (https://whichjdk.com/) - Overview of common JVMs with pros and cons.
- Adopt Open JDK (https://adoptopenjdk.net) - Community-driven OpenJDK builds, including both HotSpot and OpenJ9.
- Avian (https://github.com/ReadyTalk/avian) - JVM with JIT, AOT modes and iOS port.
- Corretto (https://aws.amazon.com/corretto/) - No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)
- Dragonwell8 (https://github.com/alibaba/dragonwell8) - Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.
- Graal (https://github.com/oracle/graal) - Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0)
- Liberica JDK (https://bell-sw.com) - Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)
- OpenJ9 (https://github.com/eclipse/openj9) - High performance, enterprise-calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK 
project.
- OpenJ9 (https://github.com/eclipse/openj9) - High performance, enterprise-calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project.
- Open JDK (https://openjdk.java.net) - Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)
- ParparVM (https://github.com/codenameone/CodenameOne/tree/master/vm) - VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)
- RedHat Open JDK (https://developers.redhat.com/products/openjdk/overview) - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)
@@ -619,8 +638,8 @@
_Libraries that log the behavior of an application._
- Apache Log4j 2 (https://logging.apache.org/log4j/) - Complete rewrite with a powerful plugin and configuration architecture.
- Echopraxia (https://github.com/tersesystems/echopraxia) - API designed around structured logging, rich context, and conditional logging. There are Logback and Log4J2 implementations, but Echopraxia's API is completely dependency-free,
meaning it can be implemented with any logging API.
- Echopraxia (https://github.com/tersesystems/echopraxia) - API designed around structured logging, rich context, and conditional logging. There are Logback and Log4J2 implementations, but Echopraxia's API is completely dependency-free, meaning 
it can be implemented with any logging API.
- Graylog (https://www.graylog.org) - Open-source aggregator suited for extended role and permission management. (GPL-3.0-only)
- Kibana (https://www.elastic.co/kibana) - Analyzes and visualizes log files. Some features require payment.
- Logback (http://logback.qos.ch) - Robust logging library with interesting configuration options via Groovy.
@@ -630,6 +649,7 @@
- SLF4J (http://www.slf4j.org) - Abstraction layer/simple logging facade.
- tinylog (https://tinylog.org/v2/) - Lightweight logging framework with static logger class.
- OpenTracing Toolbox (https://github.com/zalando/opentracing-toolbox) - Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.
- Flogger (https://google.github.io/flogger/) - Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs.
Machine Learning
@@ -678,7 +698,6 @@
_Tools for creating and managing microservices._
- ActiveRPC (https://rpc.activej.io) - Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions.
- Apollo (https://spotify.github.io/apollo/) - Libraries for writing composable microservices.
- Armeria (https://github.com/line/armeria) - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.
- consul-api (https://github.com/Ecwid/consul-api) - Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.
- Eureka (https://github.com/Netflix/eureka) - REST-based service registry for resilient load balancing and failover.
@@ -696,12 +715,12 @@
_Everything else._
- AWS SDK for Java 2.0 (https://github.com/aws/aws-sdk-java-v2) - Wrapper around AWS' API.
- CQEngine (https://github.com/npgall/cqengine) - Ultra-fast, SQL-like queries on Java collections.
- Design Patterns (https://github.com/iluwatar/java-design-patterns) - Implementation and explanation of the most common design patterns.
- FF4J (https://github.com/ff4j/ff4j) - Feature Flags for Java.
- FizzBuzz Enterprise Edition (https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) - No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)
- IP2Location.io Java SDK (https://github.com/ip2location/ip2location-io-java) - Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.
- ISBN core (https://github.com/ladutsko/isbn-core) - A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.
- J2ObjC (https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS.
- JBake (https://jbake.org) - Static website generator.
- JBot (https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only)
@@ -728,6 +747,7 @@
- Svix (https://github.com/svix/svix-webhooks/tree/main/java) - Library for the Svix API to send webhooks and verify signatures.
- Togglz (https://www.togglz.org) - Implementation of the Feature Toggles pattern.
- TypeTools (https://github.com/jhalterman/typetools) - Tools for resolving generic types.
- webcam-capture (https://github.com/sarxos/webcam-capture) - Library for using built-in and external webcams directly in Java.
- XMLBeam (https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code.
- yGuard (https://github.com/yWorks/yGuard) - Obfuscation via renaming and shrinking.
@@ -743,6 +763,7 @@
_Tools that observe/monitor applications in production by providing telemetry._
- Apitally (https://github.com/apitally/apitally-java) - Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.
- Automon (https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools.
- Datadog !c  (https://github.com/DataDog/dd-trace-java) - Modern monitoring & analytics.
- Dropwizard Metrics (https://github.com/dropwizard/metrics) - Expose metrics via JMX or HTTP and send them to a database.
@@ -750,17 +771,17 @@
- Glowroot (https://glowroot.org) - Open-source Java APM.
- HertzBeat (https://github.com/dromara/hertzbeat) - Real-time monitoring system with custom-monitor and agentless.
- hippo4j (https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) - Dynamic and observable thread pool framework.
- inspectIT (https://www.inspectit.rocks) - Captures detailed run-time information via hooks that can be changed on the fly. It supports tracing over multiple systems via the OpenTracing API and can correlate the data with end user 
monitoring.
- inspectIT (https://www.inspectit.rocks) - Captures detailed run-time information via hooks that can be changed on the fly. It supports tracing over multiple systems via the OpenTracing API and can correlate the data with end user monitoring.
- Instrumental !c  (https://instrumentalapp.com) - Real-time Java application performance monitoring. A commercial service with free development accounts.
- Jaeger client (https://github.com/jaegertracing/jaeger-client-java) - Jaeger client.
- JavaMelody (https://github.com/javamelody/javamelody) - Performance monitoring and profiling.
- jmxtrans (https://github.com/jmxtrans/jmxtrans) - Connect to multiple JVMs and query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVM attributes. Supports 
different output writes, including Graphite, Ganglia, and StatsD.
- jmxtrans (https://github.com/jmxtrans/jmxtrans) - Connect to multiple JVMs and query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVM attributes. Supports different 
output writes, including Graphite, Ganglia, and StatsD.
- Jolokia (https://jolokia.org) - JMX over REST.
- Micrometer (https://github.com/micrometer-metrics/micrometer) - Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries.
- Micrometer Tracing (https://github.com/micrometer-metrics/tracing) - Vendor-neutral distributed tracing facade for the most popular tracer libraries.
- nudge4j (https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection.
- OpenTelemetry (https://github.com/open-telemetry/opentelemetry-java) - Instrument, generate, collect, and export telemetry data to help you analyze your softwares performance and behavior.
- Pinpoint (https://github.com/naver/pinpoint) - Open-source APM tool.
- Prometheus (https://github.com/prometheus/client_java) - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.
- Sentry !c  (https://github.com/getsentry/sentry-java) - Integration with Sentry (https://github.com/getsentry/sentry), an application error tracking and performance analysis platform.
@@ -778,6 +799,7 @@
- JNA (https://github.com/java-native-access/jna) - Work with native libraries without writing JNI. Also provides interfaces to common system libraries.
- JNR (https://github.com/jnr/jnr-ffi) - Work with native libraries without writing JNI. Also provides interfaces to common system libraries. Same goals as JNA, but faster, and serves as the basis for the upcoming Project Panama 
(http://openjdk.java.net/projects/panama).
- native-lib-loader (https://github.com/scijava/native-lib-loader) - Native library loader for extracting and loading native libraries from Java.
Natural Language Processing
@@ -818,6 +840,7 @@
- EclipseLink (https://www.eclipse.org/eclipselink/) - Supports a number of persistence standards: JPA, JAXB, JCA and SDO.
- Hibernate (http://hibernate.org/orm/) - Robust and widely used, with an active community. (LGPL-2.1-only)
- MyBatis (https://github.com/mybatis/mybatis-3) - Couples objects with stored procedures or SQL statements.
- MyBatis-Plus (https://github.com/baomidou/mybatis-plus) - A powerful enhanced toolkit of MyBatis for simplifying development.
- ObjectiveSql (https://github.com/braisdom/ObjectiveSql) - ActiveRecord ORM for rapid development and convention over configuration.
- Permazen (https://github.com/permazen/permazen) - Language-natural persistence layer.
- SimpleFlatMapper (https://github.com/arnaudroger/SimpleFlatMapper) - Simple database and CSV mapper.
@@ -943,7 +966,7 @@
- Akka (https://akka.io) - Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications.
- Reactive Streams (https://github.com/reactive-streams/reactive-streams-jvm) - Provides a standard for asynchronous stream processing with non-blocking backpressure.
- Reactor (https://github.com/reactor/reactor-core) - Library for building reactive fast-data applications.
- Reactor (https://github.com/reactor/reactor) - A framework for building non-blocking applications on the JVM, providing support for reactive programming.
- RxJava (https://github.com/ReactiveX/RxJava) - Allows for composing asynchronous and event-based programs using observable sequences.
- vert.x (https://vertx.io) - Polyglot event-driven application framework.
@@ -956,8 +979,8 @@
- Jersey (https://jersey.github.io) - JAX-RS reference implementation.
- Microserver (https://github.com/aol/micro-server) - Convenient, extensible microservices plugin system for Spring & Spring Boot. With more than 30 plugins and growing, it supports both micro-monolith and pure microservices styles.
- Rapidoid (https://www.rapidoid.org) - Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection.
- rest.li (https://github.com/linkedin/rest.li) - Framework for building robust, scalable RESTful architectures using typesafe bindings and asynchronous, non-blocking IO with an end-to-end developer workflow that promotes clean 
practices, uniform interface design and consistent data modeling.
- rest.li (https://github.com/linkedin/rest.li) - Framework for building robust, scalable RESTful architectures using typesafe bindings and asynchronous, non-blocking IO with an end-to-end developer workflow that promotes clean practices, uniform
interface design and consistent data modeling.
- RESTEasy (https://resteasy.github.io) - Fully certified and portable implementation of the JAX-RS specification.
- RestExpress (https://github.com/RestExpress/RestExpress) - Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance.
- Restlet Framework (https://github.com/restlet/restlet-framework-java) - Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API.
@@ -1003,8 +1026,7 @@
- Bouncy Castle (https://www.bouncycastle.org/java.html) - All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations.
- DependencyCheck (https://github.com/jeremylong/DependencyCheck) - Detects publicly disclosed vulnerabilities contained within a project's dependencies.
- Cryptomator (https://cryptomator.org) - Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only)
- Hdiv (https://github.com/hdiv/hdiv) - Runtime application that repels application security risks included in the OWASP Top 10, including SQL injection, cross-site scripting, cross-site request forgery, data tampering, and brute force 
attacks.
- Hdiv (https://github.com/hdiv/hdiv) - Runtime application that repels application security risks included in the OWASP Top 10, including SQL injection, cross-site scripting, cross-site request forgery, data tampering, and brute force attacks.
- jjwt (https://github.com/jwtk/jjwt) - JSON web token for Java and Android.
- jwt-java (https://github.com/BastiaanJansen/jwt-java) - Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.
- Jwks RSA (https://github.com/auth0/jwks-rsa-java) - JSON Web Key Set parser.
@@ -1020,8 +1042,8 @@
- Password4j (https://github.com/Password4j/password4j) - User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.
- SecurityBuilder (https://github.com/tersesystems/securitybuilder) - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.
- SSLContext-Kickstart (https://github.com/Hakky54/sslcontext-kickstart) - High-level SSL context builder for configuring HTTP clients with SSL/TLS.
- Themis (https://github.com/cossacklabs/themis) - Multi-platform high-level cryptographic library provides easy-to-use encryption for protecting sensitive data: secure messaging with forward secrecy, secure data storage (AES256GCM); 
suits for building end-to-end encrypted applications.
- Themis (https://github.com/cossacklabs/themis) - Multi-platform high-level cryptographic library provides easy-to-use encryption for protecting sensitive data: secure messaging with forward secrecy, secure data storage (AES256GCM); suits for 
building end-to-end encrypted applications.
- Tink (https://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks.
- Topaz (https://www.topaz.sh) - Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.
@@ -1057,8 +1079,7 @@
- jstachio (https://github.com/jstachio/jstachio) - Typesafe Mustache templating engine.
- jte (https://github.com/casid/jte) - Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.
- Jtwig (https://github.com/jtwig/jtwig) - Modular, configurable and fully tested template engine.
- Pebble (https://pebbletemplates.io) - Inspired by Twig and separates itself with its inheritance feature and its easy-to-read syntax. It ships with built-in autoescaping for security and it includes integrated support for 
internationalization.
- Pebble (https://pebbletemplates.io) - Inspired by Twig and separates itself with its inheritance feature and its easy-to-read syntax. It ships with built-in autoescaping for security and it includes integrated support for internationalization.
- Rocker (https://github.com/fizzed/rocker) - Optimized, memory efficient and speedy template engine producing statically typed, plain objects.
- StringTemplate (https://github.com/antlr/stringtemplate4) - Template engine for generating source code, web pages, emails, or any other formatted text output.
- Thymeleaf (https://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files.
@@ -1095,6 +1116,7 @@
_Everything related to the creation and handling of random data._
- AutoParams (https://github.com/AutoParams/AutoParams) - Supports generating test data or combining scenarios for parameterized tests.
- Beanmother (https://github.com/keepcosmos/beanmother) - Sets up beans from YAML fixtures.
- Datafaker (https://github.com/datafaker-net/datafaker) - Modern fake data generator forked from Java Faker.
- Fixture Factory (https://github.com/six2six/fixture-factory) - Generates fake objects from a template.
@@ -1108,15 +1130,17 @@
_Provide environments to run tests for a specific use case._
- ArchUnit (https://github.com/TNG/ArchUnit) - Test library for specifying and asserting architecture rules.
- Apache JMeter (http://jmeter.apache.org) - Functional testing and performance measurements.
- JMeter DSL.java (https://abstracta.github.io/jmeter-java-dsl/) - Load tests with JMeter as simple as a JUnit test.
- Arquillian (http://arquillian.org) - Integration and functional testing platform for Java EE containers.
- cdi-test (https://github.com/guhilling/cdi-test) - JUnit extension for easy and efficient testing of CDI components.
- Citrus (https://citrusframework.org) - Integration testing framework that focuses on both client- and server-side messaging.
- Gatling (https://gatling.io) - Load testing tool designed for ease of use, maintainability and high performance.
- JUnit (https://junit.org/junit5/) - Common testing framework.
- jqwik (https://jqwik.net) - Engine for property-based testing built on JUnit 5.
- Pact JVM (https://github.com/DiUS/pact-jvm) - Consumer-driven contract testing.
- PIT (http://pitest.org) - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites.
- weld-testing (https://github.com/weld/weld-testing) - Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.
Matchers
@@ -1141,7 +1165,7 @@
- pojo-tester (https://www.pojo.pl) - Automatically performs tests on basic POJO methods. (LGPL-3.0-only)
- raml-tester (https://github.com/nidi3/raml-tester) - Tests if a request/response matches a given RAML definition.
- Selfie (https://github.com/diffplug/selfie) - Snapshot testing (inline and on disk).
- TestContainers (https://github.com/testcontainers/testcontainers-java) - Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
- Testcontainers (https://github.com/testcontainers/testcontainers-java) - Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
Mocking
@@ -1216,7 +1240,8 @@
- PrimeFaces (https://www.primefaces.org) - JSF framework with both free and commercial/support versions and frontend components.
- Ratpack (https://ratpack.io) - Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications.
- Takes (https://github.com/yegor256/takes) - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.
- Vaadin (https://vaadin.com) - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side.
- Vaadin (https://vaadin.com) - Full-stack open-source Java framework that simplifies web app development. Build complex, interactive applications with Java alone, and enhance with TypeScript and React components, without needing deep JavaScript,
CSS, or HTML expertise.
Workflow Orchestration Engines
@@ -1233,6 +1258,8 @@
- Awesome Annotation Processing (https://github.com/gunnarmorling/awesome-annotation-processing)
- Awesome Graal (https://github.com/neomatrix369/awesome-graal)
- Awesome Gradle Plugins (https://github.com/ksoichiro/awesome-gradle)
- Awesome Java libraries and hidden gems (https://libs.tech/java)
- Awesome J2ME (https://github.com/hstsethi/awesome-j2me)
- AwesomeJavaFX (https://github.com/mhrimaz/AwesomeJavaFX)
- Awesome JVM (https://github.com/deephacks/awesome-jvm)
- Awesome Microservices (https://github.com/mfornos/awesome-microservices)
@@ -1282,33 +1309,30 @@
People
Twitter
Socials
_Active accounts to follow. Descriptions from Twitter._
_Active accounts to follow. Descriptions from their socials._
- Adam Bien (https://twitter.com/AdamBien) - Freelance author, JavaOne Rockstar speaker, consultant, Java Champion.
- Aleksey Shipilëv (https://twitter.com/shipilev) - Performance geek, benchmarking czar, concurrency bug hunter.
- Antonio Goncalves (https://twitter.com/agoncal) - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author.
- Arun Gupta (https://twitter.com/arungupta) - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase.
- Brian Goetz (https://twitter.com/BrianGoetz) - Java Language Architect at Oracle.
- Brian Goetz (https://bsky.app/profile/briangoetz.bsky.social) - Java Language Architect at Oracle.
- Bruno Borges (https://twitter.com/brunoborges) - Product Manager/Java Jock at Oracle.
- Chris Engelbert (https://twitter.com/noctarius2k) - Open Source Enthusiast, Speaker, Developer, Developer Advocacy at TimescaleDB.
- Chris Richardson (https://twitter.com/crichardson) - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, *POJOs in Action- author.
- Chris Richardson (https://bsky.app/profile/crichardson.bsky.social) - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, *POJOs in Action- author.
- Ed Burns (https://twitter.com/edburns) - Consulting Member of the Technical Staff at Oracle.
- Eugen Paraschiv (https://twitter.com/baeldung) - Author of the Spring Security Course.
- Heinz Kabutz (https://twitter.com/heinzkabutz) - Java Champion, speaker, author of The Java Specialists' Newsletter, concurrency performance expert.
- Holly Cummins (https://twitter.com/holly_cummins) - Technical Lead of IBM London's Bluemix Garage, Java Champion, developer, author, JavaOne rockstar.
- James Weaver (https://twitter.com/JavaFXpert) - Java/JavaFX/IoT developer, author and speaker.
- Java EE (https://twitter.com/Java_EE) - Official Java EE Twitter account.
- Java Magazine (https://twitter.com/Oraclejavamag) - Official Java Magazine account.
- Java (https://twitter.com/java) - Official Java Twitter account.
- Javin Paul (https://twitter.com/javinpaul) - Well-known Java blogger.
- Josh Long (https://twitter.com/starbuxman) - Spring Advocate at Pivotal, author of O'Reilly's Cloud Native Java- and Building Microservices with Spring Boot, JavaOne Rock Star.
- Lukas Eder (https://twitter.com/lukaseder) - Java Champion, speaker, Founder and CEO Data Geekery (jOOQ).
- Lukas Eder (https://bsky.app/profile/lukaseder.bsky.social) - Java Champion, speaker, Founder and CEO Data Geekery (jOOQ).
- Mani Sarkar (https://twitter.com/theNeomatrix369) - Java champion, Polyglot, Software Crafter involved with @graalvm, AI/ML/DL, Data Science, Developer communities, speaker & blogger. Creator of couple of awesome lists like this one.
- Mario Fusco (https://twitter.com/mariofusco) - RedHatter, JUG coordinator, frequent speaker and author.
- Mark Heckler (https://twitter.com/MkHeck) - Pivotal Principal Technologist and Developer Advocate, conference speaker, published author, and Java Champion, focusing on Internet of Things and the cloud.
- Mark Reinhold (https://twitter.com/mreinhold) - Chief Architect, Java Platform Group, Oracle.
- Markus Eisele (https://twitter.com/myfear) - Java EE evangelist, Red Hat.
- Martijn Verburg (https://twitter.com/karianna) - London JUG co-leader, speaker, author, Java Champion and much more.
- Martin Thompson (https://twitter.com/mjpt777) - Pasty faced performance gangster.
@@ -1320,15 +1344,11 @@
- Sander Mak (https://twitter.com/Sander_Mak) - Java Champion, author.
- Simon Maple (https://twitter.com/sjmaple) - Java Champion, VirtualJUG founder, LJC leader, RebelLabs author.
- Spencer Gibb (https://twitter.com/spencerbgibb) - Software Engineer, Dad, Geek, Co-founder and Lead of Spring Cloud Core @pivotal.
- Stephen Colebourne (https://twitter.com/jodastephen) - Java Champion, speaker.
- Stephen Colebourne (https://bsky.app/profile/jodastephen.bsky.social) - Java Champion, speaker.
- Trisha Gee (https://twitter.com/trisha_gee) - Java Champion and speaker.
- Venkat Subramaniam (https://twitter.com/venkat_s) - Author, University of Houston professor, MicroSoft MVP award recipient, JavaOne Rock Star, Java Champion.
- Vlad Mihalcea (https://twitter.com/vlad_mihalcea) - Java Champion working on Hypersistence Optimizer, database aficionado, author of High-Performance Java Persistence book.
Other
- Groundbreakers (https://apexapps.oracle.com/pls/apex/f?p=119297:3::::::) - Oracle ACEs, Groundbreaker Ambassadors and Java Champions.
Websites
_Sites to read._
@@ -1358,3 +1378,5 @@
Please have a look at the CONTRIBUTING (https://github.com/akullpp/awesome-java/blob/master/CONTRIBUTING.md) guidelines and the validation tools (https://github.com/akullpp/awesome-java-lint).
c : https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg
java Github: https://github.com/akullpp/awesome-java