From 3a8720d9a1359bd473ff4136dc1e465887af0451 Mon Sep 17 00:00:00 2001 From: Vince Feskens Date: Thu, 7 Jun 2018 10:11:26 +0200 Subject: [PATCH 001/533] Correct link for Atomix + removal of Copycat Updated link to Atomix + removal of Copycat as this library is deprecated, see http://atomix.io/docs/latest/getting-started/#background --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 448dbd86..2ee64e20 100644 --- a/README.md +++ b/README.md @@ -296,9 +296,8 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. - [Apache Storm](https://storm.apache.org) - Realtime computation system. - [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](http://atomix.io/atomix) - Fault-tolerant distributed coordination framework. +- [Atomix](http://atomix.io/) - Fault-tolerant distributed coordination framework. - [Axon Framework](http://www.axonframework.org) - Framework for creating CQRS applications. -- [Copycat](http://atomix.io/copycat) - Fault-tolerant state machine replication framework. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast ![c]](https://hazelcast.org) - Highly scalable in-memory datagrid with a free open-source version. From 695b6173307a476cf5a38e2f76f983a4b3279cf7 Mon Sep 17 00:00:00 2001 From: Will Sargent Date: Fri, 8 Jun 2018 13:11:17 -0700 Subject: [PATCH 002/533] Add google tink to security --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 448dbd86..feedef10 100644 --- a/README.md +++ b/README.md @@ -813,6 +813,7 @@ A curated list of awesome Java frameworks, libraries and software. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [PicketLink](http://picketlink.org) - Umbrella project for security and identity management. +- [Tink](http://github.com/google/tink) - multi-language, cross-platform library that provides a simple and misuse-proof API for common cryptographic tasks. - [Vault](https://www.vaultproject.io) - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more. ### Serialization From 0731ab9a94fee1eb929c4c2ce38a1dd289fea540 Mon Sep 17 00:00:00 2001 From: Will Sargent Date: Fri, 8 Jun 2018 13:14:33 -0700 Subject: [PATCH 003/533] Add Play-WS standalone --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 448dbd86..d15c6545 100644 --- a/README.md +++ b/README.md @@ -415,6 +415,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. +- [Play WS](https://github.com/playframework/play-ws) - Typesafe HTTP Client with Reactive Streams & HTTP Cache, built on async-http-client - [restQL-core](https://github.com/B2W-BIT/restQL-core) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. From 390f0bb5b4c519c2b26bd043cc41381e71690faa Mon Sep 17 00:00:00 2001 From: Will Sargent Date: Fri, 8 Jun 2018 13:15:17 -0700 Subject: [PATCH 004/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d15c6545..03b1d0e6 100644 --- a/README.md +++ b/README.md @@ -415,7 +415,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. -- [Play WS](https://github.com/playframework/play-ws) - Typesafe HTTP Client with Reactive Streams & HTTP Cache, built on async-http-client +- [Play WS](https://github.com/playframework/play-ws) - Typesafe HTTP Client with Reactive Streams & HTTP Cache, built on async-http-client. - [restQL-core](https://github.com/B2W-BIT/restQL-core) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. From 675db64c5ce20dd89db878a1b491fffefbf3e356 Mon Sep 17 00:00:00 2001 From: heldev Date: Sun, 17 Jun 2018 20:13:50 -0400 Subject: [PATCH 005/533] Add Jwks RSA A small library that fills the gap until jjwt implements JWK support jwtk/jjwt#236 The name spelling is taken from Maven https://mvnrepository.com/artifact/com.auth0/jwks-rsa --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 448dbd86..71d17545 100644 --- a/README.md +++ b/README.md @@ -806,6 +806,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Cryptomator](https://cryptomator.org) - Multiplatform, transparent, client-side encryption of files in the cloud. - [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. +- [Jwks RSA](https://github.com/auth0/jwks-rsa-java) - JSON Web Key Set parser. - [Keycloak](https://keycloak.jboss.org) - Integrated SSO and IDM for browser apps and RESTful web services. - [Keyczar](https://github.com/google/keyczar) - Easy-to-use, safe encryption framework with key versioning. - [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. From 4d01fab864fe953cc7ab0422db01298bca6aad76 Mon Sep 17 00:00:00 2001 From: Joel Handwell Date: Thu, 12 Jul 2018 11:16:13 -0400 Subject: [PATCH 006/533] Update JMockit Link The link was outdated due to domain change. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 448dbd86..1d3d936a 100644 --- a/README.md +++ b/README.md @@ -914,7 +914,7 @@ A curated list of awesome Java frameworks, libraries and software. *Tools which mock collaborators to help testing single, isolated units.* -- [JMockit](http://jmockit.org) - Integration testing, API mocking and faking, and code coverage. +- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. - [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. - [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. - [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. From 236ac541e26781f953e901f4d52b22f1073c4c22 Mon Sep 17 00:00:00 2001 From: Anand Sudhanaboina Date: Fri, 27 Jul 2018 11:05:52 +0530 Subject: [PATCH 007/533] Move RocketMQ to Apache RocketMQ --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 448dbd86..f1b23350 100644 --- a/README.md +++ b/README.md @@ -523,11 +523,11 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. - [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. - [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. +- [Apache RocketMQ](https://rocketmq.apache.org/) - A fast, reliable, and scalable distributed messaging platform. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. - [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. -- [RocketMQ](https://github.com/alibaba/RocketMQ) - A fast, reliable, and scalable distributed messaging platform. - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. ### Miscellaneous From 99951d25057fdc262fdd822c492c020cb57c58f7 Mon Sep 17 00:00:00 2001 From: vixentael Date: Mon, 30 Jul 2018 14:28:46 +0300 Subject: [PATCH 008/533] add Themis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 448dbd86..52d09e6d 100644 --- a/README.md +++ b/README.md @@ -813,6 +813,7 @@ A curated list of awesome Java frameworks, libraries and software. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [PicketLink](http://picketlink.org) - Umbrella project for security and identity management. +- [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. - [Vault](https://www.vaultproject.io) - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more. ### Serialization From 23f56a4c544e06c9eebbae0318bee31ad3b52306 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 4 Aug 2018 17:03:42 +0200 Subject: [PATCH 009/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index feedef10..cccd17f8 100644 --- a/README.md +++ b/README.md @@ -813,7 +813,7 @@ A curated list of awesome Java frameworks, libraries and software. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [PicketLink](http://picketlink.org) - Umbrella project for security and identity management. -- [Tink](http://github.com/google/tink) - multi-language, cross-platform library that provides a simple and misuse-proof API for common cryptographic tasks. +- [Tink](http://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks. - [Vault](https://www.vaultproject.io) - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more. ### Serialization From b6f3fd720ec1d12c3a942ccfa75767c7c999d4b1 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 4 Aug 2018 17:52:10 +0200 Subject: [PATCH 010/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03b1d0e6..60f41274 100644 --- a/README.md +++ b/README.md @@ -415,7 +415,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. -- [Play WS](https://github.com/playframework/play-ws) - Typesafe HTTP Client with Reactive Streams & HTTP Cache, built on async-http-client. +- [Play WS](https://github.com/playframework/play-ws) - Typesafe client with reactive streams and caching. - [restQL-core](https://github.com/B2W-BIT/restQL-core) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. From ff0be45094cc073cdeb9b35d04da15c87a968e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vorburger=20=E2=9B=91=EF=B8=8F?= Date: Thu, 2 Aug 2018 12:18:57 +0200 Subject: [PATCH 011/533] add vorburger.exec & zt-exec Hello @akullpp and awesome-java maintainers, would you consider adding https://github.com/vorburger/ch.vorburger.exec ? FYI re. "popularity" of vorburger.exec don't look just at the stars on that repo - it's [used really widely indirectly through MariaDB4j](https://github.com/vorburger/MariaDB4j/). and even the "competition" to (my) vorburger.exec, the https://github.com/zeroturnaround/zt-exec ? ;-) just FYI see also https://github.com/zeroturnaround/zt-exec/pull/25 FYI I'm the same guy from #465 (and #653) from a while ago. Thanks for maintaining this! --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b1876a48..b911ae4b 100644 --- a/README.md +++ b/README.md @@ -940,6 +940,8 @@ A curated list of awesome Java frameworks, libraries and software. - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. - [Embulk](http://www.embulk.org) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +- [Exec by Vorburger.ch](https://github.com/vorburger/ch.vorburger.exec) - launch external processes, with significant improvements over Apache Commons Exec. +- [Exec by ZT](https://github.com/zeroturnaround/zt-exec) - another external process utility - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. From 0f61f07cef4b068d02716657514a7ea3ee43e3d7 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 10 Aug 2018 10:54:58 +0200 Subject: [PATCH 012/533] Update README.md --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b911ae4b..377bfb69 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ A curated list of awesome Java frameworks, libraries and software. - [PDF](#pdf) - [Performance analysis](#performance-analysis) - [Platform](#platform) + - [Processes](#processes) - [Reactive libraries](#reactive-libraries) - [REST Frameworks](#rest-frameworks) - [Science](#science) @@ -750,6 +751,14 @@ A curated list of awesome Java frameworks, libraries and software. - [Orienteer](https://github.com/OrienteerBAP/Orienteer) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - [Spring](https://spring.io/projects) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. +### Processes + +*Libraries that help the management of operating system processes.* + +- [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) - Convenient API around Apache Commons Exec. +- [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. +- [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) - Stops processes started from Java or the system processes via PID. + ### Reactive libraries *Libraries for developing reactive applications.* @@ -940,8 +949,6 @@ A curated list of awesome Java frameworks, libraries and software. - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. - [Embulk](http://www.embulk.org) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -- [Exec by Vorburger.ch](https://github.com/vorburger/ch.vorburger.exec) - launch external processes, with significant improvements over Apache Commons Exec. -- [Exec by ZT](https://github.com/zeroturnaround/zt-exec) - another external process utility - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. From 584dcf4d7124dcacdff8fc74519745d9c8a5a84d Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sun, 12 Aug 2018 13:09:54 +0900 Subject: [PATCH 013/533] Place Tink in alphabetical order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 377bfb69..5418e0d7 100644 --- a/README.md +++ b/README.md @@ -823,8 +823,8 @@ A curated list of awesome Java frameworks, libraries and software. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [PicketLink](http://picketlink.org) - Umbrella project for security and identity management. -- [Tink](http://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks. - [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](http://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks. - [Vault](https://www.vaultproject.io) - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more. ### Serialization From ab611836e025ad5379cb00ae35160cc19afae9f3 Mon Sep 17 00:00:00 2001 From: Nikolay Chernov Date: Tue, 16 Oct 2018 21:24:49 +0300 Subject: [PATCH 014/533] Added entry bucket4j - Java rate limiting library based on token-bucket algorithm (#694) Add bucket4j --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5418e0d7..6fa68897 100644 --- a/README.md +++ b/README.md @@ -945,6 +945,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries which provide general utility functions.* +- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](http://www.cactoos.org) - Collection of object-oriented primitives. - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. From 54b271dff75c09ca49b7ff3d098b32b3c4aa2e39 Mon Sep 17 00:00:00 2001 From: Mariano Barrios Date: Tue, 16 Oct 2018 20:34:45 +0200 Subject: [PATCH 015/533] Add TLS Channel (#690) Add TLS Channel --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6fa68897..b26d183a 100644 --- a/README.md +++ b/README.md @@ -631,6 +631,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Netty](https://netty.io) - Framework for building high-performance network applications. - [Nifty](https://github.com/facebook/nifty) - Implementation of Thrift clients and servers on Netty. - [sshj](https://github.com/hierynomus/sshj) - Programatically use SSH, SCP or SFTP. +- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. - [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. From 38e12251525621c85464080b01846f1f66b60ec5 Mon Sep 17 00:00:00 2001 From: Ohad Shai Date: Tue, 16 Oct 2018 21:36:20 +0300 Subject: [PATCH 016/533] Update README.md (#689) Add jasync-sql --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b26d183a..d30c9284 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Flyway](https://flywaydb.org) - Simple database migration tool. - [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. - [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. +- [jasync-sql](https://github.com/jasync-sql/jasync-sql) - Async DB driver for MySQL and PostgreSQL. - [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. - [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. - [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. From 4654fb6ff9726fd6688e8a0513fa2480294111ac Mon Sep 17 00:00:00 2001 From: Zikani Nyirenda Mwase Date: Tue, 16 Oct 2018 20:42:05 +0200 Subject: [PATCH 017/533] Add zerocell excel library to document processing section (#667) Add zerocell --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d30c9284..ac1da69d 100644 --- a/README.md +++ b/README.md @@ -337,9 +337,10 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that assist with processing office document formats.* -- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- [documents4j](http://documents4j.com) - API for document format conversion using third-party converters such as MS Word. -- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. +* [Apache POI](https://poi.apache.org/) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +* [documents4j](http://documents4j.com) - API for document format conversion using third-party converters such as MS Word. +* [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. +* [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. ### Formal Verification From 320e04ebbf2f1a784bfc721159dcf21a4f2f359a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20L=C3=B3pez-Fern=C3=A1ndez?= Date: Tue, 16 Oct 2018 20:46:01 +0200 Subject: [PATCH 018/533] Add the JFreeChart library (#687) Add JFreeChart --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac1da69d..b5e763b4 100644 --- a/README.md +++ b/README.md @@ -795,6 +795,7 @@ A curated list of awesome Java frameworks, libraries and software. - [DataMelt](http://jwork.org/dmelt) - Environment for scientific computation, data analysis and data visualization. - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. - [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. +- [JFreeChart](http://www.jfree.org/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. From 8606abc11acded29ab940358594be868476a6e59 Mon Sep 17 00:00:00 2001 From: Will Sargent Date: Fri, 19 Oct 2018 04:35:31 -0700 Subject: [PATCH 019/533] Add SecurityBuilder (#696) Add SecurityBuilder --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5e763b4..1c13a3a9 100644 --- a/README.md +++ b/README.md @@ -827,6 +827,7 @@ A curated list of awesome Java frameworks, libraries and software. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [PicketLink](http://picketlink.org) - Umbrella project for security and identity management. +- [SecurityBuilder](https://github.com/tersesystems/securitybuilder) - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. - [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](http://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks. - [Vault](https://www.vaultproject.io) - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more. From b8ac19d8192df7288d5cd78a37470897637c7f42 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Oct 2018 13:44:36 +0200 Subject: [PATCH 020/533] Add Java Faker --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c13a3a9..e099ebe2 100644 --- a/README.md +++ b/README.md @@ -896,6 +896,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Fixture Factory](https://github.com/six2six/fixture-factory) - Generates fake objects from a template. - [JFairy](https://github.com/Codearte/jfairy) - Fake data generator. - [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. +- [Java Faker](https://github.com/DiUS/java-faker) - A port of Ruby's fake data generator. #### Frameworks @@ -950,7 +951,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries which provide general utility functions.* -- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. +- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](http://www.cactoos.org) - Collection of object-oriented primitives. - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. From 71578960a699b5299b68b460bd225f474439b28c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Oct 2018 14:55:02 +0200 Subject: [PATCH 021/533] Refactor command-line parsers to CLI section --- README.md | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e099ebe2..1fbed021 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,11 @@ A curated list of awesome Java frameworks, libraries and software. - [Build](#build) - [Bytecode Manipulation](#bytecode-manipulation) - [Caching](#caching) + - [CLI](#cli) - [Cluster Management](#cluster-management) - [Code Analysis](#code-analysis) - [Code Coverage](#code-coverage) - [Code Generators](#code-generators) - - [Command-line Argument Parsers](#command-line-argument-parsers) - [Compiler-compiler](#compiler-compiler) - [Configuration](#configuration) - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) @@ -119,6 +119,22 @@ A curated list of awesome Java frameworks, libraries and software. - [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. - [Infinispan](http://infinispan.org) - Highly concurrent key/value datastore used for caching. +### CLI + +*Libraries for everything related to the CLI.* + +- [ASCII Table](https://github.com/vdmeer/asciitable) - Library to draw tables in ASCII. +- [Airline](https://github.com/airlift/airline) - Annotation-based framework for parsing Git-like command-line arguments. +- [args4j](http://args4j.kohsuke.org) - Small library to parse command-line arguments. +- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. +- [Java ASCII Render](https://github.com/indvd00m/java-ascii-render) - Graphical primitives for the console. +- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. +- [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. +- [JOpt Simple](https://pholser.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. +- [picocli](http://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +- [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. + ### Cluster Management *Frameworks that can dynamically manage applications inside of a cluster.* @@ -163,16 +179,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Joda-Beans](http://www.joda.org/joda-beans) - Small framework that adds queryable properties to Java, enhancing JavaBeans. - [Lombok](https://projectlombok.org) - Code generator that aims to reduce verbosity. -### Command-line Argument Parsers - -*Libraries that make it easy to parse command line options, arguments, etc.* - -- [Airline](https://github.com/airlift/airline) - Annotation-based framework for parsing Git-like command-line arguments. -- [args4j](http://args4j.kohsuke.org) - Small library to parse command-line arguments. -- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. -- [JOpt Simple](https://pholser.github.io/jopt-simple) - Simple parser that uses the POSIX getopt() and GNU getopt_long() syntaxes. Uses a fluent API instead of annotations. -- [picocli](http://picocli.info) - ANSI colors and styles in usage help. Can be included as source to avoid dependency. Annotation-based, POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - ### Compiler-compiler *Frameworks that help to create parsers, interpreters or compilers.* @@ -550,7 +556,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [Joda-Money](http://www.joda.org/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. -- [Lanterna](https://github.com/mabe02/lanterna) - Easy console text-GUI library, similar to curses. - [LightAdmin](http://lightadmin.org) - Pluggable CRUD UI library for rapid application development. - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - [Membrane Service Proxy](https://github.com/membrane/service-proxy) - An open-source, reverse-proxy framework written in Java. @@ -707,7 +712,7 @@ A curated list of awesome Java frameworks, libraries and software. - [FileUpload](http://commons.apache.org/proper/commons-fileupload) - File upload capability for your servlets and web applications. - [Lang](http://commons.apache.org/proper/commons-lang) - Provides extra functionality for classes in java.lang. - [Jexl](http://commons.apache.org/proper/commons-jexl) - Expression language which extends the Expression Language of the JSTL. -- [CLI](http://commons.apache.org/proper/commons-cli) - Command Line arguments parser. +- [CLI](http://commons.apache.org/proper/commons-cli) - Command-line arguments parser. - [Validator](http://commons.apache.org/proper/commons-validator) - Framework to define validators and validation rules in an xml file. - [Net](http://commons.apache.org/proper/commons-net) - Collection of network utilities and protocol implementations. - [RNG](https://commons.apache.org/proper/commons-rng) - Commons Rng provides implementations of pseudo-random numbers generators. From 4e868f61bafc208900fdc388cfe0286619dc1a58 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Oct 2018 15:05:38 +0200 Subject: [PATCH 022/533] Update Zulu --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 1fbed021..eac23682 100644 --- a/README.md +++ b/README.md @@ -490,8 +490,7 @@ A curated list of awesome Java frameworks, libraries and software. - [OpenJ9](https://github.com/eclipse/openj9) - High performance, enterprise calibre, flexibly licensed, openly governed cross platform Java Virtual Machine extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project. - [OpenJDK](http://openjdk.java.net) - Open-source implementation for Linux. - [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) - VM with non-blocking, concurrent GC for iOS. -- [Zulu OpenJDK 9](https://zulu.org/zulu-9-pre-release-downloads) - Early-access OpenJDK 9 builds for Windows, Linux, and Mac OS X. -- [Zulu OpenJDK](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and Mac OS X through Java 8. +- [Zulu](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and Mac OS X. ### Logging From 645cb5b89eea198ce35b48c661084a9fa0e71f1f Mon Sep 17 00:00:00 2001 From: Matthew Miller Date: Mon, 22 Oct 2018 23:37:57 +1000 Subject: [PATCH 023/533] Add Mixin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eac23682..b9e243bd 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. - [cglib](https://github.com/cglib/cglib) - Bytecode generation library. - [Javassist](https://jboss-javassist.github.io/javassist) - Tries to simplify bytecode editing. +- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. ### Caching From 8a537add5ac8ca4f1c18fc37149c96e931be171a Mon Sep 17 00:00:00 2001 From: Nik Gorylenko Date: Sat, 1 Dec 2018 10:40:40 +0100 Subject: [PATCH 024/533] Add datadog --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b9e243bd..38a3d303 100644 --- a/README.md +++ b/README.md @@ -599,6 +599,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Kamon](http://www.kamon.io) - Tool for monitoring applications running on the JVM. - [Metrics](http://metrics.dropwizard.io) - Expose metrics via JMX or HTTP and send them to a database. - [New Relic ![c]](https://newrelic.com) - Performance monitor. +- [DataDog ![c]](https://docs.datadoghq.com/tracing/setup/java/) - Modern monitoring & analytics. - [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection. - [OverOps ![c]](https://www.overops.com) - In-production error monitoring and debugging. - [Pinpoint](https://github.com/naver/pinpoint) - Open-source APM tool. From 986ddba9b0b4a877e09b045950432763a8c06cf3 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 1 Dec 2018 18:41:52 +0900 Subject: [PATCH 025/533] Fix list items markup --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 38a3d303..e6cae643 100644 --- a/README.md +++ b/README.md @@ -344,10 +344,10 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that assist with processing office document formats.* -* [Apache POI](https://poi.apache.org/) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -* [documents4j](http://documents4j.com) - API for document format conversion using third-party converters such as MS Word. -* [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. -* [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. +- [Apache POI](https://poi.apache.org/) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +- [documents4j](http://documents4j.com) - API for document format conversion using third-party converters such as MS Word. +- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. +- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. ### Formal Verification From 49e6bfb674675fdd46ceed1e70487f30dd1f1b88 Mon Sep 17 00:00:00 2001 From: Balaji Manoharan Date: Sat, 1 Dec 2018 03:46:00 -0600 Subject: [PATCH 026/533] Add Elide --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e6cae643..7a10b39c 100644 --- a/README.md +++ b/README.md @@ -783,6 +783,7 @@ A curated list of awesome Java frameworks, libraries and software. *Frameworks specifically for creating RESTful services.* - [Dropwizard](https://dropwizard.github.io/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +- [Elide](http://elide.io/) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - [Jersey](https://jersey.github.io) - JAX-RS reference implementation. - [Microserver](https://github.com/aol/micro-server) — A 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) - A simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. From 14ba66bc02df7fe07df8d6eca25a308022551243 Mon Sep 17 00:00:00 2001 From: H90 Date: Sat, 1 Dec 2018 10:57:16 +0100 Subject: [PATCH 027/533] Add jbock --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a10b39c..e1138bfe 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. - [Java ASCII Render](https://github.com/indvd00m/java-ascii-render) - Graphical primitives for the console. - [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. +- [jbock](https://github.com/h908714124/jbock) - Typesafe, reflection-free, annotation based command-line parser - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. - [JOpt Simple](https://pholser.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. - [picocli](http://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. From a1039869ffdb0fd8f84a078aa65626290883abd4 Mon Sep 17 00:00:00 2001 From: shathor Date: Sat, 1 Dec 2018 10:59:01 +0100 Subject: [PATCH 028/533] Add Helidon (#705) Add Helidon --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1138bfe..febcb251 100644 --- a/README.md +++ b/README.md @@ -579,6 +579,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apollo](https://spotify.github.io/apollo) - Libraries for writing composable microservices. - [consul-api](https://github.com/Ecwid/consul-api) - Client for the [Consul](https://www.consul.io) 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. +- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of [MicroProfile](https://microprofile.io). - [Lagom](https://www.lightbend.com/lagom) - Framework for creating microservice-based systems. - [Micronaut](http://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. From cfefc5f5c4024f00d7f0d7a8c8839831fcf32bda Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 1 Dec 2018 18:59:55 +0900 Subject: [PATCH 029/533] Sort Apache Commons sub-projects alphabetically --- README.md | 70 +++++++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index febcb251..fc74f530 100644 --- a/README.md +++ b/README.md @@ -700,60 +700,60 @@ A curated list of awesome Java frameworks, libraries and software. #### Apache Commons -- [Pool](http://commons.apache.org/proper/commons-pool) - Generic object pooling component. - [BCEL](http://commons.apache.org/proper/commons-bcel) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. -- [Codec](http://commons.apache.org/proper/commons-codec) - General encoding/decoding algorithms (for example phonetic, base64, URL). -- [Compress](http://commons.apache.org/proper/commons-compress) - Defines an API for working with tar, zip and bzip2 files. -- [IO](http://commons.apache.org/proper/commons-io) - Collection of I/O utilities. -- [Configuration](http://commons.apache.org/proper/commons-configuration) - Reading of configuration/preferences files in various formats. -- [VFS](http://commons.apache.org/proper/commons-vfs) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -- [Jelly](http://commons.apache.org/proper/commons-jelly) - XML based scripting and processing engine. -- [CSV](http://commons.apache.org/proper/commons-csv) - Component for reading and writing comma separated value files. -- [JCS](http://commons.apache.org/proper/commons-jcs) - Java Caching System. -- [Email](http://commons.apache.org/proper/commons-email) - Library for sending e-mail from Java. -- [DbUtils](http://commons.apache.org/proper/commons-dbutils) - JDBC helper library. -- [FileUpload](http://commons.apache.org/proper/commons-fileupload) - File upload capability for your servlets and web applications. -- [Lang](http://commons.apache.org/proper/commons-lang) - Provides extra functionality for classes in java.lang. -- [Jexl](http://commons.apache.org/proper/commons-jexl) - Expression language which extends the Expression Language of the JSTL. -- [CLI](http://commons.apache.org/proper/commons-cli) - Command-line arguments parser. -- [Validator](http://commons.apache.org/proper/commons-validator) - Framework to define validators and validation rules in an xml file. -- [Net](http://commons.apache.org/proper/commons-net) - Collection of network utilities and protocol implementations. -- [RNG](https://commons.apache.org/proper/commons-rng) - Commons Rng provides implementations of pseudo-random numbers generators. -- [RDF](https://commons.apache.org/proper/commons-rdf) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -- [Weaver](http://commons.apache.org/proper/commons-weaver) - Provides an easy way to enhance (weave) compiled bytecode. - [BeanUtils](http://commons.apache.org/proper/commons-beanutils) - Easy-to-use wrappers around the Java reflection and introspection APIs. -- [Collections](http://commons.apache.org/proper/commons-collections) - Extends or augments the Java Collections Framework. -- [DBCP](http://commons.apache.org/proper/commons-dbcp) - Database connection pooling services. -- [Math](http://commons.apache.org/proper/commons-math) - Lightweight, self-contained mathematics and statistics components. -- [Exec](http://commons.apache.org/proper/commons-exec) - API for dealing with external process execution and environment management in Java. -- [Logging](https://en.wikipedia.org/wiki/Apache_Commons_Logging) Wrapper around a variety of logging API implementations. -- [OGNL](http://commons.apache.org/proper/commons-ognl) - An Object-Graph Navigation Language. -- [JCI](http://commons.apache.org/proper/commons-jci) - Java Compiler Interface. -- [Daemon](http://commons.apache.org/proper/commons-daemon) - Alternative invocation mechanism for unix-daemon-like java code. -- [Functor](http://commons.apache.org/proper/commons-functor) - A functor is a function that can be manipulated as an object, or an object representing a single, generic function. -- [Digester](http://commons.apache.org/proper/commons-digester) - XML-to-Java-object mapping utility. +- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2) - Redesign of Commons BeanUtils. - [BSF](http://commons.apache.org/proper/commons-bsf) - Bean Scripting Framework - interface to scripting languages, including JSR-223. -- [Imaging](http://commons.apache.org/proper/commons-imaging) - A pure-Java image library. -- [SCXML](http://commons.apache.org/proper/commons-scxml) - An implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -- [JXPath](http://commons.apache.org/proper/commons-jxpath) - Utilities for manipulating Java Beans using the XPath syntax. - [Chain](http://commons.apache.org/proper/commons-chain) - Chain of Responsibility pattern implementation. -- [Proxy](http://commons.apache.org/proper/commons-proxy) - Library for creating dynamic proxies. -- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2) - Redesign of Commons BeanUtils. - [ClassScan](http://commons.apache.org/sandbox/commons-classscan) - Find Class interfaces, methods, fields, and annotations without loading. +- [CLI](http://commons.apache.org/proper/commons-cli) - Command-line arguments parser. - [CLI2](http://commons.apache.org/sandbox/commons-cli2) Redesign of Commons CLI. +- [Codec](http://commons.apache.org/proper/commons-codec) - General encoding/decoding algorithms (for example phonetic, base64, URL). +- [Collections](http://commons.apache.org/proper/commons-collections) - Extends or augments the Java Collections Framework. +- [Compress](http://commons.apache.org/proper/commons-compress) - Defines an API for working with tar, zip and bzip2 files. +- [Configuration](http://commons.apache.org/proper/commons-configuration) - Reading of configuration/preferences files in various formats. - [Convert](http://commons.apache.org/sandbox/commons-convert) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. +- [CSV](http://commons.apache.org/proper/commons-csv) - Component for reading and writing comma separated value files. +- [Daemon](http://commons.apache.org/proper/commons-daemon) - Alternative invocation mechanism for unix-daemon-like java code. +- [DBCP](http://commons.apache.org/proper/commons-dbcp) - Database connection pooling services. +- [DbUtils](http://commons.apache.org/proper/commons-dbutils) - JDBC helper library. +- [Digester](http://commons.apache.org/proper/commons-digester) - XML-to-Java-object mapping utility. +- [Email](http://commons.apache.org/proper/commons-email) - Library for sending e-mail from Java. +- [Exec](http://commons.apache.org/proper/commons-exec) - API for dealing with external process execution and environment management in Java. +- [FileUpload](http://commons.apache.org/proper/commons-fileupload) - File upload capability for your servlets and web applications. - [Finder](http://commons.apache.org/sandbox/commons-finder) - Java library inspired by the UNIX find command. - [Flatfile](http://commons.apache.org/sandbox/commons-flatfile) - Java library for working with flat data structures. +- [Functor](http://commons.apache.org/proper/commons-functor) - A functor is a function that can be manipulated as an object, or an object representing a single, generic function. - [Graph](http://commons.apache.org/sandbox/commons-graph) - A general purpose Graph APIs and algorithms. - [I18n](http://commons.apache.org/sandbox/commons-i18n) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. - [Id](http://commons.apache.org/sandbox/commons-id) - Id is a component used to generate identifiers. +- [Imaging](http://commons.apache.org/proper/commons-imaging) - A pure-Java image library. +- [IO](http://commons.apache.org/proper/commons-io) - Collection of I/O utilities. - [Javaflow](http://commons.apache.org/sandbox/commons-javaflow) - Continuation implementation to capture the state of the application. +- [JCI](http://commons.apache.org/proper/commons-jci) - Java Compiler Interface. +- [JCS](http://commons.apache.org/proper/commons-jcs) - Java Caching System. +- [Jelly](http://commons.apache.org/proper/commons-jelly) - XML based scripting and processing engine. +- [Jexl](http://commons.apache.org/proper/commons-jexl) - Expression language which extends the Expression Language of the JSTL. - [JNet](http://commons.apache.org/sandbox/commons-jnet) - JNet allows to use dynamically register url stream handlers through the java.net API. +- [JXPath](http://commons.apache.org/proper/commons-jxpath) - Utilities for manipulating Java Beans using the XPath syntax. +- [Lang](http://commons.apache.org/proper/commons-lang) - Provides extra functionality for classes in java.lang. +- [Logging](https://en.wikipedia.org/wiki/Apache_Commons_Logging) Wrapper around a variety of logging API implementations. +- [Math](http://commons.apache.org/proper/commons-math) - Lightweight, self-contained mathematics and statistics components. - [Monitoring](http://commons.apache.org/sandbox/commons-monitoring) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. - [Nabla](http://commons.apache.org/sandbox/commons-nabla) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. +- [Net](http://commons.apache.org/proper/commons-net) - Collection of network utilities and protocol implementations. +- [OGNL](http://commons.apache.org/proper/commons-ognl) - An Object-Graph Navigation Language. - [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp) - Interface to signing and verifying data using OpenPGP. - [Performance](http://commons.apache.org/sandbox/commons-performance) - A small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. - [Pipeline](http://commons.apache.org/sandbox/commons-pipeline) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. +- [Pool](http://commons.apache.org/proper/commons-pool) - Generic object pooling component. +- [Proxy](http://commons.apache.org/proper/commons-proxy) - Library for creating dynamic proxies. +- [RDF](https://commons.apache.org/proper/commons-rdf) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +- [RNG](https://commons.apache.org/proper/commons-rng) - Commons Rng provides implementations of pseudo-random numbers generators. +- [SCXML](http://commons.apache.org/proper/commons-scxml) - An implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +- [Validator](http://commons.apache.org/proper/commons-validator) - Framework to define validators and validation rules in an xml file. +- [VFS](http://commons.apache.org/proper/commons-vfs) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +- [Weaver](http://commons.apache.org/proper/commons-weaver) - Provides an easy way to enhance (weave) compiled bytecode. #### Other From a35d667b9c2b5f11419ccf9876b93bd41bd28d35 Mon Sep 17 00:00:00 2001 From: Lee Skillen Date: Sat, 1 Dec 2018 10:02:07 +0000 Subject: [PATCH 030/533] Add Cloudsmith --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fc74f530..342e064d 100644 --- a/README.md +++ b/README.md @@ -335,6 +335,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Boxfuse](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. - [Capsule](http://www.capsule.io) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. - [JitPack](https://jitpack.io) - Easy-to-use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. - [Nexus ![c]](https://www.sonatype.com/nexus/solution-overview) - Binary management with proxy and caching capabilities. From 2d0bc4a66368015bbddbd45572174f1e9817b91e Mon Sep 17 00:00:00 2001 From: Oleg Sigida <6461608+osigida@users.noreply.github.com> Date: Sun, 9 Dec 2018 17:09:59 +0100 Subject: [PATCH 031/533] Update JVM and JDK section --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 342e064d..413a943b 100644 --- a/README.md +++ b/README.md @@ -488,11 +488,14 @@ A curated list of awesome Java frameworks, libraries and software. *Current implementations of the JVM/JDK.* -- [Avian](https://github.com/ReadyTalk/avian) - JVM with both JIT and AOT modes. Includes an iOS port. -- [Graal](https://github.com/oracle/graal) - Polyglot virtual machine which can be embedded. -- [OpenJ9](https://github.com/eclipse/openj9) - High performance, enterprise calibre, flexibly licensed, openly governed cross platform Java Virtual Machine extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project. -- [OpenJDK](http://openjdk.java.net) - Open-source implementation for Linux. +- [Adopt Open JDK](https://adoptopenjdk.net) - OpenJDK builds which allows to choose between 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. +- [Graal](https://github.com/oracle/graal) - Polyglot embeddable JVM. +- [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 distributed by Oracle. - [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) - VM with non-blocking, concurrent GC for iOS. +- [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) - RedHat's OpenJDK distribution. - [Zulu](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and Mac OS X. ### Logging From edfd15180cbbf4e64240b389913478cbc4ea04de Mon Sep 17 00:00:00 2001 From: Juntao Zeng <31234156+juntaozeng@users.noreply.github.com> Date: Fri, 14 Dec 2018 22:35:58 +1100 Subject: [PATCH 032/533] Update Podcasts Section Java Council URL (#711) The previous URL leads to 404 Error Page - updated to the latest URL. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 413a943b..75d30839 100644 --- a/README.md +++ b/README.md @@ -1061,7 +1061,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Java Off Heap](http://www.javaoffheap.com) - [Marco Behler's Screencasts](https://www.marcobehler.com/series) - Screencasts about modern Java development. -- [The Java Council](https://virtualjug.com/podcast) +- [The Java Council](https://virtualjug.com/#podcast) - [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. ### Twitter From 924edae044ea777d1853170602e65c59b23d9d21 Mon Sep 17 00:00:00 2001 From: "abu.bakar" Date: Fri, 21 Dec 2018 17:28:33 +0300 Subject: [PATCH 033/533] Added P6Spy in Logging. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 75d30839..7be12faf 100644 --- a/README.md +++ b/README.md @@ -508,6 +508,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Logback](https://logback.qos.ch) - Robust logging library with interesting configuration options via Groovy. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. - [Logstash](https://www.elastic.co/products/logstash) - Tool for managing log files. +- [p6spy](https://github.com/p6spy/p6spy) - P6Spy is a framework that enables database data to be seamlessly intercepted and logged with no code changes to the application.It logs all JDBC transactions for any Java application. - [SLF4J](https://www.slf4j.org) - Abstraction layer/simple logging facade. - [tinylog](http://www.tinylog.org) - Lightweight logging framework with static logger class. - [Tracer](https://github.com/zalando/tracer) - Call tracing and log correlation in distributed systems. From 57613c92dee1012559231129756e6dbf88f4361d Mon Sep 17 00:00:00 2001 From: "abu.bakar" Date: Fri, 21 Dec 2018 17:33:57 +0300 Subject: [PATCH 034/533] Added P6Spy in Logging and Improved Description. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7be12faf..0255e649 100644 --- a/README.md +++ b/README.md @@ -508,7 +508,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Logback](https://logback.qos.ch) - Robust logging library with interesting configuration options via Groovy. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. - [Logstash](https://www.elastic.co/products/logstash) - Tool for managing log files. -- [p6spy](https://github.com/p6spy/p6spy) - P6Spy is a framework that enables database data to be seamlessly intercepted and logged with no code changes to the application.It logs all JDBC transactions for any Java application. +- [p6spy](https://github.com/p6spy/p6spy) - Framework that enables all JDBC transactions to be logged. - [SLF4J](https://www.slf4j.org) - Abstraction layer/simple logging facade. - [tinylog](http://www.tinylog.org) - Lightweight logging framework with static logger class. - [Tracer](https://github.com/zalando/tracer) - Call tracing and log correlation in distributed systems. From 80809350e81bd88d8b08a514021eb3251a5dcd07 Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 23 Dec 2018 20:28:12 +0100 Subject: [PATCH 035/533] Added XChart Added the XChart library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 75d30839..a3c53bec 100644 --- a/README.md +++ b/README.md @@ -814,6 +814,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](http://www.zavtech.com/morpheus/docs) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - [Tablesaw](https://github.com/lwhite1/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +- [XChart](https://github.com/knowm/XChart) - A light-weight library for plotting data. Many customizable chart types are available. ### Search From eabddf14eb3fa434680152f63aaa01a2264f26a9 Mon Sep 17 00:00:00 2001 From: Alexander Balyshyn Date: Mon, 24 Dec 2018 21:35:55 +0200 Subject: [PATCH 036/533] added some links of interesting projects to list. --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 75d30839..9d9d699d 100644 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ A curated list of awesome Java frameworks, libraries and software. *Everything that simplifies interactions with the database.* - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. +- [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [druid](http://druid.io) - High-performance, column-oriented, distributed data store. - [eXist](https://github.com/eXist-db/exist) - A NoSQL document database and application platform. @@ -431,6 +432,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. +- [Scarlet](https://github.com/Tinder/Scarlet) - A Retrofit inspired WebSocket client for Kotlin, Java, and Android. ### Hypermedia Types @@ -492,6 +494,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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. - [Graal](https://github.com/oracle/graal) - Polyglot embeddable JVM. +- [Liberica JDK](https://www.bell-sw.com/java.html) - Liberica is a 100% open-source Java 9, 10 & 11 implementation. It is built from OpenJDK which BellSoft contributes to, thoroughly tested and passed the JCK as provided under the license from OpenJDK. - [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 distributed by Oracle. - [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) - VM with non-blocking, concurrent GC for iOS. @@ -538,11 +541,14 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. - [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. - [Apache RocketMQ](https://rocketmq.apache.org/) - A fast, reliable, and scalable distributed messaging platform. +- [Apache Qpid](https://qpid.apache.org/) - Apache Qpid™ makes messaging tools that speak AMQP and support many languages and platforms. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. - [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. +- [RabbitMQ](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ Java client. - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. +- [NATS](https://github.com/nats-io/java-nats) - NATS Server is a simple, high performance open source messaging system. ### Miscellaneous @@ -555,9 +561,11 @@ A curated list of awesome Java frameworks, libraries and software. - [FF4J](http://www.ff4j.org) - 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. - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. +- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and more. - [JavaX](http://javax.ai1.lol) - Reinventing and extending Java with a focus on simplicity. - [JBake](http://jbake.org) - Static website generator. - [JBot](https://github.com/ramswaroop/jbot) - Framework for building chatbots. +- [Jcuda](https://github.com/jcuda/jcuda-main) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [Joda-Money](http://www.joda.org/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. @@ -600,6 +608,7 @@ A curated list of awesome Java frameworks, libraries and software. - [inspectIT](http://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. - [JavaMelody](https://github.com/javamelody/javamelody) - Performance monitoring and profiling. +- [Jaeger](https://github.com/jaegertracing/jaeger-client-java) - Jaeger's Tracing Instrumentation Library for Java. - [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. - [Kamon](http://www.kamon.io) - Tool for monitoring applications running on the JVM. @@ -635,6 +644,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries for building network servers.* +- [AkkaGRPC](https://github.com/akka/akka-grpc) - Support for building streaming gRPC servers and clients on top of Akka Streams. - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. - [Dubbo](https://github.com/alibaba/dubbo) - High-performance RPC framework. - [Finagle](https://github.com/twitter/finagle) - Extensible RPC system for constructing high-concurrency servers. It implements uniform client and server APIs for several protocols, and is protocol-agnostic to simplify implementation of new protocols. @@ -790,6 +800,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Dropwizard](https://dropwizard.github.io/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - [Elide](http://elide.io/) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +- [javalin](https://javalin.io/) - Javalin is just a few thousand lines of code on top of Jetty, which means its performance is almost equivalent to pure Jetty. - [Jersey](https://jersey.github.io) - JAX-RS reference implementation. - [Microserver](https://github.com/aol/micro-server) — A 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) - A simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. @@ -833,6 +844,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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. - [Jwks RSA](https://github.com/auth0/jwks-rsa-java) - JSON Web Key Set parser. +- [Kalium](https://github.com/abstractj/kalium) - Java binding to the Networking and Cryptography (NaCl) library. - [Keycloak](https://keycloak.jboss.org) - Integrated SSO and IDM for browser apps and RESTful web services. - [Keyczar](https://github.com/google/keyczar) - Easy-to-use, safe encryption framework with key versioning. - [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. @@ -870,11 +882,13 @@ A curated list of awesome Java frameworks, libraries and software. *Tools that substitute expressions in a template.* +- [Freemarker](https://freemarker.apache.org/) - Apache FreeMarker™ is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - [Handlebars.java](https://jknack.github.io/handlebars.java) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jtwig](http://jtwig.org) - Modular, configurable and fully tested template engine. - [Pebble](http://www.mitchellbosecke.com/pebble/home) - 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. - [Thymeleaf](http://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. +- [Twirl](https://github.com/playframework/twirl) - Twirl is the Play template engine. ### Testing @@ -1106,6 +1120,8 @@ A curated list of awesome Java frameworks, libraries and software. *Sites to read.* +- [Baeldung - Java, Spring and Web Development tutorials](https://www.baeldung.com/) +- [Dzone](https://dzone.com/) - [Google Java Style](https://google.github.io/styleguide/javaguide.html) - [InfoQ](https://www.infoq.com) - [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) From 1bd009c3ad020747fc31fc784c750ff13cc4c830 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 29 Dec 2018 21:28:22 +0900 Subject: [PATCH 037/533] Fix casing for Datadog (#715) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75d30839..18aea662 100644 --- a/README.md +++ b/README.md @@ -605,7 +605,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Kamon](http://www.kamon.io) - Tool for monitoring applications running on the JVM. - [Metrics](http://metrics.dropwizard.io) - Expose metrics via JMX or HTTP and send them to a database. - [New Relic ![c]](https://newrelic.com) - Performance monitor. -- [DataDog ![c]](https://docs.datadoghq.com/tracing/setup/java/) - Modern monitoring & analytics. +- [Datadog ![c]](https://docs.datadoghq.com/tracing/setup/java/) - Modern monitoring & analytics. - [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection. - [OverOps ![c]](https://www.overops.com) - In-production error monitoring and debugging. - [Pinpoint](https://github.com/naver/pinpoint) - Open-source APM tool. From dbe1fc542d378832ac4ccb9b091d153c540e7f9a Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 29 Dec 2018 13:39:04 +0100 Subject: [PATCH 038/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0255e649..2a1af2d3 100644 --- a/README.md +++ b/README.md @@ -508,7 +508,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Logback](https://logback.qos.ch) - Robust logging library with interesting configuration options via Groovy. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. - [Logstash](https://www.elastic.co/products/logstash) - Tool for managing log files. -- [p6spy](https://github.com/p6spy/p6spy) - Framework that enables all JDBC transactions to be logged. +- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. - [SLF4J](https://www.slf4j.org) - Abstraction layer/simple logging facade. - [tinylog](http://www.tinylog.org) - Lightweight logging framework with static logger class. - [Tracer](https://github.com/zalando/tracer) - Call tracing and log correlation in distributed systems. From bf8c3b2d93e711d71e596de243aaed5483c595e8 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 29 Dec 2018 14:19:50 +0100 Subject: [PATCH 039/533] Update README.md --- README.md | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 9d9d699d..7bfad141 100644 --- a/README.md +++ b/README.md @@ -432,7 +432,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. -- [Scarlet](https://github.com/Tinder/Scarlet) - A Retrofit inspired WebSocket client for Kotlin, Java, and Android. ### Hypermedia Types @@ -494,7 +493,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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. - [Graal](https://github.com/oracle/graal) - Polyglot embeddable JVM. -- [Liberica JDK](https://www.bell-sw.com/java.html) - Liberica is a 100% open-source Java 9, 10 & 11 implementation. It is built from OpenJDK which BellSoft contributes to, thoroughly tested and passed the JCK as provided under the license from OpenJDK. +- [Liberica JDK](https://www.bell-sw.com/java.html) - Built from OpenJDK, thoroughly tested and passed the JCK. - [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 distributed by Oracle. - [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) - VM with non-blocking, concurrent GC for iOS. @@ -541,14 +540,14 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. - [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. - [Apache RocketMQ](https://rocketmq.apache.org/) - A fast, reliable, and scalable distributed messaging platform. -- [Apache Qpid](https://qpid.apache.org/) - Apache Qpid™ makes messaging tools that speak AMQP and support many languages and platforms. +- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. - [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. -- [RabbitMQ](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ Java client. +- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. -- [NATS](https://github.com/nats-io/java-nats) - NATS Server is a simple, high performance open source messaging system. +- [NATS](https://github.com/nats-io/java-nats) - NATS client. ### Miscellaneous @@ -565,7 +564,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JavaX](http://javax.ai1.lol) - Reinventing and extending Java with a focus on simplicity. - [JBake](http://jbake.org) - Static website generator. - [JBot](https://github.com/ramswaroop/jbot) - Framework for building chatbots. -- [Jcuda](https://github.com/jcuda/jcuda-main) - JCuda offers Java bindings for CUDA and CUDA-related libraries. +- [Jcuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [Joda-Money](http://www.joda.org/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. @@ -608,7 +607,7 @@ A curated list of awesome Java frameworks, libraries and software. - [inspectIT](http://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. - [JavaMelody](https://github.com/javamelody/javamelody) - Performance monitoring and profiling. -- [Jaeger](https://github.com/jaegertracing/jaeger-client-java) - Jaeger's Tracing Instrumentation Library for Java. +- [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) - Jaeger client. - [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. - [Kamon](http://www.kamon.io) - Tool for monitoring applications running on the JVM. @@ -844,7 +843,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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. - [Jwks RSA](https://github.com/auth0/jwks-rsa-java) - JSON Web Key Set parser. -- [Kalium](https://github.com/abstractj/kalium) - Java binding to the Networking and Cryptography (NaCl) library. +- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. - [Keycloak](https://keycloak.jboss.org) - Integrated SSO and IDM for browser apps and RESTful web services. - [Keyczar](https://github.com/google/keyczar) - Easy-to-use, safe encryption framework with key versioning. - [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. @@ -882,13 +881,11 @@ A curated list of awesome Java frameworks, libraries and software. *Tools that substitute expressions in a template.* -- [Freemarker](https://freemarker.apache.org/) - Apache FreeMarker™ is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - [Handlebars.java](https://jknack.github.io/handlebars.java) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jtwig](http://jtwig.org) - Modular, configurable and fully tested template engine. - [Pebble](http://www.mitchellbosecke.com/pebble/home) - 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. - [Thymeleaf](http://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. -- [Twirl](https://github.com/playframework/twirl) - Twirl is the Play template engine. ### Testing @@ -1120,8 +1117,8 @@ A curated list of awesome Java frameworks, libraries and software. *Sites to read.* -- [Baeldung - Java, Spring and Web Development tutorials](https://www.baeldung.com/) -- [Dzone](https://dzone.com/) +- [Baeldung](https://www.baeldung.com) +- [Dzone](https://dzone.com) - [Google Java Style](https://google.github.io/styleguide/javaguide.html) - [InfoQ](https://www.infoq.com) - [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) From 92b2e225e2529d5f7f725a67757c862247e8d358 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 29 Dec 2018 14:20:21 +0100 Subject: [PATCH 040/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bfad141..8ede0ddf 100644 --- a/README.md +++ b/README.md @@ -547,7 +547,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. - [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. -- [NATS](https://github.com/nats-io/java-nats) - NATS client. +- [NATS client](https://github.com/nats-io/java-nats) - NATS client. ### Miscellaneous From 3d86ccd5b580dfc93bc391dd26331b1a79f71196 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 29 Dec 2018 14:20:56 +0100 Subject: [PATCH 041/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ede0ddf..89cbe7f6 100644 --- a/README.md +++ b/README.md @@ -564,7 +564,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JavaX](http://javax.ai1.lol) - Reinventing and extending Java with a focus on simplicity. - [JBake](http://jbake.org) - Static website generator. - [JBot](https://github.com/ramswaroop/jbot) - Framework for building chatbots. -- [Jcuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. +- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [Joda-Money](http://www.joda.org/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. From c065db0a45a75b5a55b1f3a1a2b30e4a1b281920 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 29 Dec 2018 14:21:53 +0100 Subject: [PATCH 042/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89cbe7f6..d8d959ac 100644 --- a/README.md +++ b/README.md @@ -799,7 +799,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Dropwizard](https://dropwizard.github.io/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - [Elide](http://elide.io/) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -- [javalin](https://javalin.io/) - Javalin is just a few thousand lines of code on top of Jetty, which means its performance is almost equivalent to pure Jetty. +- [javalin](https://javalin.io) - Javalin is just a few thousand lines of code on top of Jetty, which means its performance is almost equivalent to pure Jetty. - [Jersey](https://jersey.github.io) - JAX-RS reference implementation. - [Microserver](https://github.com/aol/micro-server) — A 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) - A simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. From cbb56a32f942561a378ad3902e47a059d9813115 Mon Sep 17 00:00:00 2001 From: Alexandre DuBreuil Date: Tue, 8 Jan 2019 09:19:18 -0500 Subject: [PATCH 043/533] Add doov library in the bean mapping section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 573b609b..5bbef920 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ A curated list of awesome Java frameworks, libraries and software. *Frameworks that ease bean mapping.* +- [dOOv](https://github.com/doov-io/doov) - dOOv is a fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - [Dozer](https://github.com/DozerMapper/dozer) - Mapper that copies data from one object to another using annotations and API or XML configuration. - [JMapper](https://jmapper-framework.github.io/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. From 3681914b07aa4de30425e8626d3f337c0ccba758 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 11 Jan 2019 21:09:13 +0100 Subject: [PATCH 044/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5bbef920..6918039f 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ A curated list of awesome Java frameworks, libraries and software. *Frameworks that ease bean mapping.* -- [dOOv](https://github.com/doov-io/doov) - dOOv is a fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - [Dozer](https://github.com/DozerMapper/dozer) - Mapper that copies data from one object to another using annotations and API or XML configuration. - [JMapper](https://jmapper-framework.github.io/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. From e05fb7018ed30e35fabbecb24b60c821a3d8717f Mon Sep 17 00:00:00 2001 From: "Peter M. Stahl" Date: Tue, 22 Jan 2019 16:55:17 +0100 Subject: [PATCH 045/533] Add Lingua --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6918039f..c7ec79cc 100644 --- a/README.md +++ b/README.md @@ -639,6 +639,7 @@ A curated list of awesome Java frameworks, libraries and software. - [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. - [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. - [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +- [Lingua](https://github.com/pemistahl/lingua) - Natural language detection library, especially suited for short paragraphs of text. - [LingPipe](http://alias-i.com/lingpipe) - Toolkit for tasks ranging from POS tagging to sentiment analysis. ### Networking From 952e8820ea639dcec0f4c8dbb88674e2389da342 Mon Sep 17 00:00:00 2001 From: Haeun Kim Date: Wed, 23 Jan 2019 01:04:04 +0900 Subject: [PATCH 046/533] Adds indexer4j --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c7ec79cc..12c6b8ec 100644 --- a/README.md +++ b/README.md @@ -836,6 +836,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. - [Apache Solr](https://lucene.apache.org/solr) - Enterprise search engine optimized for high-volume traffic. - [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. +- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. ### Security From 802b73edc6b6d8902d3f73a5c4244038b9a0c339 Mon Sep 17 00:00:00 2001 From: Sven Ruppert Date: Tue, 5 Feb 2019 23:51:09 +0200 Subject: [PATCH 047/533] Add cache2k --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 12c6b8ec..1fc85771 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that provide caching facilities.* +- [cache2k](https://cache2k.org) - In-memory high performance caching library. - [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. - [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. - [Infinispan](http://infinispan.org) - Highly concurrent key/value datastore used for caching. From 33b4af3b5c225f14fd769f5ce64c72c4f31f5c95 Mon Sep 17 00:00:00 2001 From: Rainer Hahnekamp Date: Tue, 5 Feb 2019 22:51:32 +0100 Subject: [PATCH 048/533] Add SneakyThrow --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fc85771..05a38bde 100644 --- a/README.md +++ b/README.md @@ -301,6 +301,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - A symbol solver for Java. - [JRebel ![c]](https://zeroturnaround.com/software/jrebel) - Instantly reloads code and configuration changes without redeploys. - [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. ### Distributed Applications From 490d5c908a70204111f064e6177e82a5e0a5c63c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 10 Feb 2019 08:46:44 +0100 Subject: [PATCH 049/533] Update FF4J --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 05a38bde..81605824 100644 --- a/README.md +++ b/README.md @@ -561,7 +561,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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. - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. -- [FF4J](http://www.ff4j.org) - Feature Flags for Java. +- [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. - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. - [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and more. From d97fbb04d255de3d6989df2560aecfada2b41799 Mon Sep 17 00:00:00 2001 From: Henn Idan Date: Sun, 24 Feb 2019 14:52:59 +0200 Subject: [PATCH 050/533] Change Takipi to OverOps --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81605824..c71adf83 100644 --- a/README.md +++ b/README.md @@ -1135,7 +1135,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JavaWorld](https://www.javaworld.com) - [JAXenter](https://jaxenter.com) - [RebelLabs](https://zeroturnaround.com/rebellabs) -- [The Takipi Blog](http://blog.takipi.com) +- [OverOps Blog](https://blog.overops.com) - [TheServerSide.com](http://www.theserverside.com) - [Vanilla Java](https://vanilla-java.github.io) - [Voxxed](https://www.voxxed.com) From 9613f372e045668b39d61ed7571be6947cfce8a2 Mon Sep 17 00:00:00 2001 From: "A.Mahdy AbdelAziz" Date: Sun, 24 Feb 2019 14:53:52 +0200 Subject: [PATCH 051/533] Update Vaadin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c71adf83..72efbec7 100644 --- a/README.md +++ b/README.md @@ -1032,7 +1032,7 @@ A curated list of awesome Java frameworks, libraries and software. - [PrimeFaces](https://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/home) - Event-driven framework built on top of GWT. Uses server-side architecture with Ajax on the client side. +- [Vaadin Flow](https://vaadin.com/flow) - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side. ## Resources From 4688054587c3ff6ce83e85c15a46839f5088a317 Mon Sep 17 00:00:00 2001 From: Boris Velichko Date: Sun, 24 Feb 2019 18:56:46 +0600 Subject: [PATCH 052/533] Add JayWire --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72efbec7..194cd4cc 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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. +- [JayWire](https://github.com/vanillasource/jaywire) - Lightweight dependency injection framework. ### Development From 122a6b41c98d71b02a1b42e70a8fbb4f18f4c8e7 Mon Sep 17 00:00:00 2001 From: Eduards Sizovs Date: Sun, 24 Feb 2019 16:01:00 +0300 Subject: [PATCH 053/533] Add PipelinR --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 194cd4cc..69b63ff0 100644 --- a/README.md +++ b/README.md @@ -581,6 +581,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Modernizer](https://github.com/andrewgaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. - [Multi-OS Engine](https://software.intel.com/en-us/multi-os-engine) - An open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +- [PipelinR](https://github.com/sizovs/pipelinr) – Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - [Smooks](https://github.com/smooks/smooks) - Extensible framework for building applications that process data which means bindings, transformations, message processing and enrichment. - [Togglz](https://www.togglz.org) - Implementation of the Feature Toggles pattern. From 22d611c702cd68be2d8e1beab8a73ed10480f3d9 Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 24 Feb 2019 14:03:55 +0100 Subject: [PATCH 054/533] Add Orson-Charts --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69b63ff0..44233d28 100644 --- a/README.md +++ b/README.md @@ -830,6 +830,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](http://www.zavtech.com/morpheus/docs) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. - [Tablesaw](https://github.com/lwhite1/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - [XChart](https://github.com/knowm/XChart) - A light-weight library for plotting data. Many customizable chart types are available. From 113975b39d6d198a09dd92b07a0b907b5f3300f5 Mon Sep 17 00:00:00 2001 From: "Sherif A. Nada" Date: Sun, 24 Feb 2019 05:08:10 -0800 Subject: [PATCH 055/533] Add HyperMinHash --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 44233d28..6a8c9511 100644 --- a/README.md +++ b/README.md @@ -263,6 +263,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. - [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. - [Big Queue](https://github.com/bulldog2011/bigqueue) - A big, fast and persistent queue based on memory-mapped files. +- [Hyper MinHash](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - [Persistent Collection](https://pcollections.org) - Persistent and immutable analogue of the Java Collections Framework. - [Protobuf](https://github.com/google/protobuf) - Google's data interchange format. - [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. From e630552303915875abf2f56deb0b401154028402 Mon Sep 17 00:00:00 2001 From: Vitalii Diravka Date: Thu, 7 Mar 2019 22:55:41 +0200 Subject: [PATCH 056/533] Add Apache Drill --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a8c9511..270d0fee 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,7 @@ A curated list of awesome Java frameworks, libraries and software. *Everything that simplifies interactions with the database.* +- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. - [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. From e94bb3d906ff3733de7194c8a7b207872eabb338 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Mon, 11 Mar 2019 17:56:38 +0900 Subject: [PATCH 057/533] Change name HyperMinHash-java --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a8c9511..2aac2062 100644 --- a/README.md +++ b/README.md @@ -263,7 +263,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. - [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. - [Big Queue](https://github.com/bulldog2011/bigqueue) - A big, fast and persistent queue based on memory-mapped files. -- [Hyper MinHash](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. +- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - [Persistent Collection](https://pcollections.org) - Persistent and immutable analogue of the Java Collections Framework. - [Protobuf](https://github.com/google/protobuf) - Google's data interchange format. - [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. From 8325b98958552a10c67a37adb696c7aa5feff7a7 Mon Sep 17 00:00:00 2001 From: Vitalii Diravka Date: Mon, 11 Mar 2019 10:57:13 +0200 Subject: [PATCH 058/533] Add .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..9f11b755 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ From 324ce3887bfecef5446f4260890aa4bda8104ca8 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 11 Mar 2019 05:06:42 -0400 Subject: [PATCH 059/533] Added Sander Mak --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2aac2062..77d7c1d7 100644 --- a/README.md +++ b/README.md @@ -1119,6 +1119,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. - [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. - [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. +- [Sander Mak](https://twitter.com/Sander_Mak) - Java Champion, author. - [Simon Maple](https://twitter.com/sjmaple) - Java Champion, VirtualJUG founder, LJC leader, RebelLabs author. - [Stephen Colebourne](https://twitter.com/jodastephen) - Java Champion, speaker. - [Trisha Gee](https://twitter.com/trisha_gee) - Java Champion and speaker. From e65ed8fa18afeda47bf5eadf36d03114ea4eff05 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 2 Apr 2019 09:52:01 +0200 Subject: [PATCH 060/533] Update CONTRIBUTING.md Add language requirement --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1dc2762f..6e069dfc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,6 +18,8 @@ Suggested software must also be developer-friendly, which means it meets the fol (iii) If commercial, it has clear pricing. +(iv) It has a documentation in the English language. + ## Pull Requests There are two required criteria for a pull request: From a5c13bcdcdac1eac52985b91ce80df39a2c7f93c Mon Sep 17 00:00:00 2001 From: heldev Date: Tue, 2 Apr 2019 03:56:32 -0400 Subject: [PATCH 061/533] Add Rocker --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 77d7c1d7..4e8cca75 100644 --- a/README.md +++ b/README.md @@ -897,6 +897,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Jtwig](http://jtwig.org) - Modular, configurable and fully tested template engine. - [Pebble](http://www.mitchellbosecke.com/pebble/home) - 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. - [Thymeleaf](http://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. +- [Rocker](https://github.com/fizzed/rocker) - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. ### Testing From f7e784f8d6c9f6536ca13a08e519372c7cc990ce Mon Sep 17 00:00:00 2001 From: Roman Leventov Date: Tue, 2 Apr 2019 05:12:32 -0300 Subject: [PATCH 062/533] Add concurrency checklist --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e8cca75..3b281c3d 100644 --- a/README.md +++ b/README.md @@ -1053,6 +1053,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) - [ciandcd](https://github.com/ciandcd/awesome-ciandcd) - [Useful Java Links](https://github.com/Vedenin/useful-java-links) +- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) ### Communities From 736a79398bd62c42bdc0abc223d50ede32df0f13 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 18 Apr 2019 12:22:11 +0900 Subject: [PATCH 063/533] Move Rocker to the place ordered alphabetically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3b281c3d..e182e9f1 100644 --- a/README.md +++ b/README.md @@ -896,8 +896,8 @@ A curated list of awesome Java frameworks, libraries and software. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jtwig](http://jtwig.org) - Modular, configurable and fully tested template engine. - [Pebble](http://www.mitchellbosecke.com/pebble/home) - 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. -- [Thymeleaf](http://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. - [Rocker](https://github.com/fizzed/rocker) - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. +- [Thymeleaf](http://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. ### Testing From fe0d50f6970ff509383d5726c5a333846006b47f Mon Sep 17 00:00:00 2001 From: Sakib Sami Date: Mon, 29 Apr 2019 19:15:28 +0600 Subject: [PATCH 064/533] Add Java Developer Roadmap Add Java Developer Roadmap --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e182e9f1..532d74f9 100644 --- a/README.md +++ b/README.md @@ -1054,6 +1054,7 @@ A curated list of awesome Java frameworks, libraries and software. - [ciandcd](https://github.com/ciandcd/awesome-ciandcd) - [Useful Java Links](https://github.com/Vedenin/useful-java-links) - [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) +- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) ### Communities From 04604dcca00faac42d8e665cace3b779443d5f94 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 1 May 2019 22:16:40 -0400 Subject: [PATCH 065/533] Fix pebble URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 532d74f9..82ef466e 100644 --- a/README.md +++ b/README.md @@ -895,7 +895,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Handlebars.java](https://jknack.github.io/handlebars.java) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jtwig](http://jtwig.org) - Modular, configurable and fully tested template engine. -- [Pebble](http://www.mitchellbosecke.com/pebble/home) - 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. - [Thymeleaf](http://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. From dc91e40da3638bebae95b8a0540deb0f2dcd0bb1 Mon Sep 17 00:00:00 2001 From: Adam Gent Date: Fri, 17 May 2019 11:03:13 -0400 Subject: [PATCH 066/533] [Doma 2](https://doma.readthedocs.io/en/stable/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [Doma 2](https://doma.readthedocs.io/en/stable/) - Doma 2 is a database access framework for Java 8+. It is unique in that it does code generation thus avoiding reflection. This is becoming more popular as people want to use GraalVM native images. It also has native SQL templates, called “two-way SQL”. I have no association with the author of the library but found it extremely interesting in its approach for database access. I think it isn't as well known because it just recently had its documentation and source code ported to English. The library even has an eclipse plugin! --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82ef466e..273c5a59 100644 --- a/README.md +++ b/README.md @@ -671,6 +671,7 @@ A curated list of awesome Java frameworks, libraries and software. *APIs that handle the persistence of objects.* - [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +- [Doma 2](https://doma.readthedocs.io/en/stable/) - A database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called “two-way SQL”. - [Ebean](https://ebean-orm.github.io) - Provides simple and fast data access. - [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. From 09eb55f22fd30152a9edc03a58fab136b5e0f8b8 Mon Sep 17 00:00:00 2001 From: Andreas Worm Date: Tue, 21 May 2019 14:35:09 +0200 Subject: [PATCH 067/533] add serenity bdd worked with this framework for half a year now, it's great. community and development is active. unique selling points: implements the screenplay pattern, two-way jira integration ... --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82ef466e..fc23b85e 100644 --- a/README.md +++ b/README.md @@ -923,6 +923,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JBehave](http://jbehave.org) - Extensively configurable framework that describes stories. - [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. - [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. +- [Serenity BDD](http://serenity-bdd.info/) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. #### Fixtures From eae33f85a37e7be59b05462ab2589634f6d7d4a1 Mon Sep 17 00:00:00 2001 From: Gunnar Morling Date: Tue, 21 May 2019 21:21:29 +0200 Subject: [PATCH 068/533] Adding link to "Awesome Annotation Processing" list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82ef466e..64fe38c1 100644 --- a/README.md +++ b/README.md @@ -1045,6 +1045,7 @@ A curated list of awesome Java frameworks, libraries and software. *Awesome lists related to the Java & JVM ecosystem.* +- [Awesome Annotation Processing](https://github.com/gunnarmorling/awesome-annotation-processing) - [Awesome Gradle Plugins](https://github.com/ksoichiro/awesome-gradle) - [AwesomeJavaFX](https://github.com/mhrimaz/AwesomeJavaFX) - [Awesome JVM](https://github.com/deephacks/awesome-jvm) From 16c7a0af5d9cc7df34f049eabfa7c35fc768fc3c Mon Sep 17 00:00:00 2001 From: Andreas Worm Date: Thu, 23 May 2019 08:46:30 +0200 Subject: [PATCH 069/533] change to https link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fc23b85e..03eed69e 100644 --- a/README.md +++ b/README.md @@ -923,7 +923,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JBehave](http://jbehave.org) - Extensively configurable framework that describes stories. - [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. - [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. -- [Serenity BDD](http://serenity-bdd.info/) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. +- [Serenity BDD](https://www.thucydides.info) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. #### Fixtures From 8d80b46e29a444ae4ef44e77d0a715268a2de6b8 Mon Sep 17 00:00:00 2001 From: Christoph Wagner <18312437+WagnerChristoph@users.noreply.github.com> Date: Fri, 24 May 2019 22:09:51 +0200 Subject: [PATCH 070/533] Fix JOpt Simple URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 82ef466e..efa93564 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. - [jbock](https://github.com/h908714124/jbock) - Typesafe, reflection-free, annotation based command-line parser - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. -- [JOpt Simple](https://pholser.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. +- [JOpt Simple](https://jopt-simple.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. - [picocli](http://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - [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. From 0ccd3fda61b4930eff8c0db8bd464d9c80d4905a Mon Sep 17 00:00:00 2001 From: Mark Sto Date: Wed, 12 Jun 2019 17:19:37 +0300 Subject: [PATCH 071/533] include Manifold --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index efa93564..21f269bb 100644 --- a/README.md +++ b/README.md @@ -302,6 +302,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. - [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - A symbol solver for Java. - [JRebel ![c]](https://zeroturnaround.com/software/jrebel) - Instantly reloads code and configuration changes without redeploys. +- [Manifold](http://manifold.systems/) - A single jar that re-energizes Java with powerful features like Type-safe Metaprogramming (e.g. GraphQL- or JSON Schema-based API or domain models), Structural Typing (think any dynamic language), and Extension Methods (think Kotlin). - [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. From 84c98b57c0b576633bc56f00c49f7fc46e9e1aab Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 12 Jun 2019 21:27:50 +0200 Subject: [PATCH 072/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 21f269bb..ca65f339 100644 --- a/README.md +++ b/README.md @@ -302,7 +302,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. - [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - A symbol solver for Java. - [JRebel ![c]](https://zeroturnaround.com/software/jrebel) - Instantly reloads code and configuration changes without redeploys. -- [Manifold](http://manifold.systems/) - A single jar that re-energizes Java with powerful features like Type-safe Metaprogramming (e.g. GraphQL- or JSON Schema-based API or domain models), Structural Typing (think any dynamic language), and Extension Methods (think Kotlin). +- [Manifold](https://manifold.systems) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. From 49efca9a50427a5e5f7c72f65122e7244b91cf18 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 13 Jun 2019 10:20:15 +0200 Subject: [PATCH 073/533] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 273c5a59..6c07458a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Projects](#projects) - [Bean Mapping](#bean-mapping) - [Build](#build) - - [Bytecode Manipulation](#bytecode-manipulation) - [Caching](#caching) - [CLI](#cli) - [Cluster Management](#cluster-management) @@ -671,7 +670,7 @@ A curated list of awesome Java frameworks, libraries and software. *APIs that handle the persistence of objects.* - [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -- [Doma 2](https://doma.readthedocs.io/en/stable/) - A database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called “two-way SQL”. +- [Doma 2](https://doma.readthedocs.io) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. - [Ebean](https://ebean-orm.github.io) - Provides simple and fast data access. - [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. From ff9149f81aa2532fb12e5e03b3f8ebcea77ad9a6 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 27 Jun 2019 13:59:28 +0900 Subject: [PATCH 074/533] Restore "Bytecode Manipulation" entry in Contents --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b1f91e4..929aec97 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Projects](#projects) - [Bean Mapping](#bean-mapping) - [Build](#build) + - [Bytecode Manipulation](#bytecode-manipulation) - [Caching](#caching) - [CLI](#cli) - [Cluster Management](#cluster-management) From 391ade4ae8eef934852d2f4a63014a18c54ff43f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Falbo?= Date: Mon, 1 Jul 2019 12:21:10 +0200 Subject: [PATCH 075/533] Add Perses --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 929aec97..d19bbff6 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ A curated list of awesome Java frameworks, libraries and software. - [cglib](https://github.com/cglib/cglib) - Bytecode generation library. - [Javassist](https://jboss-javassist.github.io/javassist) - Tries to simplify bytecode editing. - [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. +- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. ### Caching From a87170be90855e051b392c068de13f538fa399cd Mon Sep 17 00:00:00 2001 From: Jeff Schwartz Date: Mon, 1 Jul 2019 06:25:59 -0400 Subject: [PATCH 076/533] Add Open HTML to PDF --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d19bbff6..1b1b9333 100644 --- a/README.md +++ b/README.md @@ -703,6 +703,7 @@ A curated list of awesome Java frameworks, libraries and software. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. - [iText ![c]](https://itextpdf.com) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. +- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. ### Performance analysis From 7854d9d4b53ac167ff59017062983ff02c2adfbd Mon Sep 17 00:00:00 2001 From: heldev Date: Mon, 15 Jul 2019 18:27:11 -0400 Subject: [PATCH 077/533] Update JavaX URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b1b9333..fec1b58a 100644 --- a/README.md +++ b/README.md @@ -570,7 +570,7 @@ A curated list of awesome Java frameworks, libraries and software. - [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) - No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. - [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and more. -- [JavaX](http://javax.ai1.lol) - Reinventing and extending Java with a focus on simplicity. +- [JavaX](http://javax.botcompany.de) - Reinventing and extending Java with a focus on simplicity. - [JBake](http://jbake.org) - Static website generator. - [JBot](https://github.com/ramswaroop/jbot) - Framework for building chatbots. - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. From 40f18bcfe90c4e9054aa6a9efa1a96829afe078c Mon Sep 17 00:00:00 2001 From: heldev Date: Mon, 15 Jul 2019 18:38:16 -0400 Subject: [PATCH 078/533] Update DynamicReports URL The original link has been dead for about a year ( https://community.jaspersoft.com/questions/1100606/dynamicreportsorg-offline ). A WaybackMachine page ( http://web.archive.org/web/20180224203351/http://dynamicreports.org/documentation/documentation-overview ) has a link to a sourceforce page ( https://sourceforge.net/projects/dynamicreports/files/ ), that is dead and has a link to this github page. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fec1b58a..5ced2656 100644 --- a/README.md +++ b/README.md @@ -699,7 +699,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache FOP](https://xmlgraphics.apache.org/fop) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. - [Dynamic Jasper](http://dynamicjasper.com) - Abstraction layer to JasperReports. -- [DynamicReports](http://dynamicreports.org) - Simplifies JasperReports. +- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. - [iText ![c]](https://itextpdf.com) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. From bc29e679ab7a1c975e468044e8556d92f0a54a72 Mon Sep 17 00:00:00 2001 From: Roman Beskrovnyi Date: Wed, 17 Jul 2019 11:21:07 +0300 Subject: [PATCH 079/533] Update README.md Added image-comparison library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ced2656..ebc132e1 100644 --- a/README.md +++ b/README.md @@ -466,6 +466,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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) - Java 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. Can be used for automation qa tests. ### JSON From dfa3960adf151c047b04ad6aa8900702d4208b56 Mon Sep 17 00:00:00 2001 From: zhenik Date: Mon, 22 Jul 2019 11:42:36 +0200 Subject: [PATCH 080/533] update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ced2656..930b687d 100644 --- a/README.md +++ b/README.md @@ -440,6 +440,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. +- [Armeria](https://github.com/line/armeria) - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC ### Hypermedia Types From 09c854246eaeeadc3e1450d05d62bddc16e216ce Mon Sep 17 00:00:00 2001 From: zhenik Date: Mon, 22 Jul 2019 11:50:15 +0200 Subject: [PATCH 081/533] fix alphabetic order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 930b687d..a14ba646 100644 --- a/README.md +++ b/README.md @@ -432,6 +432,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that assist with creating HTTP requests and/or binding responses.* +- [Armeria](https://github.com/line/armeria) - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. @@ -440,7 +441,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. -- [Armeria](https://github.com/line/armeria) - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC ### Hypermedia Types From 43b848ed576daffe432cdd9c00f6e87f7fdf092a Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 26 Jul 2019 13:22:21 +0200 Subject: [PATCH 082/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a14ba646..8ceedf38 100644 --- a/README.md +++ b/README.md @@ -432,7 +432,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that assist with creating HTTP requests and/or binding responses.* -- [Armeria](https://github.com/line/armeria) - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC +- [Armeria](https://github.com/line/armeria) - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. From 840cc567cc76c30a70592787b4e8afb67646d2a9 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 26 Jul 2019 13:24:23 +0200 Subject: [PATCH 083/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ebc132e1..935d638c 100644 --- a/README.md +++ b/README.md @@ -466,7 +466,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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) - Java 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. Can be used for automation qa tests. +- [image-comparison](https://github.com/romankh3/image-comparison) - Compares two images with the same sizes and shows the differences visually by drawing rectangles. ### JSON From 661d69ac0d86da0e46c90b469f1ddb969075c284 Mon Sep 17 00:00:00 2001 From: Luo Lee Date: Thu, 1 Aug 2019 16:15:16 +0800 Subject: [PATCH 084/533] Update README.md Add unirest-java library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5278f1c..f13f9eb3 100644 --- a/README.md +++ b/README.md @@ -441,6 +441,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. +- [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. ### Hypermedia Types From 550854229b4ea66f9813f0475c3b810fb1ccbf83 Mon Sep 17 00:00:00 2001 From: Kevin Lamonte Date: Sun, 18 Aug 2019 20:41:19 -0500 Subject: [PATCH 085/533] Include Jexer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5278f1c..ff7c250e 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,7 @@ A curated list of awesome Java frameworks, libraries and software. - [picocli](http://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - [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. +- [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). ### Cluster Management From d577013d81c49a572dbf1e3f356ebeb2eb2df16f Mon Sep 17 00:00:00 2001 From: Kevin Lamonte Date: Sun, 18 Aug 2019 20:44:04 -0500 Subject: [PATCH 086/533] Insert in alphabetic position --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ff7c250e..4d054088 100644 --- a/README.md +++ b/README.md @@ -134,12 +134,12 @@ A curated list of awesome Java frameworks, libraries and software. - [Java ASCII Render](https://github.com/indvd00m/java-ascii-render) - Graphical primitives for the console. - [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. - [jbock](https://github.com/h908714124/jbock) - Typesafe, reflection-free, annotation based command-line parser +- [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. - [JOpt Simple](https://jopt-simple.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. - [picocli](http://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - [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. -- [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). ### Cluster Management From 03633a14fb775f7cf56bb483ad4f671ca1e757bf Mon Sep 17 00:00:00 2001 From: Roland Weisleder Date: Sun, 8 Sep 2019 15:16:37 +0200 Subject: [PATCH 087/533] Adjust repository url for jFairy --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 469e6e76..875d087e 100644 --- a/README.md +++ b/README.md @@ -940,7 +940,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Beanmother](https://github.com/keepcosmos/beanmother) - Sets up beans from YAML fixtures. - [Fixture Factory](https://github.com/six2six/fixture-factory) - Generates fake objects from a template. -- [JFairy](https://github.com/Codearte/jfairy) - Fake data generator. +- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. - [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - [Java Faker](https://github.com/DiUS/java-faker) - A port of Ruby's fake data generator. From 91aa10a103a8c4c6310b57da675cb49e8b75c5d5 Mon Sep 17 00:00:00 2001 From: Shmuel Goldfarb Date: Wed, 2 Oct 2019 11:40:07 +0300 Subject: [PATCH 088/533] fix restql java client link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 875d087e..196a9078 100644 --- a/README.md +++ b/README.md @@ -438,7 +438,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. - [Play WS](https://github.com/playframework/play-ws) - Typesafe client with reactive streams and caching. -- [restQL-core](https://github.com/B2W-BIT/restQL-core) - Microservice query language that fetches information from multiple services. +- [restQL-java](https://github.com/B2W-BIT/restQL-java) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. From 942a57f25548b100a8de3a6bcb47aaa6e35b0a6a Mon Sep 17 00:00:00 2001 From: Shmuel Goldfarb Date: Wed, 2 Oct 2019 11:44:53 +0300 Subject: [PATCH 089/533] avoid redirects if possible, use https --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 875d087e..1aff53c1 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that help with implementing optimization and satisfiability problems.* -- [Choco](http://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +- [Choco](http://www.choco-solver.org/) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. - [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. @@ -316,7 +316,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. - [Apache Storm](https://storm.apache.org) - Realtime computation system. - [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](http://atomix.io/) - Fault-tolerant distributed coordination framework. +- [Atomix](https://atomix.io/) - Fault-tolerant distributed coordination framework. - [Axon Framework](http://www.axonframework.org) - Framework for creating CQRS applications. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. @@ -402,7 +402,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. - [Geotoolkit.org](http://www.geotoolkit.org) - Library for developing geospatial applications. Built on top of the Apache SIS project. -- [GeoTools](http://geotools.org) - Library that provides tools for geospatial data. +- [GeoTools](https://geotools.org/) - Library that provides tools for geospatial data. - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. - [H2GIS](http://www.h2gis.org) - A spatial extension of the H2 database. - [Jgeohash](https://astrapi69.github.io/jgeohash) - Library for using the GeoHash algorithm. @@ -808,7 +808,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm) - Provides a standard for asynchronous stream processing with non-blocking backpressure. - [Reactor](https://projectreactor.io) - Library for building reactive fast-data applications. - [RxJava](https://github.com/ReactiveX/RxJava) - Allows for composing asynchronous and event-based programs using observable sequences. -- [vert.x](http://vertx.io) - Polyglot event-driven application framework. +- [vert.x](https://vertx.io/) - Polyglot event-driven application framework. ### REST Frameworks @@ -873,7 +873,7 @@ A curated list of awesome Java frameworks, libraries and software. - [PicketLink](http://picketlink.org) - Umbrella project for security and identity management. - [SecurityBuilder](https://github.com/tersesystems/securitybuilder) - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. - [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](http://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks. +- [Tink](https://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks. - [Vault](https://www.vaultproject.io) - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more. ### Serialization @@ -1037,7 +1037,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. - [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. - [Blade](https://github.com/biezhi/blade) - Lightweight, modular framework that aims to be elegant and simple. -- [Bootique](http://bootique.io) - Minimally opinionated framework for runnable apps. +- [Bootique](https://bootique.io/) - Minimally opinionated framework for runnable apps. - [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. - [Grails](https://grails.org) - Groovy framework that provides a highly productive environment by favoring convention over configuration, no XML and support for mixins. - [Jooby](http://jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. From 897baaad2043b18949eac405ca3a2d4277d19a3f Mon Sep 17 00:00:00 2001 From: Andre Blanke Date: Mon, 30 Sep 2019 20:19:23 +0200 Subject: [PATCH 090/533] Fix JavaFX URL to point to OpenJFX site instead of Oracle site --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 875d087e..b762db1e 100644 --- a/README.md +++ b/README.md @@ -413,7 +413,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries to create modern graphical user interfaces.* -- [JavaFX](https://www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html) - The successor of Swing. +- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - The successor of Swing. - [Scene Builder](https://gluonhq.com/open-source/scene-builder) - Visual layout tool for JavaFX applications. - [SWT](https://www.eclipse.org/swt) - The Standard Widget Toolkit, a graphical widget toolkit. From 6091638b59edc981d85004b316a0c1a878d27f33 Mon Sep 17 00:00:00 2001 From: Shmuel Goldfarb Date: Wed, 2 Oct 2019 11:37:34 +0300 Subject: [PATCH 091/533] fix druid link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b762db1e..e4964bf7 100644 --- a/README.md +++ b/README.md @@ -230,7 +230,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. - [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -- [druid](http://druid.io) - High-performance, column-oriented, distributed data store. +- [druid](https://druid.apache.org/) - High-performance, column-oriented, distributed data store. - [eXist](https://github.com/eXist-db/exist) - A NoSQL document database and application platform. - [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. - [Flyway](https://flywaydb.org) - Simple database migration tool. From 865340212fbf1875e03d485e049947c8dbc7c0f9 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 19:25:04 -0400 Subject: [PATCH 092/533] Change NetBeans to Apache NetBeans --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e4964bf7..bda76a36 100644 --- a/README.md +++ b/README.md @@ -457,7 +457,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. - [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. -- [NetBeans](https://netbeans.org) - Provides integration for several Java SE and EE features, from database access to HTML5. +- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. - [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. ### Imagery From 2f2c382606310b2064ec5032cb6344a15bac05a5 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 19:36:48 -0400 Subject: [PATCH 093/533] Multi-OS Engine new official URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bda76a36..afba56c6 100644 --- a/README.md +++ b/README.md @@ -587,7 +587,7 @@ A curated list of awesome Java frameworks, libraries and software. - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/andrewgaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [Multi-OS Engine](https://software.intel.com/en-us/multi-os-engine) - An open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +- [Multi-OS Engine](https://multi-os-engine.org) - An open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) – Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. From cda0beb5af1fd4b6041f146128e924bac2938d49 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 19:41:38 -0400 Subject: [PATCH 094/533] Koloboke new official URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index afba56c6..5097255b 100644 --- a/README.md +++ b/README.md @@ -427,7 +427,7 @@ A curated list of awesome Java frameworks, libraries and software. - [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. - [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. - [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. -- [Koloboke](https://github.com/OpenHFT/Koloboke) - Hash sets and hash maps. +- [Koloboke](https://koloboke.com) - Hash sets and hash maps. ### HTTP Clients From 4c837c493a8868e8639638d7d2752e15feebf341 Mon Sep 17 00:00:00 2001 From: Shmuel Goldfarb Date: Wed, 2 Oct 2019 11:41:18 +0300 Subject: [PATCH 095/533] fix honest-profiler link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5097255b..1ab65a5f 100644 --- a/README.md +++ b/README.md @@ -715,7 +715,7 @@ A curated list of awesome Java frameworks, libraries and software. - [fastThread ![c]](http://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. - [GCeasy ![c]](http://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -- [honest-profiler](https://github.com/RichardWarburton/honest-profiler) - A low-overhead, bias-free sampling profiler. +- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - A low-overhead, bias-free sampling profiler. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. - [JMH](http://openjdk.java.net/projects/code-tools/jmh) - a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. From c9383b28ace64a631a47bc40b815ed4ee0e6df32 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 20:09:36 -0400 Subject: [PATCH 096/533] Java Path finder new official URL The old link doesn't work (it requires authorization) so people from the official google group (again linked from the old sourceforge homepage http://javapathfinder.sourceforge.net ) pointed to the new URL https://groups.google.com/forum/#!topic/java-pathfinder/F2Fq3TjEYIs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1ab65a5f..ea3441b5 100644 --- a/README.md +++ b/README.md @@ -368,7 +368,7 @@ A curated list of awesome Java frameworks, libraries and software. - [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. - [Checker Framework](https://types.cs.washington.edu/checker-framework) - Pluggable type systems. Includes nullness types, physical units, immutability types and more. - [Daikon](https://plse.cs.washington.edu/daikon) - Detects likely program invariants and generates JML specs based on those invariants. -- [Java Path Finder (JPF)](https://babelfish.arc.nasa.gov/trac/jpf) - JVM formal verification tool containing a model checker and more. Created by NASA. +- [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](http://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. - [KeY](https://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. - [OpenJML](https://openjml.github.io) - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. From c4cdec75cc701f2b9041b141f0d4c6c1db8225c7 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 20:12:09 -0400 Subject: [PATCH 097/533] Checker Framework new official URL The old link redirects to this site --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ea3441b5..8532fad5 100644 --- a/README.md +++ b/README.md @@ -366,7 +366,7 @@ A curated list of awesome Java frameworks, libraries and software. *Formal-methods tools: proof assistants, model checking, symbolic execution, etc.* - [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. -- [Checker Framework](https://types.cs.washington.edu/checker-framework) - Pluggable type systems. Includes nullness types, physical units, immutability types and more. +- [Checker Framework](https://checkerframework.org) - Pluggable type systems. Includes nullness types, physical units, immutability types and more. - [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](http://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. From ec848b35a9d4a9b49511daaf50055a4f05b28440 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 20:29:49 -0400 Subject: [PATCH 098/533] PicketLink is merged into Keycloak From the official site http://picketlink.org --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 8532fad5..83ace5b6 100644 --- a/README.md +++ b/README.md @@ -870,7 +870,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [pac4j](https://github.com/pac4j/pac4j) - Security engine. -- [PicketLink](http://picketlink.org) - Umbrella project for security and identity management. - [SecurityBuilder](https://github.com/tersesystems/securitybuilder) - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. - [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](http://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks. From b11ee8abea8ee9ff4c3fb0d76542795cd4ba5d36 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 20:32:52 -0400 Subject: [PATCH 099/533] Keycloak new URL The old one redirects here --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 83ace5b6..7c7837dc 100644 --- a/README.md +++ b/README.md @@ -864,7 +864,7 @@ A curated list of awesome Java frameworks, libraries and software. - [jjwt](https://github.com/jwtk/jjwt) - JSON web token for Java and Android. - [Jwks RSA](https://github.com/auth0/jwks-rsa-java) - JSON Web Key Set parser. - [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. -- [Keycloak](https://keycloak.jboss.org) - Integrated SSO and IDM for browser apps and RESTful web services. +- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. - [Keyczar](https://github.com/google/keyczar) - Easy-to-use, safe encryption framework with key versioning. - [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. - [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. From 5b3327232fb8d517104911feca55d31fddccabfe Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 20:38:06 -0400 Subject: [PATCH 100/533] Kamon fix URL and mark as commercial --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c7837dc..74b73316 100644 --- a/README.md +++ b/README.md @@ -624,7 +624,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) - Jaeger client. - [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. -- [Kamon](http://www.kamon.io) - Tool for monitoring applications running on the JVM. +- [Kamon ![c]](https://kamon.io) - Tool for monitoring applications running on the JVM. - [Metrics](http://metrics.dropwizard.io) - Expose metrics via JMX or HTTP and send them to a database. - [New Relic ![c]](https://newrelic.com) - Performance monitor. - [Datadog ![c]](https://docs.datadoghq.com/tracing/setup/java/) - Modern monitoring & analytics. From dd0558a2f424ae9efc04f880c009a8e992ba3647 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 20:43:02 -0400 Subject: [PATCH 101/533] Remove LightAdmin The site is dead, no activity https://github.com/la-team/light-admin , POC status, build on deprecated technologies (e.g. Spring IO Platform) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 74b73316..e291ed64 100644 --- a/README.md +++ b/README.md @@ -581,7 +581,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [Joda-Money](http://www.joda.org/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. -- [LightAdmin](http://lightadmin.org) - Pluggable CRUD UI library for rapid application development. - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - [Membrane Service Proxy](https://github.com/membrane/service-proxy) - An open-source, reverse-proxy framework written in Java. - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. From 8bcb4f5b42746043d3616d4bee29f565d0b2af20 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 20:46:06 -0400 Subject: [PATCH 102/533] Remove Hystrix The official repo says "Hystrix is no longer in active development" and recommends using projects like resilience4j --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 74b73316..c6f57d04 100644 --- a/README.md +++ b/README.md @@ -321,7 +321,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast ![c]](https://hazelcast.org) - Highly scalable in-memory datagrid with a free open-source version. -- [Hystrix](https://github.com/Netflix/Hystrix) - Provides latency and fault tolerance. - [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. - [Orbit](http://www.orbit.cloud) - Virtual actors; adds another level of abstraction to traditional actors. - [Quasar](https://www.paralleluniverse.co/quasar) - Lightweight threads and actors for the JVM. From 6855ed7eb30603130640c59fda261be85d609da6 Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 22:20:24 -0400 Subject: [PATCH 103/533] Remove JUnitParams JUnit 5 support parametrization and it seems maintainers aren't going to update the project https://github.com/Pragmatists/JUnitParams/issues/94 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 74b73316..2e211194 100644 --- a/README.md +++ b/README.md @@ -990,7 +990,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Burst](https://github.com/square/burst) - A unit testing library for varying test data. - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - A TestNG-like data provider/runner for JUnit. -- [JUnitParams](https://pragmatists.github.io/JUnitParams) - Creates readable and maintainable parametrised tests. ### Utility From 2c1be1ddd3c0333e8b8274bf1dd9c126f3c8e3bd Mon Sep 17 00:00:00 2001 From: heldev Date: Wed, 2 Oct 2019 22:25:51 -0400 Subject: [PATCH 104/533] Remove Burst JUnit 5 supports parametrization OOTB and it seems the project is dead (last activity 2+ years ago) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 74b73316..4e409535 100644 --- a/README.md +++ b/README.md @@ -988,7 +988,6 @@ A curated list of awesome Java frameworks, libraries and software. *Simplifies the writing of parameterized tests.* -- [Burst](https://github.com/square/burst) - A unit testing library for varying test data. - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - A TestNG-like data provider/runner for JUnit. - [JUnitParams](https://pragmatists.github.io/JUnitParams) - Creates readable and maintainable parametrised tests. From 03d693fbfc691f4869e52fda81e8c5071cb6d94d Mon Sep 17 00:00:00 2001 From: Shmuel Goldfarb Date: Thu, 3 Oct 2019 10:42:05 +0300 Subject: [PATCH 105/533] remove traling '/' from Choco --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1aff53c1..29bd2e43 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that help with implementing optimization and satisfiability problems.* -- [Choco](http://www.choco-solver.org/) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +- [Choco](http://www.choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. - [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. From a2d509a3828e3ed0db641c254f7a8eaa9ccf1756 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 3 Oct 2019 15:31:21 +0200 Subject: [PATCH 106/533] Remove trailing slashes --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 29bd2e43..aaaff48c 100644 --- a/README.md +++ b/README.md @@ -316,7 +316,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. - [Apache Storm](https://storm.apache.org) - Realtime computation system. - [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](https://atomix.io/) - Fault-tolerant distributed coordination framework. +- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. - [Axon Framework](http://www.axonframework.org) - Framework for creating CQRS applications. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. @@ -356,7 +356,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that assist with processing office document formats.* -- [Apache POI](https://poi.apache.org/) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). - [documents4j](http://documents4j.com) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. @@ -402,7 +402,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. - [Geotoolkit.org](http://www.geotoolkit.org) - Library for developing geospatial applications. Built on top of the Apache SIS project. -- [GeoTools](https://geotools.org/) - Library that provides tools for geospatial data. +- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. - [H2GIS](http://www.h2gis.org) - A spatial extension of the H2 database. - [Jgeohash](https://astrapi69.github.io/jgeohash) - Library for using the GeoHash algorithm. @@ -552,7 +552,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. - [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. - [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. -- [Apache RocketMQ](https://rocketmq.apache.org/) - A fast, reliable, and scalable distributed messaging platform. +- [Apache RocketMQ](https://rocketmq.apache.org) - A fast, reliable, and scalable distributed messaging platform. - [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. @@ -627,7 +627,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Kamon](http://www.kamon.io) - Tool for monitoring applications running on the JVM. - [Metrics](http://metrics.dropwizard.io) - Expose metrics via JMX or HTTP and send them to a database. - [New Relic ![c]](https://newrelic.com) - Performance monitor. -- [Datadog ![c]](https://docs.datadoghq.com/tracing/setup/java/) - Modern monitoring & analytics. +- [Datadog ![c]](https://docs.datadoghq.com/tracing/setup/java) - Modern monitoring & analytics. - [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection. - [OverOps ![c]](https://www.overops.com) - In-production error monitoring and debugging. - [Pinpoint](https://github.com/naver/pinpoint) - Open-source APM tool. @@ -808,14 +808,14 @@ A curated list of awesome Java frameworks, libraries and software. - [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm) - Provides a standard for asynchronous stream processing with non-blocking backpressure. - [Reactor](https://projectreactor.io) - Library for building reactive fast-data applications. - [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. +- [vert.x](https://vertx.io) - Polyglot event-driven application framework. ### REST Frameworks *Frameworks specifically for creating RESTful services.* - [Dropwizard](https://dropwizard.github.io/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -- [Elide](http://elide.io/) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +- [Elide](http://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - [javalin](https://javalin.io) - Javalin is just a few thousand lines of code on top of Jetty, which means its performance is almost equivalent to pure Jetty. - [Jersey](https://jersey.github.io) - JAX-RS reference implementation. - [Microserver](https://github.com/aol/micro-server) — A 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. @@ -1037,7 +1037,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. - [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. - [Blade](https://github.com/biezhi/blade) - Lightweight, modular framework that aims to be elegant and simple. -- [Bootique](https://bootique.io/) - Minimally opinionated framework for runnable apps. +- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. - [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. - [Grails](https://grails.org) - Groovy framework that provides a highly productive environment by favoring convention over configuration, no XML and support for mixins. - [Jooby](http://jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. From a40e6ec7b447d28993b138cec940fa8d7b365fc6 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 3 Oct 2019 15:33:16 +0200 Subject: [PATCH 107/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 196a9078..fe6b452b 100644 --- a/README.md +++ b/README.md @@ -438,7 +438,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. - [Play WS](https://github.com/playframework/play-ws) - Typesafe client with reactive streams and caching. -- [restQL-java](https://github.com/B2W-BIT/restQL-java) - Microservice query language that fetches information from multiple services. +- [restQL-core-java](https://github.com/B2W-BIT/restQL-java) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. From 842831bf4687f112d2ad81f2df32d13af2c62807 Mon Sep 17 00:00:00 2001 From: ununhexium Date: Thu, 3 Oct 2019 15:39:28 +0200 Subject: [PATCH 108/533] Add introspection category --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index ae45618f..5b8b7448 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Hypermedia Types](#hypermedia-types) - [IDE](#ide) - [Imagery](#imagery) + - [Introspection](#introspection) - [JSON Processing](#json-processing) - [JSON](#json) - [JVM and JDK](#jvm-and-jdk) @@ -470,6 +471,16 @@ A curated list of awesome Java frameworks, libraries and software. - [ZXing](https://github.com/zxing/zxing) - Multi-format 1D/2D barcode image processing library. - [image-comparison](https://github.com/romankh3/image-comparison) - Compares two images with the same sizes and shows the differences visually by drawing rectangles. +### Introspection + +*Libraries that help make the Java introspection and reflection API easier and faster to use.* + +- [Classgraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. +- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. +- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. +- [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. +- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. + ### JSON *Libraries for serializing and deserializing JSON to and from Java objects.* From 386883967b819d0535f3db1a4a54bf8ef44ac1d1 Mon Sep 17 00:00:00 2001 From: heldev Date: Thu, 3 Oct 2019 09:56:44 -0400 Subject: [PATCH 109/533] Add licenses --- README.md | 122 +++++++++++++++++++++++++++--------------------------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index 5b8b7448..57823368 100644 --- a/README.md +++ b/README.md @@ -108,8 +108,8 @@ A curated list of awesome Java frameworks, libraries and software. - [ASM](http://asm.ow2.org) - All-purpose, low-level bytecode manipulation and analysis. - [Byte Buddy](http://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. -- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. -- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. +- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) - [cglib](https://github.com/cglib/cglib) - Bytecode generation library. - [Javassist](https://jboss-javassist.github.io/javassist) - Tries to simplify bytecode editing. - [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. @@ -140,7 +140,7 @@ A curated list of awesome Java frameworks, libraries and software. - [JOpt Simple](https://jopt-simple.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. - [picocli](http://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - [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. +- [Lanterna](https://github.com/mabe02/lanterna) - Easy console text-GUI library, similar to curses. (LGPL-3.0-only) ### Cluster Management @@ -154,23 +154,23 @@ A curated list of awesome Java frameworks, libraries and software. *Tools that provide metrics and quality measurements.* -- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. +- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) - [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. - [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. -- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. +- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. -- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. +- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - [Sourcetrail ![c]](https://www.sourcetrail.com) - Visual source code navigator. - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. -- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. +- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) ### Code Coverage *Frameworks and tools that enable code coverage metrics collection for test suites.* - [Clover ![c]](https://www.atlassian.com/software/clover/overview) - Relies on source-code instrumentation instead of bytecode instrumentation. -- [Cobertura](https://cobertura.github.io/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. +- [Cobertura](https://cobertura.github.io/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) - [JaCoCo](http://eclemma.org/jacoco) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. ### Code Generators @@ -211,7 +211,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that help with implementing optimization and satisfiability problems.* - [Choco](http://www.choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. -- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. +- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) - [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. ### CSV @@ -232,7 +232,7 @@ A curated list of awesome Java frameworks, libraries and software. - [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [druid](https://druid.apache.org/) - High-performance, column-oriented, distributed data store. -- [eXist](https://github.com/eXist-db/exist) - A NoSQL document database and application platform. +- [eXist](https://github.com/eXist-db/exist) - A NoSQL document database and application platform. (LGPL-2.1-only) - [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. - [Flyway](https://flywaydb.org) - Simple database migration tool. - [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. @@ -281,7 +281,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Almanac Converter](https://github.com/hypotemoose/almanac-converter) - Simple conversion between different calendar systems. - [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. -- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. +- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) ### Dependency Injection @@ -293,16 +293,16 @@ A curated list of awesome Java frameworks, libraries and software. - [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. -- [JayWire](https://github.com/vanillasource/jaywire) - Lightweight dependency injection framework. +- [JayWire](https://github.com/vanillasource/jaywire) - Lightweight dependency injection framework. (LGPL-3.0-only) ### Development *Augmentation of the development process at a fundamental level.* - [AspectJ](https://eclipse.org/aspectj) - Seamless aspect-oriented programming extension. -- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. +- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. +- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. - [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - A symbol solver for Java. - [JRebel ![c]](https://zeroturnaround.com/software/jrebel) - Instantly reloads code and configuration changes without redeploys. @@ -319,7 +319,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. - [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. - [Axon Framework](http://www.axonframework.org) - Framework for creating CQRS applications. -- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. +- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast ![c]](https://hazelcast.org) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. @@ -335,7 +335,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. - [Bitronix](https://github.com/bitronix/btm) - A simple but complete implementation of the JTA 1.1 API. -- [Narayana](http://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. +- [Narayana](http://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) ### Distribution @@ -366,19 +366,19 @@ A curated list of awesome Java frameworks, libraries and software. *Formal-methods tools: proof assistants, model checking, symbolic execution, etc.* - [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. -- [Checker Framework](https://checkerframework.org) - Pluggable type systems. Includes nullness types, physical units, immutability types and more. +- [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](http://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. -- [KeY](https://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. -- [OpenJML](https://openjml.github.io) - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. +- [JMLOK 2.0](http://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://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](https://openjml.github.io) - 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 *Libraries that facilitate functional programming.* - [cyclops-react](https://github.com/aol/cyclops-react) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. -- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. +- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - [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. @@ -401,12 +401,12 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [Geotoolkit.org](http://www.geotoolkit.org) - Library for developing geospatial applications. Built on top of the Apache SIS project. -- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. +- [Geotoolkit.org](http://www.geotoolkit.org) - Library for developing geospatial applications. Built on top of the Apache SIS project. (LGPL-2.1-only) +- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](http://www.h2gis.org) - A spatial extension of the H2 database. +- [H2GIS](http://www.h2gis.org) - A spatial extension of the H2 database. (LGPL-3.0-only) - [Jgeohash](https://astrapi69.github.io/jgeohash) - Library for using the GeoHash algorithm. -- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. +- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. ### GUI @@ -513,21 +513,21 @@ A curated list of awesome Java frameworks, libraries and software. - [Adopt Open JDK](https://adoptopenjdk.net) - OpenJDK builds which allows to choose between 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. -- [Graal](https://github.com/oracle/graal) - Polyglot embeddable JVM. -- [Liberica JDK](https://www.bell-sw.com/java.html) - Built from OpenJDK, thoroughly tested and passed the JCK. +- [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) +- [Graal](https://github.com/oracle/graal) - Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Liberica JDK](https://www.bell-sw.com/java.html) - 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. -- [Open JDK](https://openjdk.java.net) - Open JDK distributed by Oracle. -- [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) - VM with non-blocking, concurrent GC for iOS. -- [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) - RedHat's OpenJDK distribution. -- [Zulu](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and Mac OS X. +- [Open JDK](https://openjdk.java.net) - Open JDK distributed by Oracle. (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) +- [Zulu](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and Mac OS X. (GPL-2.0-only WITH Classpath-exception-2.0) ### Logging *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. -- [Graylog](https://www.graylog.org) - Open-source aggregator suited for extended role and permission management. +- [Graylog](https://www.graylog.org) - Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) - [Kibana](https://www.elastic.co/products/kibana) - Analyzes and visualizes log files. Some features require payment. - [Logback](https://logback.qos.ch) - Robust logging library with interesting configuration options via Groovy. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. @@ -548,10 +548,10 @@ A curated list of awesome Java frameworks, libraries and software. - [DeepDive](http://deepdive.stanford.edu) - Creates structured information from unstructured data and integrates it into an existing database. - [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. - [H2O](https://www.h2o.ai) - Analytics engine for statistics over big data. -- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. +- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Smile](https://haifengl.github.io/smile) - The Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Weka](https://www.cs.waikato.ac.nz/ml/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. +- [Weka](https://www.cs.waikato.ac.nz/ml/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) ### Messaging @@ -576,17 +576,17 @@ A curated list of awesome Java frameworks, libraries and software. *Everything else.* -- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. +- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) - [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. - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [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. +- [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) - No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. - [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and more. -- [JavaX](http://javax.botcompany.de) - Reinventing and extending Java with a focus on simplicity. +- [JavaX](http://javax.botcompany.de) - Reinventing and extending Java with a focus on simplicity. (No explicit license) - [JBake](http://jbake.org) - Static website generator. -- [JBot](https://github.com/ramswaroop/jbot) - Framework for building chatbots. +- [JBot](https://github.com/ramswaroop/jbot) - Framework for building chatbots. (GPL-3.0-only) - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [Joda-Money](http://www.joda.org/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. @@ -600,7 +600,7 @@ A curated list of awesome Java frameworks, libraries and software. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) – Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -- [Smooks](https://github.com/smooks/smooks) - Extensible framework for building applications that process data which means bindings, transformations, message processing and enrichment. +- [Smooks](https://github.com/smooks/smooks) - Extensible framework for building applications that process data which means bindings, transformations, message processing and enrichment. (LGPL-3.0-only) - [Togglz](https://www.togglz.org) - Implementation of the Feature Toggles pattern. - [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. - [XMLBeam](https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code. @@ -657,8 +657,8 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that specialize in processing text.* -- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. -- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. +- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) +- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - [Lingua](https://github.com/pemistahl/lingua) - Natural language detection library, especially suited for short paragraphs of text. - [LingPipe](http://alias-i.com/lingpipe) - Toolkit for tasks ranging from POS tagging to sentiment analysis. @@ -679,8 +679,8 @@ A curated list of awesome Java frameworks, libraries and software. - [Nifty](https://github.com/facebook/nifty) - Implementation of Thrift clients and servers on Netty. - [sshj](https://github.com/hierynomus/sshj) - Programatically use SSH, SCP or SFTP. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. -- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. +- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) ### ORM @@ -690,7 +690,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Doma 2](https://doma.readthedocs.io) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. - [Ebean](https://ebean-orm.github.io) - Provides simple and fast data access. - [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. +- [Hibernate](http://hibernate.org/orm) - Robust and widely used, with an active community. (LGPL-2.1-only) - [MyBatis](http://www.mybatis.org/mybatis-3) - Couples objects with stored procedures or SQL statements. - [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) - Simple database and CSV mapper. @@ -711,11 +711,11 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache FOP](https://xmlgraphics.apache.org/fop) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](http://dynamicjasper.com) - Abstraction layer to JasperReports. -- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. -- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. +- [Dynamic Jasper](http://dynamicjasper.com) - Abstraction layer to JasperReports. (LGPL-3.0-only) +- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) +- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - [iText ![c]](https://itextpdf.com) - Creates PDF files programmatically. -- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. +- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) - [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. ### Performance analysis @@ -727,7 +727,7 @@ A curated list of awesome Java frameworks, libraries and software. - [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - A low-overhead, bias-free sampling profiler. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh) - a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. +- [JMH](http://openjdk.java.net/projects/code-tools/jmh) - a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - [JProfiler ![c]](https://www.ej-technologies.com/products/jprofiler/overview.html) - Database profiling for JDBC, JPA and NoSQL, with JEE support. - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. - [XRebel ![c]](https://zeroturnaround.com/software/xrebel) - Real-time profiling for web applications, with an in-browser widget. @@ -841,15 +841,15 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries for scientific computing, analysis and visualization.* -- [DataMelt](http://jwork.org/dmelt) - Environment for scientific computation, data analysis and data visualization. +- [DataMelt](http://jwork.org/dmelt) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. - [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](http://www.jfree.org/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. +- [JFreeChart](http://www.jfree.org/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](http://www.zavtech.com/morpheus/docs) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. +- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) - [Tablesaw](https://github.com/lwhite1/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - [XChart](https://github.com/knowm/XChart) - A light-weight library for plotting data. Many customizable chart types are available. @@ -868,7 +868,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. - [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. -- [Cryptomator](https://cryptomator.org) - Multiplatform, transparent, client-side encryption of files in the cloud. +- [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. - [jjwt](https://github.com/jwtk/jjwt) - JSON web token for Java and Android. - [Jwks RSA](https://github.com/auth0/jwks-rsa-java) - JSON Web Key Set parser. @@ -902,8 +902,8 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. - [Jetty](https://www.eclipse.org/jetty) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WebSphere Liberty](https://developer.ibm.com/wasdev) - Lightweight, modular server developed by IBM. -- [WildFly](http://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. +- [WebSphere Liberty](https://developer.ibm.com/wasdev) - Lightweight, modular server developed by IBM. (GPL-2.0-only) +- [WildFly](http://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) ### Template Engine @@ -926,7 +926,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Awaitility](https://github.com/jayway/awaitility) - DSL for synchronizing asynchronous operations. - [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](http://www.icegreen.com/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. +- [GreenMail](http://www.icegreen.com/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - [REST Assured](https://github.com/jayway/rest-assured) - DSL for easy testing of REST/HTTP services. @@ -980,7 +980,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [raml-tester](https://github.com/nidi3/raml-tester) - Tests if a request/response matches a given RAML definition. - [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. -- [pojo-tester](http://www.pojo.pl) - Automatically performs tests on basic POJO methods. +- [pojo-tester](http://www.pojo.pl) - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) #### Mocking @@ -1005,13 +1005,13 @@ A curated list of awesome Java frameworks, libraries and software. - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](http://www.cactoos.org) - Collection of object-oriented primitives. -- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. +- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. - [Embulk](http://www.embulk.org) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService -- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. +- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -- [JADE](http://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. +- [JADE](http://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [JGit](https://eclipse.org/jgit) - A lightweight, pure Java library implementing the Git version control system. - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. From 2904aec3efa46ef43392f7ced1c699458bf7599c Mon Sep 17 00:00:00 2001 From: heldev Date: Thu, 3 Oct 2019 18:31:31 -0400 Subject: [PATCH 110/533] Mark Boxfuse as commercial --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 57823368..953c9037 100644 --- a/README.md +++ b/README.md @@ -342,7 +342,7 @@ A curated list of awesome Java frameworks, libraries and software. *Tools that handle the distribution of applications in native formats.* - [Bintray ![c]](https://bintray.com) - Version control for binaries that handle publishing. Compatible with Maven or Gradle, with a free plan for open-source software as well as several business plans. -- [Boxfuse](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. +- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. - [Capsule](http://www.capsule.io) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT. From 0d94ba3f023201a2cf4f3a85bc979149feae4029 Mon Sep 17 00:00:00 2001 From: heldev Date: Thu, 3 Oct 2019 18:35:17 -0400 Subject: [PATCH 111/533] Mark JitPack as commercial --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 953c9037..2319c670 100644 --- a/README.md +++ b/README.md @@ -347,7 +347,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [JitPack](https://jitpack.io) - Easy-to-use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. +- [JitPack ![c]](https://jitpack.io) - Easy-to-use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. - [Nexus ![c]](https://www.sonatype.com/nexus/solution-overview) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. From ea4a90620ef688a17652117ef554f58bb94e537d Mon Sep 17 00:00:00 2001 From: heldev Date: Thu, 3 Oct 2019 18:42:17 -0400 Subject: [PATCH 112/533] Mark WebSphere Liberty as commercial It's a commercial product https://www.ibm.com/cloud/websphere-liberty/pricing based on https://openliberty.io --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2319c670..71e56ad8 100644 --- a/README.md +++ b/README.md @@ -902,7 +902,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. - [Jetty](https://www.eclipse.org/jetty) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WebSphere Liberty](https://developer.ibm.com/wasdev) - Lightweight, modular server developed by IBM. (GPL-2.0-only) +- [WebSphere Liberty ![c]](https://developer.ibm.com/wasdev) - Lightweight, modular server developed by IBM. (GPL-2.0-only) - [WildFly](http://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) ### Template Engine From 177bb9a775eb76c0e9df014731e6c95c7503fab8 Mon Sep 17 00:00:00 2001 From: heldev Date: Thu, 3 Oct 2019 18:51:33 -0400 Subject: [PATCH 113/533] Merge Testing-Parametrization to Testing-Miscellaneous The subsection has only one entry and that entry is very niche --- README.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.md b/README.md index 71e56ad8..13013deb 100644 --- a/README.md +++ b/README.md @@ -977,6 +977,7 @@ A curated list of awesome Java frameworks, libraries and software. *Other stuff related to testing.* +- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - A TestNG-like data provider/runner for JUnit. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [raml-tester](https://github.com/nidi3/raml-tester) - Tests if a request/response matches a given RAML definition. - [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. @@ -993,12 +994,6 @@ A curated list of awesome Java frameworks, libraries and software. - [PowerMock](https://github.com/jayway/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - [WireMock](http://wiremock.org) - Stubs and mocks web services. -#### Parameterization - -*Simplifies the writing of parameterized tests.* - -- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - A TestNG-like data provider/runner for JUnit. - ### Utility *Libraries which provide general utility functions.* From ae626b7724fd7c46644a0d36d5839f53a2634572 Mon Sep 17 00:00:00 2001 From: Sandra Parsick Date: Tue, 8 Oct 2019 21:42:30 +0200 Subject: [PATCH 114/533] Add xmlunit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 13013deb..e08b4164 100644 --- a/README.md +++ b/README.md @@ -972,6 +972,7 @@ A curated list of awesome Java frameworks, libraries and software. - [AssertJ](https://joel-costigliola.github.io/assertj) - Fluent assertions that improve readability. - [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. - [Truth](https://github.com/google/truth) - Google's assertion and proposition framework. +- [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. #### Miscellaneous From f98f5c1e096ecb0155d6d60359514fb6c9ddb886 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 12 Oct 2019 16:27:06 +0900 Subject: [PATCH 115/533] Polish Introspection section This commit polishes Introspection section by: - Ordering its items alphabetically. - Changing "Classgraph" to "ClassGraph" as it seems to be the official name for it. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e08b4164..af0a1469 100644 --- a/README.md +++ b/README.md @@ -475,11 +475,11 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that help make the Java introspection and reflection API easier and faster to use.* -- [Classgraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. -- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. -- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. +- [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. - [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. +- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. ### JSON From f65bf80909593d027ea01244cb4a6038b46d3d83 Mon Sep 17 00:00:00 2001 From: "Ted M. Young" Date: Fri, 8 Nov 2019 00:41:11 -0800 Subject: [PATCH 116/533] Add reMap --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index af0a1469..769fbc48 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ A curated list of awesome Java frameworks, libraries and software. - [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. - [ModelMapper](https://github.com/jhalterman/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. - [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. +- [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. - [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. ### Build From 3947f9eb0d39832c663c5e8a3f1ef963121e31c6 Mon Sep 17 00:00:00 2001 From: Melinda Ivanov Date: Fri, 8 Nov 2019 00:43:47 -0800 Subject: [PATCH 117/533] Remove unnecessary spaces --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 769fbc48..efb1d1cf 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ A curated list of awesome Java frameworks, libraries and software. - [cglib](https://github.com/cglib/cglib) - Bytecode generation library. - [Javassist](https://jboss-javassist.github.io/javassist) - Tries to simplify bytecode editing. - [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. -- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. +- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. ### Caching @@ -135,7 +135,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. - [Java ASCII Render](https://github.com/indvd00m/java-ascii-render) - Graphical primitives for the console. - [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. -- [jbock](https://github.com/h908714124/jbock) - Typesafe, reflection-free, annotation based command-line parser +- [jbock](https://github.com/h908714124/jbock) - Typesafe, reflection-free, annotation based command-line parser. - [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. - [JOpt Simple](https://jopt-simple.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. @@ -268,7 +268,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. - [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. - [Big Queue](https://github.com/bulldog2011/bigqueue) - A big, fast and persistent queue based on memory-mapped files. -- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. +- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - [Persistent Collection](https://pcollections.org) - Persistent and immutable analogue of the Java Collections Framework. - [Protobuf](https://github.com/google/protobuf) - Google's data interchange format. - [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. @@ -599,7 +599,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Modernizer](https://github.com/andrewgaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. - [Multi-OS Engine](https://multi-os-engine.org) - An open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -- [PipelinR](https://github.com/sizovs/pipelinr) – Small utility library for using handlers and commands with pipelines. +- [PipelinR](https://github.com/sizovs/pipelinr) – Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - [Smooks](https://github.com/smooks/smooks) - Extensible framework for building applications that process data which means bindings, transformations, message processing and enrichment. (LGPL-3.0-only) - [Togglz](https://www.togglz.org) - Implementation of the Feature Toggles pattern. From 00ccf17f43324df65895d6ca024cc3d307ac952e Mon Sep 17 00:00:00 2001 From: Melinda Ivanov Date: Fri, 8 Nov 2019 00:49:03 -0800 Subject: [PATCH 118/533] Add jGRASP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index efb1d1cf..89c4c9b3 100644 --- a/README.md +++ b/README.md @@ -458,6 +458,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. - [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. - [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. From 26306415dd741e72aa197bb618e9e92920e9f2eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Vin=C3=ADcius=20da=20Silva?= Date: Fri, 8 Nov 2019 05:50:11 -0300 Subject: [PATCH 119/533] Add Spencer Gibb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 89c4c9b3..3f5344fd 100644 --- a/README.md +++ b/README.md @@ -1139,6 +1139,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. - [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. - [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. From 2a7213ba0b6e0d93c671663355628a2257a863e7 Mon Sep 17 00:00:00 2001 From: savuckovi Date: Fri, 8 Nov 2019 09:51:57 +0100 Subject: [PATCH 120/533] Add Vlad Mihalcea --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f5344fd..2d3f2213 100644 --- a/README.md +++ b/README.md @@ -1143,6 +1143,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Stephen Colebourne](https://twitter.com/jodastephen) - 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. ### Websites From 61dc9b9729ec39b72f5dd7589cdf186cef27fa0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Vin=C3=ADcius=20da=20Silva?= Date: Fri, 8 Nov 2019 05:56:50 -0300 Subject: [PATCH 121/533] Add Objenesis --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2d3f2213..19a76eb8 100644 --- a/README.md +++ b/README.md @@ -232,7 +232,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. - [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -- [druid](https://druid.apache.org/) - High-performance, column-oriented, distributed data store. +- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. - [eXist](https://github.com/eXist-db/exist) - A NoSQL document database and application platform. (LGPL-2.1-only) - [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. - [Flyway](https://flywaydb.org) - Simple database migration tool. @@ -479,7 +479,8 @@ A curated list of awesome Java frameworks, libraries and software. - [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +- [Mirror](http://projetos.vidageek.net/mirror/mirror) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. - [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. From afb120d1464dff66f6e52e8296b89c5131014bd1 Mon Sep 17 00:00:00 2001 From: Dainius Jocas Date: Fri, 8 Nov 2019 10:59:10 +0200 Subject: [PATCH 122/533] Add Beagle --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 19a76eb8..0c2b235d 100644 --- a/README.md +++ b/README.md @@ -660,6 +660,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that specialize in processing text.* +- [Beagle](https://github.com/tokenmill/beagle) - Stored full-text search query engine. - [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) - [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. From a0b81504c3972b923a589c265b4ed2f73c1fb02c Mon Sep 17 00:00:00 2001 From: jon-ruckwood Date: Fri, 8 Nov 2019 09:59:49 +0000 Subject: [PATCH 123/533] Add ServiceTalk --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0c2b235d..d82ea78d 100644 --- a/README.md +++ b/README.md @@ -681,6 +681,7 @@ A curated list of awesome Java frameworks, libraries and software. - [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://netty.io) - Framework for building high-performance network applications. - [Nifty](https://github.com/facebook/nifty) - Implementation of Thrift clients and servers on Netty. +- [ServiceTalk](https://github.com/apple/servicetalk/) - A network application framework built on Netty with APIs tailored to specific protocols (e.g. HTTP/1.x, HTTP/2.x, etc...) and support for multiple programming paradigms. - [sshj](https://github.com/hierynomus/sshj) - Programatically use SSH, SCP or SFTP. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) From 544cb3841f7a6fdab333f0616007ebb4a89c143b Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 10 Nov 2019 19:55:45 +0100 Subject: [PATCH 124/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d82ea78d..12ed036a 100644 --- a/README.md +++ b/README.md @@ -681,7 +681,7 @@ A curated list of awesome Java frameworks, libraries and software. - [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://netty.io) - Framework for building high-performance network applications. - [Nifty](https://github.com/facebook/nifty) - Implementation of Thrift clients and servers on Netty. -- [ServiceTalk](https://github.com/apple/servicetalk/) - A network application framework built on Netty with APIs tailored to specific protocols (e.g. HTTP/1.x, HTTP/2.x, etc...) and support for multiple programming paradigms. +- [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - [sshj](https://github.com/hierynomus/sshj) - Programatically use SSH, SCP or SFTP. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) From f57cfebc941a4ee8e507fa0e1b0926a1e62bc424 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 14 Nov 2019 18:14:10 +0900 Subject: [PATCH 125/533] Change the content of the PR template to a comment --- .github/pull_request_template.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index e978aa66..9c3c0730 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,3 +1,4 @@ + From 6d861307b0c8bd0f60bddde04d9ce692aec79bd8 Mon Sep 17 00:00:00 2001 From: evilyeti Date: Sun, 24 Nov 2019 11:13:31 +0100 Subject: [PATCH 126/533] Added SAP Machine + few other small fixes in JVM section. (#804) * Added SAP Machine and small fixes. * typos fixes --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 12ed036a..ce32e961 100644 --- a/README.md +++ b/README.md @@ -514,15 +514,16 @@ A curated list of awesome Java frameworks, libraries and software. *Current implementations of the JVM/JDK.* -- [Adopt Open JDK](https://adoptopenjdk.net) - OpenJDK builds which allows to choose between HotSpot and OpenJ9. +- [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) - [Graal](https://github.com/oracle/graal) - Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) - [Liberica JDK](https://www.bell-sw.com/java.html) - 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. -- [Open JDK](https://openjdk.java.net) - Open JDK distributed by Oracle. (GPL-2.0-only WITH Classpath-exception-2.0) +- [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) +- [SAP Machine](https://sap.github.io/SapMachine) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) - [Zulu](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and Mac OS X. (GPL-2.0-only WITH Classpath-exception-2.0) ### Logging From 211f716cdbbab675e682e7cf83d02d61104ff99c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 11 Dec 2019 19:04:21 +0100 Subject: [PATCH 127/533] Remove Keyczar Library was deprecated. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ce32e961..21bf4afc 100644 --- a/README.md +++ b/README.md @@ -880,7 +880,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Jwks RSA](https://github.com/auth0/jwks-rsa-java) - JSON Web Key Set parser. - [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. - [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. -- [Keyczar](https://github.com/google/keyczar) - Easy-to-use, safe encryption framework with key versioning. - [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. - [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. From 39f83eb63adf0b0eb3f0481ae369e57883fe972e Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 11 Dec 2019 19:09:15 +0100 Subject: [PATCH 128/533] Add OpenPDF --- README.md | 164 +++++++++++++++++++++++++++--------------------------- 1 file changed, 83 insertions(+), 81 deletions(-) diff --git a/README.md b/README.md index 21bf4afc..e2a076b6 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Bean Mapping -*Frameworks that ease bean mapping.* +_Frameworks that ease bean mapping._ - [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - [Dozer](https://github.com/DozerMapper/dozer) - Mapper that copies data from one object to another using annotations and API or XML configuration. @@ -96,7 +96,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Build -*Tools that handle the build cycle and dependencies of an application.* +_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. - [Bazel](https://bazel.io) - Tool from Google that builds code quickly and reliably. @@ -105,7 +105,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Bytecode Manipulation -*Libraries to manipulate bytecode programmatically.* +_Libraries to manipulate bytecode programmatically._ - [ASM](http://asm.ow2.org) - All-purpose, low-level bytecode manipulation and analysis. - [Byte Buddy](http://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. @@ -118,7 +118,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Caching -*Libraries that provide caching facilities.* +_Libraries that provide caching facilities._ - [cache2k](https://cache2k.org) - In-memory high performance caching library. - [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. @@ -127,7 +127,7 @@ A curated list of awesome Java frameworks, libraries and software. ### CLI -*Libraries for everything related to the CLI.* +_Libraries for everything related to the CLI._ - [ASCII Table](https://github.com/vdmeer/asciitable) - Library to draw tables in ASCII. - [Airline](https://github.com/airlift/airline) - Annotation-based framework for parsing Git-like command-line arguments. @@ -136,7 +136,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Java ASCII Render](https://github.com/indvd00m/java-ascii-render) - Graphical primitives for the console. - [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. - [jbock](https://github.com/h908714124/jbock) - Typesafe, reflection-free, annotation based command-line parser. -- [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). +- [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. - [JOpt Simple](https://jopt-simple.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. - [picocli](http://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. @@ -145,7 +145,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Cluster Management -*Frameworks that can dynamically manage applications inside of a cluster.* +_Frameworks that can dynamically manage applications inside of a cluster._ - [Apache Aurora](https://aurora.apache.org) - Mesos framework for long-running services and cron jobs. - [Apache Mesos](https://mesos.apache.org) - Abstracts CPU, memory, storage, and other compute resources away from machines. @@ -153,7 +153,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Code Analysis -*Tools that provide metrics and quality measurements.* +_Tools that provide metrics and quality measurements._ - [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) - [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. @@ -168,7 +168,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Code Coverage -*Frameworks and tools that enable code coverage metrics collection for test suites.* +_Frameworks and tools that enable code coverage metrics collection for test suites._ - [Clover ![c]](https://www.atlassian.com/software/clover/overview) - Relies on source-code instrumentation instead of bytecode instrumentation. - [Cobertura](https://cobertura.github.io/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) @@ -176,7 +176,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Code Generators -*Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness.* +_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ - [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. @@ -189,7 +189,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Compiler-compiler -*Frameworks that help to create parsers, interpreters or compilers.* +_Frameworks that help to create parsers, interpreters or compilers._ - [ANTLR](http://www.antlr.org) - Complex full-featured framework for top-down parsing. - [JavaCC](https://javacc.org) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. @@ -197,7 +197,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Configuration -*Libraries that provide external configuration.* +_Libraries that provide external configuration._ - [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - [cfg4j](https://github.com/cfg4j/cfg4j) - Modern configuration library for distributed apps written in Java. @@ -209,7 +209,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Constraint Satisfaction Problem Solver -*Libraries that help with implementing optimization and satisfiability problems.* +_Libraries that help with implementing optimization and satisfiability problems._ - [Choco](http://www.choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) @@ -217,7 +217,7 @@ A curated list of awesome Java frameworks, libraries and software. ### CSV -*Frameworks and libraries that simplify reading/writing CSV data.* +_Frameworks and libraries that simplify reading/writing CSV data._ - [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. - [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. @@ -226,11 +226,11 @@ A curated list of awesome Java frameworks, libraries and software. ### Database -*Everything that simplifies interactions with the database.* +_Everything that simplifies interactions with the database._ - [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. -- [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. +- [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. - [eXist](https://github.com/eXist-db/exist) - A NoSQL document database and application platform. (LGPL-2.1-only) @@ -261,7 +261,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Data Structures -*Efficient and specific data structures.* +_Efficient and specific data structures._ - [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. - [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. @@ -277,7 +277,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Date and Time -*Libraries related to handling date and time.* +_Libraries related to handling date and time._ - [Almanac Converter](https://github.com/hypotemoose/almanac-converter) - Simple conversion between different calendar systems. - [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. @@ -286,7 +286,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Dependency Injection -*Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm.* +_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ - [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. - [Dagger2](https://google.github.io/dagger) - Compile-time injection framework without reflection. @@ -298,7 +298,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Development -*Augmentation of the development process at a fundamental level.* +_Augmentation of the development process at a fundamental level._ - [AspectJ](https://eclipse.org/aspectj) - Seamless aspect-oriented programming extension. - [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) @@ -313,7 +313,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Distributed Applications -*Libraries and frameworks for writing distributed and fault-tolerant applications.* +_Libraries and frameworks for writing distributed and fault-tolerant applications._ - [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. - [Apache Storm](https://storm.apache.org) - Realtime computation system. @@ -332,7 +332,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Distributed Transactions -*Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures.* +_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ - [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. - [Bitronix](https://github.com/bitronix/btm) - A simple but complete implementation of the JTA 1.1 API. @@ -340,7 +340,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Distribution -*Tools that handle the distribution of applications in native formats.* +_Tools that handle the distribution of applications in native formats._ - [Bintray ![c]](https://bintray.com) - Version control for binaries that handle publishing. Compatible with Maven or Gradle, with a free plan for open-source software as well as several business plans. - [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. @@ -355,7 +355,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Document Processing -*Libraries that assist with processing office document formats.* +_Libraries that assist with processing office document formats._ - [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). - [documents4j](http://documents4j.com) - API for document format conversion using third-party converters such as MS Word. @@ -364,7 +364,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Formal Verification -*Formal-methods tools: proof assistants, model checking, symbolic execution, etc.* +_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ - [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. - [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) @@ -376,7 +376,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Functional Programming -*Libraries that facilitate functional programming.* +_Libraries that facilitate functional programming._ - [cyclops-react](https://github.com/aol/cyclops-react) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. - [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) @@ -389,7 +389,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Game Development -*Frameworks that support the development of games.* +_Frameworks that support the development of games._ - [FXGL](https://almasb.github.io/FXGL) - JavaFX Game Development Framework. - [jMonkeyEngine](http://jmonkeyengine.org) - Game engine for modern 3D development. @@ -398,7 +398,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Geospatial -*Libraries for working with geospatial data and algorithms.* +_Libraries for working with geospatial data and algorithms._ - [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. @@ -412,7 +412,7 @@ A curated list of awesome Java frameworks, libraries and software. ### GUI -*Libraries to create modern graphical user interfaces.* +_Libraries to create modern graphical user interfaces._ - [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - The successor of Swing. - [Scene Builder](https://gluonhq.com/open-source/scene-builder) - Visual layout tool for JavaFX applications. @@ -420,7 +420,7 @@ A curated list of awesome Java frameworks, libraries and software. ### High Performance -*Everything about high-performance computation, from collections to specific libraries.* +_Everything about high-performance computation, from collections to specific libraries._ - [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. - [Disruptor](https://lmax-exchange.github.io/disruptor) - Inter-thread messaging library. @@ -432,7 +432,7 @@ A curated list of awesome Java frameworks, libraries and software. ### HTTP Clients -*Libraries that assist with creating HTTP requests and/or binding responses.* +_Libraries that assist with creating HTTP requests and/or binding responses._ - [Armeria](https://github.com/line/armeria) - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. @@ -447,14 +447,14 @@ A curated list of awesome Java frameworks, libraries and software. ### Hypermedia Types -*Libraries that handle serialization to hypermedia types.* +_Libraries that handle serialization to hypermedia types._ - [JSON-LD](https://github.com/jsonld-java/jsonld-java) - JSON-LD implementation. - [Siren4J](https://github.com/eserating/siren4j) - Library for the Siren specification. ### IDE -*Integrated development environments that try to simplify several aspects of development.* +_Integrated development environments that try to simplify several aspects of development._ - [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. - [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. @@ -464,7 +464,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Imagery -*Libraries that assist with the creation, evaluation or manipulation of graphical images.* +_Libraries that assist with the creation, evaluation or manipulation of graphical images._ - [Imgscalr](https://github.com/thebuzzmedia/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. - [Tess4J](https://github.com/nguyenq/tess4j) - A JNA wrapper for Tesseract OCR API. @@ -475,7 +475,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Introspection -*Libraries that help make the Java introspection and reflection API easier and faster to use.* +_Libraries that help make the Java introspection and reflection API easier and faster to use._ - [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. @@ -486,7 +486,7 @@ A curated list of awesome Java frameworks, libraries and software. ### JSON -*Libraries for serializing and deserializing JSON to and from Java objects.* +_Libraries for serializing and deserializing JSON to and from Java objects._ - [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. - [Genson](https://owlike.github.io/genson) - Powerful and easy-to-use Java-to-JSON conversion library. @@ -503,7 +503,7 @@ A curated list of awesome Java frameworks, libraries and software. ### JSON Processing -*Libraries for processing data in JSON format.* +_Libraries for processing data in JSON format._ - [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. - [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. @@ -512,7 +512,7 @@ A curated list of awesome Java frameworks, libraries and software. ### JVM and JDK -*Current implementations of the JVM/JDK.* +_Current implementations of the JVM/JDK._ - [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. @@ -528,7 +528,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Logging -*Libraries that log the behavior of an application.* +_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. - [Graylog](https://www.graylog.org) - Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) @@ -543,7 +543,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Machine Learning -*Tools that provide specific statistical algorithms for learning from data.* +_Tools that provide specific statistical algorithms for learning from data._ - [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. - [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. @@ -559,7 +559,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Messaging -*Tools that help send messages between clients to ensure protocol independency.* +_Tools that help send messages between clients to ensure protocol independency._ - [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. - [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. @@ -578,7 +578,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Miscellaneous -*Everything else.* +_Everything else._ - [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) - [CQEngine](https://github.com/npgall/cqengine) - Ultra-fast, SQL-like queries on Java collections. @@ -612,7 +612,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Microservice -*Tools for creating and managing microservices.* +_Tools for creating and managing microservices._ - [Apollo](https://spotify.github.io/apollo) - Libraries for writing composable microservices. - [consul-api](https://github.com/Ecwid/consul-api) - Client for the [Consul](https://www.consul.io) API: a distributed, highly available and datacenter-aware registry/discovery service. @@ -623,7 +623,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Monitoring -*Tools that monitor applications in production.* +_Tools that monitor applications in production._ - [AppDynamics ![c]](https://www.appdynamics.com) - Performance monitor. - [Automon](https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools. @@ -651,7 +651,8 @@ A curated list of awesome Java frameworks, libraries and software. - [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. ### Native -*For working with platform-specific native libraries.* + +_For working with platform-specific native libraries._ - [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. - [JNA](https://github.com/java-native-access/jna) - Work with native libraries without writing JNI. Also provides interfaces to common system libraries. @@ -659,7 +660,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Natural Language Processing -*Libraries that specialize in processing text.* +_Libraries that specialize in processing text._ - [Beagle](https://github.com/tokenmill/beagle) - Stored full-text search query engine. - [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) @@ -670,7 +671,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Networking -*Libraries for building network servers.* +_Libraries for building network servers._ - [AkkaGRPC](https://github.com/akka/akka-grpc) - Support for building streaming gRPC servers and clients on top of Akka Streams. - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. @@ -690,7 +691,7 @@ A curated list of awesome Java frameworks, libraries and software. ### ORM -*APIs that handle the persistence of objects.* +_APIs that handle the persistence of objects._ - [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. - [Doma 2](https://doma.readthedocs.io) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. @@ -702,7 +703,7 @@ A curated list of awesome Java frameworks, libraries and software. ### PaaS -*Java platform as a service.* +_Java platform as a service._ - [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk) - AWS-based, with support for Tomcat and Jetty. - [AWS Lambda ![c]](https://aws.amazon.com/lambda) - Serverless computation. @@ -713,7 +714,7 @@ A curated list of awesome Java frameworks, libraries and software. ### PDF -*Tools to help with PDF file creation.* +_Tools to help with PDF file creation._ - [Apache FOP](https://xmlgraphics.apache.org/fop) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. @@ -723,10 +724,11 @@ A curated list of awesome Java frameworks, libraries and software. - [iText ![c]](https://itextpdf.com) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) - [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) ### Performance analysis -*Tools for performance analysis, profiling and benchmarking.* +_Tools for performance analysis, profiling and benchmarking._ - [fastThread ![c]](http://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. - [GCeasy ![c]](http://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. @@ -741,7 +743,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Platform -*Frameworks that are suites of multiple libraries encompassing several categories.* +_Frameworks that are suites of multiple libraries encompassing several categories._ #### Apache Commons @@ -809,7 +811,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Processes -*Libraries that help the management of operating system processes.* +_Libraries that help the management of operating system processes._ - [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) - Convenient API around Apache Commons Exec. - [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. @@ -817,7 +819,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Reactive libraries -*Libraries for developing reactive applications.* +_Libraries for developing reactive applications._ - [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. @@ -827,7 +829,7 @@ A curated list of awesome Java frameworks, libraries and software. ### REST Frameworks -*Frameworks specifically for creating RESTful services.* +_Frameworks specifically for creating RESTful services._ - [Dropwizard](https://dropwizard.github.io/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - [Elide](http://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. @@ -845,7 +847,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Science -*Libraries for scientific computing, analysis and visualization.* +_Libraries for scientific computing, analysis and visualization._ - [DataMelt](http://jwork.org/dmelt) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. @@ -861,7 +863,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Search -*Engines that index documents for search and analysis.* +_Engines that index documents for search and analysis._ - [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. - [Apache Solr](https://lucene.apache.org/solr) - Enterprise search engine optimized for high-volume traffic. @@ -870,7 +872,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Security -*Libraries that handle security, authentication, authorization or session management.* +_Libraries that handle security, authentication, authorization or session management._ - [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. - [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. @@ -891,7 +893,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Serialization -*Libraries that handle serialization with high efficiency.* +_Libraries that handle serialization with high efficiency._ - [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. - [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. @@ -901,7 +903,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Server -*Servers specifically used to deploy applications.* +_Servers specifically used to deploy applications._ - [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. - [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. @@ -912,7 +914,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Template Engine -*Tools that substitute expressions in a template.* +_Tools that substitute expressions in a template._ - [Handlebars.java](https://jknack.github.io/handlebars.java) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). @@ -923,11 +925,11 @@ A curated list of awesome Java frameworks, libraries and software. ### Testing -*Tools that test from model to the view.* +_Tools that test from model to the view._ #### Asynchronous -*Tools that simplify testing asynchronous services.* +_Tools that simplify testing asynchronous services._ - [Awaitility](https://github.com/jayway/awaitility) - DSL for synchronizing asynchronous operations. - [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. @@ -937,7 +939,7 @@ A curated list of awesome Java frameworks, libraries and software. #### BDD -*Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD.* +_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. - [Cukes-REST](https://github.com/ctco/cukes-rest) - A collection of Gherkin steps for REST-service testing using Cucumber. @@ -949,7 +951,7 @@ A curated list of awesome Java frameworks, libraries and software. #### Fixtures -*Everything related to the creation and handling of random data.* +_Everything related to the creation and handling of random data._ - [Beanmother](https://github.com/keepcosmos/beanmother) - Sets up beans from YAML fixtures. - [Fixture Factory](https://github.com/six2six/fixture-factory) - Generates fake objects from a template. @@ -959,7 +961,7 @@ A curated list of awesome Java frameworks, libraries and software. #### Frameworks -*Provide environments to run tests for a specific use case.* +_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. @@ -972,7 +974,7 @@ A curated list of awesome Java frameworks, libraries and software. #### Matchers -*Libraries that provide custom matchers.* +_Libraries that provide custom matchers._ - [AssertJ](https://joel-costigliola.github.io/assertj) - Fluent assertions that improve readability. - [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. @@ -981,7 +983,7 @@ A curated list of awesome Java frameworks, libraries and software. #### Miscellaneous -*Other stuff related to testing.* +_Other stuff related to testing._ - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - A TestNG-like data provider/runner for JUnit. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. @@ -991,7 +993,7 @@ A curated list of awesome Java frameworks, libraries and software. #### Mocking -*Tools which mock collaborators to help testing single, isolated units.* +_Tools which mock collaborators to help testing single, isolated units._ - [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. - [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. @@ -1002,7 +1004,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Utility -*Libraries which provide general utility functions.* +_Libraries which provide general utility functions._ - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](http://www.cactoos.org) - Collection of object-oriented primitives. @@ -1021,7 +1023,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Version Managers -*Utilities that help create the development shell environment and switch between different Java versions.* +_Utilities that help create the development shell environment and switch between different Java versions._ - [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports Mac OS X, Linux and Windows. - [jenv](https://github.com/gcuisinier/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and Mac OS X. @@ -1029,7 +1031,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Web Crawling -*Libraries that analyze the content of websites.* +_Libraries that analyze the content of websites._ - [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. - [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. @@ -1039,7 +1041,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Web Frameworks -*Frameworks that handle the communication between the layers of a web application.* +_Frameworks that handle the communication between the layers of a web application._ - [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. - [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. @@ -1060,7 +1062,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Awesome Lists -*Awesome lists related to the Java & JVM ecosystem.* +_Awesome lists related to the Java & JVM ecosystem._ - [Awesome Annotation Processing](https://github.com/gunnarmorling/awesome-annotation-processing) - [Awesome Gradle Plugins](https://github.com/ksoichiro/awesome-gradle) @@ -1076,7 +1078,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Communities -*Active discussions.* +_Active discussions._ - [r/java](https://www.reddit.com/r/java) - Subreddit for the Java community. - [stackoverflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. @@ -1084,13 +1086,13 @@ A curated list of awesome Java frameworks, libraries and software. ### Frontends -*Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one.* +_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ - [java.libhunt.com](https://java.libhunt.com) ### Influential Books -*Books that made a big impact and are still worth reading.* +_Books that made a big impact and are still worth reading._ - [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) - [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) @@ -1100,7 +1102,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Podcasts and Screencasts -*Something to look at or listen to while programming.* +_Something to look at or listen to while programming._ - [Java Off Heap](http://www.javaoffheap.com) - [Marco Behler's Screencasts](https://www.marcobehler.com/series) - Screencasts about modern Java development. @@ -1109,7 +1111,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Twitter -*Active accounts to follow. Descriptions from Twitter.* +_Active accounts to follow. Descriptions from Twitter._ - [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. @@ -1117,7 +1119,7 @@ A curated list of awesome Java frameworks, libraries and software. - [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. - [Bruno Borges](https://twitter.com/brunoborges) - Product Manager/Java Jock at Oracle. -- [Chris Richardson](https://twitter.com/crichardson) - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, *POJOs in Action- author. +- [Chris Richardson](https://twitter.com/crichardson) - 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. @@ -1150,7 +1152,7 @@ A curated list of awesome Java frameworks, libraries and software. ### Websites -*Sites to read.* +_Sites to read._ - [Baeldung](https://www.baeldung.com) - [Dzone](https://dzone.com) From f3725ba639c26579865ffa32dc16a0f2b55e860c Mon Sep 17 00:00:00 2001 From: Daniel Rothmaler Date: Wed, 11 Dec 2019 19:11:13 +0100 Subject: [PATCH 129/533] Update Google Truth Link and Description (#809) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e2a076b6..43fa55dd 100644 --- a/README.md +++ b/README.md @@ -978,7 +978,7 @@ _Libraries that provide custom matchers._ - [AssertJ](https://joel-costigliola.github.io/assertj) - Fluent assertions that improve readability. - [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. -- [Truth](https://github.com/google/truth) - Google's assertion and proposition framework. +- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. #### Miscellaneous From 0b22458fe39824ff45270fcb8a5b7ba6bb3864aa Mon Sep 17 00:00:00 2001 From: Daniel Rothmaler Date: Wed, 11 Dec 2019 19:12:55 +0100 Subject: [PATCH 130/533] Add Hamcrest --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43fa55dd..8c695cb5 100644 --- a/README.md +++ b/README.md @@ -977,6 +977,7 @@ _Provide environments to run tests for a specific use case._ _Libraries that provide custom matchers._ - [AssertJ](https://joel-costigliola.github.io/assertj) - Fluent assertions that improve readability. +- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. - [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. - [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. From ce82b84589ee82ef330ec8eb4660e758485dc0c8 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Wed, 11 Dec 2019 13:13:44 -0500 Subject: [PATCH 131/533] Update Presto link (#802) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8c695cb5..4e2ae9c0 100644 --- a/README.md +++ b/README.md @@ -249,7 +249,7 @@ _Everything that simplifies interactions with the database._ - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [OrientDB](https://orientdb.com/orientdb) - Embeddable distributed database written on top of Hazelcast. -- [Presto](https://github.com/prestodb/presto) - Distributed SQL query engine for big data. +- [Presto](https://prestosql.io) - Distributed SQL query engine for big data. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. - [Redisson](https://github.com/mrniko/redisson) - Allows for distributed and scalable data structures on top of a Redis server. From 18b6abc7293fa31f8e4f7f01377af50c8a5c02e7 Mon Sep 17 00:00:00 2001 From: Valar Date: Wed, 11 Dec 2019 23:48:45 +0530 Subject: [PATCH 132/533] Add job scheduling section --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 4e2ae9c0..ffcd2d5c 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ A curated list of awesome Java frameworks, libraries and software. - [IDE](#ide) - [Imagery](#imagery) - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) - [JSON Processing](#json-processing) - [JSON](#json) - [JVM and JDK](#jvm-and-jdk) @@ -484,6 +485,15 @@ _Libraries that help make the Java introspection and reflection API easier and f - [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. - [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. +### Job Scheduling + +*Libraries for scheduling background jobs.* + +- [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. + ### JSON _Libraries for serializing and deserializing JSON to and from Java objects._ From 733982ea6e6504aeaa58c81ef7123b32f9352bf8 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Dec 2019 09:46:49 +0100 Subject: [PATCH 133/533] Narrow commercials down to ones with a free tier --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6e069dfc..a2bc3a92 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,7 +16,7 @@ Suggested software must also be developer-friendly, which means it meets the fol (ii) If an open source *library*, it is licensed under one of the open source licenses listed on https://opensource.org/licenses, with the exception of GPL and AGPL (due to their viral nature). -(iii) If commercial, it has clear pricing. +(iii) If commercial, it has clear pricing and at least one free tier. (iv) It has a documentation in the English language. From 9ed1924aa3f242b4e0efd75fb3866adbc1650685 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Dec 2019 10:12:10 +0100 Subject: [PATCH 134/533] Remove entries which do not have a free tier --- README.md | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index ffcd2d5c..8a8976d4 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ _Tools that provide metrics and quality measurements._ - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) -- [Sourcetrail ![c]](https://www.sourcetrail.com) - Visual source code navigator. +- [Sourcetrail](https://www.sourcetrail.com) - Visual source code navigator. - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. - [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) @@ -171,7 +171,7 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ -- [Clover ![c]](https://www.atlassian.com/software/clover/overview) - Relies on source-code instrumentation instead of bytecode instrumentation. +- [Clover](https://www.atlassian.com/software/clover/overview) - Relies on source-code instrumentation instead of bytecode instrumentation. - [Cobertura](https://cobertura.github.io/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) - [JaCoCo](http://eclemma.org/jacoco) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. @@ -307,7 +307,6 @@ _Augmentation of the development process at a fundamental level._ - [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. - [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - A symbol solver for Java. -- [JRebel ![c]](https://zeroturnaround.com/software/jrebel) - Instantly reloads code and configuration changes without redeploys. - [Manifold](https://manifold.systems) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. @@ -323,7 +322,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - [Axon Framework](http://www.axonframework.org) - Framework for creating CQRS applications. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. -- [Hazelcast ![c]](https://hazelcast.org) - Highly scalable in-memory datagrid with a free open-source version. +- [Hazelcast](https://hazelcast.org) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. - [Orbit](http://www.orbit.cloud) - Virtual actors; adds another level of abstraction to traditional actors. - [Quasar](https://www.paralleluniverse.co/quasar) - Lightweight threads and actors for the JVM. @@ -343,13 +342,10 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ -- [Bintray ![c]](https://bintray.com) - Version control for binaries that handle publishing. Compatible with Maven or Gradle, with a free plan for open-source software as well as several business plans. - [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. - [Capsule](http://www.capsule.io) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [JitPack ![c]](https://jitpack.io) - Easy-to-use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. - [Nexus ![c]](https://www.sonatype.com/nexus/solution-overview) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. @@ -487,7 +483,7 @@ _Libraries that help make the Java introspection and reflection API easier and f ### Job Scheduling -*Libraries for scheduling background jobs.* +_Libraries for scheduling background jobs._ - [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. @@ -635,9 +631,7 @@ _Tools for creating and managing microservices._ _Tools that monitor applications in production._ -- [AppDynamics ![c]](https://www.appdynamics.com) - Performance monitor. - [Automon](https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools. -- [BugSnag ![c]](https://www.bugsnag.com) - Exception and error monitoring with an integration of several third party tools for a better workflow and a free hobbyist tier. - [LeakCanary](https://github.com/square/leakcanary) - Memory leak detection. - [Failsafe Actuator](https://github.com/zalando-incubator/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - [Glowroot](https://glowroot.org) - Open-source Java APM. @@ -649,10 +643,8 @@ _Tools that monitor applications in production._ - [Jolokia](https://jolokia.org) - JMX over REST. - [Kamon ![c]](https://kamon.io) - Tool for monitoring applications running on the JVM. - [Metrics](http://metrics.dropwizard.io) - Expose metrics via JMX or HTTP and send them to a database. -- [New Relic ![c]](https://newrelic.com) - Performance monitor. -- [Datadog ![c]](https://docs.datadoghq.com/tracing/setup/java) - Modern monitoring & analytics. +- [Datadog ![c]](https://www.datadoghq.com) - Modern monitoring & analytics. - [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection. -- [OverOps ![c]](https://www.overops.com) - In-production error monitoring and debugging. - [Pinpoint](https://github.com/naver/pinpoint) - Open-source APM tool. - [Prometheus](https://prometheus.io) - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. - [SPM ![c]](https://sematext.com/spm) - Performance monitor with distributing transaction tracing for JVM apps. @@ -717,10 +709,10 @@ _Java platform as a service._ - [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk) - AWS-based, with support for Tomcat and Jetty. - [AWS Lambda ![c]](https://aws.amazon.com/lambda) - Serverless computation. -- [Google App Engine ![c]](https://cloud.google.com) - PaaS on Google's infrastructure. +- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. - [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. -- [Jelastic ![c]](https://jelastic.com) - Supports Tomcat, Jetty, GlassFish, JBoss, TomEE and WildFly. -- [OpenShift Enterprise ![c]](https://www.openshift.com) - On-premise solution. +- [Microsoft Azure ![c]](https://azure.microsoft.com) - Microsoft's cloud infrastructure. +- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. ### PDF @@ -746,10 +738,7 @@ _Tools for performance analysis, profiling and benchmarking._ - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. - [JMH](http://openjdk.java.net/projects/code-tools/jmh) - a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -- [JProfiler ![c]](https://www.ej-technologies.com/products/jprofiler/overview.html) - Database profiling for JDBC, JPA and NoSQL, with JEE support. - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. -- [XRebel ![c]](https://zeroturnaround.com/software/xrebel) - Real-time profiling for web applications, with an in-browser widget. -- [YourKit Java Profiler ![c]](https://www.yourkit.com/features) - Profiler for any application running on the JVM. ### Platform @@ -919,7 +908,6 @@ _Servers specifically used to deploy applications._ - [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. - [Jetty](https://www.eclipse.org/jetty) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WebSphere Liberty ![c]](https://developer.ibm.com/wasdev) - Lightweight, modular server developed by IBM. (GPL-2.0-only) - [WildFly](http://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) ### Template Engine From ca935c3d7a08ab16d71d2ed29f17d61a06b7df35 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Dec 2019 10:12:39 +0100 Subject: [PATCH 135/533] Remove trailing slash --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8a8976d4..4086a4b9 100644 --- a/README.md +++ b/README.md @@ -975,7 +975,7 @@ _Provide environments to run tests for a specific use case._ _Libraries that provide custom matchers._ - [AssertJ](https://joel-costigliola.github.io/assertj) - Fluent assertions that improve readability. -- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. +- [Hamcrest](http://hamcrest.org/JavaHamcrest) - Matchers that can be combined to create flexible expressions of intent. - [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. - [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. From b48266fae60512ea151e5cda8879942b48478abe Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 29 Dec 2019 09:58:34 +0100 Subject: [PATCH 136/533] Add Seata --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4086a4b9..1009c49e 100644 --- a/README.md +++ b/README.md @@ -337,6 +337,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u - [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. - [Bitronix](https://github.com/bitronix/btm) - A simple but complete implementation of the JTA 1.1 API. - [Narayana](http://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +- [Seata](https://seata.io) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. ### Distribution From 5681e5f710923b5c555f28298017b232cfa6ef32 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 29 Dec 2019 10:04:37 +0100 Subject: [PATCH 137/533] Add Nacos --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1009c49e..63da8de6 100644 --- a/README.md +++ b/README.md @@ -573,7 +573,7 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. - [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. - [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. -- [Apache RocketMQ](https://rocketmq.apache.org) - A fast, reliable, and scalable distributed messaging platform. +- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. - [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. @@ -622,11 +622,12 @@ _Everything else._ _Tools for creating and managing microservices._ - [Apollo](https://spotify.github.io/apollo) - Libraries for writing composable microservices. -- [consul-api](https://github.com/Ecwid/consul-api) - Client for the [Consul](https://www.consul.io) API: a distributed, highly available and datacenter-aware registry/discovery service. +- [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. -- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of [MicroProfile](https://microprofile.io). +- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. - [Lagom](https://www.lightbend.com/lagom) - Framework for creating microservice-based systems. - [Micronaut](http://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. ### Monitoring From e10c0a6a0df4af5be4b4b8937983c321bc38f6c1 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 29 Dec 2019 10:07:43 +0100 Subject: [PATCH 138/533] Add Leaf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63da8de6..c3d0bd63 100644 --- a/README.md +++ b/README.md @@ -246,6 +246,7 @@ _Everything that simplifies interactions with the database._ - [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. - [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). - [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. +- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. - [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. From d0fee61a3e63071fe61587cb2f84b71b110286db Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 29 Dec 2019 10:09:55 +0100 Subject: [PATCH 139/533] Add springdoc-openapi --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c3d0bd63..529671ec 100644 --- a/README.md +++ b/README.md @@ -845,6 +845,7 @@ _Frameworks specifically for creating RESTful services._ - [Restlet Framework](https://github.com/restlet/restlet-framework-java) - Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. - [Spark](http://sparkjava.com) - Sinatra inspired framework. - [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. - [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. ### Science From 48196d0b616fa1c37bb3371f63897155dc0a3160 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 2 Jan 2020 17:31:05 +0100 Subject: [PATCH 140/533] Added jqwik as property-based testing framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 529671ec..6fd60918 100644 --- a/README.md +++ b/README.md @@ -971,6 +971,7 @@ _Provide environments to run tests for a specific use case._ - [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](http://junit.org) - Common testing framework. +- [jqwik](https://jqwik.net) - Engine for Property-based testing built on the JUnit 5 platform. - [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. From 7b4be9e44f899dd4f3aefda42d55537e86c2c6dd Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 3 Jan 2020 08:07:14 +0100 Subject: [PATCH 141/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6fd60918..bbf850eb 100644 --- a/README.md +++ b/README.md @@ -971,7 +971,7 @@ _Provide environments to run tests for a specific use case._ - [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](http://junit.org) - Common testing framework. -- [jqwik](https://jqwik.net) - Engine for Property-based testing built on the JUnit 5 platform. +- [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. From 89d16c54bc403be7a3fa74d147cd0ada15cbf120 Mon Sep 17 00:00:00 2001 From: Maria Batsou Date: Mon, 13 Jan 2020 20:31:54 +0200 Subject: [PATCH 142/533] Add Synapses as machine learning library Synapses is a lightweight Neural Network library, for js, jvm and .net. https://mrdimosthenis.github.io/Synapses --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bbf850eb..9c4e765f 100644 --- a/README.md +++ b/README.md @@ -564,6 +564,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Smile](https://haifengl.github.io/smile) - The Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - [Weka](https://www.cs.waikato.ac.nz/ml/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +- [Synapses](https://mrdimosthenis.github.io/Synapses) - Lightweight Neural Network library, for js, jvm and .net ### Messaging From 874f61e49bed1f68c87843b9660562a661a0a426 Mon Sep 17 00:00:00 2001 From: Maria Batsou Date: Mon, 13 Jan 2020 20:34:42 +0200 Subject: [PATCH 143/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c4e765f..f47dfedb 100644 --- a/README.md +++ b/README.md @@ -563,8 +563,8 @@ _Tools that provide specific statistical algorithms for learning from data._ - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Smile](https://haifengl.github.io/smile) - The Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +- [Synapses](https://mrdimosthenis.github.io/Synapses) - Lightweight Neural Network library, for js, jvm and .net. - [Weka](https://www.cs.waikato.ac.nz/ml/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) -- [Synapses](https://mrdimosthenis.github.io/Synapses) - Lightweight Neural Network library, for js, jvm and .net ### Messaging From ffcace16e9f357fe5a7ffa69d002318aba61309f Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 14 Jan 2020 09:36:02 +0100 Subject: [PATCH 144/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f47dfedb..03fd78dc 100644 --- a/README.md +++ b/README.md @@ -563,7 +563,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Smile](https://haifengl.github.io/smile) - The Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Synapses](https://mrdimosthenis.github.io/Synapses) - Lightweight Neural Network library, for js, jvm and .net. +- [Synapses](https://mrdimosthenis.github.io/Synapses) - Lightweight library for neural networks. - [Weka](https://www.cs.waikato.ac.nz/ml/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) ### Messaging From f98ec9c1bd82389a3f6d8e94ed8098bf8d252d8e Mon Sep 17 00:00:00 2001 From: Lennard Berger Date: Tue, 14 Jan 2020 10:40:00 +0100 Subject: [PATCH 145/533] Add yGuard --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03fd78dc..0cf273ff 100644 --- a/README.md +++ b/README.md @@ -618,6 +618,7 @@ _Everything else._ - [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. - [XMLBeam](https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code. - [OctoLinker](https://github.com/OctoLinker/browser-extension) - Browser extension which allows to navigate through code on GitHub more efficiently. +- [yGuard](https://github.com/yWorks/yGuard) - Obfuscation via renaming and shrinking. ### Microservice From 2ade1bf83b4e4be87799006be63fbb7b2e2aae44 Mon Sep 17 00:00:00 2001 From: Bobbilee Date: Thu, 16 Jan 2020 00:48:11 -0800 Subject: [PATCH 146/533] Add Financial --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 0cf273ff..b2ec1e50 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Distributed Transactions](#distributed-transactions) - [Distribution](#distribution) - [Document Processing](#document-processing) + - [Financial](#financial) - [Formal Verification](#formal-verification) - [Functional Programming](#functional-programming) - [Game Development](#game-development) @@ -361,6 +362,15 @@ _Libraries that assist with processing office document formats._ - [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. +### Financial + +*Libraries related to the financial domain.* + +- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. +- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. +- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API +- [Square](https://github.com/square/connect-java-sdk/) - Integration with the Square API. + ### Formal Verification _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ From 4e703d0adeef6d14ba6ed1beba425031f7a268bb Mon Sep 17 00:00:00 2001 From: Jorge Solorzano Date: Thu, 16 Jan 2020 09:48:38 +0100 Subject: [PATCH 147/533] Add Quarkus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b2ec1e50..5f25b704 100644 --- a/README.md +++ b/README.md @@ -641,6 +641,7 @@ _Tools for creating and managing microservices._ - [Lagom](https://www.lightbend.com/lagom) - Framework for creating microservice-based systems. - [Micronaut](http://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. +- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. ### Monitoring From 1d2c9c5cd26005ccfb543f450f576cc505a82368 Mon Sep 17 00:00:00 2001 From: mielecmichal Date: Thu, 16 Jan 2020 20:00:31 +0100 Subject: [PATCH 148/533] Add Simple Java Mail --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f25b704..74d38c53 100644 --- a/README.md +++ b/README.md @@ -623,6 +623,7 @@ _Everything else._ - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) – Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. - [Smooks](https://github.com/smooks/smooks) - Extensible framework for building applications that process data which means bindings, transformations, message processing and enrichment. (LGPL-3.0-only) - [Togglz](https://www.togglz.org) - Implementation of the Feature Toggles pattern. - [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. From 2b6960fbadcd216dfeef2254db9fc7b54d5f459a Mon Sep 17 00:00:00 2001 From: Tyler Cook Date: Sun, 19 Jan 2020 12:57:21 -0600 Subject: [PATCH 149/533] Add jlink.online --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 74d38c53..81a0ffc9 100644 --- a/README.md +++ b/README.md @@ -349,6 +349,7 @@ _Tools that handle the distribution of applications in native formats._ - [Capsule](http://www.capsule.io) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. +- [jlink.online](https://github.com/cilki/jlink.online) - Builds optimized Java runtimes over HTTP. - [Nexus ![c]](https://www.sonatype.com/nexus/solution-overview) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. From 88ab99df1bb0d7d88c4a76ae18064906bb16a51b Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 20 Jan 2020 11:19:18 +0100 Subject: [PATCH 150/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81a0ffc9..fcec0c07 100644 --- a/README.md +++ b/README.md @@ -349,7 +349,7 @@ _Tools that handle the distribution of applications in native formats._ - [Capsule](http://www.capsule.io) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [jlink.online](https://github.com/cilki/jlink.online) - Builds optimized Java runtimes over HTTP. +- [jlink.online](https://github.com/cilki/jlink.online) - Builds optimized runtimes over HTTP. - [Nexus ![c]](https://www.sonatype.com/nexus/solution-overview) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. From 04c370db67f8c4194674f8a03eb4f7fd15a2d77c Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 23 Jan 2020 16:41:51 +0900 Subject: [PATCH 151/533] Relocate OctoLinker to be placed lexicographically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fcec0c07..a29daeab 100644 --- a/README.md +++ b/README.md @@ -621,6 +621,7 @@ _Everything else._ - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/andrewgaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. - [Multi-OS Engine](https://multi-os-engine.org) - An open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +- [OctoLinker](https://github.com/OctoLinker/browser-extension) - Browser extension which allows to navigate through code on GitHub more efficiently. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) – Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. @@ -629,7 +630,6 @@ _Everything else._ - [Togglz](https://www.togglz.org) - Implementation of the Feature Toggles pattern. - [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. - [XMLBeam](https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code. -- [OctoLinker](https://github.com/OctoLinker/browser-extension) - Browser extension which allows to navigate through code on GitHub more efficiently. - [yGuard](https://github.com/yWorks/yGuard) - Obfuscation via renaming and shrinking. ### Microservice From 946c39344b8c38cd607eaae1dbc9b1dbe06f93ca Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Wed, 29 Jan 2020 08:32:47 +0900 Subject: [PATCH 152/533] Relocate Square to be placed lexicographically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a29daeab..afeb9dff 100644 --- a/README.md +++ b/README.md @@ -369,8 +369,8 @@ _Libraries that assist with processing office document formats._ - [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. - [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. -- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API - [Square](https://github.com/square/connect-java-sdk/) - Integration with the Square API. +- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API ### Formal Verification From ea435b21f0810ffb15600633ea9bd64b7b6143f1 Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Fri, 31 Jan 2020 16:19:09 +0900 Subject: [PATCH 153/533] Move Armeria to Microservice which is more inline with its features --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index afeb9dff..b636573d 100644 --- a/README.md +++ b/README.md @@ -444,7 +444,6 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ -- [Armeria](https://github.com/line/armeria) - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. @@ -637,6 +636,7 @@ _Everything else._ _Tools for creating and managing microservices._ - [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. - [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. From 9fb4b3460949e0ef442674dbc4489abe038faa63 Mon Sep 17 00:00:00 2001 From: Yahya Oweis Date: Sat, 1 Feb 2020 02:21:32 +0100 Subject: [PATCH 154/533] Add Karate [Karate](https://github.com/intuit/karate) - DSL that combine API test-automation, mocks and performance-testing making testing REST/HTTP services easy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index afeb9dff..3b266113 100644 --- a/README.md +++ b/README.md @@ -953,6 +953,7 @@ _Tools that simplify testing asynchronous services._ - [GreenMail](http://www.icegreen.com/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - [REST Assured](https://github.com/jayway/rest-assured) - DSL for easy testing of REST/HTTP services. +- [Karate](https://github.com/intuit/karate) - DSL that combine API test-automation, mocks and performance-testing making testing REST/HTTP services easy. #### BDD From 0ac32782c5d13fd5ae7e242f0c8ed9156b37a423 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 1 Feb 2020 10:15:44 +0100 Subject: [PATCH 155/533] Run validation --- README.md | 242 ++++++++++++++++++++++++++---------------------------- 1 file changed, 117 insertions(+), 125 deletions(-) diff --git a/README.md b/README.md index 01bfb7be..515b547e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Configuration](#configuration) - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - [CSV](#csv) - - [Data structures](#data-structures) + - [Data Structures](#data-structures) - [Database](#database) - [Date and Time](#date-and-time) - [Dependency Injection](#dependency-injection) @@ -40,7 +40,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Imagery](#imagery) - [Introspection](#introspection) - [Job Scheduling](#job-scheduling) - - [JSON Processing](#json-processing) - [JSON](#json) - [JVM and JDK](#jvm-and-jdk) - [Logging](#logging) @@ -79,7 +78,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Podcasts and Screencasts](#podcasts-and-screencasts) - [Twitter](#twitter) - [Websites](#websites) -- [Contributing](#contributing) ## Projects @@ -89,9 +87,9 @@ _Frameworks that ease bean mapping._ - [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - [Dozer](https://github.com/DozerMapper/dozer) - Mapper that copies data from one object to another using annotations and API or XML configuration. -- [JMapper](https://jmapper-framework.github.io/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. +- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. -- [ModelMapper](https://github.com/jhalterman/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. +- [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. - [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. - [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. - [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. @@ -101,7 +99,7 @@ _Frameworks that ease bean mapping._ _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. -- [Bazel](https://bazel.io) - Tool from Google that builds code quickly and reliably. +- [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. - [Gradle](https://gradle.org) - Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. @@ -109,12 +107,12 @@ _Tools that handle the build cycle and dependencies of an application._ _Libraries to manipulate bytecode programmatically._ -- [ASM](http://asm.ow2.org) - All-purpose, low-level bytecode manipulation and analysis. -- [Byte Buddy](http://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. +- [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. +- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. - [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) - [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) - [cglib](https://github.com/cglib/cglib) - Bytecode generation library. -- [Javassist](https://jboss-javassist.github.io/javassist) - Tries to simplify bytecode editing. +- [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. - [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. - [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. @@ -125,7 +123,7 @@ _Libraries that provide caching facilities._ - [cache2k](https://cache2k.org) - In-memory high performance caching library. - [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. - [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. -- [Infinispan](http://infinispan.org) - Highly concurrent key/value datastore used for caching. +- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. ### CLI @@ -140,8 +138,8 @@ _Libraries for everything related to the CLI._ - [jbock](https://github.com/h908714124/jbock) - Typesafe, reflection-free, annotation based command-line parser. - [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. -- [JOpt Simple](https://jopt-simple.github.io/jopt-simple) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. -- [picocli](http://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +- [JOpt Simple](https://jopt-simple.github.io/jopt-simple/) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. +- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - [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) @@ -172,9 +170,9 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ -- [Clover](https://www.atlassian.com/software/clover/overview) - Relies on source-code instrumentation instead of bytecode instrumentation. -- [Cobertura](https://cobertura.github.io/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) -- [JaCoCo](http://eclemma.org/jacoco) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. +- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. +- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. ### Code Generators @@ -182,20 +180,20 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. -- [FreeBuilder](https://github.com/google/FreeBuilder) - Automatically generates the Builder pattern. +- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. - [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. - [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](http://www.joda.org/joda-beans) - Small framework that adds queryable properties to Java, enhancing JavaBeans. +- [Joda-Beans](https://www.joda.org/joda-beans/) - Small framework that adds queryable properties to Java, enhancing JavaBeans. - [Lombok](https://projectlombok.org) - Code generator that aims to reduce verbosity. ### Compiler-compiler _Frameworks that help to create parsers, interpreters or compilers._ -- [ANTLR](http://www.antlr.org) - Complex full-featured framework for top-down parsing. -- [JavaCC](https://javacc.org) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -- [JFlex](http://jflex.de) - A lexical analyzer generator. +- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. +- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +- [JFlex](https://jflex.de) - Lexical analyzer generator. ### Configuration @@ -203,8 +201,8 @@ _Libraries that provide external configuration._ - [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - [cfg4j](https://github.com/cfg4j/cfg4j) - Modern configuration library for distributed apps written in Java. -- [config](https://github.com/typesafehub/config) - Configuration library for JVM languages. -- [dotenv](https://github.com/shyiko/dotenv) - A twelve-factor configuration library for Java. +- [config](https://github.com/lightbend/config) - Configuration library for JVM languages. +- [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files. - [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. - [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. @@ -213,7 +211,7 @@ _Libraries that provide external configuration._ _Libraries that help with implementing optimization and satisfiability problems._ -- [Choco](http://www.choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) - [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. @@ -223,9 +221,25 @@ _Frameworks and libraries that simplify reading/writing CSV data._ - [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. - [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. -- [Super CSV](https://super-csv.github.io/super-csv) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. - [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. +### Data Structures + +_Efficient and specific data structures._ + +- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. +- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. +- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. +- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. +- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. +- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. +- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. +- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. +- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. +- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. + ### Database _Everything that simplifies interactions with the database._ @@ -235,7 +249,7 @@ _Everything that simplifies interactions with the database._ - [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. -- [eXist](https://github.com/eXist-db/exist) - A NoSQL document database and application platform. (LGPL-2.1-only) +- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) - [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. - [Flyway](https://flywaydb.org) - Simple database migration tool. - [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. @@ -251,38 +265,21 @@ _Everything that simplifies interactions with the database._ - [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. -- [OrientDB](https://orientdb.com/orientdb) - Embeddable distributed database written on top of Hazelcast. - [Presto](https://prestosql.io) - Distributed SQL query engine for big data. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. -- [Redisson](https://github.com/mrniko/redisson) - Allows for distributed and scalable data structures on top of a Redis server. -- [requery](https://github.com/requery/requery) - A modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +- [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. +- [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. -- [sql2o](https://sql2o.org) - Thin JDBC wrapper that simplifies database access and provides simple mapping of ResultSets to POJOs. +- [sql2o](https://www.sql2o.org) - Thin JDBC wrapper that simplifies database access and provides simple mapping of ResultSets to POJOs. - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. -- [Xodus](https://jetbrains.github.io/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. - -### Data Structures - -_Efficient and specific data structures._ - -- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. -- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. -- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. -- [Big Queue](https://github.com/bulldog2011/bigqueue) - A big, fast and persistent queue based on memory-mapped files. -- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. -- [Persistent Collection](https://pcollections.org) - Persistent and immutable analogue of the Java Collections Framework. -- [Protobuf](https://github.com/google/protobuf) - Google's data interchange format. -- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. -- [Tape](https://github.com/square/tape) - A lightning-fast, transactional, file-based FIFO. -- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. +- [Xodus](https://jetbrains.github.io/xodus/) - Highly concurrent transactional schema-less and ACID-compliant embedded database. ### Date and Time _Libraries related to handling date and time._ -- [Almanac Converter](https://github.com/hypotemoose/almanac-converter) - Simple conversion between different calendar systems. +- [Almanac Converter](https://github.com/chrisengelsma/almanac-converter) - Simple conversion between different calendar systems. - [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. - [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) @@ -292,24 +289,24 @@ _Libraries related to handling date and time._ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ - [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. -- [Dagger2](https://google.github.io/dagger) - Compile-time injection framework without reflection. +- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. - [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://javaee.github.io/hk2/) - Lightweight and dynamic dependency injection framework. - [JayWire](https://github.com/vanillasource/jaywire) - Lightweight dependency injection framework. (LGPL-3.0-only) ### Development _Augmentation of the development process at a fundamental level._ -- [AspectJ](https://eclipse.org/aspectj) - Seamless aspect-oriented programming extension. +- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. - [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. - [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. -- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - A symbol solver for Java. -- [Manifold](https://manifold.systems) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. +- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. +- [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. @@ -321,24 +318,24 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - [Apache Storm](https://storm.apache.org) - Realtime computation system. - [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. - [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. -- [Axon Framework](http://www.axonframework.org) - Framework for creating CQRS applications. +- [Axon](https://axoniq.io) - Framework for creating CQRS applications. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. -- [Hazelcast](https://hazelcast.org) - Highly scalable in-memory datagrid with a free open-source version. +- [Hazelcast](https://hazelcast.org/) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. - [Orbit](http://www.orbit.cloud) - Virtual actors; adds another level of abstraction to traditional actors. -- [Quasar](https://www.paralleluniverse.co/quasar) - Lightweight threads and actors for the JVM. +- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. - [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. -- [ScaleCube](https://github.com/scalecube/scalecube) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. -- [Zuul](https://github.com/Netflix/zuul) - A gateway service that provides dynamic routing, monitoring, resiliency, security, and more. +- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. +- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. ### Distributed Transactions _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ - [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. -- [Bitronix](https://github.com/bitronix/btm) - A simple but complete implementation of the JTA 1.1 API. -- [Narayana](http://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +- [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. +- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) - [Seata](https://seata.io) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. ### Distribution @@ -346,12 +343,12 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ - [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. -- [Capsule](http://www.capsule.io) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. - [jlink.online](https://github.com/cilki/jlink.online) - Builds optimized runtimes over HTTP. -- [Nexus ![c]](https://www.sonatype.com/nexus/solution-overview) - Binary management with proxy and caching capabilities. -- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. +- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. +- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. ### Document Processing @@ -359,18 +356,18 @@ _Tools that handle the distribution of applications in native formats._ _Libraries that assist with processing office document formats._ - [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- [documents4j](http://documents4j.com) - API for document format conversion using third-party converters such as MS Word. +- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. ### Financial -*Libraries related to the financial domain.* +_Libraries related to the financial domain._ - [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. - [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. -- [Square](https://github.com/square/connect-java-sdk/) - Integration with the Square API. -- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API +- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. +- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. ### Formal Verification @@ -378,11 +375,11 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc - [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. - [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. +- [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](http://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://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](https://openjml.github.io) - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) +- [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 @@ -415,7 +412,7 @@ _Libraries for working with geospatial data and algorithms._ - [Geotoolkit.org](http://www.geotoolkit.org) - Library for developing geospatial applications. Built on top of the Apache SIS project. (LGPL-2.1-only) - [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](http://www.h2gis.org) - A spatial extension of the H2 database. (LGPL-3.0-only) +- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) - [Jgeohash](https://astrapi69.github.io/jgeohash) - Library for using the GeoHash algorithm. - [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. @@ -424,9 +421,9 @@ _Libraries for working with geospatial data and algorithms._ _Libraries to create modern graphical user interfaces._ -- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - The successor of Swing. +- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. - [Scene Builder](https://gluonhq.com/open-source/scene-builder) - Visual layout tool for JavaFX applications. -- [SWT](https://www.eclipse.org/swt) - The Standard Widget Toolkit, a graphical widget toolkit. +- [SWT](https://www.eclipse.org/swt) - Graphical widget toolkit. ### High Performance @@ -446,7 +443,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. -- [OkHttp](https://square.github.io/okhttp) - HTTP+SPDY client. +- [OkHttp](https://square.github.io/okhttp) - HTTP and SPDY client. - [Play WS](https://github.com/playframework/play-ws) - Typesafe client with reactive streams and caching. - [restQL-core-java](https://github.com/B2W-BIT/restQL-java) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. @@ -476,7 +473,7 @@ _Integrated development environments that try to simplify several aspects of dev _Libraries that assist with the creation, evaluation or manipulation of graphical images._ - [Imgscalr](https://github.com/thebuzzmedia/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -- [Tess4J](https://github.com/nguyenq/tess4j) - A JNA wrapper for Tesseract OCR API. +- [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. - [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. @@ -518,11 +515,6 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. - [Yasson](https://github.com/eclipse/yasson) - Binding layer between classes and JSON documents similar to JAXB. - -### JSON Processing - -_Libraries for processing data in JSON format._ - - [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. - [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. - [JsonPath](https://github.com/jayway/JsonPath) - Extract data from JSON using XPATH-like syntax. @@ -542,7 +534,7 @@ _Current implementations of the JVM/JDK._ - [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) - [SAP Machine](https://sap.github.io/SapMachine) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Zulu](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and Mac OS X. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Zulu](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) ### Logging @@ -555,7 +547,7 @@ _Libraries that log the behavior of an application._ - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. - [Logstash](https://www.elastic.co/products/logstash) - Tool for managing log files. - [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. -- [SLF4J](https://www.slf4j.org) - Abstraction layer/simple logging facade. +- [SLF4J](http://www.slf4j.org) - Abstraction layer/simple logging facade. - [tinylog](http://www.tinylog.org) - Lightweight logging framework with static logger class. - [Tracer](https://github.com/zalando/tracer) - Call tracing and log correlation in distributed systems. @@ -572,7 +564,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [H2O](https://www.h2o.ai) - Analytics engine for statistics over big data. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. -- [Smile](https://haifengl.github.io/smile) - The Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - [Synapses](https://mrdimosthenis.github.io/Synapses) - Lightweight library for neural networks. - [Weka](https://www.cs.waikato.ac.nz/ml/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) @@ -595,6 +587,20 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. - [NATS client](https://github.com/nats-io/java-nats) - NATS client. +### Microservice + +_Tools for creating and managing microservices._ + +- [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. +- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +- [Lagom](https://www.lightbend.com/lagom) - Framework for creating microservice-based systems. +- [Micronaut](http://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. +- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. + ### Miscellaneous _Everything else._ @@ -615,36 +621,22 @@ _Everything else._ - [Joda-Money](http://www.joda.org/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. -- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - An open-source, reverse-proxy framework written in Java. +- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/andrewgaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [Multi-OS Engine](https://multi-os-engine.org) - An open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - [OctoLinker](https://github.com/OctoLinker/browser-extension) - Browser extension which allows to navigate through code on GitHub more efficiently. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -- [PipelinR](https://github.com/sizovs/pipelinr) – Small utility library for using handlers and commands with pipelines. +- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. +- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. - [Smooks](https://github.com/smooks/smooks) - Extensible framework for building applications that process data which means bindings, transformations, message processing and enrichment. (LGPL-3.0-only) - [Togglz](https://www.togglz.org) - Implementation of the Feature Toggles pattern. - [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. - [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. -### Microservice - -_Tools for creating and managing microservices._ - -- [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. -- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- [Lagom](https://www.lightbend.com/lagom) - Framework for creating microservice-based systems. -- [Micronaut](http://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. -- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. - ### Monitoring _Tools that monitor applications in production._ @@ -752,10 +744,10 @@ _Tools for performance analysis, profiling and benchmarking._ - [fastThread ![c]](http://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. - [GCeasy ![c]](http://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - A low-overhead, bias-free sampling profiler. +- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh) - a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [JMH](http://openjdk.java.net/projects/code-tools/jmh) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. ### Platform @@ -771,8 +763,8 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - [Chain](http://commons.apache.org/proper/commons-chain) - Chain of Responsibility pattern implementation. - [ClassScan](http://commons.apache.org/sandbox/commons-classscan) - Find Class interfaces, methods, fields, and annotations without loading. - [CLI](http://commons.apache.org/proper/commons-cli) - Command-line arguments parser. -- [CLI2](http://commons.apache.org/sandbox/commons-cli2) Redesign of Commons CLI. -- [Codec](http://commons.apache.org/proper/commons-codec) - General encoding/decoding algorithms (for example phonetic, base64, URL). +- [CLI2](http://commons.apache.org/sandbox/commons-cli2) - Redesign of Commons CLI. +- [Codec](http://commons.apache.org/proper/commons-codec) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. - [Collections](http://commons.apache.org/proper/commons-collections) - Extends or augments the Java Collections Framework. - [Compress](http://commons.apache.org/proper/commons-compress) - Defines an API for working with tar, zip and bzip2 files. - [Configuration](http://commons.apache.org/proper/commons-configuration) - Reading of configuration/preferences files in various formats. @@ -787,11 +779,11 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - [FileUpload](http://commons.apache.org/proper/commons-fileupload) - File upload capability for your servlets and web applications. - [Finder](http://commons.apache.org/sandbox/commons-finder) - Java library inspired by the UNIX find command. - [Flatfile](http://commons.apache.org/sandbox/commons-flatfile) - Java library for working with flat data structures. -- [Functor](http://commons.apache.org/proper/commons-functor) - A functor is a function that can be manipulated as an object, or an object representing a single, generic function. -- [Graph](http://commons.apache.org/sandbox/commons-graph) - A general purpose Graph APIs and algorithms. +- [Functor](http://commons.apache.org/proper/commons-functor) - Function that can be manipulated as an object, or an object representing a single, generic function. +- [Graph](http://commons.apache.org/sandbox/commons-graph) - General purpose graph APIs and algorithms. - [I18n](http://commons.apache.org/sandbox/commons-i18n) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. - [Id](http://commons.apache.org/sandbox/commons-id) - Id is a component used to generate identifiers. -- [Imaging](http://commons.apache.org/proper/commons-imaging) - A pure-Java image library. +- [Imaging](http://commons.apache.org/proper/commons-imaging) - Image library. - [IO](http://commons.apache.org/proper/commons-io) - Collection of I/O utilities. - [Javaflow](http://commons.apache.org/sandbox/commons-javaflow) - Continuation implementation to capture the state of the application. - [JCI](http://commons.apache.org/proper/commons-jci) - Java Compiler Interface. @@ -801,20 +793,20 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - [JNet](http://commons.apache.org/sandbox/commons-jnet) - JNet allows to use dynamically register url stream handlers through the java.net API. - [JXPath](http://commons.apache.org/proper/commons-jxpath) - Utilities for manipulating Java Beans using the XPath syntax. - [Lang](http://commons.apache.org/proper/commons-lang) - Provides extra functionality for classes in java.lang. -- [Logging](https://en.wikipedia.org/wiki/Apache_Commons_Logging) Wrapper around a variety of logging API implementations. +- [Logging](https://en.wikipedia.org/wiki/Apache_Commons_Logging) - Wrapper around a variety of logging API implementations. - [Math](http://commons.apache.org/proper/commons-math) - Lightweight, self-contained mathematics and statistics components. - [Monitoring](http://commons.apache.org/sandbox/commons-monitoring) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. - [Nabla](http://commons.apache.org/sandbox/commons-nabla) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. - [Net](http://commons.apache.org/proper/commons-net) - Collection of network utilities and protocol implementations. -- [OGNL](http://commons.apache.org/proper/commons-ognl) - An Object-Graph Navigation Language. +- [OGNL](http://commons.apache.org/proper/commons-ognl) - Object-graph navigation language. - [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp) - Interface to signing and verifying data using OpenPGP. -- [Performance](http://commons.apache.org/sandbox/commons-performance) - A small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. +- [Performance](http://commons.apache.org/sandbox/commons-performance) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. - [Pipeline](http://commons.apache.org/sandbox/commons-pipeline) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. - [Pool](http://commons.apache.org/proper/commons-pool) - Generic object pooling component. - [Proxy](http://commons.apache.org/proper/commons-proxy) - Library for creating dynamic proxies. - [RDF](https://commons.apache.org/proper/commons-rdf) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. - [RNG](https://commons.apache.org/proper/commons-rng) - Commons Rng provides implementations of pseudo-random numbers generators. -- [SCXML](http://commons.apache.org/proper/commons-scxml) - An implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +- [SCXML](http://commons.apache.org/proper/commons-scxml) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. - [Validator](http://commons.apache.org/proper/commons-validator) - Framework to define validators and validation rules in an xml file. - [VFS](http://commons.apache.org/proper/commons-vfs) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. - [Weaver](http://commons.apache.org/proper/commons-weaver) - Provides an easy way to enhance (weave) compiled bytecode. @@ -822,7 +814,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Other - [CUBA Platform](https://cuba-platform.com) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -- [Light-Java](https://github.com/networknt/light-java) - A fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2). +- [Light-Java](https://github.com/networknt/light-java) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2). - [Orienteer](https://github.com/OrienteerBAP/Orienteer) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - [Spring](https://spring.io/projects) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. @@ -852,8 +844,8 @@ _Frameworks specifically for creating RESTful services._ - [Elide](http://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - [javalin](https://javalin.io) - Javalin is just a few thousand lines of code on top of Jetty, which means its performance is almost equivalent to pure Jetty. - [Jersey](https://jersey.github.io) - JAX-RS reference implementation. -- [Microserver](https://github.com/aol/micro-server) — A 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) - A simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. +- [Microserver](https://github.com/aol/micro-server) - A 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. - [RESTEasy](https://resteasy.jboss.org) - 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. @@ -877,7 +869,7 @@ _Libraries for scientific computing, analysis and visualization._ - [Morpheus](http://www.zavtech.com/morpheus/docs) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) - [Tablesaw](https://github.com/lwhite1/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -- [XChart](https://github.com/knowm/XChart) - A light-weight library for plotting data. Many customizable chart types are available. +- [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. ### Search @@ -960,7 +952,7 @@ _Tools that simplify testing asynchronous services._ _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. -- [Cukes-REST](https://github.com/ctco/cukes-rest) - A collection of Gherkin steps for REST-service testing using Cucumber. +- [Cukes-REST](https://github.com/ctco/cukes-rest) - Collection of Gherkin steps for REST-service testing using Cucumber. - [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. - [JBehave](http://jbehave.org) - Extensively configurable framework that describes stories. - [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. @@ -975,7 +967,7 @@ _Everything related to the creation and handling of random data._ - [Fixture Factory](https://github.com/six2six/fixture-factory) - Generates fake objects from a template. - [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. - [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -- [Java Faker](https://github.com/DiUS/java-faker) - A port of Ruby's fake data generator. +- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. #### Frameworks @@ -1005,7 +997,7 @@ _Libraries that provide custom matchers._ _Other stuff related to testing._ -- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - A TestNG-like data provider/runner for JUnit. +- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [raml-tester](https://github.com/nidi3/raml-tester) - Tests if a request/response matches a given RAML definition. - [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. @@ -1031,12 +1023,12 @@ _Libraries which provide general utility functions._ - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. - [Embulk](http://www.embulk.org) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService +- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - [JADE](http://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. -- [JGit](https://eclipse.org/jgit) - A lightweight, pure Java library implementing the Git version control system. +- [JGit](https://eclipse.org/jgit) - Lightweight, pure Java library implementing the Git version control system. - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. - [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. - [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. @@ -1045,8 +1037,8 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ -- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports Mac OS X, Linux and Windows. -- [jenv](https://github.com/gcuisinier/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and Mac OS X. +- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +- [jenv](https://github.com/gcuisinier/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. - [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. ### Web Crawling @@ -1101,7 +1093,7 @@ _Awesome lists related to the Java & JVM ecosystem._ _Active discussions._ - [r/java](https://www.reddit.com/r/java) - Subreddit for the Java community. -- [stackoverflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. +- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. - [VirtualJUG](https://virtualjug.com) - Virtual Java User Group. ### Frontends @@ -1194,6 +1186,6 @@ _Sites to read._ Contributions are very welcome! -Please have a look at the [CONTRIBUTING](https://github.com/akullpp/awesome-java/blob/master/CONTRIBUTING.md) guidelines. +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-validation). [c]: https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg From 76cbdfff8b05c1095e80c91022b0fb05cfa3c4c4 Mon Sep 17 00:00:00 2001 From: arkanovicz Date: Sat, 1 Feb 2020 17:01:58 +0100 Subject: [PATCH 156/533] [databases] Add Modality ORM library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 515b547e..6d3a7032 100644 --- a/README.md +++ b/README.md @@ -265,6 +265,7 @@ _Everything that simplifies interactions with the database._ - [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. +- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. - [Presto](https://prestosql.io) - Distributed SQL query engine for big data. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. From 019c2f73575fba977df32f2d009ada2a99cddb07 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 2 Feb 2020 10:04:25 +0100 Subject: [PATCH 157/533] Run markdownlint --- CONTRIBUTING.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a2bc3a92..e216e21c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,29 +8,29 @@ Unfortunately, not every library/tool/framework can be considered. This list aim (c) absolutely unique in its approach and function -(d) a niche product that fills a gap +(d) a niche product that fills a gap -Suggested software must also be developer-friendly, which means it meets the following criteria: +Suggested software must also be developer-friendly, which means it meets the following criteria: -(i) If an open source *application*, it is licensed under one of the open source licenses listed on https://opensource.org/licenses. +(i) If an open source _application_, it is licensed under one of the open source licenses listed on https://opensource.org/licenses. -(ii) If an open source *library*, it is licensed under one of the open source licenses listed on https://opensource.org/licenses, with the exception of GPL and AGPL (due to their viral nature). +(ii) If an open source _library_, it is licensed under one of the open source licenses listed on https://opensource.org/licenses, with the exception of GPL and AGPL (due to their viral nature). (iii) If commercial, it has clear pricing and at least one free tier. (iv) It has a documentation in the English language. -## Pull Requests +## Pull Requests There are two required criteria for a pull request: 1. If an entry has a similar scope as other entries in the same category, the description must state the unique features that distinguishes it from the other entries. -2. If an entry does not meet conditions *(a)* to *(d)* there has to be an explanation either in the description or the pull request why it should be added to the list. +2. If an entry does not meet conditions _(a)_ to _(d)_ there has to be an explanation either in the description or the pull request why it should be added to the list. -3. If an entry doesn't fit any of the pre-existing specialised sections, it should go under Miscellaneous. +3. If an entry doesn't fit any of the pre-existing specialized sections, it should go under Miscellaneous. -4. If two or more entries in Miscellaneous are in the same domain, then they can be moved to a new specialised section. +4. If two or more entries in Miscellaneous are in the same domain, then they can be moved to a new specialized section. Self-promotion is frowned upon and viewed critically, but your suggestion will of course be approved if the criteria match. @@ -38,14 +38,14 @@ If your entry isn't accepted, please check the [Issues](https://github.com/akull Furthermore, please ensure your pull request follows the following guidelines: -* Please search previous suggestions before making a new one, as yours may be a duplicate. -* Please make an individual pull request for each suggestion. -* Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. -* Entries should be sorted in ascending alphabetical order, i.e. a to z. -* New categories or improvements to the existing categorization are welcome. -* Keep descriptions short, simple and unbiased. -* End all descriptions with a full stop/period. -* Check your spelling and grammar. -* Make sure your text editor is set to remove trailing whitespace. +- Please search previous suggestions before making a new one, as yours may be a duplicate. +- Please make an individual pull request for each suggestion. +- Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. +- Entries should be sorted in ascending alphabetical order, i.e. a to z. +- New categories or improvements to the existing categorization are welcome. +- Keep descriptions short, simple and unbiased. +- End all descriptions with a full stop/period. +- Check your spelling and grammar. +- Make sure your text editor is set to remove trailing whitespace. Thank you for your suggestions! From db3749ce574cd2bcca43e2c97af3ed963afc2ef3 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 2 Feb 2020 10:08:03 +0100 Subject: [PATCH 158/533] Run validation --- README.md | 307 +++++++++++++++++++++++++++--------------------------- 1 file changed, 153 insertions(+), 154 deletions(-) diff --git a/README.md b/README.md index 6d3a7032..626afe91 100644 --- a/README.md +++ b/README.md @@ -322,7 +322,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - [Axon](https://axoniq.io) - Framework for creating CQRS applications. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. -- [Hazelcast](https://hazelcast.org/) - Highly scalable in-memory datagrid with a free open-source version. +- [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. - [Orbit](http://www.orbit.cloud) - Virtual actors; adds another level of abstraction to traditional actors. - [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. @@ -386,21 +386,21 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc _Libraries that facilitate functional programming._ -- [cyclops-react](https://github.com/aol/cyclops-react) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. +- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. - [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - [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. - [protonpack](https://github.com/poetix/protonpack) - Collection of stream utilities. - [StreamEx](https://github.com/amaembo/streamex) - Enhances Java 8 Streams. -- [Vavr](http://www.vavr.io) - Functional component library that provides persistent data types and functional control structures. +- [Vavr](https://www.vavr.io) - Functional component library that provides persistent data types and functional control structures. ### Game Development _Frameworks that support the development of games._ -- [FXGL](https://almasb.github.io/FXGL) - JavaFX Game Development Framework. -- [jMonkeyEngine](http://jmonkeyengine.org) - Game engine for modern 3D development. +- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. +- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. - [libGDX](https://libgdx.badlogicgames.com) - All-round cross-platform, high-level framework. - [LWJGL](https://www.lwjgl.org) - Robust framework that abstracts libraries like OpenGL/CL/AL. @@ -414,7 +414,7 @@ _Libraries for working with geospatial data and algorithms._ - [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. - [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) -- [Jgeohash](https://astrapi69.github.io/jgeohash) - Library for using the GeoHash algorithm. +- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. - [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. @@ -423,15 +423,15 @@ _Libraries for working with geospatial data and algorithms._ _Libraries to create modern graphical user interfaces._ - [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. -- [Scene Builder](https://gluonhq.com/open-source/scene-builder) - Visual layout tool for JavaFX applications. -- [SWT](https://www.eclipse.org/swt) - Graphical widget toolkit. +- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. +- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. ### High Performance _Everything about high-performance computation, from collections to specific libraries._ - [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. -- [Disruptor](https://lmax-exchange.github.io/disruptor) - Inter-thread messaging library. +- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. - [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. - [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. - [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. @@ -443,11 +443,11 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. -- [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. -- [OkHttp](https://square.github.io/okhttp) - HTTP and SPDY client. +- [Feign](https://github.com/OpenFeign/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. +- [OkHttp](https://square.github.io/okhttp/) - HTTP and SPDY client. - [Play WS](https://github.com/playframework/play-ws) - Typesafe client with reactive streams and caching. -- [restQL-core-java](https://github.com/B2W-BIT/restQL-java) - Microservice query language that fetches information from multiple services. -- [Retrofit](https://square.github.io/retrofit) - Typesafe REST client. +- [restQL-java](https://github.com/b2wdigital/restQL-java) - Microservice query language that fetches information from multiple services. +- [Retrofit](https://square.github.io/retrofit/) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. - [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. @@ -464,7 +464,7 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ - [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. -- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. - [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. @@ -473,7 +473,7 @@ _Integrated development environments that try to simplify several aspects of dev _Libraries that assist with the creation, evaluation or manipulation of graphical images._ -- [Imgscalr](https://github.com/thebuzzmedia/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. +- [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. - [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. - [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. @@ -486,7 +486,7 @@ _Libraries that help make the Java introspection and reflection API easier and f - [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -- [Mirror](http://projetos.vidageek.net/mirror/mirror) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. - [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. - [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. @@ -505,7 +505,7 @@ _Libraries for scheduling background jobs._ _Libraries for serializing and deserializing JSON to and from Java objects._ - [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. -- [Genson](https://owlike.github.io/genson) - Powerful and easy-to-use Java-to-JSON conversion library. +- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. - [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. - [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. - [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. @@ -515,10 +515,10 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. - [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. -- [Yasson](https://github.com/eclipse/yasson) - Binding layer between classes and JSON documents similar to JAXB. +- [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. - [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. - [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. -- [JsonPath](https://github.com/jayway/JsonPath) - Extract data from JSON using XPATH-like syntax. +- [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. - [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. ### JVM and JDK @@ -527,30 +527,30 @@ _Current implementations of the JVM/JDK._ - [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) +- [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) - [Graal](https://github.com/oracle/graal) - Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Liberica JDK](https://www.bell-sw.com/java.html) - Built from OpenJDK, thoroughly tested and passed the JCK. (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. - [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) -- [SAP Machine](https://sap.github.io/SapMachine) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Zulu](https://www.azul.com/downloads/zulu) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) +- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) ### Logging _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. +- [Apache Log4j 2](https://logging.apache.org/log4j/) - Complete rewrite with a powerful plugin and configuration architecture. - [Graylog](https://www.graylog.org) - Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) -- [Kibana](https://www.elastic.co/products/kibana) - Analyzes and visualizes log files. Some features require payment. -- [Logback](https://logback.qos.ch) - Robust logging library with interesting configuration options via Groovy. +- [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. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. -- [Logstash](https://www.elastic.co/products/logstash) - Tool for managing log files. +- [Logstash](https://www.elastic.co /logstash) - Tool for managing log files. - [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. - [SLF4J](http://www.slf4j.org) - Abstraction layer/simple logging facade. -- [tinylog](http://www.tinylog.org) - Lightweight logging framework with static logger class. -- [Tracer](https://github.com/zalando/tracer) - Call tracing and log correlation in distributed systems. +- [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. ### Machine Learning @@ -566,8 +566,8 @@ _Tools that provide specific statistical algorithms for learning from data._ - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Synapses](https://mrdimosthenis.github.io/Synapses) - Lightweight library for neural networks. -- [Weka](https://www.cs.waikato.ac.nz/ml/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +- [Synapses](https://mrdimosthenis.github.io/Synapses/#synapses) - Lightweight library for neural networks. +- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) ### Messaging @@ -586,19 +586,19 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. - [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. -- [NATS client](https://github.com/nats-io/java-nats) - NATS client. +- [NATS client](https://github.com/nats-io/nats.java) - NATS client. ### Microservice _Tools for creating and managing microservices._ -- [Apollo](https://spotify.github.io/apollo) - Libraries for writing composable microservices. +- [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. - [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- [Lagom](https://www.lightbend.com/lagom) - Framework for creating microservice-based systems. -- [Micronaut](http://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +- [Lagom](https://www.lagomframework.com) - Framework for creating microservice-based systems. +- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. - [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. @@ -615,19 +615,19 @@ _Everything else._ - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. - [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and more. - [JavaX](http://javax.botcompany.de) - Reinventing and extending Java with a focus on simplicity. (No explicit license) -- [JBake](http://jbake.org) - Static website generator. -- [JBot](https://github.com/ramswaroop/jbot) - Framework for building chatbots. (GPL-3.0-only) +- [JBake](https://jbake.org) - Static website generator. +- [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. -- [Joda-Money](http://www.joda.org/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. +- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. -- [Modernizer](https://github.com/andrewgaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. +- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. - [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. -- [OctoLinker](https://github.com/OctoLinker/browser-extension) - Browser extension which allows to navigate through code on GitHub more efficiently. +- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. @@ -644,21 +644,21 @@ _Tools that monitor applications in production._ - [Automon](https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools. - [LeakCanary](https://github.com/square/leakcanary) - Memory leak detection. -- [Failsafe Actuator](https://github.com/zalando-incubator/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. +- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - [Glowroot](https://glowroot.org) - Open-source Java APM. -- [inspectIT](http://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. - [JavaMelody](https://github.com/javamelody/javamelody) - Performance monitoring and profiling. - [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) - Jaeger client. - [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. - [Kamon ![c]](https://kamon.io) - Tool for monitoring applications running on the JVM. -- [Metrics](http://metrics.dropwizard.io) - Expose metrics via JMX or HTTP and send them to a database. +- [Metrics](https://github.com/dropwizard/metrics) - Expose metrics via JMX or HTTP and send them to a database. - [Datadog ![c]](https://www.datadoghq.com) - Modern monitoring & analytics. - [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection. - [Pinpoint](https://github.com/naver/pinpoint) - Open-source APM tool. - [Prometheus](https://prometheus.io) - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. -- [SPM ![c]](https://sematext.com/spm) - Performance monitor with distributing transaction tracing for JVM apps. +- [SPM ![c]](https://sematext.com/spm/) - Performance monitor with distributing transaction tracing for JVM apps. - [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. - [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. - [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. @@ -680,7 +680,7 @@ _Libraries that specialize in processing text._ - [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - [Lingua](https://github.com/pemistahl/lingua) - Natural language detection library, especially suited for short paragraphs of text. -- [LingPipe](http://alias-i.com/lingpipe) - Toolkit for tasks ranging from POS tagging to sentiment analysis. +- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. ### Networking @@ -688,14 +688,14 @@ _Libraries for building network servers._ - [AkkaGRPC](https://github.com/akka/akka-grpc) - Support for building streaming gRPC servers and clients on top of Akka Streams. - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. -- [Dubbo](https://github.com/alibaba/dubbo) - High-performance RPC framework. +- [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. - [Finagle](https://github.com/twitter/finagle) - Extensible RPC system for constructing high-concurrency servers. It implements uniform client and server APIs for several protocols, and is protocol-agnostic to simplify implementation of new protocols. -- [Grizzly](https://javaee.github.io/grizzly) - NIO framework. Used as a network layer in Glassfish. +- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. - [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. - [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://netty.io) - Framework for building high-performance network applications. -- [Nifty](https://github.com/facebook/nifty) - Implementation of Thrift clients and servers on Netty. +- [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. - [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - [sshj](https://github.com/hierynomus/sshj) - Programatically use SSH, SCP or SFTP. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. @@ -707,34 +707,34 @@ _Libraries for building network servers._ _APIs that handle the persistence of objects._ - [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -- [Doma 2](https://doma.readthedocs.io) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -- [Ebean](https://ebean-orm.github.io) - Provides simple and fast data access. -- [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](http://www.mybatis.org/mybatis-3) - Couples objects with stored procedures or SQL statements. +- [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. +- [Ebean](https://ebean.io) - Provides simple and fast data access. +- [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. - [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) - Simple database and CSV mapper. ### PaaS _Java platform as a service._ -- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk) - AWS-based, with support for Tomcat and Jetty. -- [AWS Lambda ![c]](https://aws.amazon.com/lambda) - Serverless computation. +- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. +- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. - [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. - [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. -- [Microsoft Azure ![c]](https://azure.microsoft.com) - Microsoft's cloud infrastructure. +- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. - [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. ### PDF _Tools to help with PDF file creation._ -- [Apache FOP](https://xmlgraphics.apache.org/fop) - Creates PDFs from XSL-FO. +- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. - [Dynamic Jasper](http://dynamicjasper.com) - Abstraction layer to JasperReports. (LGPL-3.0-only) - [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -- [iText ![c]](https://itextpdf.com) - Creates PDF files programmatically. +- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) - [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) @@ -743,12 +743,12 @@ _Tools to help with PDF file creation._ _Tools for performance analysis, profiling and benchmarking._ -- [fastThread ![c]](http://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. -- [GCeasy ![c]](http://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. +- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. - [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. ### Platform @@ -757,67 +757,67 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons -- [BCEL](http://commons.apache.org/proper/commons-bcel) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. -- [BeanUtils](http://commons.apache.org/proper/commons-beanutils) - Easy-to-use wrappers around the Java reflection and introspection APIs. -- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2) - Redesign of Commons BeanUtils. -- [BSF](http://commons.apache.org/proper/commons-bsf) - Bean Scripting Framework - interface to scripting languages, including JSR-223. -- [Chain](http://commons.apache.org/proper/commons-chain) - Chain of Responsibility pattern implementation. -- [ClassScan](http://commons.apache.org/sandbox/commons-classscan) - Find Class interfaces, methods, fields, and annotations without loading. -- [CLI](http://commons.apache.org/proper/commons-cli) - Command-line arguments parser. -- [CLI2](http://commons.apache.org/sandbox/commons-cli2) - Redesign of Commons CLI. -- [Codec](http://commons.apache.org/proper/commons-codec) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -- [Collections](http://commons.apache.org/proper/commons-collections) - Extends or augments the Java Collections Framework. -- [Compress](http://commons.apache.org/proper/commons-compress) - Defines an API for working with tar, zip and bzip2 files. -- [Configuration](http://commons.apache.org/proper/commons-configuration) - Reading of configuration/preferences files in various formats. -- [Convert](http://commons.apache.org/sandbox/commons-convert) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -- [CSV](http://commons.apache.org/proper/commons-csv) - Component for reading and writing comma separated value files. -- [Daemon](http://commons.apache.org/proper/commons-daemon) - Alternative invocation mechanism for unix-daemon-like java code. -- [DBCP](http://commons.apache.org/proper/commons-dbcp) - Database connection pooling services. -- [DbUtils](http://commons.apache.org/proper/commons-dbutils) - JDBC helper library. -- [Digester](http://commons.apache.org/proper/commons-digester) - XML-to-Java-object mapping utility. -- [Email](http://commons.apache.org/proper/commons-email) - Library for sending e-mail from Java. -- [Exec](http://commons.apache.org/proper/commons-exec) - API for dealing with external process execution and environment management in Java. -- [FileUpload](http://commons.apache.org/proper/commons-fileupload) - File upload capability for your servlets and web applications. -- [Finder](http://commons.apache.org/sandbox/commons-finder) - Java library inspired by the UNIX find command. -- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile) - Java library for working with flat data structures. -- [Functor](http://commons.apache.org/proper/commons-functor) - Function that can be manipulated as an object, or an object representing a single, generic function. -- [Graph](http://commons.apache.org/sandbox/commons-graph) - General purpose graph APIs and algorithms. -- [I18n](http://commons.apache.org/sandbox/commons-i18n) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. -- [Id](http://commons.apache.org/sandbox/commons-id) - Id is a component used to generate identifiers. -- [Imaging](http://commons.apache.org/proper/commons-imaging) - Image library. -- [IO](http://commons.apache.org/proper/commons-io) - Collection of I/O utilities. -- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow) - Continuation implementation to capture the state of the application. -- [JCI](http://commons.apache.org/proper/commons-jci) - Java Compiler Interface. -- [JCS](http://commons.apache.org/proper/commons-jcs) - Java Caching System. -- [Jelly](http://commons.apache.org/proper/commons-jelly) - XML based scripting and processing engine. -- [Jexl](http://commons.apache.org/proper/commons-jexl) - Expression language which extends the Expression Language of the JSTL. -- [JNet](http://commons.apache.org/sandbox/commons-jnet) - JNet allows to use dynamically register url stream handlers through the java.net API. -- [JXPath](http://commons.apache.org/proper/commons-jxpath) - Utilities for manipulating Java Beans using the XPath syntax. -- [Lang](http://commons.apache.org/proper/commons-lang) - Provides extra functionality for classes in java.lang. -- [Logging](https://en.wikipedia.org/wiki/Apache_Commons_Logging) - Wrapper around a variety of logging API implementations. -- [Math](http://commons.apache.org/proper/commons-math) - Lightweight, self-contained mathematics and statistics components. -- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. -- [Nabla](http://commons.apache.org/sandbox/commons-nabla) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -- [Net](http://commons.apache.org/proper/commons-net) - Collection of network utilities and protocol implementations. -- [OGNL](http://commons.apache.org/proper/commons-ognl) - Object-graph navigation language. -- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp) - Interface to signing and verifying data using OpenPGP. -- [Performance](http://commons.apache.org/sandbox/commons-performance) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. -- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -- [Pool](http://commons.apache.org/proper/commons-pool) - Generic object pooling component. -- [Proxy](http://commons.apache.org/proper/commons-proxy) - Library for creating dynamic proxies. -- [RDF](https://commons.apache.org/proper/commons-rdf) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -- [RNG](https://commons.apache.org/proper/commons-rng) - Commons Rng provides implementations of pseudo-random numbers generators. -- [SCXML](http://commons.apache.org/proper/commons-scxml) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -- [Validator](http://commons.apache.org/proper/commons-validator) - Framework to define validators and validation rules in an xml file. -- [VFS](http://commons.apache.org/proper/commons-vfs) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -- [Weaver](http://commons.apache.org/proper/commons-weaver) - Provides an easy way to enhance (weave) compiled bytecode. +- [BCEL](http://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. +- [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. +- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. +- [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. +- [Chain](http://commons.apache.org/proper/commons-chain/) - Chain of Responsibility pattern implementation. +- [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. +- [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. +- [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. +- [Codec](http://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +- [Collections](http://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. +- [Compress](http://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. +- [Configuration](http://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. +- [Convert](http://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. +- [CSV](http://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. +- [Daemon](http://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. +- [DBCP](http://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. +- [DbUtils](http://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. +- [Digester](http://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. +- [Email](http://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. +- [Exec](http://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. +- [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. +- [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. +- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. +- [Functor](http://commons.apache.org/proper/commons-functor/) - Function that can be manipulated as an object, or an object representing a single, generic function. +- [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. +- [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. +- [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. +- [Imaging](http://commons.apache.org/proper/commons-imaging/) - Image library. +- [IO](http://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. +- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. +- [JCI](http://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. +- [JCS](http://commons.apache.org/proper/commons-jcs/) - Java Caching System. +- [Jelly](http://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. +- [Jexl](http://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. +- [JNet](http://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. +- [JXPath](http://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. +- [Lang](http://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. +- [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. +- [Math](http://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. +- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. +- [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. +- [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. +- [OGNL](http://commons.apache.org/proper/commons-ognl/) - Object-graph navigation language. +- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. +- [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. +- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. +- [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. +- [Proxy](http://commons.apache.org/proper/commons-proxy/) - Library for creating dynamic proxies. +- [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +- [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. +- [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +- [Validator](http://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. +- [VFS](http://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +- [Weaver](http://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. #### Other -- [CUBA Platform](https://cuba-platform.com) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -- [Light-Java](https://github.com/networknt/light-java) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2). -- [Orienteer](https://github.com/OrienteerBAP/Orienteer) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -- [Spring](https://spring.io/projects) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. +- [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). +- [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. +- [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. ### Processes @@ -833,7 +833,7 @@ _Libraries for developing reactive applications._ - [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://projectreactor.io) - Library for building reactive fast-data applications. +- [Reactor](https://github.com/reactor/reactor-core) - Library for building reactive fast-data applications. - [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. @@ -841,14 +841,14 @@ _Libraries for developing reactive applications._ _Frameworks specifically for creating RESTful services._ -- [Dropwizard](https://dropwizard.github.io/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -- [Elide](http://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +- [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - [javalin](https://javalin.io) - Javalin is just a few thousand lines of code on top of Jetty, which means its performance is almost equivalent to pure Jetty. - [Jersey](https://jersey.github.io) - JAX-RS reference implementation. -- [Microserver](https://github.com/aol/micro-server) - A 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. +- [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. -- [RESTEasy](https://resteasy.jboss.org) - Fully certified and portable implementation of the JAX-RS specification. +- [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. - [Spark](http://sparkjava.com) - Sinatra inspired framework. @@ -860,16 +860,16 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ -- [DataMelt](http://jwork.org/dmelt) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) +- [DataMelt](https://jwork.org/dmelt/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. - [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](http://www.jfree.org/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. -- [Morpheus](http://www.zavtech.com/morpheus/docs) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) -- [Tablesaw](https://github.com/lwhite1/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. ### Search @@ -877,7 +877,7 @@ _Libraries for scientific computing, analysis and visualization._ _Engines that index documents for search and analysis._ - [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. -- [Apache Solr](https://lucene.apache.org/solr) - Enterprise search engine optimized for high-volume traffic. +- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. - [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. - [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. @@ -918,20 +918,20 @@ _Servers specifically used to deploy applications._ - [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. - [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. -- [Jetty](https://www.eclipse.org/jetty) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WildFly](http://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) ### Template Engine _Tools that substitute expressions in a template._ -- [Handlebars.java](https://jknack.github.io/handlebars.java) - Logicless and semantic Mustache templates. +- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jtwig](http://jtwig.org) - 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. - [Rocker](https://github.com/fizzed/rocker) - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. -- [Thymeleaf](http://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. +- [Thymeleaf](https://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. ### Testing @@ -941,11 +941,11 @@ _Tools that test from model to the view._ _Tools that simplify testing asynchronous services._ -- [Awaitility](https://github.com/jayway/awaitility) - DSL for synchronizing asynchronous operations. +- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. - [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](http://www.icegreen.com/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +- [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -- [REST Assured](https://github.com/jayway/rest-assured) - DSL for easy testing of REST/HTTP services. +- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. - [Karate](https://github.com/intuit/karate) - DSL that combine API test-automation, mocks and performance-testing making testing REST/HTTP services easy. #### BDD @@ -953,12 +953,12 @@ _Tools that simplify testing asynchronous services._ _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. -- [Cukes-REST](https://github.com/ctco/cukes-rest) - Collection of Gherkin steps for REST-service testing using Cucumber. +- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. - [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. -- [JBehave](http://jbehave.org) - Extensively configurable framework that describes stories. +- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. - [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. - [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. -- [Serenity BDD](https://www.thucydides.info) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. +- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. #### Fixtures @@ -979,7 +979,7 @@ _Provide environments to run tests for a specific use case._ - [Arquillian](http://arquillian.org) - Integration and functional testing platform for Java EE containers. - [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](http://junit.org) - Common testing framework. +- [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. @@ -988,8 +988,8 @@ _Provide environments to run tests for a specific use case._ _Libraries that provide custom matchers._ -- [AssertJ](https://joel-costigliola.github.io/assertj) - Fluent assertions that improve readability. -- [Hamcrest](http://hamcrest.org/JavaHamcrest) - Matchers that can be combined to create flexible expressions of intent. +- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. +- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. - [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. - [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. @@ -1002,7 +1002,7 @@ _Other stuff related to testing._ - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [raml-tester](https://github.com/nidi3/raml-tester) - Tests if a request/response matches a given RAML definition. - [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. -- [pojo-tester](http://www.pojo.pl) - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +- [pojo-tester](https://www.pojo.pl) - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) #### Mocking @@ -1012,7 +1012,7 @@ _Tools which mock collaborators to help testing single, isolated units._ - [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. - [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. - [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. -- [PowerMock](https://github.com/jayway/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. +- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - [WireMock](http://wiremock.org) - Stubs and mocks web services. ### Utility @@ -1020,16 +1020,16 @@ _Tools which mock collaborators to help testing single, isolated units._ _Libraries which provide general utility functions._ - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. -- [cactoos](http://www.cactoos.org) - Collection of object-oriented primitives. +- [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. -- [Embulk](http://www.embulk.org) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - [JADE](http://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. -- [JGit](https://eclipse.org/jgit) - Lightweight, pure Java library implementing the Git version control system. +- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. - [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. - [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. @@ -1039,7 +1039,7 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ - [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. -- [jenv](https://github.com/gcuisinier/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. +- [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. - [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. ### Web Crawling @@ -1058,18 +1058,18 @@ _Frameworks that handle the communication between the layers of a web applicatio - [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. - [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. -- [Blade](https://github.com/biezhi/blade) - Lightweight, modular framework that aims to be elegant and simple. +- [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. - [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. - [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. - [Grails](https://grails.org) - Groovy framework that provides a highly productive environment by favoring convention over configuration, no XML and support for mixins. -- [Jooby](http://jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. +- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. - [Ninja](http://www.ninjaframework.org) - Full-stack web framework. - [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. - [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -- [PrimeFaces](https://primefaces.org) - JSF framework with both free and commercial/support versions and frontend components. +- [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 Flow](https://vaadin.com/flow) - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side. +- [Vaadin](https://vaadin.com) - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side. ## Resources @@ -1093,7 +1093,7 @@ _Awesome lists related to the Java & JVM ecosystem._ _Active discussions._ -- [r/java](https://www.reddit.com/r/java) - Subreddit for the Java community. +- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. - [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. - [VirtualJUG](https://virtualjug.com) - Virtual Java User Group. @@ -1118,7 +1118,6 @@ _Books that made a big impact and are still worth reading._ _Something to look at or listen to while programming._ - [Java Off Heap](http://www.javaoffheap.com) -- [Marco Behler's Screencasts](https://www.marcobehler.com/series) - Screencasts about modern Java development. - [The Java Council](https://virtualjug.com/#podcast) - [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. From 30d009d3082dd0b9d781f740672968c4bd31a0d3 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 4 Feb 2020 15:34:34 +0100 Subject: [PATCH 159/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 626afe91..13db520a 100644 --- a/README.md +++ b/README.md @@ -1186,6 +1186,6 @@ _Sites to read._ Contributions are very welcome! -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-validation). +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 From 7ab29715ac8559e0f1e1e8c4acf4bdce88f60915 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 13 Feb 2020 12:38:32 +0100 Subject: [PATCH 160/533] Fix Logstash link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 13db520a..ca13725a 100644 --- a/README.md +++ b/README.md @@ -546,7 +546,7 @@ _Libraries that log the behavior of an application._ - [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. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. -- [Logstash](https://www.elastic.co /logstash) - Tool for managing log files. +- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. - [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. - [SLF4J](http://www.slf4j.org) - Abstraction layer/simple logging facade. - [tinylog](https://tinylog.org/v2/) - Lightweight logging framework with static logger class. From f42e9d86c265a9dcee2a063f5c5b9b5296fb9c87 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Fri, 14 Feb 2020 11:13:16 +0900 Subject: [PATCH 161/533] Relocate Karate to be placed lexicographically This commit also changes "combine" to "combines" for subject-verb agreement. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca13725a..fe73e255 100644 --- a/README.md +++ b/README.md @@ -945,8 +945,8 @@ _Tools that simplify testing asynchronous services._ - [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. - [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. -- [Karate](https://github.com/intuit/karate) - DSL that combine API test-automation, mocks and performance-testing making testing REST/HTTP services easy. #### BDD From dcbc5ee526be76c103c2b0c18b3ad2be7b5841f6 Mon Sep 17 00:00:00 2001 From: "Archie L. Cobbs" Date: Fri, 28 Feb 2020 09:13:02 -0600 Subject: [PATCH 162/533] Add QueryStream. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe73e255..dd7d5aa7 100644 --- a/README.md +++ b/README.md @@ -267,6 +267,7 @@ _Everything that simplifies interactions with the database._ - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. - [Presto](https://prestosql.io) - Distributed SQL query engine for big data. +- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. - [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. From fc517e8eefbed1612903b3b5fabbd2f25e3971a4 Mon Sep 17 00:00:00 2001 From: "Archie L. Cobbs" Date: Fri, 28 Feb 2020 13:58:08 -0600 Subject: [PATCH 163/533] Add Permazen --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dd7d5aa7..ecc810b5 100644 --- a/README.md +++ b/README.md @@ -713,6 +713,7 @@ _APIs that handle the persistence of objects._ - [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. +- [Permazen](https://github.com/permazen/permazen) - Language-natural persistence layer. - [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) - Simple database and CSV mapper. ### PaaS From ff9f27469702c964eb152aed0067766e41b15fe4 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 14 Mar 2020 20:30:55 +0100 Subject: [PATCH 164/533] Add Cloudsmith Has actually a free tier. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ecc810b5..ef5f3535 100644 --- a/README.md +++ b/README.md @@ -347,6 +347,7 @@ _Tools that handle the distribution of applications in native formats._ - [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. - [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. - [jlink.online](https://github.com/cilki/jlink.online) - Builds optimized runtimes over HTTP. - [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. From 17dd7f1f4866ea2eeb323338874bcfad5643ff9e Mon Sep 17 00:00:00 2001 From: Nathaniel Fischer Date: Wed, 25 Mar 2020 06:11:23 -0700 Subject: [PATCH 165/533] Add library for tail call optimization (#837) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef5f3535..403f4694 100644 --- a/README.md +++ b/README.md @@ -311,6 +311,7 @@ _Augmentation of the development process at a fundamental level._ - [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. +- [Tail](https://kag0.github.io/tail) - Enable infinite recursion using tail call optimization. ### Distributed Applications From 0f6605d724e8a64ecd04f6d615c61e103b420f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?g=C3=B6khan?= Date: Wed, 25 Mar 2020 16:13:18 +0300 Subject: [PATCH 166/533] Add Dragonwell --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 403f4694..826fcf81 100644 --- a/README.md +++ b/README.md @@ -539,6 +539,7 @@ _Current implementations of the JVM/JDK._ - [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) - [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) - [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (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. ### Logging From 5b039bcf5bff737ec6db320354612f9305091c91 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Mar 2020 14:25:51 +0100 Subject: [PATCH 167/533] Add Arthas --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 826fcf81..b6f09210 100644 --- a/README.md +++ b/README.md @@ -1024,6 +1024,7 @@ _Tools which mock collaborators to help testing single, isolated units._ _Libraries which provide general utility functions._ +- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) From 10b8e139897a9645547173898e300de2f9601bdf Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Mar 2020 14:26:31 +0100 Subject: [PATCH 168/533] Add Sentinal --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b6f09210..8c007105 100644 --- a/README.md +++ b/README.md @@ -605,6 +605,7 @@ _Tools for creating and managing microservices._ - [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. - [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. +- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. ### Miscellaneous From f10621ce661d960564216c738e243eaf4cbe3274 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Fri, 3 Apr 2020 14:07:21 +0900 Subject: [PATCH 169/533] Relocate Dragonwell8 to be placed lexicographically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8c007105..6e3e5888 100644 --- a/README.md +++ b/README.md @@ -531,6 +531,7 @@ _Current implementations of the JVM/JDK._ - [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. @@ -539,7 +540,6 @@ _Current implementations of the JVM/JDK._ - [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) - [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) - [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (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. ### Logging From 946b6a15da51ab601dce50ab6f86a101fb35235a Mon Sep 17 00:00:00 2001 From: Nathaniel Fischer Date: Mon, 6 Apr 2020 14:44:07 -0700 Subject: [PATCH 170/533] Add hate HATEOAS library to json section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e3e5888..9942896f 100644 --- a/README.md +++ b/README.md @@ -510,6 +510,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. - [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. - [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. +- [hate](https://github.com/blackdoor/hate) - Build hypermedia-friendly objects with HAL (uses jackson). - [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. - [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. - [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. From 9c1c9d6c1426bd56a6887acec599ca71715dd91a Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 7 Apr 2020 08:50:31 +0200 Subject: [PATCH 171/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9942896f..505266f7 100644 --- a/README.md +++ b/README.md @@ -459,6 +459,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ _Libraries that handle serialization to hypermedia types._ +- [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/siren4j) - Library for the Siren specification. @@ -510,7 +511,6 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. - [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. - [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -- [hate](https://github.com/blackdoor/hate) - Build hypermedia-friendly objects with HAL (uses jackson). - [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. - [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. - [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. From 5759eb9cd5aae4b13fe371873f97943c745c24f9 Mon Sep 17 00:00:00 2001 From: ILyaCyclone Date: Thu, 23 Apr 2020 02:02:53 +0300 Subject: [PATCH 172/533] add Freemarker template engine Apache Feeemarker is actual (supported by Spring Boot out of the box) and alive (latest update is 2020-03-05) template engine. Description is taken from first sentence on official site: https://freemarker.apache.org --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 505266f7..d9f93c26 100644 --- a/README.md +++ b/README.md @@ -933,6 +933,7 @@ _Servers specifically used to deploy applications._ _Tools that substitute expressions in a template._ +- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jtwig](http://jtwig.org) - Modular, configurable and fully tested template engine. From 664724dac64ef5544126bbac0dca18746242868f Mon Sep 17 00:00:00 2001 From: ILyaCyclone Date: Thu, 23 Apr 2020 13:20:41 +0300 Subject: [PATCH 173/533] add Eclipse BIRT report engine Less spread than JasperReports but still viable option for generating documents. Visual editor is pretty good, so non-programmers can also create reports. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d9f93c26..29174a1e 100644 --- a/README.md +++ b/README.md @@ -740,6 +740,7 @@ _Tools to help with PDF file creation._ - [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. - [Dynamic Jasper](http://dynamicjasper.com) - Abstraction layer to JasperReports. (LGPL-3.0-only) - [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) +- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) From 0242e631b805d2a8e7831889203e15a5780591e6 Mon Sep 17 00:00:00 2001 From: Roman Beskrovnyi Date: Sat, 9 May 2020 09:20:02 +0300 Subject: [PATCH 174/533] Updated description for image-comparison library --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9f93c26..799a1f64 100644 --- a/README.md +++ b/README.md @@ -482,7 +482,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica - [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) - Compares two images with the same sizes and shows the differences visually by drawing rectangles. +- [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. Can be used for automation qa tests. ### Introspection From be7fe76394efa5cd183c97ffa8db6f8dfe711e9d Mon Sep 17 00:00:00 2001 From: heldev Date: Sat, 23 May 2020 03:32:45 -0400 Subject: [PATCH 175/533] Replace generic description of Lightbend config --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76424887..9b884739 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ _Libraries that provide external configuration._ - [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - [cfg4j](https://github.com/cfg4j/cfg4j) - Modern configuration library for distributed apps written in Java. -- [config](https://github.com/lightbend/config) - Configuration library for JVM languages. +- [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files. - [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. From 903034a5da66ae0a59eb992d73ea7f4b46d8769c Mon Sep 17 00:00:00 2001 From: Ronald Dehuysser Date: Sat, 23 May 2020 10:28:01 +0200 Subject: [PATCH 176/533] Add JobRunr --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9b884739..c42d6f06 100644 --- a/README.md +++ b/README.md @@ -499,6 +499,7 @@ _Libraries that help make the Java introspection and reflection API easier and f _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 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. From 189621702f441162278ae9abaff1a47525ffb44a Mon Sep 17 00:00:00 2001 From: Alexander Iskuskov Date: Sat, 23 May 2020 11:29:40 +0300 Subject: [PATCH 177/533] Add Debezium --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c42d6f06..25ddde27 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,7 @@ _Everything that simplifies interactions with the database._ - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. - [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. - [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. - [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) - [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. From 7d58668494923fbb498fb79f8e7dfa28fa701363 Mon Sep 17 00:00:00 2001 From: Evgeniy Sladkowski Date: Sat, 23 May 2020 10:33:35 +0200 Subject: [PATCH 178/533] Add Microconfig --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25ddde27..7bda865f 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,7 @@ _Libraries that provide external configuration._ - [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files. - [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 distributed. - [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. ### Constraint Satisfaction Problem Solver From f395ad34daf1303efdbc5a3e653558e4bc25108b Mon Sep 17 00:00:00 2001 From: "Tor (torbuntu)" Date: Sat, 23 May 2020 03:35:30 -0500 Subject: [PATCH 179/533] Add Mini2Dx --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7bda865f..9d058ade 100644 --- a/README.md +++ b/README.md @@ -408,6 +408,7 @@ _Frameworks that support the development of games._ - [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. - [libGDX](https://libgdx.badlogicgames.com) - All-round cross-platform, high-level framework. - [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. ### Geospatial From 1ebb6e4011f9932f78f37b97d0d21738a19a8c3c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 19 Jul 2020 10:44:09 +0200 Subject: [PATCH 180/533] Add more batch frameworks #825 --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d058ade..9fad6029 100644 --- a/README.md +++ b/README.md @@ -205,7 +205,7 @@ _Libraries that provide external configuration._ - [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files. - [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 distributed. +- [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. ### Constraint Satisfaction Problem Solver @@ -507,6 +507,8 @@ _Libraries for scheduling background jobs._ - [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. ### JSON From b289eb9bae9cf4e5b4412e1b19b9f5dbe9adaf37 Mon Sep 17 00:00:00 2001 From: "Roman S.A" Date: Sun, 19 Jul 2020 11:46:21 +0300 Subject: [PATCH 181/533] dd siddhi (#854) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fad6029..fae2df11 100644 --- a/README.md +++ b/README.md @@ -576,6 +576,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [H2O](https://www.h2o.ai) - Analytics engine for statistics over big data. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - [Synapses](https://mrdimosthenis.github.io/Synapses/#synapses) - Lightweight library for neural networks. - [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) From a5a3861a20d434e815cd4d998d6176608cd8747f Mon Sep 17 00:00:00 2001 From: "Roman S.A" Date: Sun, 19 Jul 2020 11:46:51 +0300 Subject: [PATCH 182/533] Add calcite (#855) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fae2df11..7d77a700 100644 --- a/README.md +++ b/README.md @@ -245,6 +245,7 @@ _Efficient and specific data structures._ _Everything that simplifies interactions with the database._ +- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. - [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. - [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. From f2346299dc8eec4ae401e1251d164863c8528183 Mon Sep 17 00:00:00 2001 From: iceberg53 Date: Sun, 19 Jul 2020 09:49:42 +0100 Subject: [PATCH 183/533] Add Telosys (#856) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d77a700..bd907a04 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [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. - [Lombok](https://projectlombok.org) - Code generator that aims to reduce verbosity. +- [Telosys](https://www.telosys.org/) - Simple and light code generator available as an Eclipse Plugin and also as a CLI. ### Compiler-compiler From 8579e055246136dea0d5a6c2f75b12099f4e41a7 Mon Sep 17 00:00:00 2001 From: mielecmichal Date: Sun, 19 Jul 2020 10:52:19 +0200 Subject: [PATCH 184/533] Add methanol (#861) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd907a04..b3c4fe97 100644 --- a/README.md +++ b/README.md @@ -452,6 +452,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/OpenFeign/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. +- [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. - [OkHttp](https://square.github.io/okhttp/) - HTTP and SPDY client. - [Play WS](https://github.com/playframework/play-ws) - Typesafe client with reactive streams and caching. - [restQL-java](https://github.com/b2wdigital/restQL-java) - Microservice query language that fetches information from multiple services. From e873dcfe9d206bd67572232d75ed6ff80c80ec7c Mon Sep 17 00:00:00 2001 From: Henrik Wirth Date: Sun, 19 Jul 2020 10:55:20 +0200 Subject: [PATCH 185/533] Add MobileUI and Mobile Development Category (#862) --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b3c4fe97..8f90c147 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Messaging](#messaging) - [Microservice](#microservice) - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) - [Monitoring](#monitoring) - [Native](#native) - [Natural Language Processing](#natural-language-processing) @@ -622,7 +623,6 @@ _Tools for creating and managing microservices._ _Everything else._ -- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) - [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. - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. @@ -642,7 +642,6 @@ _Everything else._ - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. @@ -654,6 +653,14 @@ _Everything else._ - [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. +### Mobile Development + +_Tools for creating or managing mobile applications._ + +- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. + ### Monitoring _Tools that monitor applications in production._ From 1937f4b1e2c66c547a51f89971a5b5f2cb403082 Mon Sep 17 00:00:00 2001 From: valerialistratova Date: Sun, 19 Jul 2020 12:01:49 +0300 Subject: [PATCH 186/533] Add ActiveJ (#863) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8f90c147..8e671659 100644 --- a/README.md +++ b/README.md @@ -1083,6 +1083,7 @@ _Libraries that analyze the content of websites._ _Frameworks that handle the communication between the layers of a web application._ +- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. - [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. - [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. - [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. From 7bbd7f159e31612a286f93aa57c1837001f51cbc Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 19 Jul 2020 13:05:04 +0200 Subject: [PATCH 187/533] Run linter --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8e671659..7fb5133f 100644 --- a/README.md +++ b/README.md @@ -280,7 +280,7 @@ _Everything that simplifies interactions with the database._ - [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. - [sql2o](https://www.sql2o.org) - Thin JDBC wrapper that simplifies database access and provides simple mapping of ResultSets to POJOs. - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. -- [Xodus](https://jetbrains.github.io/xodus/) - Highly concurrent transactional schema-less and ACID-compliant embedded database. +- [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. ### Date and Time @@ -344,7 +344,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u - [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. - [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. - [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) -- [Seata](https://seata.io) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. +- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. ### Distribution @@ -445,7 +445,7 @@ _Everything about high-performance computation, from collections to specific lib - [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. - [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. - [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. -- [Koloboke](https://koloboke.com) - Hash sets and hash maps. +- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. ### HTTP Clients @@ -468,7 +468,7 @@ _Libraries that handle serialization to hypermedia types._ - [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/siren4j) - Library for the Siren specification. +- [Siren4J](https://github.com/eserating-chwy/siren4j) - Library for the Siren specification. ### IDE @@ -625,12 +625,10 @@ _Everything else._ - [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. -- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [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) - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. - [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and more. -- [JavaX](http://javax.botcompany.de) - Reinventing and extending Java with a focus on simplicity. (No explicit license) - [JBake](https://jbake.org) - Static website generator. - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. From cd3386d5fe735d0a8d00d8202d8a72402314e2a7 Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 19 Jul 2020 13:43:55 +0200 Subject: [PATCH 188/533] Cleanup non-Java libraries (#858) --- README.md | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 7fb5133f..28eee23f 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,6 @@ _Libraries for everything related to the CLI._ _Frameworks that can dynamically manage applications inside of a cluster._ - [Apache Aurora](https://aurora.apache.org) - Mesos framework for long-running services and cron jobs. -- [Apache Mesos](https://mesos.apache.org) - Abstracts CPU, memory, storage, and other compute resources away from machines. - [Singularity](http://getsingularity.com) - Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks. ### Code Analysis @@ -259,7 +258,6 @@ _Everything that simplifies interactions with the database._ - [Flyway](https://flywaydb.org) - Simple database migration tool. - [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. - [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. -- [jasync-sql](https://github.com/jasync-sql/jasync-sql) - Async DB driver for MySQL and PostgreSQL. - [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. - [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. - [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. @@ -331,7 +329,6 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. -- [Orbit](http://www.orbit.cloud) - Virtual actors; adds another level of abstraction to traditional actors. - [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. - [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. - [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. @@ -419,7 +416,6 @@ _Libraries for working with geospatial data and algorithms._ - [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [Geotoolkit.org](http://www.geotoolkit.org) - Library for developing geospatial applications. Built on top of the Apache SIS project. (LGPL-2.1-only) - [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. - [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) @@ -451,11 +447,10 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ +- [Apache HttpComponents](https://hc.apache.org/) - A toolset of low level Java components focused on HTTP and associated protocols. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [Feign](https://github.com/OpenFeign/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. -- [OkHttp](https://square.github.io/okhttp/) - HTTP and SPDY client. -- [Play WS](https://github.com/playframework/play-ws) - Typesafe client with reactive streams and caching. - [restQL-java](https://github.com/b2wdigital/restQL-java) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit/) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. @@ -573,16 +568,13 @@ _Tools that provide specific statistical algorithms for learning from data._ - [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. - [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. -- [Apache Spark](https://spark.apache.org) - Data analytics cluster-computing framework. - [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. -- [DeepDive](http://deepdive.stanford.edu) - Creates structured information from unstructured data and integrates it into an existing database. - [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. -- [H2O](https://www.h2o.ai) - Analytics engine for statistics over big data. +- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Synapses](https://mrdimosthenis.github.io/Synapses/#synapses) - Lightweight library for neural networks. - [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) ### Messaging @@ -613,7 +605,6 @@ _Tools for creating and managing microservices._ - [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. - [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- [Lagom](https://www.lagomframework.com) - Framework for creating microservice-based systems. - [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. - [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. @@ -664,7 +655,6 @@ _Tools for creating or managing mobile applications._ _Tools that monitor applications in production._ - [Automon](https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools. -- [LeakCanary](https://github.com/square/leakcanary) - Memory leak detection. - [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - [Glowroot](https://glowroot.org) - Open-source Java APM. - [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. @@ -673,13 +663,12 @@ _Tools that monitor applications in production._ - [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) - Jaeger client. - [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. -- [Kamon ![c]](https://kamon.io) - Tool for monitoring applications running on the JVM. - [Metrics](https://github.com/dropwizard/metrics) - Expose metrics via JMX or HTTP and send them to a database. -- [Datadog ![c]](https://www.datadoghq.com) - Modern monitoring & analytics. +- [Datadog ![c]](https://github.com/DataDog/dd-trace-java) - Modern monitoring & analytics. - [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection. - [Pinpoint](https://github.com/naver/pinpoint) - Open-source APM tool. -- [Prometheus](https://prometheus.io) - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. -- [SPM ![c]](https://sematext.com/spm/) - Performance monitor with distributing transaction tracing for JVM apps. +- [Prometheus](https://github.com/prometheus/client_java) - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. +- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. - [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. - [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. - [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. @@ -696,21 +685,17 @@ _For working with platform-specific native libraries._ _Libraries that specialize in processing text._ -- [Beagle](https://github.com/tokenmill/beagle) - Stored full-text search query engine. - [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) - [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -- [Lingua](https://github.com/pemistahl/lingua) - Natural language detection library, especially suited for short paragraphs of text. - [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. ### Networking _Libraries for building network servers._ -- [AkkaGRPC](https://github.com/akka/akka-grpc) - Support for building streaming gRPC servers and clients on top of Akka Streams. - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. - [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. -- [Finagle](https://github.com/twitter/finagle) - Extensible RPC system for constructing high-concurrency servers. It implements uniform client and server APIs for several protocols, and is protocol-agnostic to simplify implementation of new protocols. - [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. - [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. - [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. @@ -866,7 +851,6 @@ _Frameworks specifically for creating RESTful services._ - [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -- [javalin](https://javalin.io) - Javalin is just a few thousand lines of code on top of Jetty, which means its performance is almost equivalent to pure Jetty. - [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. @@ -923,7 +907,6 @@ _Libraries that handle security, authentication, authorization or session manage - [SecurityBuilder](https://github.com/tersesystems/securitybuilder) - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. - [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. -- [Vault](https://www.vaultproject.io) - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more. ### Serialization @@ -952,7 +935,7 @@ _Tools that substitute expressions in a template._ - [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). -- [Jtwig](http://jtwig.org) - Modular, configurable and fully tested template engine. +- [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. - [Rocker](https://github.com/fizzed/rocker) - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. - [Thymeleaf](https://www.thymeleaf.org) - Aims to be a substitute for JSP and works for XML files. @@ -1087,7 +1070,6 @@ _Frameworks that handle the communication between the layers of a web applicatio - [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. - [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. - [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. -- [Grails](https://grails.org) - Groovy framework that provides a highly productive environment by favoring convention over configuration, no XML and support for mixins. - [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. - [Ninja](http://www.ninjaframework.org) - Full-stack web framework. - [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. From 42ba1aa25932ff7d2934b2de42c7a5b1bb1dd0d8 Mon Sep 17 00:00:00 2001 From: Hakky54 Date: Sun, 19 Jul 2020 21:56:06 +0200 Subject: [PATCH 189/533] Add SSLContext Kickstart --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28eee23f..dbe56137 100644 --- a/README.md +++ b/README.md @@ -905,6 +905,7 @@ _Libraries that handle security, authentication, authorization or session manage - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [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. - [Tink](https://github.com/google/tink) - Provides a simple and misuse-proof API for common cryptographic tasks. From 9c952104b044ab2b700dd5b4f951d9faa07c6ab8 Mon Sep 17 00:00:00 2001 From: Ax Kr Date: Mon, 17 Aug 2020 10:02:47 +0200 Subject: [PATCH 190/533] Add LogicNG --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dbe56137..3b966ee3 100644 --- a/README.md +++ b/README.md @@ -873,6 +873,7 @@ _Libraries for scientific computing, analysis and visualization._ - [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. +- [LogicNG](https://github.com/logic-ng/LogicNG) - LogicNG Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) From 0dffecfb0ba28b36a31b9ea9987af9045e867aa7 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Fri, 21 Aug 2020 13:26:29 +0900 Subject: [PATCH 191/533] Remove entry name in its description for LogicNG --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3b966ee3..7abc626d 100644 --- a/README.md +++ b/README.md @@ -873,7 +873,7 @@ _Libraries for scientific computing, analysis and visualization._ - [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. -- [LogicNG](https://github.com/logic-ng/LogicNG) - LogicNG Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. +- [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) From a37055e3ed32b9b7abead6fe87b5dada663a7952 Mon Sep 17 00:00:00 2001 From: shathor Date: Mon, 21 Sep 2020 11:23:43 +0200 Subject: [PATCH 192/533] Add Chart-FX (#889) Add Chart-FX scientific charting library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7abc626d..309ad551 100644 --- a/README.md +++ b/README.md @@ -867,6 +867,7 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ +- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - [DataMelt](https://jwork.org/dmelt/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. - [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. From 220a0bdd6234d45fdd008edbfd59fd672e13dad6 Mon Sep 17 00:00:00 2001 From: shathor Date: Mon, 21 Sep 2020 11:24:53 +0200 Subject: [PATCH 193/533] Add BioJava (#882) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 309ad551..d11bd26d 100644 --- a/README.md +++ b/README.md @@ -867,6 +867,7 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ +- [BioJava](https://biojava.org/) - Faciliates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. - [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - [DataMelt](https://jwork.org/dmelt/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. From a78db115d3bdbbb82e965adc3051f9dac8baf501 Mon Sep 17 00:00:00 2001 From: shathor Date: Mon, 21 Sep 2020 11:26:02 +0200 Subject: [PATCH 194/533] Add Aparapi (#881) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d11bd26d..f5e9273f 100644 --- a/README.md +++ b/README.md @@ -677,6 +677,7 @@ _Tools that monitor applications in production._ _For working with platform-specific native libraries._ +- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. - [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. - [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). From 5fa0b3ab4850c5152f3daf7cc32e55c1698f6408 Mon Sep 17 00:00:00 2001 From: shathor Date: Mon, 21 Sep 2020 11:26:50 +0200 Subject: [PATCH 195/533] Add Tabula (#878) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f5e9273f..18196e62 100644 --- a/README.md +++ b/README.md @@ -735,7 +735,7 @@ _Java platform as a service._ ### PDF -_Tools to help with PDF file creation._ +_Tools to help with PDF files._ - [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. @@ -747,6 +747,7 @@ _Tools to help with PDF file creation._ - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) - [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) +- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. ### Performance analysis From ffb1de935d178582547f6b453c5d8d777646d1ee Mon Sep 17 00:00:00 2001 From: Zach Kimberg Date: Mon, 21 Sep 2020 02:27:29 -0700 Subject: [PATCH 196/533] Add DJL (#877) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18196e62..ae4f5daf 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. - [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. - [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. +- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. - [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. From 35d5830ebe1aab7781a9c9640ef9990393d89c3c Mon Sep 17 00:00:00 2001 From: valerialistratova Date: Mon, 21 Sep 2020 12:28:14 +0300 Subject: [PATCH 197/533] Add ActiveRPC (#876) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ae4f5daf..bab3221d 100644 --- a/README.md +++ b/README.md @@ -601,6 +601,7 @@ _Tools that help send messages between clients to ensure protocol independency._ _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. From 620dec09442a1c1f66c4a87ced6a8656d1234b57 Mon Sep 17 00:00:00 2001 From: shathor Date: Mon, 21 Sep 2020 11:31:45 +0200 Subject: [PATCH 198/533] Add ML libraries ojAlgo and Tribuo (#884) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index bab3221d..734cb69d 100644 --- a/README.md +++ b/README.md @@ -573,9 +573,11 @@ _Tools that provide specific statistical algorithms for learning from data._ - [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. - [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. - [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) ### Messaging From e0027109a55a60605cda597eef908bd9470ef3f1 Mon Sep 17 00:00:00 2001 From: Hakky54 Date: Mon, 21 Sep 2020 11:32:52 +0200 Subject: [PATCH 199/533] Added LogCaptor (#869) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 734cb69d..081ba622 100644 --- a/README.md +++ b/README.md @@ -1016,6 +1016,7 @@ _Libraries that provide custom matchers._ _Other stuff related to testing._ - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. +- [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [raml-tester](https://github.com/nidi3/raml-tester) - Tests if a request/response matches a given RAML definition. - [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. From 4dab94e1471d09862b6baada60e8231c59e17ad1 Mon Sep 17 00:00:00 2001 From: mani Date: Mon, 21 Sep 2020 10:33:41 +0100 Subject: [PATCH 200/533] Add Mani Sarkar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 081ba622..2261c9e9 100644 --- a/README.md +++ b/README.md @@ -1162,6 +1162,7 @@ _Active accounts to follow. Descriptions from Twitter._ - [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, JUG.ch co-leader, 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. From 95b8dd330c8996f66ad641708890ac83e5208b50 Mon Sep 17 00:00:00 2001 From: mani Date: Mon, 21 Sep 2020 10:34:05 +0100 Subject: [PATCH 201/533] Add awesome-graal (#887) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2261c9e9..846937d2 100644 --- a/README.md +++ b/README.md @@ -1097,6 +1097,7 @@ _Frameworks that handle the communication between the layers of a web applicatio _Awesome lists related to the Java & JVM ecosystem._ - [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) - [AwesomeJavaFX](https://github.com/mhrimaz/AwesomeJavaFX) - [Awesome JVM](https://github.com/deephacks/awesome-jvm) From 0b8e530b27265fe463d052fc1dce8988beef3a40 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Mon, 28 Sep 2020 23:41:36 +0900 Subject: [PATCH 202/533] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 846937d2..80374b98 100644 --- a/README.md +++ b/README.md @@ -873,7 +873,7 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ -- [BioJava](https://biojava.org/) - Faciliates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. - [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - [DataMelt](https://jwork.org/dmelt/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. From 2bdcee832fe1f03488f104545ce6c0e61679c127 Mon Sep 17 00:00:00 2001 From: Peter Thaleikis Date: Mon, 12 Oct 2020 10:52:55 +0400 Subject: [PATCH 203/533] Typo: Programatically -> Programmatically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 80374b98..9f650201 100644 --- a/README.md +++ b/README.md @@ -708,7 +708,7 @@ _Libraries for building network servers._ - [Netty](https://netty.io) - Framework for building high-performance network applications. - [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. - [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. -- [sshj](https://github.com/hierynomus/sshj) - Programatically use SSH, SCP or SFTP. +- [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) - [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) From 9ddb9186fc9b8d0ff6e24dd61836e2988546cab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20S=C3=B6derberg?= Date: Wed, 4 Nov 2020 10:46:18 +0100 Subject: [PATCH 204/533] Add Configurate (#898) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f650201..9e51abad 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,7 @@ _Libraries that provide external configuration._ - [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - [cfg4j](https://github.com/cfg4j/cfg4j) - Modern configuration library for distributed apps written in Java. - [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. +- [Configurate](https://github.com/SpongePowered/Configurate) - Configuration library with support for various configuration formats and transformations. - [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files. - [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. From 482ddfba5d2b902b0caf7dbe7d739a07c5deb189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuzhan=20=C3=87evik?= Date: Wed, 4 Nov 2020 12:47:05 +0300 Subject: [PATCH 205/533] Add Official Java Podcast (#893) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9e51abad..fd668b99 100644 --- a/README.md +++ b/README.md @@ -1138,6 +1138,7 @@ _Books that made a big impact and are still worth reading._ _Something to look at or listen to while programming._ +- [Inside Java](https://inside.java/podcast) (Official) - [Java Off Heap](http://www.javaoffheap.com) - [The Java Council](https://virtualjug.com/#podcast) - [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. From f4b46d3610fbd7b60769bb73c850a99f1c69c7ee Mon Sep 17 00:00:00 2001 From: Alexey Anufriev Date: Wed, 4 Nov 2020 10:53:53 +0100 Subject: [PATCH 206/533] Add bootiful podcast (#895) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd668b99..ccda594e 100644 --- a/README.md +++ b/README.md @@ -1138,6 +1138,7 @@ _Books that made a big impact and are still worth reading._ _Something to look at or listen to while programming._ +- [A Bootiful Podcast](https://bootifulpodcast.fm) - [Inside Java](https://inside.java/podcast) (Official) - [Java Off Heap](http://www.javaoffheap.com) - [The Java Council](https://virtualjug.com/#podcast) From 1b2bdd9335310e0dfa5637324cfbb4c4f9e9d4de Mon Sep 17 00:00:00 2001 From: Alexey Anufriev Date: Wed, 4 Nov 2020 10:55:32 +0100 Subject: [PATCH 207/533] Add foojay.io (#894) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ccda594e..bcb0fffd 100644 --- a/README.md +++ b/README.md @@ -1192,6 +1192,7 @@ _Sites to read._ - [Baeldung](https://www.baeldung.com) - [Dzone](https://dzone.com) +- [foojay.io](https://foojay.io) - [Google Java Style](https://google.github.io/styleguide/javaguide.html) - [InfoQ](https://www.infoq.com) - [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) From 8aa103e87c31f84dbe7942756a7286529e795e01 Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 22 Nov 2020 13:10:25 +0100 Subject: [PATCH 208/533] Add fastexcel --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bcb0fffd..ebbf29cb 100644 --- a/README.md +++ b/README.md @@ -365,6 +365,7 @@ _Libraries that assist with processing office document formats._ - [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). - [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. +- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. ### Financial From 11388e78bb261389dc56e193973b19ec4d423028 Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 22 Nov 2020 13:12:48 +0100 Subject: [PATCH 209/533] Add RoaringBitmap --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ebbf29cb..f7386350 100644 --- a/README.md +++ b/README.md @@ -239,6 +239,7 @@ _Efficient and specific data structures._ - [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. - [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. +- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. - [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. - [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. - [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. From 45dd35fb504cdfed05c9ec02a6f448e9a6166550 Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 22 Nov 2020 13:14:46 +0100 Subject: [PATCH 210/533] Add Getdown and JavaPackager --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f7386350..da2f417c 100644 --- a/README.md +++ b/README.md @@ -353,7 +353,9 @@ _Tools that handle the distribution of applications in native formats._ - [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +- [Getdown](https://github.com/threerings/getdown) - A system for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. +- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, Mac OS X or GNU/Linux executables, and generate installers for them. - [jlink.online](https://github.com/cilki/jlink.online) - Builds optimized runtimes over HTTP. - [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. From fdaea1271defc681a70ce54ec9510355fb75b387 Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 22 Nov 2020 13:16:14 +0100 Subject: [PATCH 211/533] Add Google Http Client --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da2f417c..8cb7165a 100644 --- a/README.md +++ b/README.md @@ -455,6 +455,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [Apache HttpComponents](https://hc.apache.org/) - A toolset of low level Java components focused on HTTP and associated protocols. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [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, Jackson2 and Protobuf. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. - [restQL-java](https://github.com/b2wdigital/restQL-java) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit/) - Typesafe REST client. From b481bcd542caa66abaacf61c1fb847a9bd1ae23d Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 22 Nov 2020 13:17:12 +0100 Subject: [PATCH 212/533] Add jte --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8cb7165a..1959804b 100644 --- a/README.md +++ b/README.md @@ -951,6 +951,7 @@ _Tools that substitute expressions in a template._ - [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). +- [jte](https://github.com/casid/jte) - Compiles to Java classes, is lightweight and fast. - [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. - [Rocker](https://github.com/fizzed/rocker) - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. From baba39b0a9515b4fd538ff1b178985e53a3b9ba8 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 22 Nov 2020 13:20:31 +0100 Subject: [PATCH 213/533] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1959804b..4658b1ae 100644 --- a/README.md +++ b/README.md @@ -455,7 +455,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [Apache HttpComponents](https://hc.apache.org/) - A toolset of low level Java components focused on HTTP and associated protocols. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [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, Jackson2 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. - [restQL-java](https://github.com/b2wdigital/restQL-java) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit/) - Typesafe REST client. @@ -951,7 +951,7 @@ _Tools that substitute expressions in a template._ - [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). -- [jte](https://github.com/casid/jte) - Compiles to Java classes, is lightweight and fast. +- [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. - [Rocker](https://github.com/fizzed/rocker) - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. From 6ba73159f5b6ada53b3f80025c7a77f9d63c093c Mon Sep 17 00:00:00 2001 From: Peter Abeles Date: Tue, 8 Dec 2020 13:06:34 -0800 Subject: [PATCH 214/533] Add computer vision section --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4658b1ae..f043e6a5 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Code Coverage](#code-coverage) - [Code Generators](#code-generators) - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) - [Configuration](#configuration) - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - [CSV](#csv) @@ -196,6 +197,14 @@ _Frameworks that help to create parsers, interpreters or compilers._ - [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. - [JFlex](https://jflex.de) - Lexical analyzer generator. +### Computer Vision + +_Libraries which seek to gain high level information from images and videos._ + +- [BoofCV](https://boofcv.org) - Libray for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. +- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. + ### Configuration _Libraries that provide external configuration._ @@ -629,7 +638,6 @@ _Everything else._ - [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) - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. -- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and more. - [JBake](https://jbake.org) - Static website generator. - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. From d5a2bae5b0a8c017a2536a93b219938a3f162c93 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 19 Dec 2020 16:06:56 +0100 Subject: [PATCH 215/533] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f043e6a5..4552436a 100644 --- a/README.md +++ b/README.md @@ -644,6 +644,7 @@ _Everything else._ - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. +- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. From f5538da27d3cdee77bfb522402337ade948e393b Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sun, 20 Dec 2020 06:24:42 +0900 Subject: [PATCH 216/533] Fix typo (#915) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4552436a..a829e978 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ _Frameworks that help to create parsers, interpreters or compilers._ _Libraries which seek to gain high level information from images and videos._ -- [BoofCV](https://boofcv.org) - Libray for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. - [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. - [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. From de091559d0dfe28d488a7f1f7e62d3bde15e248a Mon Sep 17 00:00:00 2001 From: Martin Traverso Date: Sun, 10 Jan 2021 04:01:55 -0800 Subject: [PATCH 217/533] Rename Presto to Trino (#917) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a829e978..b5fd5c66 100644 --- a/README.md +++ b/README.md @@ -280,7 +280,7 @@ _Everything that simplifies interactions with the database._ - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. -- [Presto](https://prestosql.io) - Distributed SQL query engine for big data. +- [Trino](https://trino.io) - Distributed SQL query engine for big data. - [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. From 8a165b949b261bd352461f096bba102d55bb620d Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 10 Jan 2021 13:04:09 +0100 Subject: [PATCH 218/533] Update Game Development section (#916) --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b5fd5c66..b95cdca1 100644 --- a/README.md +++ b/README.md @@ -419,8 +419,10 @@ _Libraries that facilitate functional programming._ _Frameworks that support the development of games._ - [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. +- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. - [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. -- [libGDX](https://libgdx.badlogicgames.com) - All-round cross-platform, high-level framework. +- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. +- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. - [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. From d0772b1ba4b5b52fbecef8aaa393f6534b71476a Mon Sep 17 00:00:00 2001 From: David Bertoldi Date: Tue, 9 Feb 2021 04:09:44 +0100 Subject: [PATCH 219/533] Add Password4j to Security (#922) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b95cdca1..b7130e35 100644 --- a/README.md +++ b/README.md @@ -930,6 +930,7 @@ _Libraries that handle security, authentication, authorization or session manage - [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [pac4j](https://github.com/pac4j/pac4j) - Security engine. +- [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. From e5957bf45e43ba58104d2a16eeea2d393c92f1c1 Mon Sep 17 00:00:00 2001 From: Alena Date: Tue, 9 Feb 2021 06:12:17 +0300 Subject: [PATCH 220/533] Add Artipie to Distribution (#921) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7130e35..b8c1cbe7 100644 --- a/README.md +++ b/README.md @@ -358,6 +358,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ +- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. - [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. - [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. From 3364923f097433898c78eed84d2f461b8a44ef46 Mon Sep 17 00:00:00 2001 From: Bastiaan Jansen <21118262+BastiaanJansen@users.noreply.github.com> Date: Mon, 1 Mar 2021 08:49:24 +0100 Subject: [PATCH 221/533] Add OTP-Java --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b8c1cbe7..7db80a7e 100644 --- a/README.md +++ b/README.md @@ -930,6 +930,7 @@ _Libraries that handle security, authentication, authorization or session manage - [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. - [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. +- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [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. From af30c71c4a6b86795298c1a508d7a8f6c831d96c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 1 Mar 2021 09:09:30 +0100 Subject: [PATCH 222/533] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7db80a7e..2e452878 100644 --- a/README.md +++ b/README.md @@ -389,6 +389,7 @@ _Libraries related to the financial domain._ - [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. - [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. - [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. +- [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. ### Formal Verification From 98ecbd6b6337cf2b5e82fb3c7acfc2b18de0f9f0 Mon Sep 17 00:00:00 2001 From: Stefan Ostermayr Date: Mon, 1 Mar 2021 09:13:11 +0100 Subject: [PATCH 223/533] Add FastCSV --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e452878..a280ccc8 100644 --- a/README.md +++ b/README.md @@ -231,6 +231,7 @@ _Libraries that help with implementing optimization and satisfiability problems. _Frameworks and libraries that simplify reading/writing CSV data._ +- [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. - [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. - [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. - [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. From d84c8fdff305cc63344d7796eb279900460956c8 Mon Sep 17 00:00:00 2001 From: Braisdom Date: Mon, 29 Mar 2021 14:42:33 +0800 Subject: [PATCH 224/533] Add ObjectiveSql --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a280ccc8..a9e5ae89 100644 --- a/README.md +++ b/README.md @@ -745,6 +745,7 @@ _APIs that handle the persistence of objects._ - [MyBatis](https://github.com/mybatis/mybatis-3) - Couples objects with stored procedures or SQL statements. - [Permazen](https://github.com/permazen/permazen) - Language-natural persistence layer. - [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) - Simple database and CSV mapper. +- [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) - ActiveRecord ORM for rapid development and convention over configuration. ### PaaS From d894fe28ad1dbb366ed9d24019cd6b41f8e9d5e5 Mon Sep 17 00:00:00 2001 From: Claude Mamo <823038+claudemamo@users.noreply.github.com> Date: Mon, 29 Mar 2021 08:47:55 +0200 Subject: [PATCH 225/533] Update Smooks --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9e5ae89..3221ad56 100644 --- a/README.md +++ b/README.md @@ -660,7 +660,7 @@ _Everything else._ - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. -- [Smooks](https://github.com/smooks/smooks) - Extensible framework for building applications that process data which means bindings, transformations, message processing and enrichment. (LGPL-3.0-only) +- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) - [Togglz](https://www.togglz.org) - Implementation of the Feature Toggles pattern. - [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. - [XMLBeam](https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code. From 6431a47320267294df4a952e648ac5e982d3f14b Mon Sep 17 00:00:00 2001 From: nannany Date: Sat, 22 May 2021 22:03:07 +0900 Subject: [PATCH 226/533] Delete dozer --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 3221ad56..e7ddf500 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,6 @@ A curated list of awesome Java frameworks, libraries and software. _Frameworks that ease bean mapping._ - [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. -- [Dozer](https://github.com/DozerMapper/dozer) - Mapper that copies data from one object to another using annotations and API or XML configuration. - [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. - [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. From 1bfe2b1b90d9a21c8c1ac13e234b20af08707d16 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 3 Apr 2021 12:10:17 +0900 Subject: [PATCH 227/533] Move ObjectiveSql to be alphabetically-ordered --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e7ddf500..3fd3f931 100644 --- a/README.md +++ b/README.md @@ -742,9 +742,9 @@ _APIs that handle the persistence of objects._ - [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. +- [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. -- [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) - ActiveRecord ORM for rapid development and convention over configuration. ### PaaS From 5db9351a72be916dfc377f09441f58ddc6b21513 Mon Sep 17 00:00:00 2001 From: heldev Date: Tue, 25 May 2021 02:40:23 -0400 Subject: [PATCH 228/533] Add workflow engines section (#937) --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3fd3f931..bb471eb6 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Version Managers](#version-managers) - [Web Crawling](#web-crawling) - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) - [Resources](#resources) - [Awesome Lists](#awesome-lists) - [Communities](#communities) @@ -1113,6 +1114,11 @@ _Frameworks that handle the communication between the layers of a web applicatio - [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. +### Workflow Orchestration Engines + +- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. +- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. + ## Resources ### Awesome Lists From 37c85339ee27ec2766de58cd7274844152179e1e Mon Sep 17 00:00:00 2001 From: heldev Date: Tue, 25 May 2021 02:40:42 -0400 Subject: [PATCH 229/533] Remove sql2o (#936) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index bb471eb6..7556df0d 100644 --- a/README.md +++ b/README.md @@ -288,7 +288,6 @@ _Everything that simplifies interactions with the database._ - [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. - [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. -- [sql2o](https://www.sql2o.org) - Thin JDBC wrapper that simplifies database access and provides simple mapping of ResultSets to POJOs. - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. - [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. From e8068bbedadda5ab644cbf73d1f3761fd158e54e Mon Sep 17 00:00:00 2001 From: Tim Tiemens Date: Tue, 25 May 2021 01:46:22 -0500 Subject: [PATCH 230/533] Add StringTemplate --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7556df0d..907f4471 100644 --- a/README.md +++ b/README.md @@ -971,6 +971,7 @@ _Tools that substitute expressions in a template._ - [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. - [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. ### Testing From 50a189635ec1494dafaf7f32470cb323c7aa8454 Mon Sep 17 00:00:00 2001 From: tleipzig Date: Tue, 25 May 2021 08:48:31 +0200 Subject: [PATCH 231/533] Add bootify (#932) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 907f4471..4dd0ae88 100644 --- a/README.md +++ b/README.md @@ -181,6 +181,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. +- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. - [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. - [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. - [JavaPoet](https://github.com/square/javapoet) - API to generate source files. From b94df9457f1d6e0ff685112ce17723dcf511766d Mon Sep 17 00:00:00 2001 From: Liran M <77168114+liran2000@users.noreply.github.com> Date: Tue, 25 May 2021 09:50:22 +0300 Subject: [PATCH 232/533] Adding commons-networking (#925) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4dd0ae88..bbb30c90 100644 --- a/README.md +++ b/README.md @@ -719,6 +719,7 @@ _Libraries that specialize in processing text._ _Libraries for building network servers._ +- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. - [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. - [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. From af2e112f9608b3975b67a5a47462ce40dd0d2f43 Mon Sep 17 00:00:00 2001 From: Muhammad Hewedy Date: Tue, 25 May 2021 10:09:59 +0300 Subject: [PATCH 233/533] Add spring data jpa mongodb expressions (#931) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bbb30c90..643f97f2 100644 --- a/README.md +++ b/README.md @@ -282,6 +282,7 @@ _Everything that simplifies interactions with the database._ - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. +- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. - [Trino](https://trino.io) - Distributed SQL query engine for big data. - [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. From 036c2ceb41be201746629331981a153626ee965d Mon Sep 17 00:00:00 2001 From: heldev Date: Fri, 18 Jun 2021 11:24:41 -0400 Subject: [PATCH 234/533] Add Recaf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 643f97f2..0aede4e7 100644 --- a/README.md +++ b/README.md @@ -494,6 +494,7 @@ _Integrated development environments that try to simplify several aspects of dev - [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. +- [Recaf](https://www.coley.software/Recaf/) - Bytecode editor. - [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. ### Imagery From 52f15e789792ba52c4a9bfd6c4917f9cfb160473 Mon Sep 17 00:00:00 2001 From: heldev Date: Mon, 26 Jul 2021 14:09:13 -0400 Subject: [PATCH 235/533] Add Java Diff Utils (#942) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0aede4e7..c543b475 100644 --- a/README.md +++ b/README.md @@ -1075,6 +1075,7 @@ _Libraries which provide general utility functions._ - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - [JADE](http://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. From c20e0919148f74cfc32a4e674c481727b00f52ee Mon Sep 17 00:00:00 2001 From: h908714124 Date: Mon, 26 Jul 2021 20:09:30 +0200 Subject: [PATCH 236/533] Update jbock (#941) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c543b475..5856d6db 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ _Libraries for everything related to the CLI._ - [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. - [Java ASCII Render](https://github.com/indvd00m/java-ascii-render) - Graphical primitives for the console. - [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. -- [jbock](https://github.com/h908714124/jbock) - Typesafe, reflection-free, annotation based command-line parser. +- [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. - [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. - [JOpt Simple](https://jopt-simple.github.io/jopt-simple/) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. From f7e19121bb839e871e0579bfa4583e6fd5c204c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Traumat?= Date: Wed, 8 Sep 2021 10:11:02 +0200 Subject: [PATCH 237/533] Adding cassandre (#944) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5856d6db..27069be6 100644 --- a/README.md +++ b/README.md @@ -387,6 +387,7 @@ _Libraries that assist with processing office document formats._ _Libraries related to the financial domain._ +- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. - [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. - [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. - [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. From 4e694d450068d992f59f8e83bdaa1235272f8462 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 8 Sep 2021 11:13:35 +0300 Subject: [PATCH 238/533] Add m2cgen (#945) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27069be6..3327b921 100644 --- a/README.md +++ b/README.md @@ -596,6 +596,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. - [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. - [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. From 6b49ddecc20e2c1c0a76e02d244549421966121d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20W=C3=B3jcik?= Date: Wed, 8 Sep 2021 10:17:47 +0200 Subject: [PATCH 239/533] Add JObfuscator (#947) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3327b921..9fa020b0 100644 --- a/README.md +++ b/README.md @@ -669,6 +669,7 @@ _Everything else._ - [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. - [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. +- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. ### Mobile Development From 5228334943a6d8033ff89b8e5baf9e280a5e216b Mon Sep 17 00:00:00 2001 From: godshang Date: Wed, 8 Sep 2021 16:18:25 +0800 Subject: [PATCH 240/533] Add flowable (#948) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fa020b0..ce14ba76 100644 --- a/README.md +++ b/README.md @@ -1125,6 +1125,7 @@ _Frameworks that handle the communication between the layers of a web applicatio ### Workflow Orchestration Engines - [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. +- [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. - [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. ## Resources From 9de6ea4a8a98de1c73de8f52fcc9084d2398ec1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hakan=20Alt=C4=B1nda=C4=9F?= Date: Wed, 8 Sep 2021 01:20:37 -0700 Subject: [PATCH 241/533] Added ConsoleCaptor (#949) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ce14ba76..bc2baf8c 100644 --- a/README.md +++ b/README.md @@ -1046,6 +1046,7 @@ _Libraries that provide custom matchers._ _Other stuff related to testing._ +- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. - [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. From 19e158e6a5c38001b95abb89bb0fb6ebe0df7b10 Mon Sep 17 00:00:00 2001 From: Jordan Zimmerman Date: Fri, 15 Oct 2021 09:18:46 +0100 Subject: [PATCH 242/533] Add Record-Builder to Code Generators section (#953) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bc2baf8c..45633460 100644 --- a/README.md +++ b/README.md @@ -188,6 +188,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [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. - [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. ### Compiler-compiler From c7f1f4a36296da6720d69a0b342f96189faecefa Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 15 Oct 2021 10:20:52 +0200 Subject: [PATCH 243/533] Update README.md (#952) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 45633460..b269d4e3 100644 --- a/README.md +++ b/README.md @@ -1204,7 +1204,7 @@ _Active accounts to follow. Descriptions from Twitter._ - [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, JUG.ch co-leader, Founder and CEO Data Geekery (jOOQ). +- [Lukas Eder](https://twitter.com/lukaseder) - 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. From 0040fa1890eb144ee36d517b6fee4607a81db668 Mon Sep 17 00:00:00 2001 From: Maciej Walkowiak Date: Mon, 8 Nov 2021 10:36:00 +0100 Subject: [PATCH 244/533] Fix ArangoDB (#959) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b269d4e3..abb7f06d 100644 --- a/README.md +++ b/README.md @@ -263,7 +263,7 @@ _Everything that simplifies interactions with the database._ - [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. - [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. -- [AranoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. +- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. - [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. From c5015e7e3ef8835c4a0222bbd2e3164541ac24ff Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Mon, 8 Nov 2021 18:36:21 +0900 Subject: [PATCH 245/533] Make JObfuscator alphabetically ordered (#958) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index abb7f06d..109c7f49 100644 --- a/README.md +++ b/README.md @@ -652,6 +652,7 @@ _Everything else._ - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. +- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. - [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. - [JPad](http://jpad.io) - Snippet runner. - [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. @@ -670,7 +671,6 @@ _Everything else._ - [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. - [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. -- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. ### Mobile Development From a2442ac0f473e2f66208de4a925c2ff3bf9d39fc Mon Sep 17 00:00:00 2001 From: Maciej Walkowiak Date: Mon, 8 Nov 2021 10:44:44 +0100 Subject: [PATCH 246/533] Add Sentry Java SDK (#960) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 109c7f49..fae37f5b 100644 --- a/README.md +++ b/README.md @@ -698,6 +698,7 @@ _Tools that monitor applications in production._ - [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection. - [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. - [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. - [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. - [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. From b3248350ce908853a7bf75efe88610e6616a77b0 Mon Sep 17 00:00:00 2001 From: Peter Verhas Date: Mon, 8 Nov 2021 10:52:08 +0100 Subject: [PATCH 247/533] Add Jamal and Geci (#961) --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fae37f5b..5227d119 100644 --- a/README.md +++ b/README.md @@ -183,6 +183,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. - [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. - [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. +- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. - [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. @@ -976,7 +977,8 @@ _Tools that substitute expressions in a template._ - [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). -- [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. +- [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +- [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. - [Rocker](https://github.com/fizzed/rocker) - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. From af6085744bb9bdccca23185df2a382b2b551f947 Mon Sep 17 00:00:00 2001 From: Jean-Phi Baconnais Date: Mon, 8 Nov 2021 13:50:04 +0100 Subject: [PATCH 248/533] Add Groundbreakers (#955) --- README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5227d119..888f6f22 100644 --- a/README.md +++ b/README.md @@ -74,12 +74,12 @@ A curated list of awesome Java frameworks, libraries and software. - [Web Frameworks](#web-frameworks) - [Workflow Orchestration Engines](#workflow-orchestration-engines) - [Resources](#resources) - - [Awesome Lists](#awesome-lists) + - [Related Awesome Lists](#awesome-lists) - [Communities](#communities) - [Frontends](#frontends) - [Influential Books](#influential-books) - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [Twitter](#twitter) + - [People](#people) - [Websites](#websites) ## Projects @@ -1135,9 +1135,9 @@ _Frameworks that handle the communication between the layers of a web applicatio ## Resources -### Awesome Lists +### Related Awesome Lists -_Awesome lists related to the Java & JVM ecosystem._ +_Awesome Lists related to the Java & JVM ecosystem._ - [Awesome Annotation Processing](https://github.com/gunnarmorling/awesome-annotation-processing) - [Awesome Graal](https://github.com/neomatrix369/awesome-graal) @@ -1186,7 +1186,9 @@ _Something to look at or listen to while programming._ - [The Java Council](https://virtualjug.com/#podcast) - [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. -### Twitter +### People + +#### Twitter _Active accounts to follow. Descriptions from Twitter._ @@ -1228,6 +1230,10 @@ _Active accounts to follow. Descriptions from Twitter._ - [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._ From 6a42d2821f8e2514b6b2294af1b4eb511d725430 Mon Sep 17 00:00:00 2001 From: Bastiaan Jansen <21118262+BastiaanJansen@users.noreply.github.com> Date: Sat, 19 Feb 2022 19:28:38 +0100 Subject: [PATCH 249/533] Jwt java (#966) * added jwt-java * changed description --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 888f6f22..5c2fd5f9 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. - [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. - [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. -- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. - [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. @@ -936,6 +936,7 @@ _Libraries that handle security, authentication, authorization or session manage - [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. - [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. - [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. - [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. From d4b65da80d89bef8709ebef92bb3ac40130659e9 Mon Sep 17 00:00:00 2001 From: Andrey Oganesyan Date: Sat, 19 Feb 2022 21:29:07 +0300 Subject: [PATCH 250/533] Add JPA Buddy to Code Generators category (#965) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5c2fd5f9..9851c6ae 100644 --- a/README.md +++ b/README.md @@ -188,6 +188,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [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. - [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. From 2611685f2b071fe58dd2c90fb7b6767a03bce350 Mon Sep 17 00:00:00 2001 From: Kartik kalaghatgi Date: Sat, 19 Feb 2022 23:59:41 +0530 Subject: [PATCH 251/533] Add RR4J (#964) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9851c6ae..4a4d0c39 100644 --- a/README.md +++ b/README.md @@ -667,6 +667,7 @@ _Everything else._ - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. - [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) - [Togglz](https://www.togglz.org) - Implementation of the Feature Toggles pattern. From 1d98fba7dd4d0ca33488a2c7cb102d073ea54b90 Mon Sep 17 00:00:00 2001 From: Will Sargent Date: Mon, 14 Mar 2022 10:44:26 -0700 Subject: [PATCH 252/533] Add echopraxia (#970) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a4d0c39..231ffd8e 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,7 @@ _Current implementations of the JVM/JDK._ _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. - [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. From 04524b1c9ad09996d452a22641f8c16fa39b12f7 Mon Sep 17 00:00:00 2001 From: pswu11 Date: Tue, 15 Mar 2022 11:45:39 +0100 Subject: [PATCH 253/533] Add questdb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 231ffd8e..f16ba68d 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ _Everything that simplifies interactions with the database._ - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. - [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. - [Trino](https://trino.io) - Distributed SQL query engine for big data. +- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. - [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. From 266e665e6e656a4d9460a5052a04054f701e0d38 Mon Sep 17 00:00:00 2001 From: SuperPat <7791600+SuperPat45@users.noreply.github.com> Date: Tue, 15 Mar 2022 11:47:58 +0100 Subject: [PATCH 254/533] Add Jollyday --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f16ba68d..4af649f6 100644 --- a/README.md +++ b/README.md @@ -303,6 +303,7 @@ _Libraries related to handling date and time._ - [Almanac Converter](https://github.com/chrisengelsma/almanac-converter) - Simple conversion between different calendar systems. - [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. +- [Jollyday](http://jollyday.sourceforge.net) - Determines the holidays for a given year, country/name and eventually state/region. - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. - [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) From 3d545a9f9ce0cb3f46d35396d89c29c054169ac8 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 4 May 2022 16:45:01 +0200 Subject: [PATCH 255/533] Remove Sourcetrail Discontinued --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4af649f6..abc07b03 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,6 @@ _Tools that provide metrics and quality measurements._ - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) -- [Sourcetrail](https://www.sourcetrail.com) - Visual source code navigator. - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. - [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) From f202c2a4eba57c8813477db487521b65a691d819 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 5 May 2022 04:59:32 +0900 Subject: [PATCH 256/533] Update link to Jollyday --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index abc07b03..971525e9 100644 --- a/README.md +++ b/README.md @@ -302,7 +302,7 @@ _Libraries related to handling date and time._ - [Almanac Converter](https://github.com/chrisengelsma/almanac-converter) - Simple conversion between different calendar systems. - [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -- [Jollyday](http://jollyday.sourceforge.net) - Determines the holidays for a given year, country/name and eventually state/region. +- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. - [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) From 41dae37e978903216c02ac8b19736e3e5f3ec389 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Wed, 4 May 2022 23:02:06 +0300 Subject: [PATCH 257/533] Added 140 second ducklings (#975) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 971525e9..d92ce564 100644 --- a/README.md +++ b/README.md @@ -1185,6 +1185,7 @@ _Books that made a big impact and are still worth reading._ _Something to look at or listen to while programming._ +- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219?s=20&t=pJat2j-HN-iRfY3CY5f6qQ) - Short videos on Twitter explaining Java debugging in depth. - [A Bootiful Podcast](https://bootifulpodcast.fm) - [Inside Java](https://inside.java/podcast) (Official) - [Java Off Heap](http://www.javaoffheap.com) From 77a52ad83927f68ddda33c9f1237be576d6f9a1c Mon Sep 17 00:00:00 2001 From: Joel Jeremy Marquez Date: Sat, 14 May 2022 15:55:18 +0800 Subject: [PATCH 258/533] Add Externalized Properties --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d92ce564..18328963 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ _Libraries that provide external configuration._ - [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - [Configurate](https://github.com/SpongePowered/Configurate) - Configuration library with support for various configuration formats and transformations. - [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files. +- [Externalized Properties](https://github.com/joeljeremy7/externalized-properties) - Lightweight but powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. - [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 distributed. From fe8effd106ec45f14e11bd9cee828dd4b096300c Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 14 May 2022 16:55:37 +0900 Subject: [PATCH 259/533] Clean URL for "140 Second Ducklings" entry (#980) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 18328963..8e0640fc 100644 --- a/README.md +++ b/README.md @@ -1186,7 +1186,7 @@ _Books that made a big impact and are still worth reading._ _Something to look at or listen to while programming._ -- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219?s=20&t=pJat2j-HN-iRfY3CY5f6qQ) - Short videos on Twitter explaining Java debugging in depth. +- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. - [A Bootiful Podcast](https://bootifulpodcast.fm) - [Inside Java](https://inside.java/podcast) (Official) - [Java Off Heap](http://www.javaoffheap.com) From e25796666c96ec1dcc5f896679b0dab0890c0548 Mon Sep 17 00:00:00 2001 From: Steve Hannah Date: Sat, 14 May 2022 03:29:50 -0700 Subject: [PATCH 260/533] Add jDeploy (#973) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e0640fc..faa4eaac 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ _Tools that handle the distribution of applications in native formats._ - [Getdown](https://github.com/threerings/getdown) - A system for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. - [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, Mac OS X or GNU/Linux executables, and generate installers for them. +- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. - [jlink.online](https://github.com/cilki/jlink.online) - Builds optimized runtimes over HTTP. - [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. From 0f4d4910899e8a16a3d2fce516095b4d25f2252d Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 14 May 2022 19:30:27 +0900 Subject: [PATCH 261/533] Sort "Database" section alphabetically (#971) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index faa4eaac..b1c063cc 100644 --- a/README.md +++ b/README.md @@ -285,15 +285,15 @@ _Everything that simplifies interactions with the database._ - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. -- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. -- [Trino](https://trino.io) - Distributed SQL query engine for big data. -- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. -- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. +- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. +- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. - [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. - [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. +- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. +- [Trino](https://trino.io) - Distributed SQL query engine for big data. - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. - [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. From fb99229658ae6626300bcdb6d4e879659277c087 Mon Sep 17 00:00:00 2001 From: idelac Date: Wed, 31 Aug 2022 19:52:40 +0200 Subject: [PATCH 262/533] Add LittleProxy (#1001) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b1c063cc..8ae35d95 100644 --- a/README.md +++ b/README.md @@ -665,6 +665,7 @@ _Everything else._ - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. +- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. - [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. From ddc0db10a5c607edaafe0b855083e5d94608555d Mon Sep 17 00:00:00 2001 From: noctarius aka Christoph Engelbert Date: Wed, 31 Aug 2022 19:53:50 +0200 Subject: [PATCH 263/533] Add Chris Engelbert (#1000) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ae35d95..e6d14171 100644 --- a/README.md +++ b/README.md @@ -1207,6 +1207,7 @@ _Active accounts to follow. Descriptions from Twitter._ - [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. - [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. - [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. From 7d8bd267c96b52f0b00b32e550f6953e81ee8ef4 Mon Sep 17 00:00:00 2001 From: ManuInDenWolken <53400512+ManuInDenWolken@users.noreply.github.com> Date: Wed, 31 Aug 2022 20:06:55 +0200 Subject: [PATCH 264/533] Update editorconfig (#995) --- .editorconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/.editorconfig b/.editorconfig index 2c0e19c8..3692b3d7 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,3 +7,4 @@ charset = utf-8 indent_style = space indent_size = 2 trim_trailing_whitespace = true +max_line_length = off From 84e093b9631e7f7c24df02646ef861d210bf6ce2 Mon Sep 17 00:00:00 2001 From: Abbas Gadhia Date: Sat, 22 Oct 2022 15:14:06 +0530 Subject: [PATCH 265/533] Add mockneat (#1008) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e6d14171..04bc89e7 100644 --- a/README.md +++ b/README.md @@ -1029,6 +1029,7 @@ _Everything related to the creation and handling of random data._ - [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. - [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. +- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. #### Frameworks From 600d51a363b7a254403660063326948c4411183a Mon Sep 17 00:00:00 2001 From: Peter Thaleikis Date: Sat, 22 Oct 2022 11:44:40 +0200 Subject: [PATCH 266/533] Fix typos (#1007) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 04bc89e7..297b5ec9 100644 --- a/README.md +++ b/README.md @@ -474,14 +474,14 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ -- [Apache HttpComponents](https://hc.apache.org/) - A toolset of low level Java components focused on HTTP and associated protocols. +- [Apache HttpComponents](https://hc.apache.org/) - A toolset of low-level Java components focused on HTTP and associated protocols. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. - [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. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. - [restQL-java](https://github.com/b2wdigital/restQL-java) - Microservice query language that fetches information from multiple services. - [Retrofit](https://square.github.io/retrofit/) - Typesafe REST client. -- [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in cloud. +- [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in the cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. - [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. From 91bc67d0eeb0dde0ca1d86b528baa37cb4c708d5 Mon Sep 17 00:00:00 2001 From: Joel Jeremy Marquez Date: Sat, 22 Oct 2022 17:47:03 +0800 Subject: [PATCH 267/533] Add Deezpatch (#1006) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 297b5ec9..a401ebd9 100644 --- a/README.md +++ b/README.md @@ -622,6 +622,7 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. - [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. - [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +- [Deezpatch](https://github.com/joeljeremy7/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. From 3006684381e4ac44cb56c874e277cdd44d2dbdad Mon Sep 17 00:00:00 2001 From: Ivan Perzhinsky <94743980+xzripper@users.noreply.github.com> Date: Sat, 22 Oct 2022 11:49:40 +0200 Subject: [PATCH 268/533] Add Void2D (#1005) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a401ebd9..e0d7d435 100644 --- a/README.md +++ b/README.md @@ -436,6 +436,7 @@ _Frameworks that support the development of games._ - [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. - [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. ### Geospatial From e21d11b1744cd081f24be094cc7942e545179127 Mon Sep 17 00:00:00 2001 From: Mitsunori Komatsu Date: Sat, 22 Oct 2022 18:50:34 +0900 Subject: [PATCH 269/533] Add Fluency (#1004) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0d7d435..b3635b09 100644 --- a/README.md +++ b/README.md @@ -750,6 +750,7 @@ _Libraries for building network servers._ - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) - [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +- [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. ### ORM From a1a0062e029ad01761f08e3afad95bfd35a301a9 Mon Sep 17 00:00:00 2001 From: Matt Date: Sat, 22 Oct 2022 05:52:07 -0400 Subject: [PATCH 270/533] Move Recaf from IDE to Bytecode Manipulation section (#1003) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b3635b09..f129e278 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,7 @@ _Libraries to manipulate bytecode programmatically._ - [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. - [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. - [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. +- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. ### Caching @@ -502,7 +503,6 @@ _Integrated development environments that try to simplify several aspects of dev - [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. -- [Recaf](https://www.coley.software/Recaf/) - Bytecode editor. - [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. ### Imagery From b02432b5fa41a4aeebbcead393d2ec844244e9a1 Mon Sep 17 00:00:00 2001 From: "Oliver B. Fischer" Date: Sat, 22 Oct 2022 11:54:36 +0200 Subject: [PATCH 271/533] Add Passay (#997) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f129e278..719656da 100644 --- a/README.md +++ b/README.md @@ -955,6 +955,7 @@ _Libraries that handle security, authentication, authorization or session manage - [OACC](http://oaccframework.org) - Provides permission-based authorization services. - [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - [pac4j](https://github.com/pac4j/pac4j) - Security engine. +- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. - [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. From 712fc3eb9016e0a83fbc348c0b4c6dc70e7dbf87 Mon Sep 17 00:00:00 2001 From: ManuInDenWolken <53400512+ManuInDenWolken@users.noreply.github.com> Date: Sat, 22 Oct 2022 11:56:57 +0200 Subject: [PATCH 272/533] Add Javalin (#988) Re-added Javalin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 719656da..0241efd1 100644 --- a/README.md +++ b/README.md @@ -1131,6 +1131,7 @@ _Frameworks that handle the communication between the layers of a web applicatio - [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. - [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. - [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. +- [Javalin](https://javalin.io/) - Microframework for web applications. - [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. - [Ninja](http://www.ninjaframework.org) - Full-stack web framework. - [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. From 777d35c9fd9934fdde3a7ecfe4b93d0c66ce8893 Mon Sep 17 00:00:00 2001 From: ManuInDenWolken <53400512+ManuInDenWolken@users.noreply.github.com> Date: Sat, 22 Oct 2022 11:59:49 +0200 Subject: [PATCH 273/533] Add Curator Framework (#994) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0241efd1..2f8a9560 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ _Libraries that provide external configuration._ - [cfg4j](https://github.com/cfg4j/cfg4j) - Modern configuration library for distributed apps written in Java. - [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - [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/joeljeremy7/externalized-properties) - Lightweight but powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. - [ini4j](http://ini4j.sourceforge.net) - Provides an API for handling Windows' INI files. From 83b903a6c4013534d271bb574d9f35098025b2e0 Mon Sep 17 00:00:00 2001 From: Ken Ruf Date: Sat, 3 Dec 2022 05:50:53 -0600 Subject: [PATCH 274/533] Add Svix (#1023) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2f8a9560..8271046e 100644 --- a/README.md +++ b/README.md @@ -678,6 +678,7 @@ _Everything else._ - [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. - [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) +- [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. - [XMLBeam](https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code. From dc04bd71cd8da26c0767c433a285ddf5aa37c861 Mon Sep 17 00:00:00 2001 From: Jesper Skov Date: Sat, 3 Dec 2022 12:56:45 +0100 Subject: [PATCH 275/533] Add jstacio (#1018) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8271046e..ba65d470 100644 --- a/README.md +++ b/README.md @@ -992,6 +992,7 @@ _Tools that substitute expressions in a template._ - [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +- [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. From 1fd18a23c11767c13aebb19e6dcc763bd7bd0aa0 Mon Sep 17 00:00:00 2001 From: Joel Jeremy Marquez Date: Sat, 3 Dec 2022 19:58:12 +0800 Subject: [PATCH 276/533] Fix joel-jeremy's repositories (#1017) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ba65d470..d3420c90 100644 --- a/README.md +++ b/README.md @@ -219,7 +219,7 @@ _Libraries that provide external configuration._ - [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/joeljeremy7/externalized-properties) - Lightweight but powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. +- [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. - [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 distributed. @@ -624,7 +624,7 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. - [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. - [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. -- [Deezpatch](https://github.com/joeljeremy7/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. +- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. From 101b4c5d6f24572f96e306583134c11045510271 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Sat, 3 Dec 2022 20:04:10 +0800 Subject: [PATCH 277/533] Add HertzBeat (#1015) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3420c90..8ca58695 100644 --- a/README.md +++ b/README.md @@ -699,6 +699,7 @@ _Tools that monitor applications in production._ - [Automon](https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools. - [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - [Glowroot](https://glowroot.org) - Open-source Java APM. +- [HertzBeat](https://github.com/dromara/hertzbeat) - Real-time monitoring system with custom-monitor and agentless. - [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. - [JavaMelody](https://github.com/javamelody/javamelody) - Performance monitoring and profiling. From 591c474bd642a6404a154b656856af39f721814a Mon Sep 17 00:00:00 2001 From: cleopatra douglas Date: Mon, 23 Jan 2023 00:43:20 -0800 Subject: [PATCH 278/533] Add chocotea (#1032) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ca58695..07b5b421 100644 --- a/README.md +++ b/README.md @@ -1093,6 +1093,7 @@ _Libraries which provide general utility functions._ - [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. +- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. - [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. From b2145434b65a9530e7deb19e145612cc5bae2d4d Mon Sep 17 00:00:00 2001 From: AnAverageBeing <84959276+AnAverageBeing@users.noreply.github.com> Date: Mon, 23 Jan 2023 14:16:38 +0530 Subject: [PATCH 279/533] Add Head First Java (#1031) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 07b5b421..2a4a5bb5 100644 --- a/README.md +++ b/README.md @@ -1194,6 +1194,7 @@ _Books that made a big impact and are still worth reading._ - [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) - [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) - [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) +- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) ### Podcasts and Screencasts From ad9cdf4c4dd38958ae9530c0ef37d54db5e628ea Mon Sep 17 00:00:00 2001 From: Daniel Flassak Date: Mon, 23 Jan 2023 09:49:00 +0100 Subject: [PATCH 280/533] Add log-capture (#1030) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2a4a5bb5..a063af95 100644 --- a/README.md +++ b/README.md @@ -1070,6 +1070,7 @@ _Other stuff related to testing._ - [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. - [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. +- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [raml-tester](https://github.com/nidi3/raml-tester) - Tests if a request/response matches a given RAML definition. - [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. From 0a9e20ab447dc019f4c55b292d878617787fa429 Mon Sep 17 00:00:00 2001 From: Patrice Duroux Date: Mon, 23 Jan 2023 09:54:23 +0100 Subject: [PATCH 281/533] Add HSQLDB (#1026) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a063af95..1a2f6d9f 100644 --- a/README.md +++ b/README.md @@ -276,6 +276,7 @@ _Everything that simplifies interactions with the database._ - [Flyway](https://flywaydb.org) - Simple database migration tool. - [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. - [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. +- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. - [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. - [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. - [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. @@ -918,7 +919,7 @@ _Libraries for scientific computing, analysis and visualization._ - [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. - [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. -- [DataMelt](https://jwork.org/dmelt/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) +- [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. - [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. - [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) From d210d725aa45a248db768c91c0e442f5fc4b4cbe Mon Sep 17 00:00:00 2001 From: Dmitry Afanasyev Date: Mon, 23 Jan 2023 11:55:17 +0300 Subject: [PATCH 282/533] Fix Tail (#1025) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a2f6d9f..be33c65a 100644 --- a/README.md +++ b/README.md @@ -335,7 +335,7 @@ _Augmentation of the development process at a fundamental level._ - [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -- [Tail](https://kag0.github.io/tail) - Enable infinite recursion using tail call optimization. +- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. ### Distributed Applications From 04ee3ec6a159f5a0065477370028dc8847f1c243 Mon Sep 17 00:00:00 2001 From: Jorge Montes Date: Mon, 23 Jan 2023 03:55:49 -0500 Subject: [PATCH 283/533] Add Foojay Podcast (#1024) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index be33c65a..888a08f1 100644 --- a/README.md +++ b/README.md @@ -1208,6 +1208,7 @@ _Something to look at or listen to while programming._ - [Java Off Heap](http://www.javaoffheap.com) - [The Java Council](https://virtualjug.com/#podcast) - [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. +- [Friends of OpenJDK](https://foojay.io/) ### People From efd854a230a67ac5362cb03e9f1e6419ee08b4d0 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 23 Jan 2023 21:03:26 +0100 Subject: [PATCH 284/533] Update README.md --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 888a08f1..c522819e 100644 --- a/README.md +++ b/README.md @@ -276,7 +276,7 @@ _Everything that simplifies interactions with the database._ - [Flyway](https://flywaydb.org) - Simple database migration tool. - [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. - [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. -- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. +- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. - [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. - [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. - [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. @@ -516,7 +516,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica - [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. Can be used for automation qa tests. +- [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. ### Introspection @@ -644,8 +644,12 @@ _Tools for creating and managing microservices._ - [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. - [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. +- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. +- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. +- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. - [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. - [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. @@ -653,6 +657,7 @@ _Tools for creating and managing microservices._ _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. @@ -947,6 +952,7 @@ _Libraries that handle security, authentication, authorization or session manage - [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. - [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. - [jjwt](https://github.com/jwtk/jjwt) - JSON web token for Java and Android. From a07e7e33df5c7eeae29f328da7d62037d4406249 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Mon, 30 Jan 2023 19:53:38 +0900 Subject: [PATCH 285/533] Update "Friends of OpenJDK" entry to be more specific (#1036) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c522819e..9b5e79d5 100644 --- a/README.md +++ b/README.md @@ -1210,11 +1210,11 @@ _Something to look at or listen to while programming._ - [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. - [A Bootiful Podcast](https://bootifulpodcast.fm) +- [Foojay Podcast](https://foojay.io/today/category/podcast/) - [Inside Java](https://inside.java/podcast) (Official) - [Java Off Heap](http://www.javaoffheap.com) - [The Java Council](https://virtualjug.com/#podcast) - [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. -- [Friends of OpenJDK](https://foojay.io/) ### People From d4d0c168e6ed7db6a8d2eaf5fb5d6d5e2f7608a2 Mon Sep 17 00:00:00 2001 From: Ahmad Albarqawi Date: Mon, 30 Jan 2023 10:55:24 +0000 Subject: [PATCH 286/533] Add Intelligent Java (#1034) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9b5e79d5..733a6999 100644 --- a/README.md +++ b/README.md @@ -605,6 +605,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. - [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. - [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. +- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. - [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. From 683933f679bbd217ec0fb08169f31c1c6773d457 Mon Sep 17 00:00:00 2001 From: ManuInDenWolken <53400512+ManuInDenWolken@users.noreply.github.com> Date: Mon, 30 Jan 2023 12:10:30 +0100 Subject: [PATCH 287/533] Add Lettuce (#987) --- .gitattributes | 1 + README.md | 1 + 2 files changed, 2 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..fcadb2cf --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text eol=lf diff --git a/README.md b/README.md index 733a6999..660e2c06 100644 --- a/README.md +++ b/README.md @@ -284,6 +284,7 @@ _Everything that simplifies interactions with the database._ - [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). - [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. - [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. +- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. - [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. From 13cc1c63599647d47673ab0a050d5dec375784c5 Mon Sep 17 00:00:00 2001 From: Pacifica-Git <81634711+Pacifica-Git@users.noreply.github.com> Date: Mon, 30 Jan 2023 19:15:50 +0800 Subject: [PATCH 288/533] Add p3c (#998) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 660e2c06..05e1f54c 100644 --- a/README.md +++ b/README.md @@ -163,10 +163,12 @@ _Tools that provide metrics and quality measurements._ - [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. +- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. - [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) + ### Code Coverage _Frameworks and tools that enable code coverage metrics collection for test suites._ From 7b6be5695cef101344af6a36d907f1d4880faff7 Mon Sep 17 00:00:00 2001 From: Jelmer Borst Date: Mon, 30 Jan 2023 12:16:45 +0100 Subject: [PATCH 289/533] Add Error Prone Support (#1012) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05e1f54c..6a33da38 100644 --- a/README.md +++ b/README.md @@ -159,6 +159,7 @@ _Tools that provide metrics and quality measurements._ - [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) - [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. +- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. - [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. From bbcaa13f3382fa76b27b25ef875cbef7c117d225 Mon Sep 17 00:00:00 2001 From: Arman Sharif Date: Mon, 13 Feb 2023 01:35:44 -0800 Subject: [PATCH 290/533] Add Instancio (#1039) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a33da38..9f141d6d 100644 --- a/README.md +++ b/README.md @@ -1047,6 +1047,7 @@ _Everything related to the creation and handling of random data._ - [Beanmother](https://github.com/keepcosmos/beanmother) - Sets up beans from YAML fixtures. - [Fixture Factory](https://github.com/six2six/fixture-factory) - Generates fake objects from a template. - [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. +- [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. - [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. - [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. From 3cda26684337677ad97163b77edf2c4ca4c84ca7 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Mon, 13 Feb 2023 18:36:53 +0900 Subject: [PATCH 291/533] Add "JsonUnit" entry to "Matchers" section (#985) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f141d6d..bd70017f 100644 --- a/README.md +++ b/README.md @@ -1073,6 +1073,7 @@ _Libraries that provide custom matchers._ - [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. - [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. - [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. +- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. - [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. From 87f8ab28a225fdafe708e7e06ef5ebaf326b17a4 Mon Sep 17 00:00:00 2001 From: Mykola Golubyev Date: Mon, 20 Feb 2023 05:12:21 -0500 Subject: [PATCH 292/533] Add WebTau (#983) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd70017f..ca8474d9 100644 --- a/README.md +++ b/README.md @@ -1027,6 +1027,7 @@ _Tools that simplify testing asynchronous services._ - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. +- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. #### BDD From 751c2a3e1f72b9ac2bdd42f137c25595d05863be Mon Sep 17 00:00:00 2001 From: SooStrator <49093091+SooStrator1136@users.noreply.github.com> Date: Mon, 20 Feb 2023 11:13:14 +0100 Subject: [PATCH 293/533] Add Maker (#984) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ca8474d9..748f88db 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,7 @@ _Libraries to manipulate bytecode programmatically._ - [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) - [cglib](https://github.com/cglib/cglib) - Bytecode generation library. - [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. +- [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. - [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. - [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. - [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. From 8b98acd63ae33e0d8ae8bc413284ef38795aee0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E7=A7=B0?= Date: Sun, 26 Feb 2023 19:55:37 +0800 Subject: [PATCH 294/533] Add Hippo4j (#1042) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 748f88db..0a1df49b 100644 --- a/README.md +++ b/README.md @@ -728,6 +728,7 @@ _Tools that monitor applications in production._ - [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. - [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. - [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +- [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) - Dynamic and observable thread pool framework. ### Native From 790b3d9fcf5e0b5c5205f05afd4509a586de4c8e Mon Sep 17 00:00:00 2001 From: Ahoo Wang Date: Sat, 3 Jun 2023 19:01:20 +0800 Subject: [PATCH 295/533] Add CosId (#1051) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a1df49b..02770dc8 100644 --- a/README.md +++ b/README.md @@ -304,6 +304,7 @@ _Everything that simplifies interactions with the database._ - [Trino](https://trino.io) - Distributed SQL query engine for big data. - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. - [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. +- [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. ### Date and Time From b4557f6e847438b371793df3f4d075d96510c2ef Mon Sep 17 00:00:00 2001 From: Roland Weisleder Date: Thu, 27 Jul 2023 12:56:58 +0200 Subject: [PATCH 296/533] Add jOOX (#1059) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02770dc8..6c535f04 100644 --- a/README.md +++ b/README.md @@ -676,6 +676,7 @@ _Everything else._ - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. - [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. +- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - [JPad](http://jpad.io) - Snippet runner. - [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. From 1193a85e9219a4f172fe8a389acbb3b4aaba396a Mon Sep 17 00:00:00 2001 From: Thorben Stangenberg Date: Thu, 27 Jul 2023 12:59:02 +0200 Subject: [PATCH 297/533] Remove restQL-java --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6c535f04..65e64279 100644 --- a/README.md +++ b/README.md @@ -489,7 +489,6 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [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. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. -- [restQL-java](https://github.com/b2wdigital/restQL-java) - Microservice query language that fetches information from multiple services. - [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. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. From 501b800911257b3136b3b5b4ad233aacf775ae92 Mon Sep 17 00:00:00 2001 From: Noa Shavit <46575232+noashavit@users.noreply.github.com> Date: Thu, 27 Jul 2023 03:59:16 -0700 Subject: [PATCH 298/533] Add Topaz OSS authorization (#1058) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65e64279..e048c6f7 100644 --- a/README.md +++ b/README.md @@ -979,6 +979,7 @@ _Libraries that handle security, authentication, authorization or session manage - [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. - [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. ### Serialization From bb91b9543b7b0e69088e4449b96bcdbdaf3aa094 Mon Sep 17 00:00:00 2001 From: Thorben Stangenberg Date: Thu, 27 Jul 2023 13:03:23 +0200 Subject: [PATCH 299/533] Update link to jlink.online (#1056) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e048c6f7..ec4d1053 100644 --- a/README.md +++ b/README.md @@ -383,7 +383,7 @@ _Tools that handle the distribution of applications in native formats._ - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. - [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, Mac OS X or GNU/Linux executables, and generate installers for them. - [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. -- [jlink.online](https://github.com/cilki/jlink.online) - Builds optimized runtimes over HTTP. +- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. - [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. From 42a762d136ffcee58693953433cfcced21850f75 Mon Sep 17 00:00:00 2001 From: Thorben Stangenberg Date: Thu, 27 Jul 2023 13:04:00 +0200 Subject: [PATCH 300/533] Remove almanac-converter (#1055) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ec4d1053..10468723 100644 --- a/README.md +++ b/README.md @@ -310,7 +310,6 @@ _Everything that simplifies interactions with the database._ _Libraries related to handling date and time._ -- [Almanac Converter](https://github.com/chrisengelsma/almanac-converter) - Simple conversion between different calendar systems. - [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. - [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. From 7f69fc9d8d2ac1a65a929d868a59078a85104886 Mon Sep 17 00:00:00 2001 From: Jim Bethancourt Date: Thu, 27 Jul 2023 06:04:29 -0500 Subject: [PATCH 301/533] Add RefactorFirst (#1054) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 10468723..0c667e4a 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,7 @@ _Tools that provide metrics and quality measurements._ - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. - [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. - [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) From 6574abfd0b96aeb5d8d7abd32ab58fc225af37a1 Mon Sep 17 00:00:00 2001 From: Geoffrey De Smet Date: Thu, 27 Jul 2023 15:40:49 +0200 Subject: [PATCH 302/533] Add Timefold (#1052) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0c667e4a..d5a14728 100644 --- a/README.md +++ b/README.md @@ -237,6 +237,7 @@ _Libraries that help with implementing optimization and satisfiability problems. - [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) - [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. +- [Timefold](https://github.com/TimefoldAI/timefold-solver) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. ### CSV From 055fc500f0bc700e65eff5720fd6ecaee96f9e04 Mon Sep 17 00:00:00 2001 From: Alexandru Cojocaru Date: Thu, 27 Jul 2023 15:45:32 +0200 Subject: [PATCH 303/533] Add Java Weekly (#1045) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d5a14728..42224f3d 100644 --- a/README.md +++ b/README.md @@ -1298,6 +1298,7 @@ _Sites to read._ - [TheServerSide.com](http://www.theserverside.com) - [Vanilla Java](https://vanilla-java.github.io) - [Voxxed](https://www.voxxed.com) +- [Java Weekly](https://discu.eu/weekly/java/) ## Contributing From 2f06ce9e4d2e9d06d5c2a5913c2d90f3b098690e Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Fri, 28 Jul 2023 10:10:00 -0400 Subject: [PATCH 304/533] Add Avaje libraries (#1053) --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 42224f3d..190d03c6 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. +- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. - [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. - [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. - [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. @@ -218,6 +219,7 @@ _Libraries which seek to gain high level information from images and videos._ _Libraries that provide external configuration._ +- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. - [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - [cfg4j](https://github.com/cfg4j/cfg4j) - Modern configuration library for distributed apps written in Java. - [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. @@ -322,6 +324,7 @@ _Libraries related to handling date and time._ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ - [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. +- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. - [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. - [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. @@ -487,6 +490,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [Apache HttpComponents](https://hc.apache.org/) - A toolset of low-level Java components focused on HTTP and associated protocols. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. +- [Avaje Http Client](https://avaje.io/http-client) - A 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. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. @@ -551,6 +555,7 @@ _Libraries for scheduling background jobs._ _Libraries for serializing and deserializing JSON to and from Java objects._ +- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. - [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. - [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. - [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. From bf8b247979aaf199efb14a4151db584d1965ee55 Mon Sep 17 00:00:00 2001 From: Maxim Thomas Date: Fri, 28 Jul 2023 17:12:40 +0300 Subject: [PATCH 305/533] Add Open Identity Platform Community projects. (#1043) --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 190d03c6..c96ea120 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,7 @@ _Everything that simplifies interactions with the database._ - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. +- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. - [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. - [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. @@ -362,6 +363,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. - [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. - [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. +- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. - [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. - [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. @@ -977,6 +979,7 @@ _Libraries that handle security, authentication, authorization or session manage - [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. - [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. - [OACC](http://oaccframework.org) - Provides permission-based authorization services. +- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. - [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. From 7d3028f93e7c5af846000f3e64dfb625c3c28144 Mon Sep 17 00:00:00 2001 From: Mariano Barrios Date: Sat, 28 Oct 2023 10:05:58 +0200 Subject: [PATCH 306/533] Add dregex (#1077) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c96ea120..c95de8a0 100644 --- a/README.md +++ b/README.md @@ -1125,6 +1125,7 @@ _Libraries which provide general utility functions._ - [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. - [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. +- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) From 4583899b5ddf4c87163c4f855ce811c5b6a9a621 Mon Sep 17 00:00:00 2001 From: Shawn Date: Sat, 28 Oct 2023 16:07:10 +0800 Subject: [PATCH 307/533] Add fury (#1076) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c95de8a0..41119f55 100644 --- a/README.md +++ b/README.md @@ -996,6 +996,7 @@ _Libraries that handle serialization with high efficiency._ - [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. - [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. +- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. - [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. - [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. - [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. From d10e93d2de82e528bc3ccc170f96bbe01e061714 Mon Sep 17 00:00:00 2001 From: Colin Redmond <34700833+credmond-git@users.noreply.github.com> Date: Sat, 28 Oct 2023 01:08:09 -0700 Subject: [PATCH 308/533] Added Gestalt remove cfg4j (#1075) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41119f55..f0813add 100644 --- a/README.md +++ b/README.md @@ -221,12 +221,12 @@ _Libraries that provide external configuration._ - [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. - [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. -- [cfg4j](https://github.com/cfg4j/cfg4j) - Modern configuration library for distributed apps written in Java. - [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - [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. - [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 distributed. From 44741b9d056f6795681b6c409ee043c97c4b3145 Mon Sep 17 00:00:00 2001 From: Erik Pragt Date: Sat, 28 Oct 2023 19:09:36 +1100 Subject: [PATCH 309/533] Add datafaker (#1074) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f0813add..f31fc8a9 100644 --- a/README.md +++ b/README.md @@ -988,7 +988,7 @@ _Libraries that handle security, authentication, authorization or session manage - [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. - [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. +- [Topaz](https://www.topaz.sh) - Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. ### Serialization @@ -1060,6 +1060,7 @@ _Testing for the software development process that emerged from TDD and was heav _Everything related to the creation and handling of random data._ - [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. - [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. - [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. From 2eff38e40ffc06906a29259f924d5f05e24c6629 Mon Sep 17 00:00:00 2001 From: Jonatan Ivanov Date: Sat, 28 Oct 2023 01:10:03 -0700 Subject: [PATCH 310/533] Rename Metrics to Dropwizard Metrics and order items (#1072) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f31fc8a9..5e802960 100644 --- a/README.md +++ b/README.md @@ -718,17 +718,18 @@ _Tools for creating or managing mobile applications._ _Tools that monitor applications in production._ - [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. - [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - [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. - [Instrumental ![c]](https://instrumentalapp.com) - Real-time Java application performance monitoring. A commercial service with free development accounts. -- [JavaMelody](https://github.com/javamelody/javamelody) - Performance monitoring and profiling. - [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. - [Jolokia](https://jolokia.org) - JMX over REST. -- [Metrics](https://github.com/dropwizard/metrics) - Expose metrics via JMX or HTTP and send them to a database. -- [Datadog ![c]](https://github.com/DataDog/dd-trace-java) - Modern monitoring & analytics. - [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Remote developer console from the browser for Java 8 via bytecode injection. - [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. @@ -737,7 +738,6 @@ _Tools that monitor applications in production._ - [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. - [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. - [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. -- [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) - Dynamic and observable thread pool framework. ### Native From 64ceb2d273324141b3b411bdb13650ffd017827d Mon Sep 17 00:00:00 2001 From: Jonatan Ivanov Date: Sat, 28 Oct 2023 01:20:00 -0700 Subject: [PATCH 311/533] Add Micrometer and Micrometer Tracing (#1073) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5e802960..7bd6cf88 100644 --- a/README.md +++ b/README.md @@ -730,6 +730,8 @@ _Tools that monitor applications in production._ - [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. - [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. - [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. From 680e3447e88bafb4aa9f4ffd29e400c0fa5c9de9 Mon Sep 17 00:00:00 2001 From: Daniel Rothmaler Date: Sat, 28 Oct 2023 13:08:35 +0200 Subject: [PATCH 312/533] Cleanup List Issues (#1067) - Regenerate TOC - Remove leading "A" from descriptions - Fix GreenMail and JADE links - Remove VirtualJUG --- README.md | 172 +++++++++++++++++++++++++++--------------------------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index 7bd6cf88..ab513718 100644 --- a/README.md +++ b/README.md @@ -4,83 +4,86 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents -- [Projects](#projects) - - [Bean Mapping](#bean-mapping) - - [Build](#build) - - [Bytecode Manipulation](#bytecode-manipulation) - - [Caching](#caching) - - [CLI](#cli) - - [Cluster Management](#cluster-management) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) -- [Resources](#resources) - - [Related Awesome Lists](#awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Websites](#websites) +- [Awesome Java ](#awesome-java-) + - [Contents](#contents) + - [Projects](#projects) + - [Bean Mapping](#bean-mapping) + - [Build](#build) + - [Bytecode Manipulation](#bytecode-manipulation) + - [Caching](#caching) + - [CLI](#cli) + - [Cluster Management](#cluster-management) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) + - [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Websites](#websites) + - [Contributing](#contributing) ## Projects @@ -171,7 +174,6 @@ _Tools that provide metrics and quality measurements._ - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. - [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) - ### Code Coverage _Frameworks and tools that enable code coverage metrics collection for test suites._ @@ -385,9 +387,9 @@ _Tools that handle the distribution of applications in native formats._ - [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. -- [Getdown](https://github.com/threerings/getdown) - A system for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, Mac OS X or GNU/Linux executables, and generate installers for them. +- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. - [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. - [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. @@ -490,9 +492,9 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ -- [Apache HttpComponents](https://hc.apache.org/) - A toolset of low-level Java components focused on HTTP and associated protocols. +- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. -- [Avaje Http Client](https://avaje.io/http-client) - A wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. +- [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. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. @@ -1039,7 +1041,7 @@ _Tools that simplify testing asynchronous services._ - [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. - [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. @@ -1134,7 +1136,7 @@ _Libraries which provide general utility functions._ - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -- [JADE](http://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. @@ -1211,7 +1213,6 @@ _Active discussions._ - [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. - [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. -- [VirtualJUG](https://virtualjug.com) - Virtual Java User Group. ### Frontends @@ -1239,7 +1240,6 @@ _Something to look at or listen to while programming._ - [Foojay Podcast](https://foojay.io/today/category/podcast/) - [Inside Java](https://inside.java/podcast) (Official) - [Java Off Heap](http://www.javaoffheap.com) -- [The Java Council](https://virtualjug.com/#podcast) - [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. ### People From 6a4a106611614e4bce174f83df417fcb3b5d0d0f Mon Sep 17 00:00:00 2001 From: aku <4538351+akullpp@users.noreply.github.com> Date: Sat, 28 Oct 2023 15:12:15 +0400 Subject: [PATCH 313/533] Update README.md --- README.md | 158 +++++++++++++++++++++++++++--------------------------- 1 file changed, 78 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index ab513718..4fab386e 100644 --- a/README.md +++ b/README.md @@ -4,86 +4,84 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents -- [Awesome Java ](#awesome-java-) - - [Contents](#contents) - - [Projects](#projects) - - [Bean Mapping](#bean-mapping) - - [Build](#build) - - [Bytecode Manipulation](#bytecode-manipulation) - - [Caching](#caching) - - [CLI](#cli) - - [Cluster Management](#cluster-management) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) - - [Resources](#resources) - - [Related Awesome Lists](#related-awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Websites](#websites) - - [Contributing](#contributing) +- [Projects](#projects) + - [Bean Mapping](#bean-mapping) + - [Build](#build) + - [Bytecode Manipulation](#bytecode-manipulation) + - [Caching](#caching) + - [CLI](#cli) + - [Cluster Management](#cluster-management) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) +- [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Websites](#websites) +- [Contributing](#contributing) ## Projects From 57cb6f3161e652a8d597e79a0a6ac8a0c8e46ec3 Mon Sep 17 00:00:00 2001 From: Daniel Rothmaler Date: Sat, 28 Oct 2023 13:20:03 +0200 Subject: [PATCH 314/533] Clean Up CLI Section (#1066) --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 4fab386e..1e193d1a 100644 --- a/README.md +++ b/README.md @@ -134,17 +134,22 @@ _Libraries that provide caching facilities._ _Libraries for everything related to the CLI._ -- [ASCII Table](https://github.com/vdmeer/asciitable) - Library to draw tables in ASCII. -- [Airline](https://github.com/airlift/airline) - Annotation-based framework for parsing Git-like command-line arguments. -- [args4j](http://args4j.kohsuke.org) - Small library to parse command-line arguments. -- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. -- [Java ASCII Render](https://github.com/indvd00m/java-ascii-render) - Graphical primitives for the console. +#### Argument Parsing + +_Libraries to assist with parsing command line arguments._ + +- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. - [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. - [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. -- [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. -- [JOpt Simple](https://jopt-simple.github.io/jopt-simple/) - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes. - [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. + +#### Text-Based User Interfaces + +_Libraries that provide TUI frameworks, or building blocks related functions._ + +- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. +- [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [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) From ef52d3b275d924e4f387df9db03ea5ef437a55a8 Mon Sep 17 00:00:00 2001 From: Piotr Olaszewski Date: Sat, 28 Oct 2023 13:24:17 +0200 Subject: [PATCH 315/533] Add Semver4j (#1064) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e193d1a..374532b0 100644 --- a/README.md +++ b/README.md @@ -1145,6 +1145,7 @@ _Libraries which provide general utility functions._ - [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. - [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. +- [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. - [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. ### Version Managers From 687f0cbb4b2935960f64e2f6354fa0548a0f71f7 Mon Sep 17 00:00:00 2001 From: aku <4538351+akullpp@users.noreply.github.com> Date: Sat, 28 Oct 2023 15:41:21 +0400 Subject: [PATCH 316/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 374532b0..c09a0ffa 100644 --- a/README.md +++ b/README.md @@ -720,7 +720,7 @@ _Tools for creating or managing mobile applications._ ### Monitoring -_Tools that monitor applications in production._ +_Tools that observe/monitor applications in production by providing telemetry._ - [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. From c007fc2b43fff8c88c2a38c896673272d52dfa80 Mon Sep 17 00:00:00 2001 From: Mark Baird Date: Tue, 7 Nov 2023 05:58:15 +0000 Subject: [PATCH 317/533] Add ArcGIS Maps SDK for Java (#1081) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c09a0ffa..3f6d72d2 100644 --- a/README.md +++ b/README.md @@ -463,6 +463,7 @@ _Frameworks that support the development of games._ _Libraries for working with geospatial data and algorithms._ - [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. +- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. - [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. From 91bf7934972817ed120a992ac1e9c0cdec02dd0c Mon Sep 17 00:00:00 2001 From: shathor Date: Tue, 7 Nov 2023 06:59:36 +0100 Subject: [PATCH 318/533] Add Neureka (#1080) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f6d72d2..59b5daf6 100644 --- a/README.md +++ b/README.md @@ -627,6 +627,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. +- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. - [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. From 004a9db99d4ce45bc4a7d4991a7051f01857d7da Mon Sep 17 00:00:00 2001 From: tuyucheng Date: Mon, 20 Nov 2023 01:27:46 +0800 Subject: [PATCH 319/533] Add Microsoft OpenJDK, EasyMock (#1085) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 59b5daf6..bee1047c 100644 --- a/README.md +++ b/README.md @@ -597,6 +597,7 @@ _Current implementations of the JVM/JDK._ - [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) - [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) - [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! ### Logging @@ -1125,6 +1126,7 @@ _Tools which mock collaborators to help testing single, isolated units._ - [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. - [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - [WireMock](http://wiremock.org) - Stubs and mocks web services. +- [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. ### Utility From b948e543bb11f4b8200882fe1fc27b17861af55c Mon Sep 17 00:00:00 2001 From: shathor Date: Sun, 19 Nov 2023 18:28:44 +0100 Subject: [PATCH 320/533] Add Orekit (#1083) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bee1047c..2e1b2acc 100644 --- a/README.md +++ b/README.md @@ -959,6 +959,7 @@ _Libraries for scientific computing, analysis and visualization._ - [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. - [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) - [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. From d0f402ebdbacddfb1419ca4c25fb6b6db3f63263 Mon Sep 17 00:00:00 2001 From: Jeff Martin Date: Sun, 19 Nov 2023 11:32:20 -0600 Subject: [PATCH 321/533] Add (GUI) SnapKit and (IDE) SnapCode (#1082) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2e1b2acc..1090fe41 100644 --- a/README.md +++ b/README.md @@ -478,6 +478,7 @@ _Libraries to create modern graphical user interfaces._ - [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. - [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. +- [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. - [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. ### High Performance @@ -523,6 +524,7 @@ _Integrated development environments that try to simplify several aspects of dev - [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. +- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. - [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. ### Imagery From bceffd9cb41b09e56d1f376656d676f42c243d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emin=20Ya=C4=9F=C4=B1z?= Date: Wed, 10 Jan 2024 17:19:52 +0300 Subject: [PATCH 322/533] Adding awesome-hybris repo link to the Awesome section (#1086) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1090fe41..ac2c0ed8 100644 --- a/README.md +++ b/README.md @@ -1213,6 +1213,7 @@ _Awesome Lists related to the Java & JVM ecosystem._ - [Awesome Microservices](https://github.com/mfornos/awesome-microservices) - [Awesome REST](https://github.com/marmelab/awesome-rest) - [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) +- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) - [ciandcd](https://github.com/ciandcd/awesome-ciandcd) - [Useful Java Links](https://github.com/Vedenin/useful-java-links) - [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) From c5be94287f4e4bab6eb2234bbb519926f6d06e30 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sun, 11 Feb 2024 09:11:07 -0800 Subject: [PATCH 323/533] Add selfie --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac2c0ed8..5231ad0d 100644 --- a/README.md +++ b/README.md @@ -1116,6 +1116,7 @@ _Other stuff related to testing._ - [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [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. - [pojo-tester](https://www.pojo.pl) - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) From f2014679e353a9ae8960e1912feaa163fac3cdd4 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sun, 11 Feb 2024 09:11:25 -0800 Subject: [PATCH 324/533] Fix alphabetization --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5231ad0d..eedc1c1b 100644 --- a/README.md +++ b/README.md @@ -1115,10 +1115,10 @@ _Other stuff related to testing._ - [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. - [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. +- [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. -- [pojo-tester](https://www.pojo.pl) - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) #### Mocking From 640ae29460bc1c7807bc1afae0718179cfdcdb52 Mon Sep 17 00:00:00 2001 From: Geoffrey De Smet Date: Sun, 11 Feb 2024 18:12:01 +0100 Subject: [PATCH 325/533] Change Timefold link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eedc1c1b..2459593e 100644 --- a/README.md +++ b/README.md @@ -244,7 +244,7 @@ _Libraries that help with implementing optimization and satisfiability problems. - [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) - [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. -- [Timefold](https://github.com/TimefoldAI/timefold-solver) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. +- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. ### CSV From 03b48c3a1bba22b4c56626fd3344dde36f8637e9 Mon Sep 17 00:00:00 2001 From: IP2Location Date: Mon, 12 Feb 2024 01:13:56 +0800 Subject: [PATCH 326/533] Add IP2Location.io Java SDK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2459593e..1209d63d 100644 --- a/README.md +++ b/README.md @@ -686,6 +686,7 @@ _Everything else._ - [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. - [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) From 9a91e5144d03720339c75f1ade5b84ff962d020e Mon Sep 17 00:00:00 2001 From: Evgenii Plugatar <54626653+evpl@users.noreply.github.com> Date: Sat, 24 Feb 2024 13:06:36 +0300 Subject: [PATCH 327/533] Add JKScope --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1209d63d..609196a0 100644 --- a/README.md +++ b/README.md @@ -1152,6 +1152,7 @@ _Libraries which provide general utility functions._ - [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. +- [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. - [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. - [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. From 6b3b8233b6babe70a3dd2aed7418094d8103d2c9 Mon Sep 17 00:00:00 2001 From: mielecmichal Date: Sun, 21 Apr 2024 18:49:04 +0200 Subject: [PATCH 328/533] Add the well-grounded java developer book (#1101) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 609196a0..14c41f08 100644 --- a/README.md +++ b/README.md @@ -1242,9 +1242,10 @@ _Books that made a big impact and are still worth reading._ - [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) - [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) - [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) +- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) - [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) +- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) - [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) -- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) ### Podcasts and Screencasts From 068732a2896580901b5029df68645543fb28767a Mon Sep 17 00:00:00 2001 From: aku Date: Sun, 21 Apr 2024 18:49:39 +0200 Subject: [PATCH 329/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14c41f08..493a91d6 100644 --- a/README.md +++ b/README.md @@ -821,7 +821,7 @@ _Tools to help with PDF files._ - [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](http://dynamicjasper.com) - Abstraction layer to JasperReports. (LGPL-3.0-only) +- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) - [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) - [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) From fd988099bfdd53686b2b7b60359c3f991e31da2b Mon Sep 17 00:00:00 2001 From: aku Date: Sun, 21 Apr 2024 18:51:03 +0200 Subject: [PATCH 330/533] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 493a91d6..8aa5b6af 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ _Libraries to assist with parsing command line arguments._ _Libraries that provide TUI frameworks, or building blocks related functions._ - [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. -- [Jexer](https://gitlab.com/klamonte/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). +- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [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) From ec06299da403b51c4e384e76769618d3d4aa4223 Mon Sep 17 00:00:00 2001 From: KamiWan Date: Mon, 22 Apr 2024 00:52:51 +0800 Subject: [PATCH 331/533] Add AutoMQ (#1099) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8aa5b6af..cb9ed036 100644 --- a/README.md +++ b/README.md @@ -649,6 +649,7 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. - [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. - [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. - [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. From ededd12938ceb2f8b52c75f92114bec25d9d449e Mon Sep 17 00:00:00 2001 From: George Ladutsko Date: Thu, 9 May 2024 14:58:23 +0300 Subject: [PATCH 332/533] Add isbn-core (#1103) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cb9ed036..6e5c229a 100644 --- a/README.md +++ b/README.md @@ -688,6 +688,7 @@ _Everything else._ - [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) From 9841edb7355e4dfb7f45650ad8bdf65245a605b6 Mon Sep 17 00:00:00 2001 From: Sami Ekblad Date: Thu, 11 Jul 2024 11:23:10 +0300 Subject: [PATCH 333/533] Update README.md (#1105) Updated Vaadin description to reflect the latest version features. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6e5c229a..8524c6d5 100644 --- a/README.md +++ b/README.md @@ -1196,7 +1196,7 @@ _Frameworks that handle the communication between the layers of a web applicatio - [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 From 8862cf48bbd6c7a6822d0284970c403887f406c1 Mon Sep 17 00:00:00 2001 From: aku Date: Sat, 14 Sep 2024 17:43:06 +0200 Subject: [PATCH 334/533] Add OpenTelemetry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8524c6d5..2670f06f 100644 --- a/README.md +++ b/README.md @@ -746,6 +746,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ - [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 software’s 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. From 3578dba19cf5e4962108b28d668b16d046d23866 Mon Sep 17 00:00:00 2001 From: Illya Kysil Date: Mon, 28 Oct 2024 15:29:56 +0100 Subject: [PATCH 335/533] Add cdi-test --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2670f06f..f9e44847 100644 --- a/README.md +++ b/README.md @@ -1092,6 +1092,7 @@ _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. - [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. From 0474e49547370c70cc328bef850504875adc385b Mon Sep 17 00:00:00 2001 From: Illya Kysil Date: Mon, 28 Oct 2024 15:30:41 +0100 Subject: [PATCH 336/533] Add weld-testing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f9e44847..836312b4 100644 --- a/README.md +++ b/README.md @@ -1099,6 +1099,7 @@ _Provide environments to run tests for a specific use case._ - [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 From 76371a13d07d8e0e1fc0e4cc2aaee6181fbd9037 Mon Sep 17 00:00:00 2001 From: Kevin Wittek Date: Mon, 28 Oct 2024 15:31:10 +0100 Subject: [PATCH 337/533] Fix wrong casing in "Testcontainers" name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 836312b4..021e191f 100644 --- a/README.md +++ b/README.md @@ -1124,7 +1124,7 @@ _Other stuff related to testing._ - [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 From 52d9a50514bee2057d3eb40f05a6ccee701109a7 Mon Sep 17 00:00:00 2001 From: kohei sasaki <62011953+sasaki-kouhei@users.noreply.github.com> Date: Mon, 28 Oct 2024 23:31:33 +0900 Subject: [PATCH 338/533] add native-lib-loader --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 021e191f..4f343d5c 100644 --- a/README.md +++ b/README.md @@ -763,6 +763,7 @@ _For working with platform-specific native libraries._ - [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. - [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 From 7af5e45a9b471960ab8dd40353e59cd6c8899cd0 Mon Sep 17 00:00:00 2001 From: Filipe Roque Date: Tue, 12 Nov 2024 14:00:31 +0000 Subject: [PATCH 339/533] Remove Apollo (#1120) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4f343d5c..954af36e 100644 --- a/README.md +++ b/README.md @@ -664,7 +664,6 @@ _Tools that help send messages between clients to ensure protocol independency._ _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. From 04cb0f068b56679e95b9498fb36714e87737013d Mon Sep 17 00:00:00 2001 From: Filipe Roque Date: Tue, 12 Nov 2024 14:01:42 +0000 Subject: [PATCH 340/533] Remove Avian (#1118) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 954af36e..b354c15a 100644 --- a/README.md +++ b/README.md @@ -588,7 +588,6 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ _Current implementations of the JVM/JDK._ - [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) From 2a95a3be125f8b65ac07e04592464815919f696c Mon Sep 17 00:00:00 2001 From: Filipe Roque Date: Tue, 12 Nov 2024 14:03:53 +0000 Subject: [PATCH 341/533] Remove mesos libs (#1116) --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index b354c15a..a5b7cd3a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Bytecode Manipulation](#bytecode-manipulation) - [Caching](#caching) - [CLI](#cli) - - [Cluster Management](#cluster-management) - [Code Analysis](#code-analysis) - [Code Coverage](#code-coverage) - [Code Generators](#code-generators) @@ -153,13 +152,6 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ - [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 - -_Frameworks that can dynamically manage applications inside of a cluster._ - -- [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. - ### Code Analysis _Tools that provide metrics and quality measurements._ From f65293e710e96e06ce96505dec86975ad76b47c8 Mon Sep 17 00:00:00 2001 From: Filipe Roque Date: Tue, 12 Nov 2024 14:04:46 +0000 Subject: [PATCH 342/533] Add Flogger (#1119) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a5b7cd3a..f236f6df 100644 --- a/README.md +++ b/README.md @@ -607,6 +607,7 @@ _Libraries that log the behavior of an application._ - [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 From 1c2ea5fef68e95ac03c402f24af030844a219603 Mon Sep 17 00:00:00 2001 From: Filipe Roque Date: Tue, 12 Nov 2024 14:04:58 +0000 Subject: [PATCH 343/533] Update hk2 (#1117) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f236f6df..fff3e675 100644 --- a/README.md +++ b/README.md @@ -327,7 +327,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. - [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 From 58a15e2dc377495b1ca84841dcfc22c00bea02f5 Mon Sep 17 00:00:00 2001 From: Filipe Roque Date: Tue, 12 Nov 2024 14:05:14 +0000 Subject: [PATCH 344/533] Update Buck (#1115) https://engineering.fb.com/2023/04/06/open-source/buck2-open-source-large-scale-build-system/ --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fff3e675..a9cea277 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ _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. - [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 From 89c1a74f0da2393b21ad08d4d0de5c99714224df Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Tue, 12 Nov 2024 15:06:17 +0100 Subject: [PATCH 345/533] Add Architecture section (#1111) Move ArchUnit into that section and add jMolecules to that as well. --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a9cea277..d61ee142 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents - [Projects](#projects) + - [Architecture](#architecture) - [Bean Mapping](#bean-mapping) - [Build](#build) - [Bytecode Manipulation](#bytecode-manipulation) @@ -84,6 +85,13 @@ A curated list of awesome Java frameworks, libraries and software. ## 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. + ### Bean Mapping _Frameworks that ease bean mapping._ @@ -1081,7 +1089,6 @@ _Everything related to the creation and handling of random data._ _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. - [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. From 02452ec6c6a8035048fde8c99f5d611e0c14eda4 Mon Sep 17 00:00:00 2001 From: aku Date: Fri, 31 Jan 2025 18:22:54 +0100 Subject: [PATCH 346/533] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d61ee142..7df86bda 100644 --- a/README.md +++ b/README.md @@ -587,6 +587,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ _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. - [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. From 30d1621886660df249f2cade25d020b15f3de14d Mon Sep 17 00:00:00 2001 From: aku Date: Fri, 7 Mar 2025 21:19:09 +0100 Subject: [PATCH 347/533] Update README.md --- README.md | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 7df86bda..3c4477b5 100644 --- a/README.md +++ b/README.md @@ -1265,33 +1265,30 @@ _Something to look at or listen to while programming._ ### 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. @@ -1303,15 +1300,11 @@ _Active accounts to follow. Descriptions from Twitter._ - [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._ From b5b524178d6ced7c935a052c267b94d073fc571c Mon Sep 17 00:00:00 2001 From: k_sasaki Date: Sat, 8 Mar 2025 05:20:52 +0900 Subject: [PATCH 348/533] Add scrimage (#1134) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c4477b5..25899840 100644 --- a/README.md +++ b/README.md @@ -537,6 +537,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica - [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. +- [scrimage](https://sksamuel.github.io/scrimage) - Immutable, functional, and performant JVM library for manipulation of images. ### Introspection From 61955baac4ca1faa201f64efa624870a1040d0c2 Mon Sep 17 00:00:00 2001 From: MasterFlomaster1 <30301197+MasterFlomaster1@users.noreply.github.com> Date: Sat, 8 Mar 2025 00:59:27 +0300 Subject: [PATCH 349/533] Add webcam-capture (#1126) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25899840..4cea0e44 100644 --- a/README.md +++ b/README.md @@ -716,6 +716,7 @@ _Everything else._ - [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. From 9e192fe05b1aae9e831e8e1e000759989515a90f Mon Sep 17 00:00:00 2001 From: tuyucheng777 <925343663@qq.com> Date: Sat, 8 Mar 2025 06:02:17 +0800 Subject: [PATCH 350/533] Add Mybatis-Plus (#1125) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4cea0e44..071f4770 100644 --- a/README.md +++ b/README.md @@ -806,6 +806,7 @@ _APIs that handle the persistence of objects._ - [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) - An powerful enhanced toolkit of MyBatis for simplify 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. From 3d2c4ac37e68fcbdcb635109df0f41b3dc40dcef Mon Sep 17 00:00:00 2001 From: sage <149851+lopcode@users.noreply.github.com> Date: Fri, 7 Mar 2025 22:03:40 +0000 Subject: [PATCH 351/533] Add vips-ffm (#1124) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 071f4770..d7243c69 100644 --- a/README.md +++ b/README.md @@ -537,6 +537,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica - [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. +- [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 From bf62ca44bd5df249c5ca9c43116314b0affc75e9 Mon Sep 17 00:00:00 2001 From: Harshit Sethi Date: Sat, 8 Mar 2025 03:34:09 +0530 Subject: [PATCH 352/533] Add Awesome J2ME (#1123) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d7243c69..207df675 100644 --- a/README.md +++ b/README.md @@ -1220,6 +1220,7 @@ _Awesome Lists related to the Java & JVM ecosystem._ - [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 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) From 85f251aee29742e0ea5f021008c7cfa9a3f3b32e Mon Sep 17 00:00:00 2001 From: Chuigda Whitegive Date: Sat, 8 Mar 2025 06:05:34 +0800 Subject: [PATCH 353/533] Add vulkan4j (#1122) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 207df675..17c6d936 100644 --- a/README.md +++ b/README.md @@ -457,6 +457,7 @@ _Frameworks that support the development of games._ - [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 From 109fea6fb917acb7210bafef627cd788d7a25a72 Mon Sep 17 00:00:00 2001 From: Jinho Yim Date: Sat, 8 Mar 2025 07:06:42 +0900 Subject: [PATCH 354/533] Add AutoParams (#1121) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 17c6d936..90099bac 100644 --- a/README.md +++ b/README.md @@ -1082,6 +1082,7 @@ _Testing for the software development process that emerged from TDD and was heav _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. From ba2493666fc3e8f64f309c303904314102102c2a Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Fri, 7 Mar 2025 23:07:58 +0100 Subject: [PATCH 355/533] Add Spring HATEOAS (#1110) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 90099bac..a59d4816 100644 --- a/README.md +++ b/README.md @@ -516,6 +516,7 @@ _Libraries that handle serialization to hypermedia types._ - [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 From 0d39dfd1b191c676888d17ed1b6fd78d1e97cf08 Mon Sep 17 00:00:00 2001 From: aku Date: Mon, 19 May 2025 09:49:57 +0200 Subject: [PATCH 356/533] Update README.md --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a59d4816..9b37ef64 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents - [Projects](#projects) - - [Architecture](#architecture) + - [Architecture](#architecture) + - [Artificial Intelligence](#artificial-intelligence) - [Bean Mapping](#bean-mapping) - [Build](#build) - [Bytecode Manipulation](#bytecode-manipulation) @@ -92,6 +93,13 @@ _Frameworks and libraries that help implementing and verifying design and archit - [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. +- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. + ### Bean Mapping _Frameworks that ease bean mapping._ From bd4048fc3941c92ec5d69068c46064abf4533da5 Mon Sep 17 00:00:00 2001 From: jhspetersson Date: Mon, 19 May 2025 08:18:07 +0000 Subject: [PATCH 357/533] Add Packrat (#1144) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9b37ef64..cd734773 100644 --- a/README.md +++ b/README.md @@ -449,6 +449,7 @@ _Libraries that facilitate functional programming._ - [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. From a8637595c060f2a197df28c1015b1edf46ddeff2 Mon Sep 17 00:00:00 2001 From: Lucca Biagi <8813731+LuccaPrado@users.noreply.github.com> Date: Mon, 19 May 2025 06:00:21 -0300 Subject: [PATCH 358/533] Adding JMeter DSL (#1142) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd734773..b84ffcd2 100644 --- a/README.md +++ b/README.md @@ -1107,6 +1107,7 @@ _Everything related to the creation and handling of random data._ _Provide environments to run tests for a specific use case._ - [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. From 55be13ae6216254fc96f7cc70a4f9722839a2994 Mon Sep 17 00:00:00 2001 From: Eduards Sizovs Date: Mon, 19 May 2025 17:35:57 +0800 Subject: [PATCH 359/533] added https://libs.tech/java (#1139) Awesome Java libraries and hidden gems: https://libs.tech/java --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b84ffcd2..b9346393 100644 --- a/README.md +++ b/README.md @@ -1233,6 +1233,7 @@ _Awesome Lists related to the Java & JVM ecosystem._ - [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) From c57512bbf9d9a37bc6d30a608097733adbf64636 Mon Sep 17 00:00:00 2001 From: Yash Tripathi Date: Mon, 19 May 2025 15:16:36 +0530 Subject: [PATCH 360/533] Add new libraries: Project Reactor, AWS SDK for Java, and Google Cloud Client Libraries (#1138) --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b9346393..248d72a4 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Bytecode Manipulation](#bytecode-manipulation) - [Caching](#caching) - [CLI](#cli) + - [Cloud](#cloud) - [Code Analysis](#code-analysis) - [Code Coverage](#code-coverage) - [Code Generators](#code-generators) @@ -168,6 +169,13 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ - [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) +### Cloud + +_Libraries to integrate or use cloud-specific features._ + +- [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 _Tools that provide metrics and quality measurements._ @@ -695,7 +703,6 @@ _Tools for creating and managing microservices._ _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. @@ -944,7 +951,7 @@ _Libraries for developing reactive applications._ - [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. From 9986cfd9794509afb7d2aae31678955f8b987f1d Mon Sep 17 00:00:00 2001 From: Simon Gurcke Date: Mon, 19 May 2025 19:47:08 +1000 Subject: [PATCH 361/533] Add Apitally to Monitoring section (#1137) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 248d72a4..a9816fa1 100644 --- a/README.md +++ b/README.md @@ -751,6 +751,7 @@ _Tools for creating or managing mobile applications._ _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. From f3e0987829e6a8809906ef00d1861d9e9b8f7516 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Mon, 19 May 2025 18:52:35 +0900 Subject: [PATCH 362/533] Polish description for MyBatis-Plus (#1135) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a9816fa1..06ffcef3 100644 --- a/README.md +++ b/README.md @@ -785,7 +785,7 @@ _For working with platform-specific native libraries._ - [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. - [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. +- [native-lib-loader](https://github.com/scijava/native-lib-loader) - Native library loader for extracting and loading native libraries from Java. ### Natural Language Processing @@ -826,7 +826,7 @@ _APIs that handle the persistence of objects._ - [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) - An powerful enhanced toolkit of MyBatis for simplify development. +- [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. From 5df3898f96684219064edc454207e893f894f48d Mon Sep 17 00:00:00 2001 From: aku Date: Mon, 19 May 2025 15:21:11 +0200 Subject: [PATCH 363/533] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 06ffcef3..dee1655a 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,7 @@ _Frameworks and libraries that help implementing and verifying design and archit _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 From 1d6e20b408bac049c826610295e3f105c3902497 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 31 May 2025 21:46:17 +0900 Subject: [PATCH 364/533] Fix casing for JUnit (#1145) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dee1655a..6a11fe04 100644 --- a/README.md +++ b/README.md @@ -1116,7 +1116,7 @@ _Everything related to the creation and handling of random data._ _Provide environments to run tests for a specific use case._ - [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. +- [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. From 1ad1ccc2ebdb908bc3d45a093607ba07cb856cbc Mon Sep 17 00:00:00 2001 From: Sashir Estela Date: Sun, 27 Jul 2025 09:15:16 +0000 Subject: [PATCH 365/533] Adding simple-openai (#1155) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a11fe04..23041ebb 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ _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. +- [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. - [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. ### Bean Mapping From c6a1200ba3c29ae130dd284709f186b26d591d92 Mon Sep 17 00:00:00 2001 From: Mathieu Soysal Date: Sun, 27 Jul 2025 11:16:01 +0200 Subject: [PATCH 366/533] Add Javadoc Publisher (#1154) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 23041ebb..967b56f2 100644 --- a/README.md +++ b/README.md @@ -1181,6 +1181,7 @@ _Libraries which provide general utility functions._ - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. From a9b33c405642eb46b0f81539bdc5fb00dcf279f9 Mon Sep 17 00:00:00 2001 From: Benjamin Sommerfeld <50031457+bsommerfeld@users.noreply.github.com> Date: Sun, 27 Jul 2025 11:16:27 +0200 Subject: [PATCH 367/533] Add "Pathetic" to New Pathfinding Section (#1153) * feat: introduce Pathfinding section with Pathetic entry * refactor: refactor Pathfinding description --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 967b56f2..f8618082 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Networking](#networking) - [ORM](#orm) - [PaaS](#paas) + - [Pathfinding](#pathfinding) - [PDF](#pdf) - [Performance analysis](#performance-analysis) - [Platform](#platform) @@ -844,6 +845,12 @@ _Java platform as a service._ - [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. - [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. +### Pathfinding + +_Algorithms and libraries for finding routes in graphs and spatial environments._ + +- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. + ### PDF _Tools to help with PDF files._ From 041b30b6d7d65ec7ba93a2e060e8bfabe20dfa3a Mon Sep 17 00:00:00 2001 From: Evgenii Plugatar <54626653+evpl@users.noreply.github.com> Date: Sun, 27 Jul 2025 12:16:55 +0300 Subject: [PATCH 368/533] Add Stebz to Testing Miscellaneous section (#1152) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f8618082..dcb9c8ba 100644 --- a/README.md +++ b/README.md @@ -1158,6 +1158,7 @@ _Other stuff related to testing._ - [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). +- [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. - [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 From f67bafcaeab8fad9d765081b5cbeb6a8f10835cb Mon Sep 17 00:00:00 2001 From: Dominic Fellbaum Date: Sun, 27 Jul 2025 11:17:21 +0200 Subject: [PATCH 369/533] Add JEmoji (#1151) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dcb9c8ba..cfcfb6d2 100644 --- a/README.md +++ b/README.md @@ -716,6 +716,7 @@ _Everything else._ - [JBake](https://jbake.org) - Static website generator. - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. +- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. - [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. From 2af444249629f87cc683436aff1ba073a78fbea0 Mon Sep 17 00:00:00 2001 From: Josef Sevcik <13256825+ejossev@users.noreply.github.com> Date: Sun, 27 Jul 2025 11:20:11 +0200 Subject: [PATCH 370/533] Update README.md (#1147) Hypherator added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cfcfb6d2..8a105e16 100644 --- a/README.md +++ b/README.md @@ -798,6 +798,7 @@ _Libraries that specialize in processing text._ - [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) - [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. - [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. ### Networking From cb6158e55eb0b5b08f69f5bbd13344d795711e82 Mon Sep 17 00:00:00 2001 From: XiaoLong Liu <75962798+xcancloud@users.noreply.github.com> Date: Sun, 27 Jul 2025 17:20:30 +0800 Subject: [PATCH 371/533] Update README.md (#1146) Add JMock. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8a105e16..14bf7dc8 100644 --- a/README.md +++ b/README.md @@ -1120,6 +1120,7 @@ _Everything related to the creation and handling of random data._ - [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. - [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. +- [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. #### Frameworks From b8e45a810b01efc5255d4ff06ed5aad3806747a1 Mon Sep 17 00:00:00 2001 From: Marcel091004 <121177557+Marcel091004@users.noreply.github.com> Date: Sun, 27 Jul 2025 11:22:12 +0200 Subject: [PATCH 372/533] Update README.md (#1141) added my library EasyEntityToDTO under Code Generation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 14bf7dc8..c491f89d 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. - [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. - [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. - [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. From ba500b63f7e6d2738d35f7822e019f277490de7a Mon Sep 17 00:00:00 2001 From: Raj Patel Date: Thu, 9 Oct 2025 20:59:18 +0100 Subject: [PATCH 373/533] Add junit-pioneer (#1161) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c491f89d..89a41424 100644 --- a/README.md +++ b/README.md @@ -1156,6 +1156,7 @@ _Other stuff related to testing._ - [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. +- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. - [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. - [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. From 31a5bcb3b484cceb87b4bf1bc6005e8ffc9ad8ba Mon Sep 17 00:00:00 2001 From: Viktor Wedel <130756709+vws-java@users.noreply.github.com> Date: Thu, 9 Oct 2025 22:00:28 +0200 Subject: [PATCH 374/533] Add Barcode-Lib4J (#1159) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 89a41424..16955008 100644 --- a/README.md +++ b/README.md @@ -554,6 +554,7 @@ _Integrated development environments that try to simplify several aspects of dev _Libraries that assist with the creation, evaluation or manipulation of graphical images._ +- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. - [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. - [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. - [Thumbnailator](https://github.com/coobird/thumbnailator) - High-quality thumbnail generation library. From f00faafc1a37e19c30e77423ebe4193bc8f79085 Mon Sep 17 00:00:00 2001 From: k_sasaki Date: Fri, 10 Oct 2025 05:00:58 +0900 Subject: [PATCH 375/533] Add jbang. (#1160) --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 16955008..7d216279 100644 --- a/README.md +++ b/README.md @@ -744,6 +744,8 @@ _Everything else._ - [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. +- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for + code and dependency management and allows you to run it directly. ### Mobile Development @@ -800,7 +802,7 @@ _Libraries that specialize in processing text._ - [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) - [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. +- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. - [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. ### Networking From 097ebf75337cbeb3c987f72cdef393a8e286cc35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hakan=20Alt=C4=B1nda=C4=9F?= Date: Thu, 9 Oct 2025 22:01:47 +0200 Subject: [PATCH 376/533] Rename sslcontext-kickstart to ayza (#1157) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d216279..dec2fc3d 100644 --- a/README.md +++ b/README.md @@ -1023,6 +1023,7 @@ _Engines that index documents for search and analysis._ _Libraries that handle security, authentication, authorization or session management._ - [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. +- [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. - [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) @@ -1041,7 +1042,6 @@ _Libraries that handle security, authentication, authorization or session manage - [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. - [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. - [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. From 63055dd98a1445cf146b617e6042b47a75c0bf16 Mon Sep 17 00:00:00 2001 From: Elanat Framework <111444759+elanatframework@users.noreply.github.com> Date: Thu, 9 Oct 2025 23:32:26 +0330 Subject: [PATCH 377/533] Add WebForms Core (#1150) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dec2fc3d..7637538f 100644 --- a/README.md +++ b/README.md @@ -1244,6 +1244,7 @@ _Frameworks that handle the communication between the layers of a web applicatio - [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) - 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. +- [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. ### Workflow Orchestration Engines From ddc0008587d3f1628ed93ca6484e3d7581182cfb Mon Sep 17 00:00:00 2001 From: bcaillard <13829767+bcaillard@users.noreply.github.com> Date: Thu, 9 Oct 2025 22:02:42 +0200 Subject: [PATCH 378/533] Add JSpecify Package-Info Generator (#1156) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7637538f..062afff5 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ _Frameworks and libraries that help implementing and verifying design and archit _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. +- [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. - [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. - [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. @@ -220,6 +220,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [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. +- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - [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. From 044e2260ec39005db7144fde075ea3967d0218e5 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 09:55:48 +0200 Subject: [PATCH 379/533] Add java-tron --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 062afff5..88ea325b 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Data Structures](#data-structures) - [Database](#database) - [Date and Time](#date-and-time) + - [Decentralization](#decentraliation) - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) @@ -346,6 +347,12 @@ _Libraries related to handling date and time._ - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. - [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) +### Decentralization + +_Libraries that handle decentralization tasks._ + +- [java-tron](https://github.com/tronprotocol/java-tron) Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. + ### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ From 75c8a26ffbb73774a4c334ad448b5f50d0cf03ba Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 16:12:50 +0200 Subject: [PATCH 380/533] Tabular visualization Test --- .gitignore | 2 + CONTRIBUTING.md | 2 +- README.md | 7 - README_TEST.md | 1486 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1489 insertions(+), 8 deletions(-) create mode 100644 README_TEST.md diff --git a/.gitignore b/.gitignore index 9f11b755..59d57d07 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .idea/ +.vscode/ +.scripts/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e216e21c..b8bb3729 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,7 +43,7 @@ Furthermore, please ensure your pull request follows the following guidelines: - Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. - Entries should be sorted in ascending alphabetical order, i.e. a to z. - New categories or improvements to the existing categorization are welcome. -- Keep descriptions short, simple and unbiased. +- Keep descriptions below or euqal to 160 characters, simple and unbiased. - End all descriptions with a full stop/period. - Check your spelling and grammar. - Make sure your text editor is set to remove trailing whitespace. diff --git a/README.md b/README.md index 88ea325b..062afff5 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Data Structures](#data-structures) - [Database](#database) - [Date and Time](#date-and-time) - - [Decentralization](#decentraliation) - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) @@ -347,12 +346,6 @@ _Libraries related to handling date and time._ - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. - [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) -### Decentralization - -_Libraries that handle decentralization tasks._ - -- [java-tron](https://github.com/tronprotocol/java-tron) Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. - ### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ diff --git a/README_TEST.md b/README_TEST.md new file mode 100644 index 00000000..985a3421 --- /dev/null +++ b/README_TEST.md @@ -0,0 +1,1486 @@ +# 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) + - [Cloud](#cloud) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Decentralization](#decentraliation) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [Pathfinding](#pathfinding) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) +- [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Websites](#websites) +- [Contributing](#contributing) + +## 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. | ![](https://img.shields.io/github/stars/TNG/ArchUnit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/TNG/ArchUnit?style=flat-square&label=) +| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | ![](https://img.shields.io/github/stars/xmolecules/jmolecules?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xmolecules/jmolecules?style=flat-square&label=) + +### 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. | ![](https://img.shields.io/github/stars/langchain4j/langchain4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/langchain4j/langchain4j?style=flat-square&label=) +| [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Enables applications to interact with AI models and tools through a standardized interface. | ![](https://img.shields.io/github/stars/modelcontextprotocol/java-sdk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/modelcontextprotocol/java-sdk?style=flat-square&label=) +| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | ![](https://img.shields.io/github/stars/sashirestela/simple-openai?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sashirestela/simple-openai?style=flat-square&label=) +| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | + +### Bean Mapping + +_Frameworks that ease bean mapping._ + +| | | | | +|---|---|---|---| +| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. | ![](https://img.shields.io/github/stars/doov-io/doov?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/doov-io/doov?style=flat-square&label=) +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | ![](https://img.shields.io/github/stars/jmapper-framework/jmapper-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jmapper-framework/jmapper-core?style=flat-square&label=) +| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | ![](https://img.shields.io/github/stars/mapstruct/mapstruct?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mapstruct/mapstruct?style=flat-square&label=) +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | ![](https://img.shields.io/github/stars/modelmapper/modelmapper?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/modelmapper/modelmapper?style=flat-square&label=) +| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | ![](https://img.shields.io/github/stars/orika-mapper/orika?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/orika-mapper/orika?style=flat-square&label=) +| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | ![](https://img.shields.io/github/stars/remondis-it/remap?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/remondis-it/remap?style=flat-square&label=) +| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | ![](https://img.shields.io/github/stars/xebia-france/selma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xebia-france/selma?style=flat-square&label=) + +### Build + +_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. | - | - | +| [Bazel](https://bazel.build) | Tool from Google that builds code quickly and reliably. | - | - | +| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | ![](https://img.shields.io/github/stars/facebook/buck2?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/facebook/buck2?style=flat-square&label=) +| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | + +### Bytecode Manipulation + +_Libraries to manipulate bytecode programmatically._ + +| | | | | +|---|---|---|---| +| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | +| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/Konloch/bytecode-viewer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Konloch/bytecode-viewer?style=flat-square&label=) +| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | +| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | ![](https://img.shields.io/github/stars/cglib/cglib?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cglib/cglib?style=flat-square&label=) +| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | ![](https://img.shields.io/github/stars/jboss-javassist/javassist?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jboss-javassist/javassist?style=flat-square&label=) +| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | ![](https://img.shields.io/github/stars/cojen/maker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cojen/maker?style=flat-square&label=) +| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | ![](https://img.shields.io/github/stars/SpongePowered/Mixin?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SpongePowered/Mixin?style=flat-square&label=) +| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | ![](https://img.shields.io/github/stars/nicolasmanic/perses?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nicolasmanic/perses?style=flat-square&label=) +| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | + +### Caching + +_Libraries that provide caching facilities._ + +| | | | | +|---|---|---|---| +| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | ![](https://img.shields.io/github/stars/ben-manes/caffeine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ben-manes/caffeine?style=flat-square&label=) +| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | +| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | + +### CLI + +_Libraries for everything related to the CLI._ + +#### Argument Parsing +_Libraries to assist with parsing command line arguments._ + +#### Text-Based User Interfaces +_Libraries that provide TUI frameworks, or building blocks related functions._ + +| | | | | +|---|---|---|---| +| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | +| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | ![](https://img.shields.io/github/stars/jbock-java/jbock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jbock-java/jbock?style=flat-square&label=) +| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | ![](https://img.shields.io/github/stars/jline/jline3?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jline/jline3?style=flat-square&label=) +| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | +| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | ![](https://img.shields.io/github/stars/fusesource/jansi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/fusesource/jansi?style=flat-square&label=) +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Mouse-draggable windows, built-in terminal window manager, and sixel image support. | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | ![](https://img.shields.io/github/stars/beryx/text-io?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/beryx/text-io?style=flat-square&label=) +| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | ![](https://img.shields.io/github/stars/mabe02/lanterna?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mabe02/lanterna?style=flat-square&label=) + +### Cloud + +_Libraries to integrate or use cloud-specific features._ + +| | | | | +|---|---|---|---| +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | ![](https://img.shields.io/github/stars/aws/aws-sdk-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aws/aws-sdk-java?style=flat-square&label=) +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | ![](https://img.shields.io/github/stars/googleapis/google-cloud-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/googleapis/google-cloud-java?style=flat-square&label=) + +### Code Analysis + +_Tools that provide metrics and quality measurements._ + +| | | | | +|---|---|---|---| +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | ![](https://img.shields.io/github/stars/checkstyle/checkstyle?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/checkstyle/checkstyle?style=flat-square&label=) +| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | ![](https://img.shields.io/github/stars/google/error-prone?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/error-prone?style=flat-square&label=) +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | ![](https://img.shields.io/github/stars/PicnicSupermarket/error-prone-support?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/PicnicSupermarket/error-prone-support?style=flat-square&label=) +| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | ![](https://img.shields.io/github/stars/facebook/infer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/facebook/infer?style=flat-square&label=) +| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | +| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | ![](https://img.shields.io/github/stars/uber/NullAway?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/uber/NullAway?style=flat-square&label=) +| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | ![](https://img.shields.io/github/stars/pmd/pmd?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/pmd/pmd?style=flat-square&label=) +| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | ![](https://img.shields.io/github/stars/alibaba/p3c?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/p3c?style=flat-square&label=) +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | ![](https://img.shields.io/github/stars/jimbethancourt/RefactorFirst?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jimbethancourt/RefactorFirst?style=flat-square&label=) +| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | ![](https://img.shields.io/github/stars/SonarSource/sonar-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SonarSource/sonar-java?style=flat-square&label=) +| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | ![](https://img.shields.io/github/stars/INRIA/spoon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/INRIA/spoon?style=flat-square&label=) +| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | ![](https://img.shields.io/github/stars/spotbugs/spotbugs?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/spotbugs/spotbugs?style=flat-square&label=) + +### Code Coverage + +_Frameworks and tools that enable code coverage metrics collection for test suites._ + +| | | | | +|---|---|---|---| +| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | + +### Code Generators + +_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ + +| | | | | +|---|---|---|---| +| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | ![](https://img.shields.io/github/stars/sviperll/adt4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sviperll/adt4j?style=flat-square&label=) +| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | ![](https://img.shields.io/github/stars/google/auto?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/auto?style=flat-square&label=) +| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | ![](https://img.shields.io/github/stars/Marcel091004/EasyEntityToDTO?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Marcel091004/EasyEntityToDTO?style=flat-square&label=) +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | ![](https://img.shields.io/github/stars/inferred/FreeBuilder?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/inferred/FreeBuilder?style=flat-square&label=) +| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | ![](https://img.shields.io/github/stars/verhas/javageci?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/verhas/javageci?style=flat-square&label=) +| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | +| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | ![](https://img.shields.io/github/stars/square/javapoet?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/javapoet?style=flat-square&label=) +| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | ![](https://img.shields.io/github/stars/jhipster/generator-jhipster?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhipster/generator-jhipster?style=flat-square&label=) +| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations. | ![](https://img.shields.io/github/stars/bcaillard/jspecify-packageinfo-generator?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bcaillard/jspecify-packageinfo-generator?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/Randgalt/record-builder?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Randgalt/record-builder?style=flat-square&label=) +| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | + +### Compiler-compiler + +_Frameworks that help to create parsers, interpreters or compilers._ + +| | | | | +|---|---|---|---| +| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | +| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | + +### Computer Vision + +_Libraries which seek to gain high level information from images and videos._ + +| | | | | +|---|---|---|---| +| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | ![](https://img.shields.io/github/stars/bytedeco/javacv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bytedeco/javacv?style=flat-square&label=) + +### Configuration + +_Libraries that provide external configuration._ + +| | | | | +|---|---|---|---| +| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | ![](https://img.shields.io/github/stars/line/centraldogma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/line/centraldogma?style=flat-square&label=) +| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | ![](https://img.shields.io/github/stars/lightbend/config?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lightbend/config?style=flat-square&label=) +| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | ![](https://img.shields.io/github/stars/SpongePowered/Configurate?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SpongePowered/Configurate?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/shyiko/dotenv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/shyiko/dotenv?style=flat-square&label=) +| [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) | Supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. | ![](https://img.shields.io/github/stars/joel-jeremy/externalized-properties?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/joel-jeremy/externalized-properties?style=flat-square&label=) +| [Gestalt](https://github.com/gestalt-config/gestalt) | Allows you to source configuration data from multiple inputs, merge them intelligently, and present them in a structured, type-safe manner. | ![](https://img.shields.io/github/stars/gestalt-config/gestalt?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/gestalt-config/gestalt?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/mariomac/kaconf?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mariomac/kaconf?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/lviggiano/owner?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lviggiano/owner?style=flat-square&label=) + +### Constraint Satisfaction Problem Solver + +_Libraries that help with implementing optimization and satisfiability problems._ + +| | | | | +|---|---|---|---| +| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | ![](https://img.shields.io/github/stars/radsz/jacop?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/radsz/jacop?style=flat-square&label=) +| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | +| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | + +### CSV + +_Frameworks and libraries that simplify reading/writing CSV data._ + +| | | | | +|---|---|---|---| +| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | ![](https://img.shields.io/github/stars/osiegmar/FastCSV?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/osiegmar/FastCSV?style=flat-square&label=) +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | ![](https://img.shields.io/github/stars/FasterXML/jackson-dataformat-csv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/FasterXML/jackson-dataformat-csv?style=flat-square&label=) +| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | ![](https://img.shields.io/github/stars/uniVocity/univocity-parsers?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/uniVocity/univocity-parsers?style=flat-square&label=) + +### Data Structures + +_Efficient and specific data structures._ + +| | | | | +|---|---|---|---| +| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | +| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | +| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | ![](https://img.shields.io/github/stars/bulldog2011/bigqueue?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bulldog2011/bigqueue?style=flat-square&label=) +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | ![](https://img.shields.io/github/stars/LiveRamp/HyperMinHash-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/LiveRamp/HyperMinHash-java?style=flat-square&label=) +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | ![](https://img.shields.io/github/stars/hrldcpr/pcollections?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/hrldcpr/pcollections?style=flat-square&label=) +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | ![](https://img.shields.io/github/stars/protocolbuffers/protobuf?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/protocolbuffers/protobuf?style=flat-square&label=) +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | ![](https://img.shields.io/github/stars/RoaringBitmap/RoaringBitmap?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RoaringBitmap/RoaringBitmap?style=flat-square&label=) +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | ![](https://img.shields.io/github/stars/real-logic/simple-binary-encoding?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/simple-binary-encoding?style=flat-square&label=) +| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | ![](https://img.shields.io/github/stars/square/tape?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/tape?style=flat-square&label=) +| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | ![](https://img.shields.io/github/stars/square/wire?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/wire?style=flat-square&label=) + +### Database + +_Everything that simplifies interactions with the database._ + +| | | | | +|---|---|---|---| +| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | +| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | ![](https://img.shields.io/github/stars/arangodb/arangodb-java-driver?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/arangodb/arangodb-java-driver?style=flat-square&label=) +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | ![](https://img.shields.io/github/stars/OpenHFT/Chronicle-Map?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenHFT/Chronicle-Map?style=flat-square&label=) +| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | +| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | +| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | ![](https://img.shields.io/github/stars/eXist-db/exist?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eXist-db/exist?style=flat-square&label=) +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | ![](https://img.shields.io/github/stars/vladmihalcea/flexy-pool?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vladmihalcea/flexy-pool?style=flat-square&label=) +| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | +| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | ![](https://img.shields.io/github/stars/brettwooldridge/HikariCP?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/brettwooldridge/HikariCP?style=flat-square&label=) +| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | +| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | ![](https://img.shields.io/github/stars/xetorthio/jedis?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xetorthio/jedis?style=flat-square&label=) +| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | ![](https://img.shields.io/github/stars/searchbox-io/Jest?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/searchbox-io/Jest?style=flat-square&label=) +| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | ![](https://img.shields.io/github/stars/justinsb/jetcd?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/justinsb/jetcd?style=flat-square&label=) +| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | ![](https://img.shields.io/github/stars/my2iu/Jinq?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/my2iu/Jinq?style=flat-square&label=) +| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | ![](https://img.shields.io/github/stars/Meituan-Dianping/Leaf?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Meituan-Dianping/Leaf?style=flat-square&label=) +| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | +| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | +| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | ![](https://img.shields.io/github/stars/vorburger/MariaDB4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vorburger/MariaDB4j?style=flat-square&label=) +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | ![](https://img.shields.io/github/stars/arkanovicz/modality?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/arkanovicz/modality?style=flat-square&label=) +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | ![](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenDJ?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenDJ?style=flat-square&label=) +| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | ![](https://img.shields.io/github/stars/querystream/querystream?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/querystream/querystream?style=flat-square&label=) +| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | ![](https://img.shields.io/github/stars/questdb/questdb?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/questdb/questdb?style=flat-square&label=) +| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | ![](https://img.shields.io/github/stars/realm/realm-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/realm/realm-java?style=flat-square&label=) +| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | ![](https://img.shields.io/github/stars/redisson/redisson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/redisson/redisson?style=flat-square&label=) +| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | ![](https://img.shields.io/github/stars/requery/requery?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/requery/requery?style=flat-square&label=) +| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | ![](https://img.shields.io/github/stars/speedment/speedment?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/speedment/speedment?style=flat-square&label=) +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | ![](https://img.shields.io/github/stars/mhewedy/spring-data-jpa-mongodb-expressions?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mhewedy/spring-data-jpa-mongodb-expressions?style=flat-square&label=) +| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | ![](https://img.shields.io/github/stars/JetBrains/xodus?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/JetBrains/xodus?style=flat-square&label=) +| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | ![](https://img.shields.io/github/stars/Ahoo-Wang/CosId?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Ahoo-Wang/CosId?style=flat-square&label=) + +### Date and Time + +_Libraries related to handling date and time._ + +| | | | | +|---|---|---|---| +| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | ![](https://img.shields.io/github/stars/ical4j/ical4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ical4j/ical4j?style=flat-square&label=) +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | ![](https://img.shields.io/github/stars/svendiedrichsen/jollyday?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/svendiedrichsen/jollyday?style=flat-square&label=) +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | ![](https://img.shields.io/github/stars/ThreeTen/threeten-extra?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ThreeTen/threeten-extra?style=flat-square&label=) +| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | ![](https://img.shields.io/github/stars/MenoData/Time4J?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/MenoData/Time4J?style=flat-square&label=) + +### Decentralization + +_Libraries that handle decentralization tasks._ + +### Dependency Injection + +_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ + +| | | | | +|---|---|---|---| +| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | +| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | ![](https://img.shields.io/github/stars/zsoltherpai/feather?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zsoltherpai/feather?style=flat-square&label=) +| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | ![](https://img.shields.io/github/stars/Netflix/governator?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Netflix/governator?style=flat-square&label=) +| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | ![](https://img.shields.io/github/stars/google/guice?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/guice?style=flat-square&label=) +| [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) | ![](https://img.shields.io/github/stars/vanillasource/jaywire?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vanillasource/jaywire?style=flat-square&label=) + +### Development + +_Augmentation of the development process at a fundamental level._ + +| | | | | +|---|---|---|---| +| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | +| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | ![](https://img.shields.io/github/stars/zalando/faux-pas?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/faux-pas?style=flat-square&label=) +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | ![](https://img.shields.io/github/stars/HotswapProjects/HotswapAgent?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/HotswapProjects/HotswapAgent?style=flat-square&label=) +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | ![](https://img.shields.io/github/stars/javaparser/javaparser?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javaparser/javaparser?style=flat-square&label=) +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | ![](https://img.shields.io/github/stars/javaparser/javasymbolsolver?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javaparser/javasymbolsolver?style=flat-square&label=) +| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | ![](https://img.shields.io/github/stars/manifold-systems/manifold?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/manifold-systems/manifold?style=flat-square&label=) +| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | ![](https://img.shields.io/github/stars/rainerhahnekamp/sneakythrow?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rainerhahnekamp/sneakythrow?style=flat-square&label=) +| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | + +### Distributed Applications + +_Libraries and frameworks for writing distributed and fault-tolerant applications._ + +| | | | | +|---|---|---|---| +| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | +| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | +| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | +| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | ![](https://img.shields.io/github/stars/mtakaki/dropwizard-circuitbreaker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mtakaki/dropwizard-circuitbreaker?style=flat-square&label=) +| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | ![](https://img.shields.io/github/stars/jhalterman/failsafe?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhalterman/failsafe?style=flat-square&label=) +| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | ![](https://img.shields.io/github/stars/hazelcast/hazelcast?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/hazelcast/hazelcast?style=flat-square&label=) +| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | ![](https://img.shields.io/github/stars/resilience4j/resilience4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/resilience4j/resilience4j?style=flat-square&label=) +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | ![](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenIG?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenIG?style=flat-square&label=) +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | ![](https://img.shields.io/github/stars/scalecube/scalecube-services?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/scalecube/scalecube-services?style=flat-square&label=) +| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | ![](https://img.shields.io/github/stars/Netflix/zuul?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Netflix/zuul?style=flat-square&label=) + +### Distributed Transactions + +_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ + +| | | | | +|---|---|---|---| +| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | ![](https://img.shields.io/github/stars/bitronix/btm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bitronix/btm?style=flat-square&label=) +| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | +| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | ![](https://img.shields.io/github/stars/seata/seata?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/seata/seata?style=flat-square&label=) + +### Distribution + +_Tools that handle the distribution of applications in native formats._ + +| | | | | +|---|---|---|---| +| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | ![](https://img.shields.io/github/stars/artipie/artipie?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/artipie/artipie?style=flat-square&label=) +| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | ![](https://img.shields.io/github/stars/puniverse/capsule?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/puniverse/capsule?style=flat-square&label=) +| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | +| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | ![](https://img.shields.io/github/stars/threerings/getdown?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/threerings/getdown?style=flat-square&label=) +| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | ![](https://img.shields.io/github/stars/fvarrui/JavaPackager?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/fvarrui/JavaPackager?style=flat-square&label=) +| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | ![](https://img.shields.io/github/stars/AdoptOpenJDK/jlink.online?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AdoptOpenJDK/jlink.online?style=flat-square&label=) +| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | ![](https://img.shields.io/github/stars/libgdx/packr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/libgdx/packr?style=flat-square&label=) +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | ![](https://img.shields.io/github/stars/brianm/really-executable-jars-maven-plugin?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/brianm/really-executable-jars-maven-plugin?style=flat-square&label=) + +### Document Processing + +_Libraries that assist with processing office document formats._ + +| | | | | +|---|---|---|---| +| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | +| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | ![](https://img.shields.io/github/stars/dhatim/fastexcel?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dhatim/fastexcel?style=flat-square&label=) +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | ![](https://img.shields.io/github/stars/creditdatamw/zerocell?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/creditdatamw/zerocell?style=flat-square&label=) + +### Financial + +_Libraries related to the financial domain._ + +| | | | | +|---|---|---|---| +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | ![](https://img.shields.io/github/stars/cassandre-tech/cassandre-trading-bot?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cassandre-tech/cassandre-trading-bot?style=flat-square&label=) +| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | ![](https://img.shields.io/github/stars/paritytrading/parity?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/paritytrading/parity?style=flat-square&label=) +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | ![](https://img.shields.io/github/stars/paritytrading/philadelphia?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/paritytrading/philadelphia?style=flat-square&label=) +| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | ![](https://img.shields.io/github/stars/square/connect-java-sdk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/connect-java-sdk?style=flat-square&label=) +| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | ![](https://img.shields.io/github/stars/stripe/stripe-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stripe/stripe-java?style=flat-square&label=) +| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | ![](https://img.shields.io/github/stars/ta4j/ta4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ta4j/ta4j?style=flat-square&label=) + +### Formal Verification + +_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ + +| | | | | +|---|---|---|---| +| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | ![](https://img.shields.io/github/stars/ksen007/janala2?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ksen007/janala2?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/javapathfinder/jpf-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javapathfinder/jpf-core?style=flat-square&label=) +| [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 + +_Libraries that facilitate functional programming._ + +| | | | | +|---|---|---|---| +| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | ![](https://img.shields.io/github/stars/aol/cyclops?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aol/cyclops?style=flat-square&label=) +| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/derive4j/derive4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/derive4j/derive4j?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/jOOQ/jOOL?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jOOQ/jOOL?style=flat-square&label=) +| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | ![](https://img.shields.io/github/stars/jhspetersson/packrat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhspetersson/packrat?style=flat-square&label=) +| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | ![](https://img.shields.io/github/stars/poetix/protonpack?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/poetix/protonpack?style=flat-square&label=) +| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | ![](https://img.shields.io/github/stars/amaembo/streamex?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/amaembo/streamex?style=flat-square&label=) +| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | + +### Game Development + +_Frameworks that support the development of games._ + +| | | | | +|---|---|---|---| +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | +| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | +| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | +| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | +| [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. | ![](https://img.shields.io/github/stars/xzripper/Void2D?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xzripper/Void2D?style=flat-square&label=) +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | ![](https://img.shields.io/github/stars/chuigda/vulkan4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/chuigda/vulkan4j?style=flat-square&label=) + +### Geospatial + +_Libraries for working with geospatial data and algorithms._ + +| | | | | +|---|---|---|---| +| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | +| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | ![](https://img.shields.io/github/stars/davidmoten/geo?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/davidmoten/geo?style=flat-square&label=) +| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | ![](https://img.shields.io/github/stars/graphhopper/graphhopper?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/graphhopper/graphhopper?style=flat-square&label=) +| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | ![](https://img.shields.io/github/stars/mapsforge/mapsforge?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mapsforge/mapsforge?style=flat-square&label=) +| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | ![](https://img.shields.io/github/stars/locationtech/spatial4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/locationtech/spatial4j?style=flat-square&label=) + +### GUI + +_Libraries to create modern graphical user interfaces._ + +| | | | | +|---|---|---|---| +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | ![](https://img.shields.io/github/stars/reportmill/SnapKit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/reportmill/SnapKit?style=flat-square&label=) +| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | + +### High Performance + +_Everything about high-performance computation, from collections to specific libraries._ + +| | | | | +|---|---|---|---| +| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | ![](https://img.shields.io/github/stars/real-logic/Agrona?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/Agrona?style=flat-square&label=) +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | ![](https://img.shields.io/github/stars/eclipse/eclipse-collections?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eclipse/eclipse-collections?style=flat-square&label=) +| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | ![](https://img.shields.io/github/stars/JCTools/JCTools?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/JCTools/JCTools?style=flat-square&label=) +| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | ![](https://img.shields.io/github/stars/leventov/Koloboke?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/leventov/Koloboke?style=flat-square&label=) + +### HTTP Clients + +_Libraries that assist with creating HTTP requests and/or binding responses._ + +| | | | | +|---|---|---|---| +| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | ![](https://img.shields.io/github/stars/AsyncHttpClient/async-http-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AsyncHttpClient/async-http-client?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/OpenFeign/feign?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenFeign/feign?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/googleapis/google-http-java-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/googleapis/google-http-java-client?style=flat-square&label=) +| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | ![](https://img.shields.io/github/stars/mizosoft/methanol?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mizosoft/methanol?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/Netflix/ribbon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Netflix/ribbon?style=flat-square&label=) +| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | ![](https://img.shields.io/github/stars/zalando/riptide?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/riptide?style=flat-square&label=) +| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | ![](https://img.shields.io/github/stars/Kong/unirest-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Kong/unirest-java?style=flat-square&label=) + +### Hypermedia Types + +_Libraries that handle serialization to hypermedia types._ + +| | | | | +|---|---|---|---| +| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | ![](https://img.shields.io/github/stars/blackdoor/hate?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/blackdoor/hate?style=flat-square&label=) +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | ![](https://img.shields.io/github/stars/jsonld-java/jsonld-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jsonld-java/jsonld-java?style=flat-square&label=) +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | ![](https://img.shields.io/github/stars/eserating-chwy/siren4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eserating-chwy/siren4j?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/spring-projects/spring-hateoas?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/spring-projects/spring-hateoas?style=flat-square&label=) + +### IDE + +_Integrated development environments that try to simplify several aspects of development._ + +| | | | | +|---|---|---|---| +| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | +| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | +| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | + +### Imagery + +_Libraries that assist with the creation, evaluation or manipulation of graphical images._ + +| | | | | +|---|---|---|---| +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | ![](https://img.shields.io/github/stars/vws-java/Barcode-Lib4J?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vws-java/Barcode-Lib4J?style=flat-square&label=) +| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | ![](https://img.shields.io/github/stars/rkalla/imgscalr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rkalla/imgscalr?style=flat-square&label=) +| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | ![](https://img.shields.io/github/stars/nguyenq/tess4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nguyenq/tess4j?style=flat-square&label=) +| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | ![](https://img.shields.io/github/stars/coobird/thumbnailator?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/coobird/thumbnailator?style=flat-square&label=) +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | ![](https://img.shields.io/github/stars/haraldk/TwelveMonkeys?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/haraldk/TwelveMonkeys?style=flat-square&label=) +| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | ![](https://img.shields.io/github/stars/zxing/zxing?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zxing/zxing?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/romankh3/image-comparison?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/romankh3/image-comparison?style=flat-square&label=) +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | ![](https://img.shields.io/github/stars/lopcode/vips-ffm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lopcode/vips-ffm?style=flat-square&label=) +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | + +### Introspection + +_Libraries that help make the Java introspection and reflection API easier and faster to use._ + +| | | | | +|---|---|---|---| +| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | ![](https://img.shields.io/github/stars/classgraph/classgraph?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/classgraph/classgraph?style=flat-square&label=) +| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | ![](https://img.shields.io/github/stars/jOOQ/jOOR?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jOOQ/jOOR?style=flat-square&label=) +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | +| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | ![](https://img.shields.io/github/stars/EsotericSoftware/reflectasm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EsotericSoftware/reflectasm?style=flat-square&label=) +| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | ![](https://img.shields.io/github/stars/ronmamo/reflections?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ronmamo/reflections?style=flat-square&label=) + +### Job Scheduling + +_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 persistence, minimal dependencies and is embeddable. | ![](https://img.shields.io/github/stars/jobrunr/jobrunr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jobrunr/jobrunr?style=flat-square&label=) +| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | ![](https://img.shields.io/github/stars/quartz-scheduler/quartz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/quartz-scheduler/quartz?style=flat-square&label=) +| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | ![](https://img.shields.io/github/stars/knowm/Sundial?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/knowm/Sundial?style=flat-square&label=) +| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | ![](https://img.shields.io/github/stars/Coreoz/Wisp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Coreoz/Wisp?style=flat-square&label=) +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | ![](https://img.shields.io/github/stars/kagkarlsson/db-scheduler?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/kagkarlsson/db-scheduler?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/j-easy/easy-batch?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/j-easy/easy-batch?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/lukas-krecan/ShedLock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lukas-krecan/ShedLock?style=flat-square&label=) + +### JSON + +_Libraries for serializing and deserializing JSON to and from Java objects._ + +| | | | | +|---|---|---|---| +| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | ![](https://img.shields.io/github/stars/ngs-doo/dsl-json?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ngs-doo/dsl-json?style=flat-square&label=) +| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | +| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | ![](https://img.shields.io/github/stars/google/gson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/gson?style=flat-square&label=) +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | ![](https://img.shields.io/github/stars/brettwooldridge/HikariJSON?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/brettwooldridge/HikariJSON?style=flat-square&label=) +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | ![](https://img.shields.io/github/stars/FasterXML/jackson-modules-java8?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/FasterXML/jackson-modules-java8?style=flat-square&label=) +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | ![](https://img.shields.io/github/stars/zalando/jackson-datatype-money?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/jackson-datatype-money?style=flat-square&label=) +| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | ![](https://img.shields.io/github/stars/FasterXML/jackson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/FasterXML/jackson?style=flat-square&label=) +| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | ![](https://img.shields.io/github/stars/jdereg/json-io?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jdereg/json-io?style=flat-square&label=) +| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | ![](https://img.shields.io/github/stars/bluelinelabs/LoganSquare?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bluelinelabs/LoganSquare?style=flat-square&label=) +| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | ![](https://img.shields.io/github/stars/square/moshi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/moshi?style=flat-square&label=) +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | ![](https://img.shields.io/github/stars/eclipse-ee4j/yasson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eclipse-ee4j/yasson?style=flat-square&label=) +| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | ![](https://img.shields.io/github/stars/alibaba/fastjson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/fastjson?style=flat-square&label=) +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | ![](https://img.shields.io/github/stars/bazaarvoice/jolt?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bazaarvoice/jolt?style=flat-square&label=) +| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | ![](https://img.shields.io/github/stars/json-path/JsonPath?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/json-path/JsonPath?style=flat-square&label=) +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | ![](https://img.shields.io/github/stars/jsurfer/JsonSurfer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jsurfer/JsonSurfer?style=flat-square&label=) + +### JVM and JDK + +_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. | - | - | +| [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. | ![](https://img.shields.io/github/stars/alibaba/dragonwell8?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/dragonwell8?style=flat-square&label=) +| [Graal](https://github.com/oracle/graal) | Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) | ![](https://img.shields.io/github/stars/oracle/graal?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/oracle/graal?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/eclipse/openj9?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eclipse/openj9?style=flat-square&label=) +| [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) | ![](https://img.shields.io/github/stars/codenameone/CodenameOne/tree/master/vm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/codenameone/CodenameOne/tree/master/vm?style=flat-square&label=) +| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | ![](https://img.shields.io/github/stars/microsoft/openjdk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/microsoft/openjdk?style=flat-square&label=) + +### Logging + +_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. | ![](https://img.shields.io/github/stars/tersesystems/echopraxia?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/tersesystems/echopraxia?style=flat-square&label=) +| [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. | - | - | +| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | ![](https://img.shields.io/github/stars/zalando/logbook?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/logbook?style=flat-square&label=) +| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | ![](https://img.shields.io/github/stars/p6spy/p6spy?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/p6spy/p6spy?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/zalando/opentracing-toolbox?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/opentracing-toolbox?style=flat-square&label=) +| [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 + +_Tools that provide specific statistical algorithms for learning from data._ + +| | | | | +|---|---|---|---| +| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | +| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | +| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | +| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | ![](https://img.shields.io/github/stars/Barqawiz/IntelliJava?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Barqawiz/IntelliJava?style=flat-square&label=) +| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/EdwardRaff/JSAT?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EdwardRaff/JSAT?style=flat-square&label=) +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | ![](https://img.shields.io/github/stars/BayesWitnesses/m2cgen?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/BayesWitnesses/m2cgen?style=flat-square&label=) +| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | ![](https://img.shields.io/github/stars/Gleethos/neureka?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Gleethos/neureka?style=flat-square&label=) +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | ![](https://img.shields.io/github/stars/OryxProject/oryx?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OryxProject/oryx?style=flat-square&label=) +| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | ![](https://img.shields.io/github/stars/siddhi-io/siddhi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/siddhi-io/siddhi?style=flat-square&label=) +| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | ![](https://img.shields.io/github/stars/haifengl/smile?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/haifengl/smile?style=flat-square&label=) +| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | + +### Messaging + +_Tools that help send messages between clients to ensure protocol independency._ + +| | | | | +|---|---|---|---| +| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | ![](https://img.shields.io/github/stars/real-logic/Aeron?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/Aeron?style=flat-square&label=) +| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | +| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | +| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | +| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | ![](https://img.shields.io/github/stars/AutoMQ/automq-for-kafka?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AutoMQ/automq-for-kafka?style=flat-square&label=) +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | ![](https://img.shields.io/github/stars/joel-jeremy/deezpatch?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/joel-jeremy/deezpatch?style=flat-square&label=) +| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | ![](https://img.shields.io/github/stars/greenrobot/EventBus?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/greenrobot/EventBus?style=flat-square&label=) +| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | ![](https://img.shields.io/github/stars/zeromq/jeromq?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zeromq/jeromq?style=flat-square&label=) +| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | ![](https://img.shields.io/github/stars/zalando/nakadi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/nakadi?style=flat-square&label=) +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | ![](https://img.shields.io/github/stars/rabbitmq/rabbitmq-java-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rabbitmq/rabbitmq-java-client?style=flat-square&label=) +| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | ![](https://img.shields.io/github/stars/igniterealtime/Smack?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/igniterealtime/Smack?style=flat-square&label=) +| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | ![](https://img.shields.io/github/stars/nats-io/nats.java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nats-io/nats.java?style=flat-square&label=) + +### Microservice + +_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. | - | - | +| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | ![](https://img.shields.io/github/stars/line/armeria?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/line/armeria?style=flat-square&label=) +| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | ![](https://img.shields.io/github/stars/Ecwid/consul-api?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Ecwid/consul-api?style=flat-square&label=) +| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | ![](https://img.shields.io/github/stars/Netflix/eureka?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Netflix/eureka?style=flat-square&label=) +| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | ![](https://img.shields.io/github/stars/DV8FromTheWorld/JDA?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/DV8FromTheWorld/JDA?style=flat-square&label=) +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | ![](https://img.shields.io/github/stars/DaveJarvis/KeenType?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/DaveJarvis/KeenType?style=flat-square&label=) +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | ![](https://img.shields.io/github/stars/fabric8io/kubernetes-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/fabric8io/kubernetes-client?style=flat-square&label=) +| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | +| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | ![](https://img.shields.io/github/stars/TheoKanning/openai-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/TheoKanning/openai-java?style=flat-square&label=) +| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | ![](https://img.shields.io/github/stars/alibaba/Sentinel?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/Sentinel?style=flat-square&label=) + +### Miscellaneous + +_Everything else._ + +| | | | | +|---|---|---|---| +| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | ![](https://img.shields.io/github/stars/npgall/cqengine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/npgall/cqengine?style=flat-square&label=) +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | ![](https://img.shields.io/github/stars/iluwatar/java-design-patterns?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/iluwatar/java-design-patterns?style=flat-square&label=) +| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | ![](https://img.shields.io/github/stars/ff4j/ff4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ff4j/ff4j?style=flat-square&label=) +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | ![](https://img.shields.io/github/stars/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?style=flat-square&label=) +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | ![](https://img.shields.io/github/stars/ip2location/ip2location-io-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ip2location/ip2location-io-java?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/ladutsko/isbn-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ladutsko/isbn-core?style=flat-square&label=) +| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | ![](https://img.shields.io/github/stars/google/j2objc?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/j2objc?style=flat-square&label=) +| [JBake](https://jbake.org) | Static website generator. | - | - | +| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/rampatra/jbot?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rampatra/jbot?style=flat-square&label=) +| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | ![](https://img.shields.io/github/stars/felldo/JEmoji?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/felldo/JEmoji?style=flat-square&label=) +| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | ![](https://img.shields.io/github/stars/google/jimfs?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/jimfs?style=flat-square&label=) +| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | +| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | ![](https://img.shields.io/github/stars/jooq/joox?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jooq/joox?style=flat-square&label=) +| [JPad](http://jpad.io) | Snippet runner. | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | ![](https://img.shields.io/github/stars/cincheo/jsweet?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cincheo/jsweet?style=flat-square&label=) +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | ![](https://img.shields.io/github/stars/takari/maven-wrapper?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/takari/maven-wrapper?style=flat-square&label=) +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | ![](https://img.shields.io/github/stars/membrane/service-proxy?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/membrane/service-proxy?style=flat-square&label=) +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | ![](https://img.shields.io/github/stars/Guichaguri/MinimalFTP?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Guichaguri/MinimalFTP?style=flat-square&label=) +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | ![](https://img.shields.io/github/stars/adamfisk/LittleProxy?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/adamfisk/LittleProxy?style=flat-square&label=) +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | ![](https://img.shields.io/github/stars/winterbe/java8-tutorial?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/winterbe/java8-tutorial?style=flat-square&label=) +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | ![](https://img.shields.io/github/stars/gaul/modernizer-maven-plugin?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/gaul/modernizer-maven-plugin?style=flat-square&label=) +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | ![](https://img.shields.io/github/stars/OctoLinker/OctoLinker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OctoLinker/OctoLinker?style=flat-square&label=) +| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | ![](https://img.shields.io/github/stars/sizovs/pipelinr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sizovs/pipelinr?style=flat-square&label=) +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | ![](https://img.shields.io/github/stars/takari/polyglot-maven?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/takari/polyglot-maven?style=flat-square&label=) +| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | ![](https://img.shields.io/github/stars/Kartikvk1996/RR4J?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Kartikvk1996/RR4J?style=flat-square&label=) +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | ![](https://img.shields.io/github/stars/bbottema/simple-java-mail?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bbottema/simple-java-mail?style=flat-square&label=) +| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | ![](https://img.shields.io/github/stars/smooks/smooks?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/smooks/smooks?style=flat-square&label=) +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | ![](https://img.shields.io/github/stars/svix/svix-webhooks/tree/main/java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/svix/svix-webhooks/tree/main/java?style=flat-square&label=) +| [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | +| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | ![](https://img.shields.io/github/stars/jhalterman/typetools?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhalterman/typetools?style=flat-square&label=) +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | ![](https://img.shields.io/github/stars/sarxos/webcam-capture?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sarxos/webcam-capture?style=flat-square&label=) +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | ![](https://img.shields.io/github/stars/SvenEwald/xmlbeam?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SvenEwald/xmlbeam?style=flat-square&label=) +| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | ![](https://img.shields.io/github/stars/yWorks/yGuard?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yWorks/yGuard?style=flat-square&label=) +| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | ![](https://img.shields.io/github/stars/maxandersen/jbang/?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/maxandersen/jbang/?style=flat-square&label=) + +### Mobile Development + +_Tools for creating or managing mobile applications._ + +| | | | | +|---|---|---|---| +| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | + +### Monitoring + +_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. | ![](https://img.shields.io/github/stars/apitally/apitally-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/apitally/apitally-java?style=flat-square&label=) +| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | ![](https://img.shields.io/github/stars/stevensouza/automon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stevensouza/automon?style=flat-square&label=) +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | ![](https://img.shields.io/github/stars/dropwizard/metrics?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dropwizard/metrics?style=flat-square&label=) +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | ![](https://img.shields.io/github/stars/zalando/failsafe-actuator?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/failsafe-actuator?style=flat-square&label=) +| [Glowroot](https://glowroot.org) | Open-source Java APM. | - | - | +| [HertzBeat](https://github.com/dromara/hertzbeat) | Real-time monitoring system with custom-monitor and agentless. | ![](https://img.shields.io/github/stars/dromara/hertzbeat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dromara/hertzbeat?style=flat-square&label=) +| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic and observable thread pool framework. | ![](https://img.shields.io/github/stars/opengoofy/hippo4j/blob/develop/README-EN.md?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/opengoofy/hippo4j/blob/develop/README-EN.md?style=flat-square&label=) +| [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. | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | ![](https://img.shields.io/github/stars/jaegertracing/jaeger-client-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jaegertracing/jaeger-client-java?style=flat-square&label=) +| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | ![](https://img.shields.io/github/stars/javamelody/javamelody?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javamelody/javamelody?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/jmxtrans/jmxtrans?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jmxtrans/jmxtrans?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/micrometer-metrics/micrometer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/micrometer-metrics/micrometer?style=flat-square&label=) +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | ![](https://img.shields.io/github/stars/micrometer-metrics/tracing?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/micrometer-metrics/tracing?style=flat-square&label=) +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | ![](https://img.shields.io/github/stars/lorenzoongithub/nudge4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lorenzoongithub/nudge4j?style=flat-square&label=) +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | ![](https://img.shields.io/github/stars/open-telemetry/opentelemetry-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/open-telemetry/opentelemetry-java?style=flat-square&label=) +| [Pinpoint](https://github.com/naver/pinpoint) | Open-source APM tool. | ![](https://img.shields.io/github/stars/naver/pinpoint?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/naver/pinpoint?style=flat-square&label=) +| [Prometheus](https://github.com/prometheus/client_java) | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. | ![](https://img.shields.io/github/stars/prometheus/client_java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/prometheus/client_java?style=flat-square&label=) +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | ![](https://img.shields.io/github/stars/stagemonitor/stagemonitor?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stagemonitor/stagemonitor?style=flat-square&label=) +| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | ![](https://img.shields.io/github/stars/palantir/Sysmon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/palantir/Sysmon?style=flat-square&label=) +| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | + +### Native + +_For working with platform-specific native libraries._ + +| | | | | +|---|---|---|---| +| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | ![](https://img.shields.io/github/stars/Syncleus/aparapi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Syncleus/aparapi?style=flat-square&label=) +| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | ![](https://img.shields.io/github/stars/bytedeco/javacpp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bytedeco/javacpp?style=flat-square&label=) +| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | ![](https://img.shields.io/github/stars/java-native-access/jna?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/java-native-access/jna?style=flat-square&label=) +| [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). | ![](https://img.shields.io/github/stars/jnr/jnr-ffi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jnr/jnr-ffi?style=flat-square&label=) +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | ![](https://img.shields.io/github/stars/scijava/native-lib-loader?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/scijava/native-lib-loader?style=flat-square&label=) + +### Natural Language Processing + +_Libraries that specialize in processing text._ + +| | | | | +|---|---|---|---| +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | ![](https://img.shields.io/github/stars/CogComp/cogcomp-nlp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/CogComp/cogcomp-nlp?style=flat-square&label=) +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | +| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | ![](https://img.shields.io/github/stars/ejossev/hypherator-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ejossev/hypherator-java?style=flat-square&label=) +| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | + +### Networking + +_Libraries for building network servers._ + +| | | | | +|---|---|---|---| +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | ![](https://img.shields.io/github/stars/CiscoSE/commons-networking?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/CiscoSE/commons-networking?style=flat-square&label=) +| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | ![](https://img.shields.io/github/stars/puniverse/comsat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/puniverse/comsat?style=flat-square&label=) +| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | ![](https://img.shields.io/github/stars/apache/dubbo?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/apache/dubbo?style=flat-square&label=) +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | +| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | ![](https://img.shields.io/github/stars/grpc/grpc-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/grpc/grpc-java?style=flat-square&label=) +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | ![](https://img.shields.io/github/stars/EsotericSoftware/kryonet?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EsotericSoftware/kryonet?style=flat-square&label=) +| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | +| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | +| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | ![](https://img.shields.io/github/stars/airlift/drift?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/airlift/drift?style=flat-square&label=) +| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | ![](https://img.shields.io/github/stars/apple/servicetalk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/apple/servicetalk?style=flat-square&label=) +| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | ![](https://img.shields.io/github/stars/hierynomus/sshj?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/hierynomus/sshj?style=flat-square&label=) +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | ![](https://img.shields.io/github/stars/marianobarrios/tls-channel?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/marianobarrios/tls-channel?style=flat-square&label=) +| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | +| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/slub/urnlib?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/slub/urnlib?style=flat-square&label=) +| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | ![](https://img.shields.io/github/stars/komamitsu/fluency?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/komamitsu/fluency?style=flat-square&label=) + +### ORM + +_APIs that handle the persistence of objects._ + +| | | | | +|---|---|---|---| +| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | +| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | ![](https://img.shields.io/github/stars/domaframework/doma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/domaframework/doma?style=flat-square&label=) +| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | +| [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. | ![](https://img.shields.io/github/stars/mybatis/mybatis-3?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mybatis/mybatis-3?style=flat-square&label=) +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | ![](https://img.shields.io/github/stars/baomidou/mybatis-plus?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/baomidou/mybatis-plus?style=flat-square&label=) +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | ![](https://img.shields.io/github/stars/braisdom/ObjectiveSql?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/braisdom/ObjectiveSql?style=flat-square&label=) +| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | ![](https://img.shields.io/github/stars/permazen/permazen?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/permazen/permazen?style=flat-square&label=) +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | ![](https://img.shields.io/github/stars/arnaudroger/SimpleFlatMapper?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/arnaudroger/SimpleFlatMapper?style=flat-square&label=) + +### PaaS + +_Java platform as a service._ + +### Pathfinding + +_Algorithms and libraries for finding routes in graphs and spatial environments._ + +| | | | | +|---|---|---|---| +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | ![](https://img.shields.io/github/stars/bsommerfeld/pathetic?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bsommerfeld/pathetic?style=flat-square&label=) + +### PDF + +_Tools to help with PDF files._ + +| | | | | +|---|---|---|---| +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | ![](https://img.shields.io/github/stars/dynamicreports/dynamicreports?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dynamicreports/dynamicreports?style=flat-square&label=) +| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | ![](https://img.shields.io/github/stars/flyingsaucerproject/flyingsaucer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/flyingsaucerproject/flyingsaucer?style=flat-square&label=) +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | ![](https://img.shields.io/github/stars/danfickle/openhtmltopdf?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/danfickle/openhtmltopdf?style=flat-square&label=) +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | ![](https://img.shields.io/github/stars/LibrePDF/OpenPDF?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/LibrePDF/OpenPDF?style=flat-square&label=) +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | ![](https://img.shields.io/github/stars/tabulapdf/tabula-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/tabulapdf/tabula-java?style=flat-square&label=) + +### Performance analysis + +_Tools for performance analysis, profiling and benchmarking._ + +| | | | | +|---|---|---|---| +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | ![](https://img.shields.io/github/stars/jvm-profiling-tools/honest-profiler?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jvm-profiling-tools/honest-profiler?style=flat-square&label=) +| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | ![](https://img.shields.io/github/stars/giltene/jHiccup?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/giltene/jHiccup?style=flat-square&label=) +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | ![](https://img.shields.io/github/stars/AdoptOpenJDK/jitwatch?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AdoptOpenJDK/jitwatch?style=flat-square&label=) +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | ![](https://img.shields.io/github/stars/LatencyUtils/LatencyUtils?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/LatencyUtils/LatencyUtils?style=flat-square&label=) + +### Platform + +_Frameworks that are suites of multiple libraries encompassing several categories._ + +#### Apache Commons +#### Other +| | | | | +|---|---|---|---| +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | ![](https://img.shields.io/github/stars/networknt/light-4j/?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/networknt/light-4j/?style=flat-square&label=) +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | ![](https://img.shields.io/github/stars/OrienteerBAP/Orienteer/?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OrienteerBAP/Orienteer/?style=flat-square&label=) +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | + +### Processes + +_Libraries that help the management of operating system processes._ + +| | | | | +|---|---|---|---| +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | ![](https://img.shields.io/github/stars/vorburger/ch.vorburger.exec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.exec?style=flat-square&label=) +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | ![](https://img.shields.io/github/stars/zeroturnaround/zt-exec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zeroturnaround/zt-exec?style=flat-square&label=) +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | ![](https://img.shields.io/github/stars/zeroturnaround/zt-process-killer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zeroturnaround/zt-process-killer?style=flat-square&label=) + +### Reactive libraries + +_Libraries for developing reactive applications._ + +| | | | | +|---|---|---|---| +| [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. | ![](https://img.shields.io/github/stars/reactive-streams/reactive-streams-jvm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/reactive-streams/reactive-streams-jvm?style=flat-square&label=) +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | ![](https://img.shields.io/github/stars/reactor/reactor?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/reactor/reactor?style=flat-square&label=) +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | ![](https://img.shields.io/github/stars/ReactiveX/RxJava?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ReactiveX/RxJava?style=flat-square&label=) +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | + +### REST Frameworks + +_Frameworks specifically for creating RESTful services._ + +| | | | | +|---|---|---|---| +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | ![](https://img.shields.io/github/stars/dropwizard/dropwizard?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dropwizard/dropwizard?style=flat-square&label=) +| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | +| [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. | ![](https://img.shields.io/github/stars/aol/micro-server?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aol/micro-server?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/linkedin/rest.li?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/linkedin/rest.li?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/RestExpress/RestExpress?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RestExpress/RestExpress?style=flat-square&label=) +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | ![](https://img.shields.io/github/stars/restlet/restlet-framework-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/restlet/restlet-framework-java?style=flat-square&label=) +| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | +| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | ![](https://img.shields.io/github/stars/springdoc/springdoc-openapi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/springdoc/springdoc-openapi?style=flat-square&label=) +| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | + +### Science + +_Libraries for scientific computing, analysis and visualization._ + +| | | | | +|---|---|---|---| +| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | ![](https://img.shields.io/github/stars/GSI-CS-CO/chart-fx?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/GSI-CS-CO/chart-fx?style=flat-square&label=) +| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | ![](https://img.shields.io/github/stars/Erdos-Graph-Framework/Erdos?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Erdos-Graph-Framework/Erdos?style=flat-square&label=) +| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | ![](https://img.shields.io/github/stars/jgrapht/jgrapht?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jgrapht/jgrapht?style=flat-square&label=) +| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | ![](https://img.shields.io/github/stars/jgraph/jgraphx?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jgraph/jgraphx?style=flat-square&label=) +| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | ![](https://img.shields.io/github/stars/logic-ng/LogicNG?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/logic-ng/LogicNG?style=flat-square&label=) +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | ![](https://img.shields.io/github/stars/MinesJTK/jtk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/MinesJTK/jtk?style=flat-square&label=) +| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory-efficient tabular datastructure (dataframe). | ![](https://img.shields.io/github/stars/zavtech/morpheus-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zavtech/morpheus-core?style=flat-square&label=) +| [Orekit](https://www.orekit.org/) | Low-level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...). | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/jfree/orson-charts?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jfree/orson-charts?style=flat-square&label=) +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | ![](https://img.shields.io/github/stars/jtablesaw/tablesaw?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jtablesaw/tablesaw?style=flat-square&label=) +| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | ![](https://img.shields.io/github/stars/knowm/XChart?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/knowm/XChart?style=flat-square&label=) + +### Search + +_Engines that index documents for search and analysis._ + +| | | | | +|---|---|---|---| +| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | ![](https://img.shields.io/github/stars/haeungun/indexer4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/haeungun/indexer4j?style=flat-square&label=) + +### Security + +_Libraries that handle security, authentication, authorization or session management._ + +| | | | | +|---|---|---|---| +| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | ![](https://img.shields.io/github/stars/Hakky54/ayza?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Hakky54/ayza?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/jeremylong/DependencyCheck?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jeremylong/DependencyCheck?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/hdiv/hdiv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/hdiv/hdiv?style=flat-square&label=) +| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | ![](https://img.shields.io/github/stars/jwtk/jjwt?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jwtk/jjwt?style=flat-square&label=) +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | ![](https://img.shields.io/github/stars/BastiaanJansen/jwt-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/BastiaanJansen/jwt-java?style=flat-square&label=) +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | ![](https://img.shields.io/github/stars/auth0/jwks-rsa-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/auth0/jwks-rsa-java?style=flat-square&label=) +| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | ![](https://img.shields.io/github/stars/abstractj/kalium?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/abstractj/kalium?style=flat-square&label=) +| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | ![](https://img.shields.io/github/stars/square/keywhiz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/keywhiz?style=flat-square&label=) +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | ![](https://img.shields.io/github/stars/GoSimpleLLC/nbvcxz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/GoSimpleLLC/nbvcxz?style=flat-square&label=) +| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | ![](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenAM?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenAM?style=flat-square&label=) +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | ![](https://img.shields.io/github/stars/BastiaanJansen/OTP-Java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/BastiaanJansen/OTP-Java?style=flat-square&label=) +| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | ![](https://img.shields.io/github/stars/pac4j/pac4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/pac4j/pac4j?style=flat-square&label=) +| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | +| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | ![](https://img.shields.io/github/stars/Password4j/password4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Password4j/password4j?style=flat-square&label=) +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | ![](https://img.shields.io/github/stars/tersesystems/securitybuilder?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/tersesystems/securitybuilder?style=flat-square&label=) +| [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). | ![](https://img.shields.io/github/stars/cossacklabs/themis?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cossacklabs/themis?style=flat-square&label=) +| [Tink](https://github.com/google/tink) | Provides a simple and misuse-proof API for common cryptographic tasks. | ![](https://img.shields.io/github/stars/google/tink?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/tink?style=flat-square&label=) +| [Topaz](https://www.topaz.sh) | Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. | - | - | + +### Serialization + +_Libraries that handle serialization with high efficiency._ + +| | | | | +|---|---|---|---| +| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | ![](https://img.shields.io/github/stars/google/flatbuffers?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/flatbuffers?style=flat-square&label=) +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | ![](https://img.shields.io/github/stars/RuedigerMoeller/fast-serialization?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RuedigerMoeller/fast-serialization?style=flat-square&label=) +| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | ![](https://img.shields.io/github/stars/alipay/fury?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alipay/fury?style=flat-square&label=) +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | ![](https://img.shields.io/github/stars/EsotericSoftware/kryo?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EsotericSoftware/kryo?style=flat-square&label=) +| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | ![](https://img.shields.io/github/stars/msgpack/msgpack-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/msgpack/msgpack-java?style=flat-square&label=) +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | ![](https://img.shields.io/github/stars/marcospassos/java-php-serializer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/marcospassos/java-php-serializer?style=flat-square&label=) + +### Server + +_Servers specifically used to deploy applications._ + +| | | | | +|---|---|---|---| +| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | ![](https://img.shields.io/github/stars/NanoHttpd/nanohttpd?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/NanoHttpd/nanohttpd?style=flat-square&label=) +| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | + +### Template Engine + +_Tools that substitute expressions in a template._ + +| | | | | +|---|---|---|---| +| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | ![](https://img.shields.io/github/stars/neuland/jade4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/neuland/jade4j?style=flat-square&label=) +| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions with support for snippet handling. | ![](https://img.shields.io/github/stars/verhas/jamal?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/verhas/jamal?style=flat-square&label=) +| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | ![](https://img.shields.io/github/stars/jstachio/jstachio?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jstachio/jstachio?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/casid/jte?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/casid/jte?style=flat-square&label=) +| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | ![](https://img.shields.io/github/stars/jtwig/jtwig?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jtwig/jtwig?style=flat-square&label=) +| [Pebble](https://pebbletemplates.io) | Twig-inspired, separates itself with inheritance features and its easy-to-read syntax, autoescaping for security and i18n. | - | - | +| [Rocker](https://github.com/fizzed/rocker) | Optimized, memory efficient and speedy template engine producing statically typed, plain objects. | ![](https://img.shields.io/github/stars/fizzed/rocker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/fizzed/rocker?style=flat-square&label=) +| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | ![](https://img.shields.io/github/stars/antlr/stringtemplate4?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/antlr/stringtemplate4?style=flat-square&label=) +| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | + +### Testing + +_Tools that test from model to the view._ + +#### Asynchronous +_Tools that simplify testing asynchronous services._ + +#### BDD +_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ + +#### Fixtures +_Everything related to the creation and handling of random data._ + +#### Frameworks +_Provide environments to run tests for a specific use case._ + +#### Matchers +_Libraries that provide custom matchers._ + +#### Miscellaneous +_Other stuff related to testing._ + +#### Mocking +_Tools which mock collaborators to help testing single, isolated units._ + +| | | | | +|---|---|---|---| +| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | ![](https://img.shields.io/github/stars/awaitility/awaitility?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/awaitility/awaitility?style=flat-square&label=) +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | ![](https://img.shields.io/github/stars/jhalterman/concurrentunit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhalterman/concurrentunit?style=flat-square&label=) +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | ![](https://img.shields.io/github/stars/SpectoLabs/hoverfly-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SpectoLabs/hoverfly-java?style=flat-square&label=) +| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | ![](https://img.shields.io/github/stars/intuit/karate?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/intuit/karate?style=flat-square&label=) +| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | ![](https://img.shields.io/github/stars/rest-assured/rest-assured?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rest-assured/rest-assured?style=flat-square&label=) +| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | ![](https://img.shields.io/github/stars/testingisdocumenting/webtau?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/testingisdocumenting/webtau?style=flat-square&label=) +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | ![](https://img.shields.io/github/stars/cucumber/cucumber-jvm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cucumber/cucumber-jvm?style=flat-square&label=) +| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | ![](https://img.shields.io/github/stars/ctco/cukes?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ctco/cukes?style=flat-square&label=) +| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | ![](https://img.shields.io/github/stars/j8spec/j8spec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/j8spec/j8spec?style=flat-square&label=) +| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | +| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | ![](https://img.shields.io/github/stars/RichardWarburton/lambda-behave?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RichardWarburton/lambda-behave?style=flat-square&label=) +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated acceptance testing and reporting library that works with Cucumber, JBehave and JUnit. | ![](https://img.shields.io/github/stars/serenity-bdd/serenity-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/serenity-bdd/serenity-core?style=flat-square&label=) +| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | ![](https://img.shields.io/github/stars/AutoParams/AutoParams?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AutoParams/AutoParams?style=flat-square&label=) +| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | ![](https://img.shields.io/github/stars/keepcosmos/beanmother?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/keepcosmos/beanmother?style=flat-square&label=) +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | ![](https://img.shields.io/github/stars/datafaker-net/datafaker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/datafaker-net/datafaker?style=flat-square&label=) +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | ![](https://img.shields.io/github/stars/six2six/fixture-factory?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/six2six/fixture-factory?style=flat-square&label=) +| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | ![](https://img.shields.io/github/stars/Devskiller/jfairy?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Devskiller/jfairy?style=flat-square&label=) +| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | ![](https://img.shields.io/github/stars/instancio/instancio?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/instancio/instancio?style=flat-square&label=) +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | ![](https://img.shields.io/github/stars/randomizedtesting/randomizedtesting?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/randomizedtesting/randomizedtesting?style=flat-square&label=) +| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | ![](https://img.shields.io/github/stars/DiUS/java-faker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/DiUS/java-faker?style=flat-square&label=) +| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | ![](https://img.shields.io/github/stars/nomemory/mockneat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nomemory/mockneat?style=flat-square&label=) +| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | ![](https://img.shields.io/github/stars/xcancloud/JMock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xcancloud/JMock?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/guhilling/cdi-test?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/guhilling/cdi-test?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/DiUS/pact-jvm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/DiUS/pact-jvm?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/weld/weld-testing?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/weld/weld-testing?style=flat-square&label=) +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | ![](https://img.shields.io/github/stars/lukas-krecan/JsonUnit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lukas-krecan/JsonUnit?style=flat-square&label=) +| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | ![](https://img.shields.io/github/stars/xmlunit/xmlunit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xmlunit/xmlunit?style=flat-square&label=) +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | ![](https://img.shields.io/github/stars/Hakky54/console-captor?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Hakky54/console-captor?style=flat-square&label=) +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | ![](https://img.shields.io/github/stars/TNG/junit-dataprovider?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/TNG/junit-dataprovider?style=flat-square&label=) +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | ![](https://img.shields.io/github/stars/Hakky54/log-captor?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Hakky54/log-captor?style=flat-square&label=) +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | ![](https://img.shields.io/github/stars/dm-drogeriemarkt/log-capture?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dm-drogeriemarkt/log-capture?style=flat-square&label=) +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | ![](https://img.shields.io/github/stars/MutabilityDetector/MutabilityDetector?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/MutabilityDetector/MutabilityDetector?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/nidi3/raml-tester?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nidi3/raml-tester?style=flat-square&label=) +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | ![](https://img.shields.io/github/stars/diffplug/selfie?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/diffplug/selfie?style=flat-square&label=) +| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | ![](https://img.shields.io/github/stars/stebz/stebz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stebz/stebz?style=flat-square&label=) +| [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. | ![](https://img.shields.io/github/stars/testcontainers/testcontainers-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/testcontainers/testcontainers-java?style=flat-square&label=) +| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | +| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | ![](https://img.shields.io/github/stars/mockito/mockito?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mockito/mockito?style=flat-square&label=) +| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | +| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | ![](https://img.shields.io/github/stars/dreamhead/moco?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dreamhead/moco?style=flat-square&label=) +| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | ![](https://img.shields.io/github/stars/powermock/powermock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/powermock/powermock?style=flat-square&label=) +| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | +| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | ![](https://img.shields.io/github/stars/easymock/easymock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/easymock/easymock?style=flat-square&label=) + +### Utility + +_Libraries which provide general utility functions._ + +| | | | | +|---|---|---|---| +| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | ![](https://img.shields.io/github/stars/alibaba/arthas?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/arthas?style=flat-square&label=) +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | ![](https://img.shields.io/github/stars/vladimir-bukhtoyarov/bucket4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vladimir-bukhtoyarov/bucket4j?style=flat-square&label=) +| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | ![](https://img.shields.io/github/stars/yegor256/cactoos?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yegor256/cactoos?style=flat-square&label=) +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | ![](https://img.shields.io/github/stars/cleopatra27/chocotea?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cleopatra27/chocotea?style=flat-square&label=) +| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | ![](https://img.shields.io/github/stars/PatMartin/Dex?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/PatMartin/Dex?style=flat-square&label=) +| [dregex](https://github.com/marianobarrios/dregex) | Regex engine that uses deterministic finite automata. Supports some Perl-style features, yet retains linear matching time with set operations. | ![](https://img.shields.io/github/stars/marianobarrios/dregex?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/marianobarrios/dregex?style=flat-square&label=) +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | ![](https://img.shields.io/github/stars/embulk/embulk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/embulk/embulk?style=flat-square&label=) +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | ![](https://img.shields.io/github/stars/vorburger/ch.vorburger.fswatch?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.fswatch?style=flat-square&label=) +| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/gephi/gephi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/gephi/gephi?style=flat-square&label=) +| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | ![](https://img.shields.io/github/stars/google/guava?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/guava?style=flat-square&label=) +| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | ![](https://img.shields.io/github/stars/MathieuSoysal/Javadoc-publisher.yml?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/MathieuSoysal/Javadoc-publisher.yml?style=flat-square&label=) +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | ![](https://img.shields.io/github/stars/VerbalExpressions/JavaVerbalExpressions?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/VerbalExpressions/JavaVerbalExpressions?style=flat-square&label=) +| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | ![](https://img.shields.io/github/stars/evpl/jkscope?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/evpl/jkscope?style=flat-square&label=) +| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | ![](https://img.shields.io/github/stars/minio/minio-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/minio/minio-java?style=flat-square&label=) +| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | ![](https://img.shields.io/github/stars/semver4j/semver4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/semver4j/semver4j?style=flat-square&label=) +| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | ![](https://img.shields.io/github/stars/javadev/underscore-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javadev/underscore-java?style=flat-square&label=) + +### Version Managers + +_Utilities that help create the development shell environment and switch between different Java versions._ + +| | | | | +|---|---|---|---| +| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | ![](https://img.shields.io/github/stars/shyiko/jabba?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/shyiko/jabba?style=flat-square&label=) +| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | ![](https://img.shields.io/github/stars/jenv/jenv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jenv/jenv?style=flat-square&label=) +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | ![](https://img.shields.io/github/stars/sdkman/sdkman-cli?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sdkman/sdkman-cli?style=flat-square&label=) + +### Web Crawling + +_Libraries that analyze the content of websites._ + +| | | | | +|---|---|---|---| +| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | ![](https://img.shields.io/github/stars/yasserg/crawler4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yasserg/crawler4j?style=flat-square&label=) +| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | +| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | ![](https://img.shields.io/github/stars/code4craft/webmagic?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/code4craft/webmagic?style=flat-square&label=) + +### Web Frameworks + +_Frameworks that handle the communication between the layers of a web application._ + +| | | | | +|---|---|---|---| +| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | +| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | ![](https://img.shields.io/github/stars/lets-blade/blade?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lets-blade/blade?style=flat-square&label=) +| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | +| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | +| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | +| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | +| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | +| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | +| [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. | ![](https://img.shields.io/github/stars/yegor256/takes?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yegor256/takes?style=flat-square&label=) +| [Vaadin](https://vaadin.com) | Used for building complex, interactive applications with Java alone, enhanceable with TypeScript and React components | - | - | +| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | + +### Workflow Orchestration Engines + +| | | | | +|---|---|---|---| +| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | ![](https://img.shields.io/github/stars/flowable/flowable-engine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/flowable/flowable-engine?style=flat-square&label=) +| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | + +## Resources + +### Related Awesome Lists + +_Awesome Lists related to the Java & JVM ecosystem._ + +- [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) +- [Awesome REST](https://github.com/marmelab/awesome-rest) +- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) +- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) +- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) +- [Useful Java Links](https://github.com/Vedenin/useful-java-links) +- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) +- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) + +### Communities + +_Active discussions._ + +- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. +- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. + +### Frontends + +_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ + +- [java.libhunt.com](https://java.libhunt.com) + +### Influential Books + +_Books that made a big impact and are still worth reading._ + +- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) +- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) +- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) +- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) +- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) +- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) +- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) + +### Podcasts and Screencasts + +_Something to look at or listen to while programming._ + +- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. +- [A Bootiful Podcast](https://bootifulpodcast.fm) +- [Foojay Podcast](https://foojay.io/today/category/podcast/) +- [Inside Java](https://inside.java/podcast) (Official) +- [Java Off Heap](http://www.javaoffheap.com) +- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. + +### People + +#### Socials + +_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://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://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](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://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. +- [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. +- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. +- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. +- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. +- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. +- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. +- [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://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. + +### Websites + +_Sites to read._ + +- [Baeldung](https://www.baeldung.com) +- [Dzone](https://dzone.com) +- [foojay.io](https://foojay.io) +- [Google Java Style](https://google.github.io/styleguide/javaguide.html) +- [InfoQ](https://www.infoq.com) +- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) +- [Java, SQL, and jOOQ](https://blog.jooq.org) +- [Java.net](https://community.oracle.com/community/java) +- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) +- [JavaWorld](https://www.javaworld.com) +- [JAXenter](https://jaxenter.com) +- [RebelLabs](https://zeroturnaround.com/rebellabs) +- [OverOps Blog](https://blog.overops.com) +- [TheServerSide.com](http://www.theserverside.com) +- [Vanilla Java](https://vanilla-java.github.io) +- [Voxxed](https://www.voxxed.com) +- [Java Weekly](https://discu.eu/weekly/java/) + +## Contributing + +Contributions are very welcome! + +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 From fbdbe989d79845cda976aea5fa03c1a1ec50df35 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 16:19:20 +0200 Subject: [PATCH 381/533] Tabular visualization test --- README_TEST.md | 70 -------------------------------------------------- 1 file changed, 70 deletions(-) diff --git a/README_TEST.md b/README_TEST.md index 985a3421..c7d58ca4 100644 --- a/README_TEST.md +++ b/README_TEST.md @@ -93,7 +93,6 @@ A curated list of awesome Java frameworks, libraries and software. _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. | ![](https://img.shields.io/github/stars/TNG/ArchUnit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/TNG/ArchUnit?style=flat-square&label=) | [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | ![](https://img.shields.io/github/stars/xmolecules/jmolecules?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xmolecules/jmolecules?style=flat-square&label=) @@ -102,7 +101,6 @@ _Frameworks and libraries that help implementing and verifying design and archit _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. | ![](https://img.shields.io/github/stars/langchain4j/langchain4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/langchain4j/langchain4j?style=flat-square&label=) | [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Enables applications to interact with AI models and tools through a standardized interface. | ![](https://img.shields.io/github/stars/modelcontextprotocol/java-sdk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/modelcontextprotocol/java-sdk?style=flat-square&label=) @@ -113,7 +111,6 @@ _Frameworks that help you to leverage LLMs and AI._ _Frameworks that ease bean mapping._ -| | | | | |---|---|---|---| | [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. | ![](https://img.shields.io/github/stars/doov-io/doov?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/doov-io/doov?style=flat-square&label=) | [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | ![](https://img.shields.io/github/stars/jmapper-framework/jmapper-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jmapper-framework/jmapper-core?style=flat-square&label=) @@ -127,7 +124,6 @@ _Frameworks that ease bean mapping._ _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. | - | - | | [Bazel](https://bazel.build) | Tool from Google that builds code quickly and reliably. | - | - | @@ -138,7 +134,6 @@ _Tools that handle the build cycle and dependencies of an application._ _Libraries to manipulate bytecode programmatically._ -| | | | | |---|---|---|---| | [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | | [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | @@ -155,7 +150,6 @@ _Libraries to manipulate bytecode programmatically._ _Libraries that provide caching facilities._ -| | | | | |---|---|---|---| | [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | | [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | ![](https://img.shields.io/github/stars/ben-manes/caffeine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ben-manes/caffeine?style=flat-square&label=) @@ -172,7 +166,6 @@ _Libraries to assist with parsing command line arguments._ #### Text-Based User Interfaces _Libraries that provide TUI frameworks, or building blocks related functions._ -| | | | | |---|---|---|---| | [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | | [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | @@ -188,7 +181,6 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ _Libraries to integrate or use cloud-specific features._ -| | | | | |---|---|---|---| | [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | ![](https://img.shields.io/github/stars/aws/aws-sdk-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aws/aws-sdk-java?style=flat-square&label=) | [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | ![](https://img.shields.io/github/stars/googleapis/google-cloud-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/googleapis/google-cloud-java?style=flat-square&label=) @@ -197,7 +189,6 @@ _Libraries to integrate or use cloud-specific features._ _Tools that provide metrics and quality measurements._ -| | | | | |---|---|---|---| | [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | ![](https://img.shields.io/github/stars/checkstyle/checkstyle?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/checkstyle/checkstyle?style=flat-square&label=) | [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | ![](https://img.shields.io/github/stars/google/error-prone?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/error-prone?style=flat-square&label=) @@ -216,7 +207,6 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ -| | | | | |---|---|---|---| | [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | | [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | @@ -226,7 +216,6 @@ _Frameworks and tools that enable code coverage metrics collection for test suit _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ -| | | | | |---|---|---|---| | [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | ![](https://img.shields.io/github/stars/sviperll/adt4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sviperll/adt4j?style=flat-square&label=) | [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | ![](https://img.shields.io/github/stars/google/auto?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/auto?style=flat-square&label=) @@ -247,7 +236,6 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a _Frameworks that help to create parsers, interpreters or compilers._ -| | | | | |---|---|---|---| | [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | | [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | @@ -257,7 +245,6 @@ _Frameworks that help to create parsers, interpreters or compilers._ _Libraries which seek to gain high level information from images and videos._ -| | | | | |---|---|---|---| | [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | | [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | @@ -267,7 +254,6 @@ _Libraries which seek to gain high level information from images and videos._ _Libraries that provide external configuration._ -| | | | | |---|---|---|---| | [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | | [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | ![](https://img.shields.io/github/stars/line/centraldogma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/line/centraldogma?style=flat-square&label=) @@ -286,7 +272,6 @@ _Libraries that provide external configuration._ _Libraries that help with implementing optimization and satisfiability problems._ -| | | | | |---|---|---|---| | [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | | [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | ![](https://img.shields.io/github/stars/radsz/jacop?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/radsz/jacop?style=flat-square&label=) @@ -297,7 +282,6 @@ _Libraries that help with implementing optimization and satisfiability problems. _Frameworks and libraries that simplify reading/writing CSV data._ -| | | | | |---|---|---|---| | [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | ![](https://img.shields.io/github/stars/osiegmar/FastCSV?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/osiegmar/FastCSV?style=flat-square&label=) | [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | ![](https://img.shields.io/github/stars/FasterXML/jackson-dataformat-csv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/FasterXML/jackson-dataformat-csv?style=flat-square&label=) @@ -309,7 +293,6 @@ _Frameworks and libraries that simplify reading/writing CSV data._ _Efficient and specific data structures._ -| | | | | |---|---|---|---| | [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | | [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | @@ -328,7 +311,6 @@ _Efficient and specific data structures._ _Everything that simplifies interactions with the database._ -| | | | | |---|---|---|---| | [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | | [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | @@ -373,7 +355,6 @@ _Everything that simplifies interactions with the database._ _Libraries related to handling date and time._ -| | | | | |---|---|---|---| | [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | ![](https://img.shields.io/github/stars/ical4j/ical4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ical4j/ical4j?style=flat-square&label=) | [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | ![](https://img.shields.io/github/stars/svendiedrichsen/jollyday?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/svendiedrichsen/jollyday?style=flat-square&label=) @@ -388,7 +369,6 @@ _Libraries that handle decentralization tasks._ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ -| | | | | |---|---|---|---| | [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | | [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | @@ -403,7 +383,6 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. _Augmentation of the development process at a fundamental level._ -| | | | | |---|---|---|---| | [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | | [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | @@ -420,7 +399,6 @@ _Augmentation of the development process at a fundamental level._ _Libraries and frameworks for writing distributed and fault-tolerant applications._ -| | | | | |---|---|---|---| | [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | | [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | @@ -441,7 +419,6 @@ _Libraries and frameworks for writing distributed and fault-tolerant application _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ -| | | | | |---|---|---|---| | [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | | [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | ![](https://img.shields.io/github/stars/bitronix/btm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bitronix/btm?style=flat-square&label=) @@ -452,7 +429,6 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ -| | | | | |---|---|---|---| | [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | ![](https://img.shields.io/github/stars/artipie/artipie?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/artipie/artipie?style=flat-square&label=) | [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | ![](https://img.shields.io/github/stars/puniverse/capsule?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/puniverse/capsule?style=flat-square&label=) @@ -469,7 +445,6 @@ _Tools that handle the distribution of applications in native formats._ _Libraries that assist with processing office document formats._ -| | | | | |---|---|---|---| | [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | | [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | @@ -481,7 +456,6 @@ _Libraries that assist with processing office document formats._ _Libraries related to the financial domain._ -| | | | | |---|---|---|---| | [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | ![](https://img.shields.io/github/stars/cassandre-tech/cassandre-trading-bot?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cassandre-tech/cassandre-trading-bot?style=flat-square&label=) | [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | ![](https://img.shields.io/github/stars/paritytrading/parity?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/paritytrading/parity?style=flat-square&label=) @@ -494,7 +468,6 @@ _Libraries related to the financial domain._ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -| | | | | |---|---|---|---| | [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | ![](https://img.shields.io/github/stars/ksen007/janala2?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ksen007/janala2?style=flat-square&label=) | [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) | - | - | @@ -508,7 +481,6 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc _Libraries that facilitate functional programming._ -| | | | | |---|---|---|---| | [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | ![](https://img.shields.io/github/stars/aol/cyclops?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aol/cyclops?style=flat-square&label=) | [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/derive4j/derive4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/derive4j/derive4j?style=flat-square&label=) @@ -524,7 +496,6 @@ _Libraries that facilitate functional programming._ _Frameworks that support the development of games._ -| | | | | |---|---|---|---| | [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | | [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | @@ -540,7 +511,6 @@ _Frameworks that support the development of games._ _Libraries for working with geospatial data and algorithms._ -| | | | | |---|---|---|---| | [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | | [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | ![](https://img.shields.io/github/stars/davidmoten/geo?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/davidmoten/geo?style=flat-square&label=) @@ -555,7 +525,6 @@ _Libraries for working with geospatial data and algorithms._ _Libraries to create modern graphical user interfaces._ -| | | | | |---|---|---|---| | [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | | [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | @@ -566,7 +535,6 @@ _Libraries to create modern graphical user interfaces._ _Everything about high-performance computation, from collections to specific libraries._ -| | | | | |---|---|---|---| | [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | ![](https://img.shields.io/github/stars/real-logic/Agrona?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/Agrona?style=flat-square&label=) | [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | @@ -580,7 +548,6 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ -| | | | | |---|---|---|---| | [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | | [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | ![](https://img.shields.io/github/stars/AsyncHttpClient/async-http-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AsyncHttpClient/async-http-client?style=flat-square&label=) @@ -597,7 +564,6 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ _Libraries that handle serialization to hypermedia types._ -| | | | | |---|---|---|---| | [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | ![](https://img.shields.io/github/stars/blackdoor/hate?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/blackdoor/hate?style=flat-square&label=) | [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | ![](https://img.shields.io/github/stars/jsonld-java/jsonld-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jsonld-java/jsonld-java?style=flat-square&label=) @@ -608,7 +574,6 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ -| | | | | |---|---|---|---| | [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | | [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | @@ -620,7 +585,6 @@ _Integrated development environments that try to simplify several aspects of dev _Libraries that assist with the creation, evaluation or manipulation of graphical images._ -| | | | | |---|---|---|---| | [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | ![](https://img.shields.io/github/stars/vws-java/Barcode-Lib4J?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vws-java/Barcode-Lib4J?style=flat-square&label=) | [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | ![](https://img.shields.io/github/stars/rkalla/imgscalr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rkalla/imgscalr?style=flat-square&label=) @@ -636,7 +600,6 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica _Libraries that help make the Java introspection and reflection API easier and faster to use._ -| | | | | |---|---|---|---| | [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | ![](https://img.shields.io/github/stars/classgraph/classgraph?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/classgraph/classgraph?style=flat-square&label=) | [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | ![](https://img.shields.io/github/stars/jOOQ/jOOR?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jOOQ/jOOR?style=flat-square&label=) @@ -649,7 +612,6 @@ _Libraries that help make the Java introspection and reflection API easier and f _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 persistence, minimal dependencies and is embeddable. | ![](https://img.shields.io/github/stars/jobrunr/jobrunr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jobrunr/jobrunr?style=flat-square&label=) | [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | ![](https://img.shields.io/github/stars/quartz-scheduler/quartz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/quartz-scheduler/quartz?style=flat-square&label=) @@ -663,7 +625,6 @@ _Libraries for scheduling background jobs._ _Libraries for serializing and deserializing JSON to and from Java objects._ -| | | | | |---|---|---|---| | [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | | [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | ![](https://img.shields.io/github/stars/ngs-doo/dsl-json?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ngs-doo/dsl-json?style=flat-square&label=) @@ -687,7 +648,6 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ _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. | - | - | @@ -707,7 +667,6 @@ _Current implementations of the JVM/JDK._ _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. | ![](https://img.shields.io/github/stars/tersesystems/echopraxia?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/tersesystems/echopraxia?style=flat-square&label=) @@ -726,7 +685,6 @@ _Libraries that log the behavior of an application._ _Tools that provide specific statistical algorithms for learning from data._ -| | | | | |---|---|---|---| | [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | | [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | @@ -748,7 +706,6 @@ _Tools that provide specific statistical algorithms for learning from data._ _Tools that help send messages between clients to ensure protocol independency._ -| | | | | |---|---|---|---| | [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | ![](https://img.shields.io/github/stars/real-logic/Aeron?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/Aeron?style=flat-square&label=) | [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | @@ -771,7 +728,6 @@ _Tools that help send messages between clients to ensure protocol independency._ _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. | - | - | | [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | ![](https://img.shields.io/github/stars/line/armeria?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/line/armeria?style=flat-square&label=) @@ -791,7 +747,6 @@ _Tools for creating and managing microservices._ _Everything else._ -| | | | | |---|---|---|---| | [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | ![](https://img.shields.io/github/stars/npgall/cqengine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/npgall/cqengine?style=flat-square&label=) | [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | ![](https://img.shields.io/github/stars/iluwatar/java-design-patterns?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/iluwatar/java-design-patterns?style=flat-square&label=) @@ -834,7 +789,6 @@ _Everything else._ _Tools for creating or managing mobile applications._ -| | | | | |---|---|---|---| | [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | @@ -844,7 +798,6 @@ _Tools for creating or managing mobile applications._ _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. | ![](https://img.shields.io/github/stars/apitally/apitally-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/apitally/apitally-java?style=flat-square&label=) | [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | ![](https://img.shields.io/github/stars/stevensouza/automon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stevensouza/automon?style=flat-square&label=) @@ -872,7 +825,6 @@ _Tools that observe/monitor applications in production by providing telemetry._ _For working with platform-specific native libraries._ -| | | | | |---|---|---|---| | [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | ![](https://img.shields.io/github/stars/Syncleus/aparapi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Syncleus/aparapi?style=flat-square&label=) | [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | ![](https://img.shields.io/github/stars/bytedeco/javacpp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bytedeco/javacpp?style=flat-square&label=) @@ -884,7 +836,6 @@ _For working with platform-specific native libraries._ _Libraries that specialize in processing text._ -| | | | | |---|---|---|---| | [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | ![](https://img.shields.io/github/stars/CogComp/cogcomp-nlp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/CogComp/cogcomp-nlp?style=flat-square&label=) | [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | @@ -896,7 +847,6 @@ _Libraries that specialize in processing text._ _Libraries for building network servers._ -| | | | | |---|---|---|---| | [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | ![](https://img.shields.io/github/stars/CiscoSE/commons-networking?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/CiscoSE/commons-networking?style=flat-square&label=) | [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | ![](https://img.shields.io/github/stars/puniverse/comsat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/puniverse/comsat?style=flat-square&label=) @@ -918,7 +868,6 @@ _Libraries for building network servers._ _APIs that handle the persistence of objects._ -| | | | | |---|---|---|---| | [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | | [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | ![](https://img.shields.io/github/stars/domaframework/doma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/domaframework/doma?style=flat-square&label=) @@ -939,7 +888,6 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ -| | | | | |---|---|---|---| | [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | ![](https://img.shields.io/github/stars/bsommerfeld/pathetic?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bsommerfeld/pathetic?style=flat-square&label=) @@ -947,7 +895,6 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. _Tools to help with PDF files._ -| | | | | |---|---|---|---| | [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | | [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | @@ -964,7 +911,6 @@ _Tools to help with PDF files._ _Tools for performance analysis, profiling and benchmarking._ -| | | | | |---|---|---|---| | [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | ![](https://img.shields.io/github/stars/jvm-profiling-tools/honest-profiler?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jvm-profiling-tools/honest-profiler?style=flat-square&label=) | [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | ![](https://img.shields.io/github/stars/giltene/jHiccup?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/giltene/jHiccup?style=flat-square&label=) @@ -978,7 +924,6 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons #### Other -| | | | | |---|---|---|---| | [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | | [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | @@ -1043,7 +988,6 @@ _Frameworks that are suites of multiple libraries encompassing several categorie _Libraries that help the management of operating system processes._ -| | | | | |---|---|---|---| | [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | ![](https://img.shields.io/github/stars/vorburger/ch.vorburger.exec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.exec?style=flat-square&label=) | [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | ![](https://img.shields.io/github/stars/zeroturnaround/zt-exec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zeroturnaround/zt-exec?style=flat-square&label=) @@ -1053,7 +997,6 @@ _Libraries that help the management of operating system processes._ _Libraries for developing reactive applications._ -| | | | | |---|---|---|---| | [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. | ![](https://img.shields.io/github/stars/reactive-streams/reactive-streams-jvm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/reactive-streams/reactive-streams-jvm?style=flat-square&label=) @@ -1065,7 +1008,6 @@ _Libraries for developing reactive applications._ _Frameworks specifically for creating RESTful services._ -| | | | | |---|---|---|---| | [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | ![](https://img.shields.io/github/stars/dropwizard/dropwizard?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dropwizard/dropwizard?style=flat-square&label=) | [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | @@ -1085,7 +1027,6 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ -| | | | | |---|---|---|---| | [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | | [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | ![](https://img.shields.io/github/stars/GSI-CS-CO/chart-fx?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/GSI-CS-CO/chart-fx?style=flat-square&label=) @@ -1107,7 +1048,6 @@ _Libraries for scientific computing, analysis and visualization._ _Engines that index documents for search and analysis._ -| | | | | |---|---|---|---| | [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | | [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | @@ -1118,7 +1058,6 @@ _Engines that index documents for search and analysis._ _Libraries that handle security, authentication, authorization or session management._ -| | | | | |---|---|---|---| | [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | | [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | ![](https://img.shields.io/github/stars/Hakky54/ayza?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Hakky54/ayza?style=flat-square&label=) @@ -1148,7 +1087,6 @@ _Libraries that handle security, authentication, authorization or session manage _Libraries that handle serialization with high efficiency._ -| | | | | |---|---|---|---| | [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | ![](https://img.shields.io/github/stars/google/flatbuffers?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/flatbuffers?style=flat-square&label=) | [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | ![](https://img.shields.io/github/stars/RuedigerMoeller/fast-serialization?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RuedigerMoeller/fast-serialization?style=flat-square&label=) @@ -1161,7 +1099,6 @@ _Libraries that handle serialization with high efficiency._ _Servers specifically used to deploy applications._ -| | | | | |---|---|---|---| | [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | | [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | @@ -1173,7 +1110,6 @@ _Servers specifically used to deploy applications._ _Tools that substitute expressions in a template._ -| | | | | |---|---|---|---| | [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | | [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | @@ -1212,7 +1148,6 @@ _Other stuff related to testing._ #### Mocking _Tools which mock collaborators to help testing single, isolated units._ -| | | | | |---|---|---|---| | [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | ![](https://img.shields.io/github/stars/awaitility/awaitility?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/awaitility/awaitility?style=flat-square&label=) | [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | ![](https://img.shields.io/github/stars/jhalterman/concurrentunit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhalterman/concurrentunit?style=flat-square&label=) @@ -1278,7 +1213,6 @@ _Tools which mock collaborators to help testing single, isolated units._ _Libraries which provide general utility functions._ -| | | | | |---|---|---|---| | [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | ![](https://img.shields.io/github/stars/alibaba/arthas?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/arthas?style=flat-square&label=) | [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | ![](https://img.shields.io/github/stars/vladimir-bukhtoyarov/bucket4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vladimir-bukhtoyarov/bucket4j?style=flat-square&label=) @@ -1306,7 +1240,6 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ -| | | | | |---|---|---|---| | [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | ![](https://img.shields.io/github/stars/shyiko/jabba?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/shyiko/jabba?style=flat-square&label=) | [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | ![](https://img.shields.io/github/stars/jenv/jenv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jenv/jenv?style=flat-square&label=) @@ -1316,7 +1249,6 @@ _Utilities that help create the development shell environment and switch between _Libraries that analyze the content of websites._ -| | | | | |---|---|---|---| | [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | | [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | ![](https://img.shields.io/github/stars/yasserg/crawler4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yasserg/crawler4j?style=flat-square&label=) @@ -1328,7 +1260,6 @@ _Libraries that analyze the content of websites._ _Frameworks that handle the communication between the layers of a web application._ -| | | | | |---|---|---|---| | [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | | [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | @@ -1349,7 +1280,6 @@ _Frameworks that handle the communication between the layers of a web applicatio ### Workflow Orchestration Engines -| | | | | |---|---|---|---| | [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | | [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | ![](https://img.shields.io/github/stars/flowable/flowable-engine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/flowable/flowable-engine?style=flat-square&label=) From e4fa6f407eb2e8fb7d26f2d0bbf6049154e31bde Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 16:22:31 +0200 Subject: [PATCH 382/533] Revert "Tabular visualization test" This reverts commit fbdbe989d79845cda976aea5fa03c1a1ec50df35. --- README_TEST.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/README_TEST.md b/README_TEST.md index c7d58ca4..985a3421 100644 --- a/README_TEST.md +++ b/README_TEST.md @@ -93,6 +93,7 @@ A curated list of awesome Java frameworks, libraries and software. _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. | ![](https://img.shields.io/github/stars/TNG/ArchUnit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/TNG/ArchUnit?style=flat-square&label=) | [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | ![](https://img.shields.io/github/stars/xmolecules/jmolecules?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xmolecules/jmolecules?style=flat-square&label=) @@ -101,6 +102,7 @@ _Frameworks and libraries that help implementing and verifying design and archit _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. | ![](https://img.shields.io/github/stars/langchain4j/langchain4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/langchain4j/langchain4j?style=flat-square&label=) | [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Enables applications to interact with AI models and tools through a standardized interface. | ![](https://img.shields.io/github/stars/modelcontextprotocol/java-sdk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/modelcontextprotocol/java-sdk?style=flat-square&label=) @@ -111,6 +113,7 @@ _Frameworks that help you to leverage LLMs and AI._ _Frameworks that ease bean mapping._ +| | | | | |---|---|---|---| | [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. | ![](https://img.shields.io/github/stars/doov-io/doov?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/doov-io/doov?style=flat-square&label=) | [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | ![](https://img.shields.io/github/stars/jmapper-framework/jmapper-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jmapper-framework/jmapper-core?style=flat-square&label=) @@ -124,6 +127,7 @@ _Frameworks that ease bean mapping._ _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. | - | - | | [Bazel](https://bazel.build) | Tool from Google that builds code quickly and reliably. | - | - | @@ -134,6 +138,7 @@ _Tools that handle the build cycle and dependencies of an application._ _Libraries to manipulate bytecode programmatically._ +| | | | | |---|---|---|---| | [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | | [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | @@ -150,6 +155,7 @@ _Libraries to manipulate bytecode programmatically._ _Libraries that provide caching facilities._ +| | | | | |---|---|---|---| | [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | | [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | ![](https://img.shields.io/github/stars/ben-manes/caffeine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ben-manes/caffeine?style=flat-square&label=) @@ -166,6 +172,7 @@ _Libraries to assist with parsing command line arguments._ #### Text-Based User Interfaces _Libraries that provide TUI frameworks, or building blocks related functions._ +| | | | | |---|---|---|---| | [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | | [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | @@ -181,6 +188,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ _Libraries to integrate or use cloud-specific features._ +| | | | | |---|---|---|---| | [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | ![](https://img.shields.io/github/stars/aws/aws-sdk-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aws/aws-sdk-java?style=flat-square&label=) | [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | ![](https://img.shields.io/github/stars/googleapis/google-cloud-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/googleapis/google-cloud-java?style=flat-square&label=) @@ -189,6 +197,7 @@ _Libraries to integrate or use cloud-specific features._ _Tools that provide metrics and quality measurements._ +| | | | | |---|---|---|---| | [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | ![](https://img.shields.io/github/stars/checkstyle/checkstyle?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/checkstyle/checkstyle?style=flat-square&label=) | [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | ![](https://img.shields.io/github/stars/google/error-prone?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/error-prone?style=flat-square&label=) @@ -207,6 +216,7 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ +| | | | | |---|---|---|---| | [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | | [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | @@ -216,6 +226,7 @@ _Frameworks and tools that enable code coverage metrics collection for test suit _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ +| | | | | |---|---|---|---| | [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | ![](https://img.shields.io/github/stars/sviperll/adt4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sviperll/adt4j?style=flat-square&label=) | [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | ![](https://img.shields.io/github/stars/google/auto?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/auto?style=flat-square&label=) @@ -236,6 +247,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a _Frameworks that help to create parsers, interpreters or compilers._ +| | | | | |---|---|---|---| | [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | | [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | @@ -245,6 +257,7 @@ _Frameworks that help to create parsers, interpreters or compilers._ _Libraries which seek to gain high level information from images and videos._ +| | | | | |---|---|---|---| | [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | | [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | @@ -254,6 +267,7 @@ _Libraries which seek to gain high level information from images and videos._ _Libraries that provide external configuration._ +| | | | | |---|---|---|---| | [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | | [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | ![](https://img.shields.io/github/stars/line/centraldogma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/line/centraldogma?style=flat-square&label=) @@ -272,6 +286,7 @@ _Libraries that provide external configuration._ _Libraries that help with implementing optimization and satisfiability problems._ +| | | | | |---|---|---|---| | [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | | [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | ![](https://img.shields.io/github/stars/radsz/jacop?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/radsz/jacop?style=flat-square&label=) @@ -282,6 +297,7 @@ _Libraries that help with implementing optimization and satisfiability problems. _Frameworks and libraries that simplify reading/writing CSV data._ +| | | | | |---|---|---|---| | [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | ![](https://img.shields.io/github/stars/osiegmar/FastCSV?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/osiegmar/FastCSV?style=flat-square&label=) | [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | ![](https://img.shields.io/github/stars/FasterXML/jackson-dataformat-csv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/FasterXML/jackson-dataformat-csv?style=flat-square&label=) @@ -293,6 +309,7 @@ _Frameworks and libraries that simplify reading/writing CSV data._ _Efficient and specific data structures._ +| | | | | |---|---|---|---| | [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | | [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | @@ -311,6 +328,7 @@ _Efficient and specific data structures._ _Everything that simplifies interactions with the database._ +| | | | | |---|---|---|---| | [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | | [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | @@ -355,6 +373,7 @@ _Everything that simplifies interactions with the database._ _Libraries related to handling date and time._ +| | | | | |---|---|---|---| | [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | ![](https://img.shields.io/github/stars/ical4j/ical4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ical4j/ical4j?style=flat-square&label=) | [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | ![](https://img.shields.io/github/stars/svendiedrichsen/jollyday?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/svendiedrichsen/jollyday?style=flat-square&label=) @@ -369,6 +388,7 @@ _Libraries that handle decentralization tasks._ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ +| | | | | |---|---|---|---| | [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | | [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | @@ -383,6 +403,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. _Augmentation of the development process at a fundamental level._ +| | | | | |---|---|---|---| | [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | | [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | @@ -399,6 +420,7 @@ _Augmentation of the development process at a fundamental level._ _Libraries and frameworks for writing distributed and fault-tolerant applications._ +| | | | | |---|---|---|---| | [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | | [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | @@ -419,6 +441,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ +| | | | | |---|---|---|---| | [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | | [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | ![](https://img.shields.io/github/stars/bitronix/btm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bitronix/btm?style=flat-square&label=) @@ -429,6 +452,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ +| | | | | |---|---|---|---| | [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | ![](https://img.shields.io/github/stars/artipie/artipie?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/artipie/artipie?style=flat-square&label=) | [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | ![](https://img.shields.io/github/stars/puniverse/capsule?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/puniverse/capsule?style=flat-square&label=) @@ -445,6 +469,7 @@ _Tools that handle the distribution of applications in native formats._ _Libraries that assist with processing office document formats._ +| | | | | |---|---|---|---| | [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | | [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | @@ -456,6 +481,7 @@ _Libraries that assist with processing office document formats._ _Libraries related to the financial domain._ +| | | | | |---|---|---|---| | [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | ![](https://img.shields.io/github/stars/cassandre-tech/cassandre-trading-bot?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cassandre-tech/cassandre-trading-bot?style=flat-square&label=) | [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | ![](https://img.shields.io/github/stars/paritytrading/parity?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/paritytrading/parity?style=flat-square&label=) @@ -468,6 +494,7 @@ _Libraries related to the financial domain._ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ +| | | | | |---|---|---|---| | [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | ![](https://img.shields.io/github/stars/ksen007/janala2?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ksen007/janala2?style=flat-square&label=) | [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) | - | - | @@ -481,6 +508,7 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc _Libraries that facilitate functional programming._ +| | | | | |---|---|---|---| | [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | ![](https://img.shields.io/github/stars/aol/cyclops?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aol/cyclops?style=flat-square&label=) | [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/derive4j/derive4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/derive4j/derive4j?style=flat-square&label=) @@ -496,6 +524,7 @@ _Libraries that facilitate functional programming._ _Frameworks that support the development of games._ +| | | | | |---|---|---|---| | [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | | [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | @@ -511,6 +540,7 @@ _Frameworks that support the development of games._ _Libraries for working with geospatial data and algorithms._ +| | | | | |---|---|---|---| | [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | | [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | ![](https://img.shields.io/github/stars/davidmoten/geo?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/davidmoten/geo?style=flat-square&label=) @@ -525,6 +555,7 @@ _Libraries for working with geospatial data and algorithms._ _Libraries to create modern graphical user interfaces._ +| | | | | |---|---|---|---| | [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | | [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | @@ -535,6 +566,7 @@ _Libraries to create modern graphical user interfaces._ _Everything about high-performance computation, from collections to specific libraries._ +| | | | | |---|---|---|---| | [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | ![](https://img.shields.io/github/stars/real-logic/Agrona?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/Agrona?style=flat-square&label=) | [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | @@ -548,6 +580,7 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ +| | | | | |---|---|---|---| | [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | | [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | ![](https://img.shields.io/github/stars/AsyncHttpClient/async-http-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AsyncHttpClient/async-http-client?style=flat-square&label=) @@ -564,6 +597,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ _Libraries that handle serialization to hypermedia types._ +| | | | | |---|---|---|---| | [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | ![](https://img.shields.io/github/stars/blackdoor/hate?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/blackdoor/hate?style=flat-square&label=) | [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | ![](https://img.shields.io/github/stars/jsonld-java/jsonld-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jsonld-java/jsonld-java?style=flat-square&label=) @@ -574,6 +608,7 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ +| | | | | |---|---|---|---| | [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | | [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | @@ -585,6 +620,7 @@ _Integrated development environments that try to simplify several aspects of dev _Libraries that assist with the creation, evaluation or manipulation of graphical images._ +| | | | | |---|---|---|---| | [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | ![](https://img.shields.io/github/stars/vws-java/Barcode-Lib4J?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vws-java/Barcode-Lib4J?style=flat-square&label=) | [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | ![](https://img.shields.io/github/stars/rkalla/imgscalr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rkalla/imgscalr?style=flat-square&label=) @@ -600,6 +636,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica _Libraries that help make the Java introspection and reflection API easier and faster to use._ +| | | | | |---|---|---|---| | [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | ![](https://img.shields.io/github/stars/classgraph/classgraph?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/classgraph/classgraph?style=flat-square&label=) | [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | ![](https://img.shields.io/github/stars/jOOQ/jOOR?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jOOQ/jOOR?style=flat-square&label=) @@ -612,6 +649,7 @@ _Libraries that help make the Java introspection and reflection API easier and f _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 persistence, minimal dependencies and is embeddable. | ![](https://img.shields.io/github/stars/jobrunr/jobrunr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jobrunr/jobrunr?style=flat-square&label=) | [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | ![](https://img.shields.io/github/stars/quartz-scheduler/quartz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/quartz-scheduler/quartz?style=flat-square&label=) @@ -625,6 +663,7 @@ _Libraries for scheduling background jobs._ _Libraries for serializing and deserializing JSON to and from Java objects._ +| | | | | |---|---|---|---| | [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | | [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | ![](https://img.shields.io/github/stars/ngs-doo/dsl-json?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ngs-doo/dsl-json?style=flat-square&label=) @@ -648,6 +687,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ _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. | - | - | @@ -667,6 +707,7 @@ _Current implementations of the JVM/JDK._ _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. | ![](https://img.shields.io/github/stars/tersesystems/echopraxia?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/tersesystems/echopraxia?style=flat-square&label=) @@ -685,6 +726,7 @@ _Libraries that log the behavior of an application._ _Tools that provide specific statistical algorithms for learning from data._ +| | | | | |---|---|---|---| | [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | | [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | @@ -706,6 +748,7 @@ _Tools that provide specific statistical algorithms for learning from data._ _Tools that help send messages between clients to ensure protocol independency._ +| | | | | |---|---|---|---| | [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | ![](https://img.shields.io/github/stars/real-logic/Aeron?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/Aeron?style=flat-square&label=) | [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | @@ -728,6 +771,7 @@ _Tools that help send messages between clients to ensure protocol independency._ _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. | - | - | | [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | ![](https://img.shields.io/github/stars/line/armeria?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/line/armeria?style=flat-square&label=) @@ -747,6 +791,7 @@ _Tools for creating and managing microservices._ _Everything else._ +| | | | | |---|---|---|---| | [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | ![](https://img.shields.io/github/stars/npgall/cqengine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/npgall/cqengine?style=flat-square&label=) | [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | ![](https://img.shields.io/github/stars/iluwatar/java-design-patterns?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/iluwatar/java-design-patterns?style=flat-square&label=) @@ -789,6 +834,7 @@ _Everything else._ _Tools for creating or managing mobile applications._ +| | | | | |---|---|---|---| | [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | @@ -798,6 +844,7 @@ _Tools for creating or managing mobile applications._ _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. | ![](https://img.shields.io/github/stars/apitally/apitally-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/apitally/apitally-java?style=flat-square&label=) | [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | ![](https://img.shields.io/github/stars/stevensouza/automon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stevensouza/automon?style=flat-square&label=) @@ -825,6 +872,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ _For working with platform-specific native libraries._ +| | | | | |---|---|---|---| | [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | ![](https://img.shields.io/github/stars/Syncleus/aparapi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Syncleus/aparapi?style=flat-square&label=) | [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | ![](https://img.shields.io/github/stars/bytedeco/javacpp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bytedeco/javacpp?style=flat-square&label=) @@ -836,6 +884,7 @@ _For working with platform-specific native libraries._ _Libraries that specialize in processing text._ +| | | | | |---|---|---|---| | [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | ![](https://img.shields.io/github/stars/CogComp/cogcomp-nlp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/CogComp/cogcomp-nlp?style=flat-square&label=) | [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | @@ -847,6 +896,7 @@ _Libraries that specialize in processing text._ _Libraries for building network servers._ +| | | | | |---|---|---|---| | [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | ![](https://img.shields.io/github/stars/CiscoSE/commons-networking?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/CiscoSE/commons-networking?style=flat-square&label=) | [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | ![](https://img.shields.io/github/stars/puniverse/comsat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/puniverse/comsat?style=flat-square&label=) @@ -868,6 +918,7 @@ _Libraries for building network servers._ _APIs that handle the persistence of objects._ +| | | | | |---|---|---|---| | [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | | [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | ![](https://img.shields.io/github/stars/domaframework/doma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/domaframework/doma?style=flat-square&label=) @@ -888,6 +939,7 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ +| | | | | |---|---|---|---| | [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | ![](https://img.shields.io/github/stars/bsommerfeld/pathetic?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bsommerfeld/pathetic?style=flat-square&label=) @@ -895,6 +947,7 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. _Tools to help with PDF files._ +| | | | | |---|---|---|---| | [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | | [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | @@ -911,6 +964,7 @@ _Tools to help with PDF files._ _Tools for performance analysis, profiling and benchmarking._ +| | | | | |---|---|---|---| | [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | ![](https://img.shields.io/github/stars/jvm-profiling-tools/honest-profiler?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jvm-profiling-tools/honest-profiler?style=flat-square&label=) | [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | ![](https://img.shields.io/github/stars/giltene/jHiccup?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/giltene/jHiccup?style=flat-square&label=) @@ -924,6 +978,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons #### Other +| | | | | |---|---|---|---| | [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | | [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | @@ -988,6 +1043,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie _Libraries that help the management of operating system processes._ +| | | | | |---|---|---|---| | [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | ![](https://img.shields.io/github/stars/vorburger/ch.vorburger.exec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.exec?style=flat-square&label=) | [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | ![](https://img.shields.io/github/stars/zeroturnaround/zt-exec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zeroturnaround/zt-exec?style=flat-square&label=) @@ -997,6 +1053,7 @@ _Libraries that help the management of operating system processes._ _Libraries for developing reactive applications._ +| | | | | |---|---|---|---| | [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. | ![](https://img.shields.io/github/stars/reactive-streams/reactive-streams-jvm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/reactive-streams/reactive-streams-jvm?style=flat-square&label=) @@ -1008,6 +1065,7 @@ _Libraries for developing reactive applications._ _Frameworks specifically for creating RESTful services._ +| | | | | |---|---|---|---| | [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | ![](https://img.shields.io/github/stars/dropwizard/dropwizard?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dropwizard/dropwizard?style=flat-square&label=) | [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | @@ -1027,6 +1085,7 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ +| | | | | |---|---|---|---| | [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | | [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | ![](https://img.shields.io/github/stars/GSI-CS-CO/chart-fx?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/GSI-CS-CO/chart-fx?style=flat-square&label=) @@ -1048,6 +1107,7 @@ _Libraries for scientific computing, analysis and visualization._ _Engines that index documents for search and analysis._ +| | | | | |---|---|---|---| | [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | | [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | @@ -1058,6 +1118,7 @@ _Engines that index documents for search and analysis._ _Libraries that handle security, authentication, authorization or session management._ +| | | | | |---|---|---|---| | [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | | [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | ![](https://img.shields.io/github/stars/Hakky54/ayza?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Hakky54/ayza?style=flat-square&label=) @@ -1087,6 +1148,7 @@ _Libraries that handle security, authentication, authorization or session manage _Libraries that handle serialization with high efficiency._ +| | | | | |---|---|---|---| | [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | ![](https://img.shields.io/github/stars/google/flatbuffers?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/flatbuffers?style=flat-square&label=) | [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | ![](https://img.shields.io/github/stars/RuedigerMoeller/fast-serialization?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RuedigerMoeller/fast-serialization?style=flat-square&label=) @@ -1099,6 +1161,7 @@ _Libraries that handle serialization with high efficiency._ _Servers specifically used to deploy applications._ +| | | | | |---|---|---|---| | [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | | [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | @@ -1110,6 +1173,7 @@ _Servers specifically used to deploy applications._ _Tools that substitute expressions in a template._ +| | | | | |---|---|---|---| | [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | | [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | @@ -1148,6 +1212,7 @@ _Other stuff related to testing._ #### Mocking _Tools which mock collaborators to help testing single, isolated units._ +| | | | | |---|---|---|---| | [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | ![](https://img.shields.io/github/stars/awaitility/awaitility?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/awaitility/awaitility?style=flat-square&label=) | [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | ![](https://img.shields.io/github/stars/jhalterman/concurrentunit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhalterman/concurrentunit?style=flat-square&label=) @@ -1213,6 +1278,7 @@ _Tools which mock collaborators to help testing single, isolated units._ _Libraries which provide general utility functions._ +| | | | | |---|---|---|---| | [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | ![](https://img.shields.io/github/stars/alibaba/arthas?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/arthas?style=flat-square&label=) | [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | ![](https://img.shields.io/github/stars/vladimir-bukhtoyarov/bucket4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vladimir-bukhtoyarov/bucket4j?style=flat-square&label=) @@ -1240,6 +1306,7 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ +| | | | | |---|---|---|---| | [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | ![](https://img.shields.io/github/stars/shyiko/jabba?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/shyiko/jabba?style=flat-square&label=) | [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | ![](https://img.shields.io/github/stars/jenv/jenv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jenv/jenv?style=flat-square&label=) @@ -1249,6 +1316,7 @@ _Utilities that help create the development shell environment and switch between _Libraries that analyze the content of websites._ +| | | | | |---|---|---|---| | [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | | [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | ![](https://img.shields.io/github/stars/yasserg/crawler4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yasserg/crawler4j?style=flat-square&label=) @@ -1260,6 +1328,7 @@ _Libraries that analyze the content of websites._ _Frameworks that handle the communication between the layers of a web application._ +| | | | | |---|---|---|---| | [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | | [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | @@ -1280,6 +1349,7 @@ _Frameworks that handle the communication between the layers of a web applicatio ### Workflow Orchestration Engines +| | | | | |---|---|---|---| | [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | | [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | ![](https://img.shields.io/github/stars/flowable/flowable-engine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/flowable/flowable-engine?style=flat-square&label=) From d105ab90615ce55853424b521bc973d92b86b6c4 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 21:53:59 +0200 Subject: [PATCH 383/533] Transform to table structure. Please have a look at CONTRIBUTING.md --- .github/pull_request_template.md | 11 +- .github/workflows/update-readme.yml | 110 + .gitignore | 3 +- .tool-versions | 1 + CONTRIBUTE_README.md | 1388 ++++ CONTRIBUTING.md | 190 +- README.md | 7220 ++++++++++++++++--- README_TEST.md | 1486 ---- scripts/.tool-versions | 1 + scripts/Constants.java | 57 + scripts/FileUtils.java | 63 + scripts/ProjectEntry.java | 31 + scripts/README.md | 121 + scripts/run_workflow.java | 138 + scripts/step_1_validate_input.java | 28 + scripts/step_2_parse_projects.java | 152 + scripts/step_3_generate_badges.java | 134 + scripts/step_4_generate_tables.java | 201 + scripts/step_5_assemble_readme.java | 173 + scripts/step_6_validate_transformation.java | 355 + 20 files changed, 9537 insertions(+), 2326 deletions(-) create mode 100644 .github/workflows/update-readme.yml create mode 100644 .tool-versions create mode 100644 CONTRIBUTE_README.md delete mode 100644 README_TEST.md create mode 100644 scripts/.tool-versions create mode 100644 scripts/Constants.java create mode 100644 scripts/FileUtils.java create mode 100644 scripts/ProjectEntry.java create mode 100644 scripts/README.md create mode 100644 scripts/run_workflow.java create mode 100644 scripts/step_1_validate_input.java create mode 100644 scripts/step_2_parse_projects.java create mode 100644 scripts/step_3_generate_badges.java create mode 100644 scripts/step_4_generate_tables.java create mode 100644 scripts/step_5_assemble_readme.java create mode 100644 scripts/step_6_validate_transformation.java diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9c3c0730..4dae8f97 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,10 +1,7 @@ diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml new file mode 100644 index 00000000..25499cdf --- /dev/null +++ b/.github/workflows/update-readme.yml @@ -0,0 +1,110 @@ +name: Update README from CONTRIBUTE_README + +on: + push: + branches: [master] + paths: + - "CONTRIBUTE_README.md" + - "scripts/*.java" + pull_request: + branches: [master] + paths: + - "CONTRIBUTE_README.md" + - "scripts/*.java" + workflow_dispatch: + +jobs: + update-readme: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + fetch-depth: 0 + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: "25" + + - name: Step 1 - Validate Input + run: | + echo "Step 1: Validating input file..." + java --enable-preview --source 25 scripts/step_1_validate_input.java + + - name: Step 2 - Parse Projects + run: | + echo "Step 2: Parsing project entries..." + java --enable-preview --source 25 scripts/step_2_parse_projects.java + + - name: Step 3 - Generate Badges + run: | + echo "Step 3: Generating GitHub badges..." + java --enable-preview --source 25 scripts/step_3_generate_badges.java + + - name: Step 4 - Generate Tables + run: | + echo "Step 4: Generating HTML tables..." + java --enable-preview --source 25 scripts/step_4_generate_tables.java + + - name: Step 5 - Assemble README + run: | + echo "Step 5: Assembling final README..." + java --enable-preview --source 25 scripts/step_5_assemble_readme.java + + - name: Step 6 - Validate Transformation + run: | + echo "Step 6: Validating transformation..." + java --enable-preview --source 25 scripts/step_6_validate_transformation.java + + - name: Check for changes + id: changes + run: | + if git diff --quiet README.md; then + echo "No changes to README.md" + echo "changed=false" >> $GITHUB_OUTPUT + else + echo "Changes detected in README.md" + echo "changed=true" >> $GITHUB_OUTPUT + fi + + - name: Commit and push changes + if: steps.changes.outputs.changed == 'true' + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add README.md + git commit -m "Auto-update README.md from CONTRIBUTE_README.md + + - Converted list format to HTML tables + - Added GitHub stars and last commit badges + - Updated via GitHub Actions workflow" + git push + echo "Changes committed and pushed to repository" + + - name: Create summary + run: | + echo "## Workflow Summary" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### Completed Steps:" >> $GITHUB_STEP_SUMMARY + echo "1. Checked out repository" >> $GITHUB_STEP_SUMMARY + echo "2. Set up Java 25" >> $GITHUB_STEP_SUMMARY + echo "3. Step 1: Validated input file" >> $GITHUB_STEP_SUMMARY + echo "4. Step 2: Parsed project entries" >> $GITHUB_STEP_SUMMARY + echo "5. Step 3: Generated GitHub badges" >> $GITHUB_STEP_SUMMARY + echo "6. Step 4: Generated HTML tables" >> $GITHUB_STEP_SUMMARY + echo "7. Step 5: Assembled final README" >> $GITHUB_STEP_SUMMARY + echo "8. Step 6: Validated transformation" >> $GITHUB_STEP_SUMMARY + if [ "${{ steps.changes.outputs.changed }}" == "true" ]; then + echo "9. Committed and pushed changes" >> $GITHUB_STEP_SUMMARY + else + echo "9. No changes detected" >> $GITHUB_STEP_SUMMARY + fi + echo "" >> $GITHUB_STEP_SUMMARY + echo "### File Statistics:" >> $GITHUB_STEP_SUMMARY + echo "- **Lines**: $(wc -l < README.md)" >> $GITHUB_STEP_SUMMARY + echo "- **Size**: $(du -h README.md | cut -f1)" >> $GITHUB_STEP_SUMMARY + echo "- **Badges**: $(grep -c 'img.shields.io' README.md)" >> $GITHUB_STEP_SUMMARY diff --git a/.gitignore b/.gitignore index 59d57d07..f20c18bd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea/ .vscode/ -.scripts/ +.tmp/ +.tool-versions diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 00000000..99874193 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +java temurin-25.0.0+36.0.LTS diff --git a/CONTRIBUTE_README.md b/CONTRIBUTE_README.md new file mode 100644 index 00000000..6ccfd4b1 --- /dev/null +++ b/CONTRIBUTE_README.md @@ -0,0 +1,1388 @@ +# 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) + - [Cloud](#cloud) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [Pathfinding](#pathfinding) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) +- [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Websites](#websites) +- [Contributing](#contributing) + +## 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. +- [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. +- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. + +### Bean Mapping + +_Frameworks that ease bean mapping._ + +- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. +- [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. +- [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. +- [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. +- [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. +- [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. + +### Build + +_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. +- [Bazel](https://bazel.build) - Tool from Google that builds code quickly and reliably. +- [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 + +_Libraries to manipulate bytecode programmatically._ + +- [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. +- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. +- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +- [cglib](https://github.com/cglib/cglib) - Bytecode generation library. +- [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. +- [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. +- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. +- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. +- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. + +### Caching + +_Libraries that provide caching facilities._ + +- [cache2k](https://cache2k.org) - In-memory high performance caching library. +- [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. +- [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. +- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. + +### CLI + +_Libraries for everything related to the CLI._ + +#### Argument Parsing + +_Libraries to assist with parsing command line arguments._ + +- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. +- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. +- [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. +- [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. +- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. + +#### Text-Based User Interfaces + +_Libraries that provide TUI frameworks, or building blocks related functions._ + +- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. +- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). +- [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) + +### Cloud + +_Libraries to integrate or use cloud-specific features._ + +- [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 + +_Tools that provide metrics and quality measurements._ + +- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +- [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. +- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. +- [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. +- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) +- [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. +- [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. +- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. +- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) +- [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. +- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) + +### Code Coverage + +_Frameworks and tools that enable code coverage metrics collection for test suites._ + +- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. +- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. + +### Code Generators + +_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ + +- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. +- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. +- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. +- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. +- [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. +- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +- [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. + +### Compiler-compiler + +_Frameworks that help to create parsers, interpreters or compilers._ + +- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. +- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +- [JFlex](https://jflex.de) - Lexical analyzer generator. + +### Computer Vision + +_Libraries which seek to gain high level information from images and videos._ + +- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. +- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. + +### Configuration + +_Libraries that provide external configuration._ + +- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +- [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +- [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. +- [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. +- [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 distributed. +- [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. + +### Constraint Satisfaction Problem Solver + +_Libraries that help with implementing optimization and satisfiability problems._ + +- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) +- [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. +- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. + +### CSV + +_Frameworks and libraries that simplify reading/writing CSV data._ + +- [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. +- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. +- [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. +- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. + +### Data Structures + +_Efficient and specific data structures._ + +- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. +- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. +- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. +- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. +- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. +- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. +- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. +- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. +- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. +- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. +- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. + +### Database + +_Everything that simplifies interactions with the database._ + +- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +- [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. +- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. +- [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. +- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. +- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) +- [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. +- [Flyway](https://flywaydb.org) - Simple database migration tool. +- [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. +- [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. +- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. +- [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. +- [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. +- [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. +- [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. +- [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). +- [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. +- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. +- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. +- [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. +- [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +- [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. +- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. +- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. +- [Querydsl](http://www.querydsl.com) - Typesafe unified queries. +- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. +- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. +- [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. +- [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. +- [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +- [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. +- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. +- [Trino](https://trino.io) - Distributed SQL query engine for big data. +- [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. +- [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. +- [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. + +### Date and Time + +_Libraries related to handling date and time._ + +- [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. +- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. +- [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. +- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) + +### Dependency Injection + +_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ + +- [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. +- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. +- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. +- [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://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 + +_Augmentation of the development process at a fundamental level._ + +- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. +- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) +- [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) +- [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. +- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. +- [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. +- [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. +- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. + +### Distributed Applications + +_Libraries and frameworks for writing distributed and fault-tolerant applications._ + +- [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +- [Apache Storm](https://storm.apache.org) - Realtime computation system. +- [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. +- [Axon](https://axoniq.io) - Framework for creating CQRS applications. +- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. +- [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. +- [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. +- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +- [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. +- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. +- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. +- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + +### Distributed Transactions + +_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ + +- [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. +- [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. +- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. + +### Distribution + +_Tools that handle the distribution of applications in native formats._ + +- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. +- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. +- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. +- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. +- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. +- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. +- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. +- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. + +### Document Processing + +_Libraries that assist with processing office document formats._ + +- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. +- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. +- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. +- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + +### Financial + +_Libraries related to the financial domain._ + +- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. +- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. +- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. +- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. +- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. +- [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. + +### Formal Verification + +_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ + +- [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. +- [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) +- [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 + +_Libraries that facilitate functional programming._ + +- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. +- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) +- [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. + +### Game Development + +_Frameworks that support the development of games._ + +- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. +- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. +- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. +- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. +- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. +- [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 + +_Libraries for working with geospatial data and algorithms._ + +- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. +- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. +- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. +- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) +- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. +- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) +- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. +- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. + +### GUI + +_Libraries to create modern graphical user interfaces._ + +- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. +- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. +- [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. +- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. + +### High Performance + +_Everything about high-performance computation, from collections to specific libraries._ + +- [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. +- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. +- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. +- [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. +- [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. +- [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. +- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. + +### HTTP Clients + +_Libraries that assist with creating HTTP requests and/or binding responses._ + +- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. +- [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. +- [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. +- [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. +- [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. + +### Hypermedia Types + +_Libraries that handle serialization to hypermedia types._ + +- [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 + +_Integrated development environments that try to simplify several aspects of development._ + +- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. +- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. +- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. +- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. +- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. + +### Imagery + +_Libraries that assist with the creation, evaluation or manipulation of graphical images._ + +- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +- [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. +- [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. +- [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. +- [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 + +_Libraries that help make the Java introspection and reflection API easier and faster to use._ + +- [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. +- [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. +- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. +- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. + +### Job Scheduling + +_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 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. + +### JSON + +_Libraries for serializing and deserializing JSON to and from Java objects._ + +- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. +- [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. +- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. +- [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. +- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. +- [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. +- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. +- [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. +- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. +- [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. +- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. +- [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. +- [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. +- [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. +- [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. +- [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. +- [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. + +### JVM and JDK + +_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. +- [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. +- [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) +- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! + +### Logging + +_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. +- [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. +- [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. +- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. +- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. +- [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 + +_Tools that provide specific statistical algorithms for learning from data._ + +- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. +- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. +- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. +- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. +- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. +- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. +- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. +- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. +- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. +- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. +- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) + +### Messaging + +_Tools that help send messages between clients to ensure protocol independency._ + +- [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. +- [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. +- [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. +- [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. +- [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. +- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. +- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. +- [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. +- [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. +- [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. +- [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. +- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. +- [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. +- [NATS client](https://github.com/nats-io/nats.java) - NATS client. + +### Microservice + +_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. +- [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. +- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. +- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. +- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. +- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. +- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. +- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. +- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. + +### Miscellaneous + +_Everything else._ + +- [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) +- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. +- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. +- [Jimfs](https://github.com/google/jimfs) - In-memory file system. +- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. +- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. +- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. +- [JPad](http://jpad.io) - Snippet runner. +- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. +- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. +- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. +- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. +- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. +- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. +- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. +- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. +- [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. +- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. +- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. +- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) +- [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. +- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for + code and dependency management and allows you to run it directly. + +### Mobile Development + +_Tools for creating or managing mobile applications._ + +- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. + +### Monitoring + +_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. +- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. +- [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. +- [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. +- [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 software’s 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. +- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. +- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. +- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. +- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. + +### Native + +_For working with platform-specific native libraries._ + +- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. +- [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. +- [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 + +_Libraries that specialize in processing text._ + +- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) +- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +- [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. +- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. + +### Networking + +_Libraries for building network servers._ + +- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). +- [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. +- [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. +- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. +- [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. +- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +- [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +- [Netty](https://netty.io) - Framework for building high-performance network applications. +- [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. +- [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. +- [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. +- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. +- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +- [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. + +### ORM + +_APIs that handle the persistence of objects._ + +- [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +- [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. +- [Ebean](https://ebean.io) - Provides simple and fast data access. +- [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. + +### PaaS + +_Java platform as a service._ + +- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. +- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. +- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. +- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. +- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. +- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. + +### Pathfinding + +_Algorithms and libraries for finding routes in graphs and spatial environments._ + +- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. + +### PDF + +_Tools to help with PDF files._ + +- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. +- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. +- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) +- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) +- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) +- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. +- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) +- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) +- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. + +### Performance analysis + +_Tools for performance analysis, profiling and benchmarking._ + +- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. +- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. +- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. +- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. +- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. + +### Platform + +_Frameworks that are suites of multiple libraries encompassing several categories._ + +#### Apache Commons + +- [BCEL](http://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. +- [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. +- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. +- [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. +- [Chain](http://commons.apache.org/proper/commons-chain/) - Chain of Responsibility pattern implementation. +- [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. +- [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. +- [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. +- [Codec](http://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +- [Collections](http://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. +- [Compress](http://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. +- [Configuration](http://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. +- [Convert](http://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. +- [CSV](http://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. +- [Daemon](http://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. +- [DBCP](http://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. +- [DbUtils](http://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. +- [Digester](http://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. +- [Email](http://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. +- [Exec](http://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. +- [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. +- [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. +- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. +- [Functor](http://commons.apache.org/proper/commons-functor/) - Function that can be manipulated as an object, or an object representing a single, generic function. +- [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. +- [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. +- [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. +- [Imaging](http://commons.apache.org/proper/commons-imaging/) - Image library. +- [IO](http://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. +- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. +- [JCI](http://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. +- [JCS](http://commons.apache.org/proper/commons-jcs/) - Java Caching System. +- [Jelly](http://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. +- [Jexl](http://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. +- [JNet](http://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. +- [JXPath](http://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. +- [Lang](http://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. +- [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. +- [Math](http://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. +- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. +- [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. +- [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. +- [OGNL](http://commons.apache.org/proper/commons-ognl/) - Object-graph navigation language. +- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. +- [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. +- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. +- [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. +- [Proxy](http://commons.apache.org/proper/commons-proxy/) - Library for creating dynamic proxies. +- [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +- [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. +- [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +- [Validator](http://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. +- [VFS](http://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +- [Weaver](http://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. + +#### Other + +- [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). +- [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. +- [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. + +### Processes + +_Libraries that help the management of operating system processes._ + +- [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) - Convenient API around Apache Commons Exec. +- [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. +- [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) - Stops processes started from Java or the system processes via PID. + +### Reactive libraries + +_Libraries for developing reactive applications._ + +- [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) - 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. + +### REST Frameworks + +_Frameworks specifically for creating RESTful services._ + +- [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +- [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. +- [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. +- [Spark](http://sparkjava.com) - Sinatra inspired framework. +- [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. +- [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. + +### Science + +_Libraries for scientific computing, analysis and visualization._ + +- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +- [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) +- [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. +- [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. +- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +- [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. +- [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. +- [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. +- [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. +- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +- [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. + +### Search + +_Engines that index documents for search and analysis._ + +- [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. +- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. +- [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. +- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. + +### Security + +_Libraries that handle security, authentication, authorization or session management._ + +- [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. +- [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. +- [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. +- [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. +- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. +- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. +- [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. +- [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. +- [OACC](http://oaccframework.org) - Provides permission-based authorization services. +- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. +- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +- [pac4j](https://github.com/pac4j/pac4j) - Security engine. +- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. +- [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. +- [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. + +### Serialization + +_Libraries that handle serialization with high efficiency._ + +- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. +- [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. +- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. +- [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. +- [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. +- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. + +### Server + +_Servers specifically used to deploy applications._ + +- [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. +- [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. +- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. +- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) + +### Template Engine + +_Tools that substitute expressions in a template._ + +- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. +- [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). +- [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +- [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. +- [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. + +### Testing + +_Tools that test from model to the view._ + +#### Asynchronous + +_Tools that simplify testing asynchronous services._ + +- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. +- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. +- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. +- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. + +#### BDD + +_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ + +- [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. +- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. +- [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. +- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. +- [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. +- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. +- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. + +#### Fixtures + +_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. +- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. +- [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. +- [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. +- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. +- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. +- [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. + +#### Frameworks + +_Provide environments to run tests for a specific use case._ + +- [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 + +_Libraries that provide custom matchers._ + +- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. +- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. +- [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. +- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. +- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. +- [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. + +#### Miscellaneous + +_Other stuff related to testing._ + +- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. +- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. +- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. +- [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. +- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. +- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. +- [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). +- [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. +- [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 + +_Tools which mock collaborators to help testing single, isolated units._ + +- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. +- [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. +- [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. +- [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. +- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. +- [WireMock](http://wiremock.org) - Stubs and mocks web services. +- [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. + +### Utility + +_Libraries which provide general utility functions._ + +- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. +- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. +- [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. +- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. +- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +- [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. +- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. +- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. +- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +- [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. +- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. +- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. +- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. +- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. +- [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. +- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. +- [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. +- [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. +- [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. + +### Version Managers + +_Utilities that help create the development shell environment and switch between different Java versions._ + +- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +- [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. +- [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. + +### Web Crawling + +_Libraries that analyze the content of websites._ + +- [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. +- [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. +- [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. +- [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. +- [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. + +### Web Frameworks + +_Frameworks that handle the communication between the layers of a web application._ + +- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +- [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. +- [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. +- [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. +- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. +- [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. +- [Javalin](https://javalin.io/) - Microframework for web applications. +- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. +- [Ninja](http://www.ninjaframework.org) - Full-stack web framework. +- [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. +- [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +- [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) - 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. +- [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. + +### Workflow Orchestration Engines + +_Platforms and frameworks for orchestrating workflows and business processes._ + +- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. +- [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. +- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. + + + +## Resources + +### Related Awesome Lists + +_Awesome Lists related to the Java & JVM ecosystem._ + +- [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) +- [Awesome REST](https://github.com/marmelab/awesome-rest) +- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) +- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) +- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) +- [Useful Java Links](https://github.com/Vedenin/useful-java-links) +- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) +- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) + +### Communities + +_Active discussions._ + +- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. +- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. + +### Frontends + +_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ + +- [java.libhunt.com](https://java.libhunt.com) + +### Influential Books + +_Books that made a big impact and are still worth reading._ + +- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) +- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) +- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) +- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) +- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) +- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) +- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) + +### Podcasts and Screencasts + +_Something to look at or listen to while programming._ + +- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. +- [A Bootiful Podcast](https://bootifulpodcast.fm) +- [Foojay Podcast](https://foojay.io/today/category/podcast/) +- [Inside Java](https://inside.java/podcast) (Official) +- [Java Off Heap](http://www.javaoffheap.com) +- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. + +### People + +#### Socials + +_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://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://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](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://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. +- [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. +- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. +- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. +- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. +- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. +- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. +- [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://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. + +### Websites + +_Sites to read._ + +- [Baeldung](https://www.baeldung.com) +- [Dzone](https://dzone.com) +- [foojay.io](https://foojay.io) +- [Google Java Style](https://google.github.io/styleguide/javaguide.html) +- [InfoQ](https://www.infoq.com) +- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) +- [Java, SQL, and jOOQ](https://blog.jooq.org) +- [Java.net](https://community.oracle.com/community/java) +- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) +- [JavaWorld](https://www.javaworld.com) +- [JAXenter](https://jaxenter.com) +- [RebelLabs](https://zeroturnaround.com/rebellabs) +- [OverOps Blog](https://blog.overops.com) +- [TheServerSide.com](http://www.theserverside.com) +- [Vanilla Java](https://vanilla-java.github.io) +- [Voxxed](https://www.voxxed.com) +- [Java Weekly](https://discu.eu/weekly/java/) + +## Contributing + +Contributions are very welcome! + +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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b8bb3729..1b285a14 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,51 +1,183 @@ # Contribution Guidelines -Unfortunately, not every library/tool/framework can be considered. This list aims to provide a concise list of noteworthy modern software. This means that suggested software is: +First and most importantly of all: Thank you for your interest in contributing to the Awesome Java list! -(a) widely recommended, regardless of personal opinion +## Automated Workflow -(b) highly discussed in the community due to its innovative nature +This repository uses an automated workflow to maintain the main `README.md` file. Here's how it works: -(c) absolutely unique in its approach and function +### For Contributors -(d) a niche product that fills a gap +1. **Edit `CONTRIBUTE_README.md`** - Make all your changes to this file, not `README.md` +2. **Submit a Pull Request** - Create a PR with your changes to `CONTRIBUTE_README.md` +3. **GitHub Actions will automatically**: + - Convert the list format to HTML tables + - Add GitHub stars and last commit badges + - Update `README.md` with the converted content + - Commit and push the changes -Suggested software must also be developer-friendly, which means it meets the following criteria: +### What NOT to do -(i) If an open source _application_, it is licensed under one of the open source licenses listed on https://opensource.org/licenses. +- **Don't edit `README.md` directly** - It will be overwritten by the automated workflow +- **Don't edit the scripts** unless you're improving the conversion process +- **Don't manually run the conversion scripts** - GitHub Actions handles this -(ii) If an open source _library_, it is licensed under one of the open source licenses listed on https://opensource.org/licenses, with the exception of GPL and AGPL (due to their viral nature). +## How to Contribute -(iii) If commercial, it has clear pricing and at least one free tier. +### Adding a New Project -(iv) It has a documentation in the English language. +1. **Find the appropriate section** in `CONTRIBUTE_README.md` +2. **Add your entry** using this format: + ```markdown + - [Project Name](https://github.com/user/repo) - Brief description of what the project does. + ``` +3. **Follow the existing style** +4. **Submit a Pull Request** -## Pull Requests +### Updating an Existing Project -There are two required criteria for a pull request: +1. **Find the project** in `CONTRIBUTE_README.md` +2. **Update the description** or URL as needed +3. **Submit a Pull Request** with your changes -1. If an entry has a similar scope as other entries in the same category, the description must state the unique features that distinguishes it from the other entries. +### Adding a New Category -2. If an entry does not meet conditions _(a)_ to _(d)_ there has to be an explanation either in the description or the pull request why it should be added to the list. +1. **Add the category** to the Contents section +2. **Create a new section** with the appropriate heading +3. **Add projects** to the new section +4. **Submit a Pull Request** with your changes -3. If an entry doesn't fit any of the pre-existing specialized sections, it should go under Miscellaneous. +## Guidelines -4. If two or more entries in Miscellaneous are in the same domain, then they can be moved to a new specialized section. +### Project Requirements -Self-promotion is frowned upon and viewed critically, but your suggestion will of course be approved if the criteria match. +- **Must be Java-related** - The project should be primarily for Java development +- **Must be actively maintained** - Recent commits and releases +- **Must be useful** - Provide value to Java developers -If your entry isn't accepted, please check the [Issues](https://github.com/akullpp/awesome-java/issues) for items marked with the "question" tag to see if it had been previously discussed. If nothing comes up, feel free to create a new issue, adding the "question" tag. +### Description Guidelines -Furthermore, please ensure your pull request follows the following guidelines: +- **Be concise** - Keep descriptions on point +- **Be descriptive** - Explain what the project does and why it's useful +- **Be accurate** - Ensure the description matches the current project state +- **Use proper grammar** - Write in clear, professional English -- Please search previous suggestions before making a new one, as yours may be a duplicate. -- Please make an individual pull request for each suggestion. -- Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. -- Entries should be sorted in ascending alphabetical order, i.e. a to z. -- New categories or improvements to the existing categorization are welcome. -- Keep descriptions below or euqal to 160 characters, simple and unbiased. -- End all descriptions with a full stop/period. -- Check your spelling and grammar. -- Make sure your text editor is set to remove trailing whitespace. +### Format Guidelines -Thank you for your suggestions! +- **Use consistent formatting** - Follow the existing style +- **Maintain alphabetical order** - Within each section +- **Use proper markdown** - Follow the established patterns +- **Include relevant links** - Link to GitHub repositories when possible + +## Workflow Details + +### GitHub Actions Workflow + +The automated workflow (`update-readme.yml`) runs when: + +- **Push to master** - When `CONTRIBUTE_README.md` or scripts are updated +- **Pull Request** - When `CONTRIBUTE_README.md` or scripts are modified +- **Manual trigger** - Can be triggered manually from the Actions tab + +### File Structure + +``` +├── CONTRIBUTE_README.md # Source file (edit this) +├── README.md # Generated file (don't edit) +├── scripts/ +│ ├── run_workflow.java # Main workflow orchestrator +│ ├── step_1_validate_input.java # Input validation +│ ├── step_2_parse_projects.java # Project parsing +│ ├── step_3_generate_badges.java # Badge generation +│ ├── step_4_generate_tables.java # HTML table generation +│ ├── step_5_assemble_readme.java # Final assembly +│ ├── step_6_validate_transformation.java # Data integrity validation +│ ├── ProjectEntry.java # Data model +│ ├── FileUtils.java # Utility functions +│ ├── Constants.java # Shared constants +│ └── README.md # Script documentation +├── .tmp/ # Temporary files (auto-generated) +│ ├── parsed-projects.txt +│ ├── github-badges.txt +│ └── generated-tables.html +└── .github/workflows/ + └── update-readme.yml # GitHub Actions workflow +``` + +### Workflow Process + +The README generation follows a 6-step modular process: + +1. **Step 1 - Input Validation** (`step_1_validate_input.java`) + - Validates that `CONTRIBUTE_README.md` exists and is readable + - Provides file statistics + +2. **Step 2 - Project Parsing** (`step_2_parse_projects.java`) + - Parses markdown content to extract project entries + - Handles multi-line descriptions + - Outputs: `parsed-projects.txt` + +3. **Step 3 - Badge Generation** (`step_3_generate_badges.java`) + - Generates GitHub badges for repositories + - Creates stars and last-commit badges + - Outputs: `github-badges.txt` + +4. **Step 4 - Table Generation** (`step_4_generate_tables.java`) + - Combines parsed projects with badges + - Generates HTML tables with proper styling + - Outputs: `generated-tables.html` + +5. **Step 5 - Final Assembly** (`step_5_assemble_readme.java`) + - Combines original content with generated tables + - Produces the final `README.md` + +6. **Step 6 - Validation** (`step_6_validate_transformation.java`) + - Validates that all entries from original are present in transformed README + - Ensures entries are in the correct sections + - Reports missing entries, wrong sections, and extra entries + +### Running the Workflow + +**Complete Workflow:** +```bash +java --enable-preview --source 25 scripts/run_workflow.java +``` + +**Individual Steps:** +```bash +java --enable-preview --source 25 scripts/run_workflow.java [step_number] +``` + +**Direct Step Execution:** +```bash +java --enable-preview --source 25 scripts/step_1_validate_input.java +java --enable-preview --source 25 scripts/step_2_parse_projects.java +# ... etc +``` + +## 🐛 Troubleshooting + +### Common Issues + +1. **Workflow fails** - Check the Actions tab for error details +2. **Badges not showing** - Ensure the repository URL is correct +3. **Formatting issues** - Check that your markdown is valid +4. **Validation fails** - Step 6 validates data integrity: + - Missing entries: Projects in original but not in final README + - Wrong sections: Projects in different sections than expected + - Extra entries: Projects in final README but not in original +5. **Section mapping issues** - Ensure projects are in the correct sections + +### Getting Help + +- **Open an issue** - For questions or problems +- **Check existing issues** - Your question might already be answered +- **Review the workflow logs** - In the Actions tab + +## 📄 License + +By contributing to this project, you agree that your contributions will be licensed under the same license as the project. + +--- + +**Remember**: Always edit `CONTRIBUTE_README.md`, never `README.md` directly! diff --git a/README.md b/README.md index 062afff5..ede2f559 100644 --- a/README.md +++ b/README.md @@ -92,799 +92,4582 @@ A curated list of awesome Java frameworks, libraries and software. _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. + + + + + + + + + + + + + + + + +
+ ArchUnit + Test library for specifying and asserting architecture rules.GitHub starsLast commit
+ jMolecules + Annotations and interfaces to express design and architecture concepts in code.GitHub starsLast commit
### 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. -- [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. -- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ LangChain4j + Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.GitHub starsLast commit
+ MCP 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.GitHub starsLast commit
+ simple-openai + Library to use the OpenAI API (and compatible ones) in the simplest possible way.GitHub starsLast commit
+ Spring AI + Application framework for AI engineering for Spring.--
### Bean Mapping _Frameworks that ease bean mapping._ -- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. -- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. -- [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. -- [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. -- [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. -- [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -- [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ dOOv + Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy.GitHub starsLast commit
+ JMapper + Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.GitHub starsLast commit
+ MapStruct + Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.GitHub starsLast commit
+ ModelMapper + Intelligent object mapping library that automatically maps objects to each other.GitHub starsLast commit
+ Orika + JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.GitHub starsLast commit
+ reMap + Lambda and method handle-based mapping which requires code and not annotations if objects have different names.GitHub starsLast commit
+ Selma + Annotation processor-based bean mapper.GitHub starsLast commit
### Build _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. -- [Bazel](https://bazel.build) - Tool from Google that builds code quickly and reliably. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Maven + 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 + Tool from Google that builds code quickly and reliably.--
+ Buck2 + Encourages the creation of small, reusable modules consisting of code and resources.GitHub starsLast commit
+ Gradle + Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.--
### Bytecode Manipulation _Libraries to manipulate bytecode programmatically._ -- [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. -- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. -- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) -- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -- [cglib](https://github.com/cglib/cglib) - Bytecode generation library. -- [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. -- [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. -- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. -- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. -- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ASM + All-purpose, low-level bytecode manipulation and analysis.--
+ Byte Buddy + Further simplifies bytecode generation with a fluent API.--
+ bytecode-viewer + Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)GitHub starsLast commit
+ Byteman + Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)--
+ cglib + Bytecode generation library.GitHub starsLast commit
+ Javassist + Tries to simplify bytecode editing.GitHub starsLast commit
+ Maker + Provides low level bytecode generation.GitHub starsLast commit
+ Mixin + Manipulate bytecode at runtime using real Java code.GitHub starsLast commit
+ Perses + Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering.GitHub starsLast commit
+ Recaf + JVM reverse engineering toolkit, essentially an IDE for Java bytecode.--
### Caching _Libraries that provide caching facilities._ -- [cache2k](https://cache2k.org) - In-memory high performance caching library. -- [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. -- [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. -- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ cache2k + In-memory high performance caching library.--
+ Caffeine + High-performance, near-optimal caching library.GitHub starsLast commit
+ Ehcache + Distributed general-purpose cache.--
+ Infinispan + Highly concurrent key/value datastore used for caching.--
### CLI _Libraries for everything related to the CLI._ #### Argument Parsing - _Libraries to assist with parsing command line arguments._ -- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. -- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. -- [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. -- [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. -- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - -#### Text-Based User Interfaces -_Libraries that provide TUI frameworks, or building blocks related functions._ -- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. -- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -- [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) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Airline + Annotation-based framework for parsing Git-like command-line arguments.--
+ JCommander + Command-line argument-parsing framework with custom types and validation via implementing interfaces.--
+ jbock + Reflectionless command line parser.GitHub starsLast commit
+ JLine + Includes features from modern shells like completion or history.GitHub starsLast commit
+ picocli + ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.--
+ Jansi + ANSI escape codes to format console output.GitHub starsLast commit
+ Jexer + Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision).--
+ Text-IO + Aids the creation of full console-based applications.GitHub starsLast commit
+ Lanterna + Easy console text-GUI library, similar to curses. (LGPL-3.0-only)GitHub starsLast commit
### Cloud _Libraries to integrate or use cloud-specific features._ -- [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. + + + + + + + + + + + + + + + + + + +
+ AWS SDK for Java + Provides Java APIs for interacting with Amazon Web Services.GitHub starsLast commit
+ Google Cloud Client Libraries + Client libraries for accessing Google Cloud services from Java applications.GitHub starsLast commit
### Code Analysis _Tools that provide metrics and quality measurements._ -- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) -- [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. -- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. -- [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. -- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) -- [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. -- [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. -- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. -- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. -- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) -- [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. -- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Checkstyle + Static analysis of coding conventions and standards. (LGPL-2.1-or-later)GitHub starsLast commit
+ Error Prone + Catches common programming mistakes as compile-time errors.GitHub starsLast commit
+ Error Prone Support + Error Prone extensions: extra bug checkers and a large battery of Refaster templates.GitHub starsLast commit
+ Infer + Modern static analysis tool for verifying the correctness of code.GitHub starsLast commit
+ jQAssistant + Static code analysis with Neo4J-based query language. (GPL-3.0-only)--
+ NullAway + Eliminates NullPointerExceptions with low build-time overhead.GitHub starsLast commit
+ PMD + Source code analysis for finding bad coding practices.GitHub starsLast commit
+ p3c + Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse.GitHub starsLast commit
+ RefactorFirst + Identifies and prioritizes God Classes and Highly Coupled classes.GitHub starsLast commit
+ SonarJava + Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only)GitHub starsLast commit
+ Spoon + Library for analyzing and transforming Java source code.GitHub starsLast commit
+ Spotbugs + Static analysis of bytecode to find potential bugs. (LGPL-2.1-only)GitHub starsLast commit
### Code Coverage _Frameworks and tools that enable code coverage metrics collection for test suites._ -- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. -- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) -- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. + + + + + + + + + + + + + + + + + + + + + + + + +
+ Clover + Relies on source-code instrumentation instead of bytecode instrumentation.--
+ Cobertura + Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)--
+ JaCoCo + Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.--
### Code Generators _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ -- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. -- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. -- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. -- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. -- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. -- [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. -- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ADT4J + JSR-269 code generator for algebraic data types.GitHub starsLast commit
+ Auto + Generates factory, service, and value classes.GitHub starsLast commit
+ Avaje Http Server + Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.--
+ EasyEntityToDTO + Annotation processor for automatic DTO and Mapper generation with zero boilerplate.GitHub starsLast commit
+ FreeBuilder + Automatically generates the Builder pattern.GitHub starsLast commit
+ Geci + Discovers files that need generated code, updates automatically and writes to the source with a convenient API.GitHub starsLast commit
+ Immutables + Annotation processors to generate simple, safe and consistent value objects.--
+ JavaPoet + API to generate source files.GitHub starsLast commit
+ JHipster + Yeoman source code generator for Spring Boot and AngularJS.GitHub starsLast commit
+ Joda-Beans + Small framework that adds queryable properties to Java, enhancing JavaBeans.--
+ JSpecify Package-Info Generator + Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate.GitHub starsLast commit
+ Lombok + Code generator that aims to reduce verbosity.--
+ Record-Builder + Companion builder class, withers and templates for Java records.GitHub starsLast commit
+ Telosys + Simple and light code generator available as an Eclipse Plugin and also as a CLI.--
### Compiler-compiler _Frameworks that help to create parsers, interpreters or compilers._ -- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. -- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -- [JFlex](https://jflex.de) - Lexical analyzer generator. + + + + + + + + + + + + + + + + + + + + + + + + +
+ ANTLR + Complex full-featured framework for top-down parsing.--
+ JavaCC + Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.--
+ JFlex + Lexical analyzer generator.--
### Computer Vision _Libraries which seek to gain high level information from images and videos._ -- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. -- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. + + + + + + + + + + + + + + + + + + + + + + + + +
+ BoofCV + Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more.--
+ ImageJ + Medical image processing application with an API.--
+ JavaCV + Java interface to OpenCV, FFmpeg, and much more.GitHub starsLast commit
### Configuration _Libraries that provide external configuration._ -- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -- [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. -- [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. -- [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. -- [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 distributed. -- [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ avaje config + Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.--
+ centraldogma + Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.GitHub starsLast commit
+ config + Configuration library supporting Java properties, JSON or its human optimized superset HOCON.GitHub starsLast commit
+ Configurate + Configuration library with support for various configuration formats and transformations.GitHub starsLast commit
+ Curator Framework + High-level API for Apache ZooKeeper.--
+ dotenv + Twelve-factor configuration library which uses environment-specific files.GitHub starsLast commit
+ Externalized Properties + Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism.GitHub starsLast commit
+ 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.GitHub starsLast commit
+ ini4j + Provides an API for handling Windows' INI files.--
+ KAConf + Annotation-based configuration system for Java and Kotlin.GitHub starsLast commit
+ microconfig + 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 + Reduces boilerplate of properties.GitHub starsLast commit
### Constraint Satisfaction Problem Solver _Libraries that help with implementing optimization and satisfiability problems._ -- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. -- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -- [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. -- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Choco + Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.--
+ JaCoP + Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0)GitHub starsLast commit
+ OptaPlanner + Business planning and resource scheduling optimization solver.--
+ Timefold + Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.--
### CSV _Frameworks and libraries that simplify reading/writing CSV data._ -- [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. -- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. -- [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. -- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. -- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ FastCSV + Performance-optimized, dependency-free and RFC 4180 compliant.GitHub starsLast commit
+ jackson-dataformat-csv + Jackson extension for reading and writing CSV.GitHub starsLast commit
+ opencsv + Simple CSV parser.--
+ Super CSV + Powerful CSV parser with support for Dozer, Joda-Time and Java 8.--
+ uniVocity-parsers + One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.GitHub starsLast commit
### Data Structures _Efficient and specific data structures._ -- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. -- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. -- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. -- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. -- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. -- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. -- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. -- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. -- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. -- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. -- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Avro + Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.--
+ Apache Orc + Fast and efficient columnar storage format for Hadoop-based workloads.--
+ Apache Parquet + Columnar storage format based on assembly algorithms from Google's paper on Dremel.--
+ Apache Thrift + Data interchange format that originated at Facebook.--
+ Big Queue + Fast and persistent queue based on memory-mapped files.GitHub starsLast commit
+ HyperMinHash-java + Probabilistic data structure for computing union, intersection, and set cardinality in loglog space.GitHub starsLast commit
+ Persistent Collection + Persistent and immutable analogue of the Java Collections Framework.GitHub starsLast commit
+ Protobuf + Google's data interchange format.GitHub starsLast commit
+ RoaringBitmap + Fast and efficient compressed bitmap.GitHub starsLast commit
+ SBE + Simple Binary Encoding, one of the fastest message formats around.GitHub starsLast commit
+ Tape + Lightning-fast, transactional, file-based FIFO.GitHub starsLast commit
+ Wire + Clean, lightweight protocol buffers.GitHub starsLast commit
### Database _Everything that simplifies interactions with the database._ -- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -- [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. -- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. -- [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. -- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. -- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) -- [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. -- [Flyway](https://flywaydb.org) - Simple database migration tool. -- [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. -- [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. -- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. -- [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. -- [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. -- [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. -- [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. -- [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). -- [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. -- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. -- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. -- [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. -- [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. -- [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. -- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. -- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -- [Querydsl](http://www.querydsl.com) - Typesafe unified queries. -- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. -- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. -- [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. -- [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. -- [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. -- [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. -- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. -- [Trino](https://trino.io) - Distributed SQL query engine for big data. -- [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. -- [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. -- [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Calcite + Dynamic data management framework. It contains many of the pieces that comprise a typical database management system.--
+ Apache Drill + Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration.--
+ Apache Phoenix + High-performance relational database layer over HBase for low-latency applications.--
+ ArangoDB + ArangoDB Java driver.GitHub starsLast commit
+ Chronicle Map + Efficient, in-memory (opt. persisted to disk), off-heap key-value store.GitHub starsLast commit
+ Debezium + Low latency data streaming platform for change data capture.--
+ druid + High-performance, column-oriented, distributed data store.--
+ eXist + NoSQL document database and application platform. (LGPL-2.1-only)GitHub starsLast commit
+ FlexyPool + Brings metrics and failover strategies to the most common connection pooling solutions.GitHub starsLast commit
+ Flyway + Simple database migration tool.--
+ H2 + Small SQL database notable for its in-memory functionality.--
+ HikariCP + High-performance JDBC connection pool.GitHub starsLast commit
+ HSQLDB + HyperSQL 100% Java database.--
+ JDBI + Convenient abstraction of JDBC.--
+ Jedis + Small client for interaction with Redis, with methods for commands.GitHub starsLast commit
+ Jest + Client for the Elasticsearch REST API.GitHub starsLast commit
+ jetcd + Client library for etcd.GitHub starsLast commit
+ Jinq + Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).GitHub starsLast commit
+ jOOQ + Generates typesafe code based on SQL schema.--
+ Leaf + Distributed ID generate service.GitHub starsLast commit
+ Lettuce + Lettuce is a scalable Redis client for building non-blocking Reactive applications.--
+ Liquibase + Database-independent library for tracking, managing and applying database schema changes.--
+ MapDB + Embedded database engine that provides concurrent collections backed on disk or in off-heap memory.--
+ MariaDB4j + Launcher for MariaDB that requires no installation or external dependencies.GitHub starsLast commit
+ Modality + Lightweight ORM with database reverse engineering features.GitHub starsLast commit
+ OpenDJ + LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities.GitHub starsLast commit
+ Querydsl + Typesafe unified queries.--
+ QueryStream + Build JPA Criteria queries using a Stream-like API.GitHub starsLast commit
+ QuestDB + High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.GitHub starsLast commit
+ Realm + Mobile database to run directly inside phones, tablets or wearables.GitHub starsLast commit
+ Redisson + Allows for distributed and scalable data structures on top of a Redis server.GitHub starsLast commit
+ requery + Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.GitHub starsLast commit
+ Speedment + Database access library that utilizes Java 8's Stream API for querying.GitHub starsLast commit
+ Spring Data JPA MongoDB Expressions + Allows you to use MongoDB query language to query your relational database.GitHub starsLast commit
+ Trino + Distributed SQL query engine for big data.--
+ Vibur DBCP + JDBC connection pool library with advanced performance monitoring capabilities.--
+ Xodus + Highly concurrent transactional schema-less and ACID-compliant embedded database.GitHub starsLast commit
+ CosId + Universal, flexible, high-performance distributed ID generator.GitHub starsLast commit
### Date and Time _Libraries related to handling date and time._ -- [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. -- [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. -- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ iCal4j + Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models.GitHub starsLast commit
+ Jollyday + Determines the holidays for a given year, country/name and eventually state/region.GitHub starsLast commit
+ ThreeTen-Extra + Additional date-time classes that complement those in JDK 8.GitHub starsLast commit
+ Time4J + Advanced date and time library. (LGPL-2.1-only)GitHub starsLast commit
### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ -- [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. -- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. -- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. -- [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://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) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache DeltaSpike + CDI extension framework.--
+ Avaje Inject + Microservice-focused compile-time injection framework without reflection.--
+ Dagger + Compile-time injection framework without reflection.--
+ Feather + Ultra-lightweight, JSR-330-compliant dependency injection library.GitHub starsLast commit
+ Governator + Extensions and utilities that enhance Google Guice.GitHub starsLast commit
+ Guice + Lightweight and opinionated framework that completes Dagger.GitHub starsLast commit
+ HK2 + Lightweight and dynamic dependency injection framework.--
+ JayWire + Lightweight dependency injection framework. (LGPL-3.0-only)GitHub starsLast commit
### Development _Augmentation of the development process at a fundamental level._ -- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. -- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) -- [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) -- [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. -- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. -- [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -- [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. -- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ AspectJ + Seamless aspect-oriented programming extension.--
+ DCEVM + JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only)--
+ Faux Pas + Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions.GitHub starsLast commit
+ HotswapAgent + Unlimited runtime class and resource redefinition. (GPL-2.0-only)GitHub starsLast commit
+ JavaParser + Parse, modify and generate Java code.GitHub starsLast commit
+ JavaSymbolSolver + Symbol solver.GitHub starsLast commit
+ Manifold + Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.GitHub starsLast commit
+ NoException + Allows checked exceptions in functional interfaces and converts exceptions to Optional return.--
+ SneakyThrow + Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations.GitHub starsLast commit
+ Tail + Enable infinite recursion using tail call optimization.--
### Distributed Applications _Libraries and frameworks for writing distributed and fault-tolerant applications._ -- [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -- [Apache Storm](https://storm.apache.org) - Realtime computation system. -- [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. -- [Axon](https://axoniq.io) - Framework for creating CQRS applications. -- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) -- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. -- [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. -- [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. -- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. -- [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. -- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. -- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. -- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Geode + In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.--
+ Apache Storm + Realtime computation system.--
+ Apache ZooKeeper + Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems.--
+ Atomix + Fault-tolerant distributed coordination framework.--
+ Axon + Framework for creating CQRS applications.--
+ Dropwizard Circuit Breaker + Circuit breaker design pattern for Dropwizard. (GPL-2.0-only)GitHub starsLast commit
+ Failsafe + Simple failure handling with retries and circuit breakers.GitHub starsLast commit
+ Hazelcast + Highly scalable in-memory datagrid with a free open-source version.GitHub starsLast commit
+ JGroups + Toolkit for reliable messaging and cluster creation.--
+ Quasar + Lightweight threads and actors for the JVM.--
+ resilience4j + Functional fault tolerance library.GitHub starsLast commit
+ OpenIG + High-performance reverse proxy server with specialized session management and credential replay functionality.GitHub starsLast commit
+ ScaleCube Services + Embeddable Cluster-Membership library based on SWIM and gossip protocol.GitHub starsLast commit
+ Zuul + Gateway service that provides dynamic routing, monitoring, resiliency, security, and more.GitHub starsLast commit
### Distributed Transactions _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ -- [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. -- [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. -- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) -- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Atomikos + Provides transactions for REST, SOA and microservices with support for JTA and XA.--
+ Bitronix + Simple but complete implementation of the JTA 1.1 API.GitHub starsLast commit
+ Narayana + Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only)--
+ Seata + Delivers high performance and easy to use distributed transaction services under a microservices architecture.GitHub starsLast commit
### Distribution _Tools that handle the distribution of applications in native formats._ -- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. -- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. -- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. -- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. -- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. -- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. -- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. -- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. -- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Artipie + Binary artifact management toolkit which hosts them on the file system or S3.GitHub starsLast commit
+ Capsule + Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.GitHub starsLast commit
+ Central Repository + Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools.--
+ Getdown + System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start.GitHub starsLast commit
+ IzPack + Setup authoring tool for cross-platform deployments.--
+ JavaPackager + Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them.GitHub starsLast commit
+ jDeploy + Deploy desktop apps as native Mac, Windows or Linux bundles.--
+ jlink.online + Builds optimized runtimes over HTTP.GitHub starsLast commit
+ packr + Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS.GitHub starsLast commit
+ really-executable-jars-maven-plugin + Maven plugin for making self-executing JARs.GitHub starsLast commit
### Document Processing _Libraries that assist with processing office document formats._ -- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. -- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. -- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. -- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache POI + Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT).--
+ documents4j + API for document format conversion using third-party converters such as MS Word.--
+ docx4j + Create and manipulate Microsoft Open XML files.--
+ fastexcel + High performance library to read and write large Excel (XLSX) worksheets.GitHub starsLast commit
+ zerocell + Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.GitHub starsLast commit
### Financial _Libraries related to the financial domain._ -- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. -- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. -- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. -- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. -- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. -- [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Cassandre + Trading bot framework.GitHub starsLast commit
+ Parity + Platform for trading venues.GitHub starsLast commit
+ Philadelphia + Low-latency financial information exchange.GitHub starsLast commit
+ Square + Integration with the Square API.GitHub starsLast commit
+ Stripe + Integration with the Stripe API.GitHub starsLast commit
+ ta4j + Library for technical analysis.GitHub starsLast commit
### Formal Verification _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -- [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. -- [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) -- [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) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ CATG + Concolic unit testing engine. Automatically generates unit tests using formal methods.GitHub starsLast commit
+ Checker Framework + Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)--
+ Daikon + Detects likely program invariants and generates JML specs based on those invariants.--
+ Java Path Finder (JPF) + JVM formal verification tool containing a model checker and more. Created by NASA.GitHub starsLast commit
+ JMLOK 2.0 + 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 + 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 + 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 _Libraries that facilitate functional programming._ -- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. -- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Cyclops + Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.GitHub starsLast commit
+ derive4j + Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only)GitHub starsLast commit
+ Fugue + Functional extensions to Guava.--
+ Functional Java + Implements numerous basic and advanced programming abstractions that assist composition-oriented development.--
+ jOOλ + 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.GitHub starsLast commit
+ Packrat + Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.GitHub starsLast commit
+ protonpack + Collection of stream utilities.GitHub starsLast commit
+ StreamEx + Enhances Java 8 Streams.GitHub starsLast commit
+ Vavr + Functional component library that provides persistent data types and functional control structures.--
### Game Development _Frameworks that support the development of games._ -- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. -- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. -- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. -- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. -- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ FXGL + JavaFX Game Development Framework.--
+ JBox2D + Port of the renowned C++ 2D physics engine.--
+ jMonkeyEngine + Game engine for modern 3D development.--
+ libGDX + All-round cross-platform, high-level framework.--
+ Litiengine + AWT-based, lightweight 2D game engine.--
+ LWJGL + Robust framework that abstracts libraries like OpenGL/CL/AL.--
+ Mini2Dx + Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games.--
+ Void2D + High-level 2D game engine with built-in physics based on Swing.GitHub starsLast commit
+ vulkan4j + Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.GitHub starsLast commit
### Geospatial _Libraries for working with geospatial data and algorithms._ -- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. -- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. -- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) -- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) -- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. -- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) -- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache SIS + Library for developing geospatial applications.--
+ Geo + GeoHash utilities in Java.GitHub starsLast commit
+ GeoTools + Library that provides tools for geospatial data. (LGPL-2.1-only)--
+ GraphHopper + Road-routing engine. Used as a Java library or standalone web service.GitHub starsLast commit
+ H2GIS + Spatial extension of the H2 database. (LGPL-3.0-only)--
+ Jgeohash + Library for using the GeoHash algorithm.--
+ Mapsforge + Map rendering based on OpenStreetMap data. (LGPL-3.0-only)GitHub starsLast commit
+ Spatial4j + General-purpose spatial/geospatial library.GitHub starsLast commit
### GUI _Libraries to create modern graphical user interfaces._ -- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. -- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. -- [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. -- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ JavaFX + Successor of Swing.--
+ Scene Builder + Visual layout tool for JavaFX applications.--
+ SnapKit + Modern Java UI library for both desktop and web.GitHub starsLast commit
+ SWT + Graphical widget toolkit.--
### High Performance _Everything about high-performance computation, from collections to specific libraries._ -- [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. -- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. -- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. -- [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. -- [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. -- [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. -- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Agrona + Data structures and utility methods that are common in high-performance applications.GitHub starsLast commit
+ Disruptor + Inter-thread messaging library.--
+ Eclipse Collections + Collections framework inspired by Smalltalk.GitHub starsLast commit
+ fastutil + Fast and compact type-specific collections.--
+ HPPC + Primitive collections.--
+ JCTools + Concurrency tools currently missing from the JDK.GitHub starsLast commit
+ Koloboke + Carefully designed extension of the Java Collections Framework with primitive specializations and more.GitHub starsLast commit
### HTTP Clients _Libraries that assist with creating HTTP requests and/or binding responses._ -- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. -- [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. -- [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. -- [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. -- [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache HttpComponents + Toolset of low-level Java components focused on HTTP and associated protocols.--
+ Async Http Client + Asynchronous HTTP and WebSocket client library.GitHub starsLast commit
+ Avaje Http Client + Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements.--
+ Feign + HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.GitHub starsLast commit
+ Google HTTP Client + Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.GitHub starsLast commit
+ methanol + HTTP client extensions library.GitHub starsLast commit
+ Retrofit + Typesafe REST client.--
+ Ribbon + Client-side IPC library that is battle-tested in the cloud.GitHub starsLast commit
+ Riptide + Client-side response routing for Spring's RestTemplate.GitHub starsLast commit
+ unirest-java + Simplified, lightweight HTTP client library.GitHub starsLast commit
### Hypermedia Types _Libraries that handle serialization to hypermedia types._ -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ hate + Builds hypermedia-friendly objects according to HAL specification.GitHub starsLast commit
+ JSON-LD + JSON-LD implementation.GitHub starsLast commit
+ Siren4J + Library for the Siren specification.GitHub starsLast commit
+ Spring HATEOAS + Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.GitHub starsLast commit
### IDE _Integrated development environments that try to simplify several aspects of development._ -- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. -- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. -- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. -- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. -- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Eclipse + Established open-source project with support for lots of plugins and languages.--
+ jGRASP + Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer.--
+ NetBeans + Provides integration for several Java SE and EE features, from database access to HTML5.--
+ SnapCode + Modern IDE for Java running in the browser, focused on education.--
+ Visual Studio Code + Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace.--
### Imagery _Libraries that assist with the creation, evaluation or manipulation of graphical images._ -- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. -- [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -- [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. -- [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. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Barcode-Lib4J + Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support.GitHub starsLast commit
+ Imgscalr + Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.GitHub starsLast commit
+ Tess4J + JNA wrapper for Tesseract OCR API.GitHub starsLast commit
+ Thumbnailator + High-quality thumbnail generation library.GitHub starsLast commit
+ TwelveMonkeys + Collection of plugins that extend the number of supported image file formats.GitHub starsLast commit
+ ZXing + Multi-format 1D/2D barcode image processing library.GitHub starsLast commit
+ 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.GitHub starsLast commit
+ vips-ffm + Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.GitHub starsLast commit
+ scrimage + Immutable, functional, and performant JVM library for manipulation of images.--
### Introspection _Libraries that help make the Java introspection and reflection API easier and faster to use._ -- [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. -- [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. -- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. -- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ClassGraph + ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.GitHub starsLast commit
+ jOOR + jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.GitHub starsLast commit
+ Mirror + Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks.--
+ Objenesis + Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions.--
+ ReflectASM + ReflectASM is a very small Java library that provides high performance reflection by using code generation.GitHub starsLast commit
+ Reflections + Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.GitHub starsLast commit
### Job Scheduling _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 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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 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.GitHub starsLast commit
+ Quartz + Feature-rich, open source job scheduling library that can be integrated within virtually any Java application.GitHub starsLast commit
+ Sundial + Lightweight framework to simply define jobs, define triggers and start the scheduler.GitHub starsLast commit
+ Wisp + Simple library with minimal footprint and straightforward API.GitHub starsLast commit
+ db-scheduler + Persistent and cluster-friendly scheduler.GitHub starsLast commit
+ 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.GitHub starsLast commit
+ 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.GitHub starsLast commit
### JSON _Libraries for serializing and deserializing JSON to and from Java objects._ -- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. -- [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. -- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. -- [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. -- [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. -- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. -- [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. -- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. -- [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. -- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. -- [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. -- [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. -- [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. -- [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. -- [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. -- [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Avaje Jsonb + Reflection-free Json binding via source code generation with Jackson-like annotations.--
+ DSL-JSON + JSON library with advanced compile time databinding.GitHub starsLast commit
+ Genson + Powerful and easy-to-use Java-to-JSON conversion library.--
+ Gson + Serializes objects to JSON and vice versa. Good performance with on-the-fly usage.GitHub starsLast commit
+ HikariJSON + High-performance JSON parser, 2x faster than Jackson.GitHub starsLast commit
+ jackson-modules-java8 + Set of Jackson modules for Java 8 datatypes and features.GitHub starsLast commit
+ Jackson-datatype-money + Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.GitHub starsLast commit
+ Jackson + Similar to GSON, but offers performance gains if you need to instantiate the library more often.GitHub starsLast commit
+ JSON-io + Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.GitHub starsLast commit
+ jsoniter + Fast and flexible library with iterator and lazy parsing API.--
+ LoganSquare + JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library.GitHub starsLast commit
+ Moshi + Modern JSON library, less opinionated and uses built-in types like List and Map.GitHub starsLast commit
+ Yasson + Binding layer between classes and JSON documents similar to JAXB.GitHub starsLast commit
+ fastjson + Very fast processor with no additional dependencies and full data binding.GitHub starsLast commit
+ Jolt + JSON to JSON transformation tool.GitHub starsLast commit
+ JsonPath + Extract data from JSON using XPATH-like syntax.GitHub starsLast commit
+ JsonSurfer + Streaming JsonPath processor dedicated to processing big and complicated JSON data.GitHub starsLast commit
### JVM and JDK _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. -- [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. -- [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) -- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Which JDK + Overview of common JVMs with pros and cons.--
+ Adopt Open JDK + Community-driven OpenJDK builds, including both HotSpot and OpenJ9.--
+ Corretto + No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)--
+ Dragonwell8 + Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.GitHub starsLast commit
+ Graal + Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
+ Liberica JDK + Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)--
+ 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.GitHub starsLast commit
+ Open JDK + Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)--
+ ParparVM + VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
+ RedHat Open JDK + RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)--
+ SAP Machine + SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0)--
+ Zulu + OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)--
+ Microsoft JDK + Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed!GitHub starsLast commit
### Logging _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. -- [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. -- [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. -- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. -- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Log4j 2 + Complete rewrite with a powerful plugin and configuration architecture.--
+ 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.GitHub starsLast commit
+ 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.GitHub starsLast commit
+ Logstash + Tool for managing log files.--
+ p6spy + Enables logging for all JDBC transactions without changes to the code.GitHub starsLast commit
+ 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.GitHub starsLast commit
+ 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 _Tools that provide specific statistical algorithms for learning from data._ -- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. -- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. -- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. -- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. -- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. -- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. -- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. -- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) -- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. -- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. -- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. -- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Flink + Fast, reliable, large-scale data processing engine.--
+ Apache Mahout + Scalable algorithms focused on collaborative filtering, clustering and classification.--
+ DatumBox + Provides several algorithms and pre-trained models for natural language processing.--
+ Deeplearning4j + Distributed and multi-threaded deep learning library.--
+ DJL + High-level and engine-agnostic framework for deep learning.--
+ Intelligent java + Seamlessly integrate with remote deep learning and language models programmatically.GitHub starsLast commit
+ JSAT + Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only)GitHub starsLast commit
+ m2cgen + CLI tool to transpile models into native code.GitHub starsLast commit
+ Neureka + A lightweight, platform independent, OpenCL accelerated nd-array/tensor library.GitHub starsLast commit
+ oj! Algorithms + High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing.--
+ Oryx 2 + Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering.GitHub starsLast commit
+ Siddhi + Cloud native streaming and complex event processing engine.GitHub starsLast commit
+ Smile + Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.GitHub starsLast commit
+ Tribuo + Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow.--
+ Weka + Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)--
### Messaging _Tools that help send messages between clients to ensure protocol independency._ -- [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. -- [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. -- [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. -- [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. -- [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. -- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. -- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. -- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. -- [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. -- [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. -- [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. -- [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. -- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. -- [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. -- [NATS client](https://github.com/nats-io/nats.java) - NATS client. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Aeron + Efficient, reliable, unicast and multicast message transport.GitHub starsLast commit
+ Apache ActiveMQ + Message broker that implements JMS and converts synchronous to asynchronous communication.--
+ Apache Camel + Glues together different transport APIs via Enterprise Integration Patterns.--
+ Apache Kafka + High-throughput distributed messaging system.--
+ Apache Pulsar + Distributed pub/sub-messaging system.--
+ Apache RocketMQ + Fast, reliable, and scalable distributed messaging platform.--
+ Apache Qpid + Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms.--
+ AutoMQ + AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective.GitHub starsLast commit
+ Deezpatch + Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers.GitHub starsLast commit
+ EventBus + Simple publish/subscribe event bus.GitHub starsLast commit
+ Hermes + Fast and reliable message broker built on top of Kafka.--
+ JeroMQ + Implementation of ZeroMQ.GitHub starsLast commit
+ Nakadi + Provides a RESTful API on top of Kafka.GitHub starsLast commit
+ RabbitMQ Java client + RabbitMQ client.GitHub starsLast commit
+ Smack + Cross-platform XMPP client library.GitHub starsLast commit
+ NATS client + NATS client.GitHub starsLast commit
### Microservice _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. -- [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. -- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. -- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. -- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. -- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. -- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. -- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ActiveRPC + Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions.--
+ Armeria + Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.GitHub starsLast commit
+ consul-api + Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.GitHub starsLast commit
+ Eureka + REST-based service registry for resilient load balancing and failover.GitHub starsLast commit
+ Helidon + Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile.--
+ JDA + Wrapping of the Discord REST API and its WebSocket events.GitHub starsLast commit
+ KeenType + Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX.GitHub starsLast commit
+ kubernetes-client + Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.GitHub starsLast commit
+ Micronaut + Modern full-stack framework with focus on modularity, minimal memory footprint and startup time.--
+ Nacos + Dynamic service discovery, configuration and service management platform for building cloud native applications.--
+ OpenAI-Java + Java libraries for using OpenAI's GPT-3 API.GitHub starsLast commit
+ Quarkus + Kubernetes stack tailored for the HotSpot and Graal VM.--
+ Sentinel + Flow control component enabling reliability, resilience and monitoring for microservices.GitHub starsLast commit
### Miscellaneous _Everything else._ -- [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) -- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. -- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -- [Jimfs](https://github.com/google/jimfs) - In-memory file system. -- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. -- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. -- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. -- [JPad](http://jpad.io) - Snippet runner. -- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. -- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. -- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. -- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. -- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. -- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. -- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. -- [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. -- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. -- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. -- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -- [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. -- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for - code and dependency management and allows you to run it directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ CQEngine + Ultra-fast, SQL-like queries on Java collections.GitHub starsLast commit
+ Design Patterns + Implementation and explanation of the most common design patterns.GitHub starsLast commit
+ FF4J + Feature Flags for Java.GitHub starsLast commit
+ FizzBuzz Enterprise Edition + No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)GitHub starsLast commit
+ IP2Location.io Java SDK + Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.GitHub starsLast commit
+ ISBN core + A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.GitHub starsLast commit
+ J2ObjC + Java-to-Objective-C translator for porting Android libraries to iOS.GitHub starsLast commit
+ JBake + Static website generator.--
+ JBot + Framework for building chatbots. (GPL-3.0-only)GitHub starsLast commit
+ JCuda + JCuda offers Java bindings for CUDA and CUDA-related libraries.--
+ JEmoji + An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.GitHub starsLast commit
+ Jimfs + In-memory file system.GitHub starsLast commit
+ Joda-Money + Basic currency and money classes and algorithms not provided by the JDK.--
+ jOOX + Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery.GitHub starsLast commit
+ JPad + Snippet runner.--
+ jsweet + Source transpiler to TypeScript/JavaScript.GitHub starsLast commit
+ Maven Wrapper + Analogue of Gradle Wrapper for Maven, allows building projects without installing maven.GitHub starsLast commit
+ Membrane Service Proxy + Open-source, reverse-proxy framework.GitHub starsLast commit
+ MinimalFTP + Lightweight, small and customizable FTP server.GitHub starsLast commit
+ LittleProxy + High performance HTTP proxy atop Netty's event-based networking library.GitHub starsLast commit
+ Modern Java - A Guide to Java 8 + Popular Java 8 guide.GitHub starsLast commit
+ Modernizer + Detect uses of legacy Java APIs.GitHub starsLast commit
+ OctoLinker + Browser extension which allows to navigate through code on GitHub more efficiently.GitHub starsLast commit
+ OpenRefine + Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases.--
+ PipelinR + Small utility library for using handlers and commands with pipelines.GitHub starsLast commit
+ Polyglot for Maven + Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.GitHub starsLast commit
+ RR4J + RR4J is a tool that records java bytecode execution and later allows developers to replay locally.GitHub starsLast commit
+ Simple Java Mail + Mailing with a clean and fluent API.GitHub starsLast commit
+ Smooks + Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)GitHub starsLast commit
+ Svix + Library for the Svix API to send webhooks and verify signatures.GitHub starsLast commit
+ Togglz + Implementation of the Feature Toggles pattern.--
+ TypeTools + Tools for resolving generic types.GitHub starsLast commit
+ webcam-capture + Library for using built-in and external webcams directly in Java.GitHub starsLast commit
+ XMLBeam + Processes XML by using annotations or XPath within code.GitHub starsLast commit
+ yGuard + Obfuscation via renaming and shrinking.GitHub starsLast commit
+ JBang + JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly.GitHub starsLast commit
### Mobile Development _Tools for creating or managing mobile applications._ -- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. + + + + + + + + + + + + + + + + + + + + + + + + +
+ Codename One + Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0)--
+ MobileUI + Cross-platform framework for developing mobile apps with native UI in Java and Kotlin.--
+ Multi-OS Engine + Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.--
### Monitoring _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. -- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. -- [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. -- [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. -- [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 software’s 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. -- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. -- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. -- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. -- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apitally + Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.GitHub starsLast commit
+ Automon + Combines the power of AOP with monitoring and/or logging tools.GitHub starsLast commit
+ Dropwizard Metrics + Expose metrics via JMX or HTTP and send them to a database.GitHub starsLast commit
+ Failsafe Actuator + Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.GitHub starsLast commit
+ Glowroot + Open-source Java APM.--
+ HertzBeat + Real-time monitoring system with custom-monitor and agentless.GitHub starsLast commit
+ hippo4j + Dynamic and observable thread pool framework.GitHub starsLast commit
+ inspectIT + 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.--
+ Jaeger client + Jaeger client.GitHub starsLast commit
+ JavaMelody + Performance monitoring and profiling.GitHub starsLast commit
+ 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.GitHub starsLast commit
+ Jolokia + JMX over REST.--
+ Micrometer + Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries.GitHub starsLast commit
+ Micrometer Tracing + Vendor-neutral distributed tracing facade for the most popular tracer libraries.GitHub starsLast commit
+ nudge4j + Remote developer console from the browser for Java 8 via bytecode injection.GitHub starsLast commit
+ OpenTelemetry + Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.GitHub starsLast commit
+ Pinpoint + Open-source APM tool.GitHub starsLast commit
+ Prometheus + Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.GitHub starsLast commit
+ Stagemonitor + Open-source performance monitoring and transaction tracing for JVM apps.GitHub starsLast commit
+ Sysmon + Lightweight platform monitoring tool for Java VMs.GitHub starsLast commit
+ zipkin + Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.--
### Native _For working with platform-specific native libraries._ -- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. -- [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Aparapi + Converts bytecode to OpenCL which allows execution on GPUs.GitHub starsLast commit
+ JavaCPP + Provides efficient and easy access to native C++.GitHub starsLast commit
+ JNA + Work with native libraries without writing JNI. Also provides interfaces to common system libraries.GitHub starsLast commit
+ JNR + 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).GitHub starsLast commit
+ native-lib-loader + Native library loader for extracting and loading native libraries from Java.GitHub starsLast commit
### Natural Language Processing _Libraries that specialize in processing text._ -- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) -- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) -- [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. -- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ CogCompNLP + Provides common annotators for plain text input. (Research and Academic Use License)GitHub starsLast commit
+ CoreNLP + Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later)--
+ DKPro + Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.--
+ Hypherator + Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in.GitHub starsLast commit
+ LingPipe + Toolkit for tasks ranging from POS tagging to sentiment analysis.--
### Networking _Libraries for building network servers._ -- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). -- [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. -- [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. -- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. -- [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. -- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -- [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -- [Netty](https://netty.io) - Framework for building high-performance network applications. -- [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. -- [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. -- [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. -- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) -- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) -- [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Commons-networking + Client for server-sent events (SSE).GitHub starsLast commit
+ Comsat + Integrates standard Java web-related APIs with Quasar fibers and actors.GitHub starsLast commit
+ Dubbo + High-performance RPC framework.GitHub starsLast commit
+ Grizzly + NIO framework. Used as a network layer in Glassfish.--
+ gRPC + RPC framework based on protobuf and HTTP/2.GitHub starsLast commit
+ KryoNet + Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo.GitHub starsLast commit
+ MINA + Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO.--
+ Netty + Framework for building high-performance network applications.--
+ Drift + Easy-to-use, annotation-based library for creating Thrift clients and serializable types.GitHub starsLast commit
+ ServiceTalk + Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.GitHub starsLast commit
+ sshj + Programmatically use SSH, SCP or SFTP.GitHub starsLast commit
+ TLS Channel + Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS.GitHub starsLast commit
+ Undertow + Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only)--
+ urnlib + Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only)GitHub starsLast commit
+ Fluency + High throughput data ingestion logger to Fluentd and Fluent Bit.GitHub starsLast commit
### ORM _APIs that handle the persistence of objects._ -- [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -- [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -- [Ebean](https://ebean.io) - Provides simple and fast data access. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Cayenne + Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation.--
+ Doma + Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.GitHub starsLast commit
+ Ebean + Provides simple and fast data access.--
+ EclipseLink + Supports a number of persistence standards: JPA, JAXB, JCA and SDO.--
+ Hibernate + Robust and widely used, with an active community. (LGPL-2.1-only)--
+ MyBatis + Couples objects with stored procedures or SQL statements.GitHub starsLast commit
+ MyBatis-Plus + A powerful enhanced toolkit of MyBatis for simplifying development.GitHub starsLast commit
+ ObjectiveSql + ActiveRecord ORM for rapid development and convention over configuration.GitHub starsLast commit
+ Permazen + Language-natural persistence layer.GitHub starsLast commit
+ SimpleFlatMapper + Simple database and CSV mapper.GitHub starsLast commit
### PaaS _Java platform as a service._ -- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. -- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. -- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. -- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. -- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. -- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. - ### Pathfinding _Algorithms and libraries for finding routes in graphs and spatial environments._ -- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. + + + + + + + + + + + + +
+ Pathetic + A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance.GitHub starsLast commit
### PDF _Tools to help with PDF files._ -- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. -- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) -- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) -- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. -- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. -- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) -- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. -- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache FOP + Creates PDFs from XSL-FO.--
+ Apache PDFBox + Toolbox for creating and manipulating PDFs.--
+ Dynamic Jasper + Abstraction layer to JasperReports. (LGPL-3.0-only)--
+ DynamicReports + Simplifies JasperReports. (LGPL-3.0-only)GitHub starsLast commit
+ Eclipse BIRT + Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor.--
+ flyingsaucer + XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later)GitHub starsLast commit
+ JasperReports + Complex reporting engine. (LGPL-3.0-only)--
+ Open HTML to PDF + Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox.GitHub starsLast commit
+ OpenPDF + Open-source iText fork. (LGPL-3.0-only & MPL-2.0)GitHub starsLast commit
+ Tabula + Extracts tables from PDF files.GitHub starsLast commit
### Performance analysis _Tools for performance analysis, profiling and benchmarking._ -- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. -- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. -- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. -- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ honest-profiler + Low-overhead, bias-free sampling profiler.GitHub starsLast commit
+ jHiccup + Logs and records platform JVM stalls.GitHub starsLast commit
+ JITWatch + Analyze the JIT compiler optimisations made by the HotSpot JVM.GitHub starsLast commit
+ JMH + Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0)--
+ LatencyUtils + Utilities for latency measurement and reporting.GitHub starsLast commit
### Platform @@ -892,366 +4675,2197 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons -- [BCEL](http://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. -- [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. -- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. -- [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. -- [Chain](http://commons.apache.org/proper/commons-chain/) - Chain of Responsibility pattern implementation. -- [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. -- [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. -- [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. -- [Codec](http://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -- [Collections](http://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. -- [Compress](http://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. -- [Configuration](http://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. -- [Convert](http://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -- [CSV](http://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. -- [Daemon](http://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. -- [DBCP](http://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. -- [DbUtils](http://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. -- [Digester](http://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. -- [Email](http://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. -- [Exec](http://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. -- [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. -- [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. -- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. -- [Functor](http://commons.apache.org/proper/commons-functor/) - Function that can be manipulated as an object, or an object representing a single, generic function. -- [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. -- [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. -- [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. -- [Imaging](http://commons.apache.org/proper/commons-imaging/) - Image library. -- [IO](http://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. -- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. -- [JCI](http://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. -- [JCS](http://commons.apache.org/proper/commons-jcs/) - Java Caching System. -- [Jelly](http://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. -- [Jexl](http://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. -- [JNet](http://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. -- [JXPath](http://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. -- [Lang](http://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. -- [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. -- [Math](http://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. -- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. -- [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -- [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. -- [OGNL](http://commons.apache.org/proper/commons-ognl/) - Object-graph navigation language. -- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. -- [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. -- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -- [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. -- [Proxy](http://commons.apache.org/proper/commons-proxy/) - Library for creating dynamic proxies. -- [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -- [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. -- [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -- [Validator](http://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. -- [VFS](http://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -- [Weaver](http://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. - -#### Other - -- [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). -- [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -- [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ BCEL + Byte Code Engineering Library - analyze, create, and manipulate Java class files.--
+ BeanUtils + Easy-to-use wrappers around the Java reflection and introspection APIs.--
+ BeanUtils2 + Redesign of Commons BeanUtils.--
+ BSF + Bean Scripting Framework - interface to scripting languages, including JSR-223.--
+ Chain + Chain of Responsibility pattern implementation.--
+ ClassScan + Find Class interfaces, methods, fields, and annotations without loading.--
+ CLI + Command-line arguments parser.--
+ CLI2 + Redesign of Commons CLI.--
+ Codec + General encoding/decoding algorithms, e.g. phonetic, base64 or URL.--
+ Collections + Extends or augments the Java Collections Framework.--
+ Compress + Defines an API for working with tar, zip and bzip2 files.--
+ Configuration + Reading of configuration/preferences files in various formats.--
+ Convert + Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.--
+ CSV + Component for reading and writing comma separated value files.--
+ Daemon + Alternative invocation mechanism for unix-daemon-like java code.--
+ DBCP + Database connection pooling services.--
+ DbUtils + JDBC helper library.--
+ Digester + XML-to-Java-object mapping utility.--
+ Email + Library for sending e-mail from Java.--
+ Exec + API for dealing with external process execution and environment management in Java.--
+ FileUpload + File upload capability for your servlets and web applications.--
+ Finder + Java library inspired by the UNIX find command.--
+ Flatfile + Java library for working with flat data structures.--
+ Functor + Function that can be manipulated as an object, or an object representing a single, generic function.--
+ Graph + General purpose graph APIs and algorithms.--
+ I18n + Adds the feature of localized message bundles that consist of one or many localized texts that belong together.--
+ Id + Id is a component used to generate identifiers.--
+ Imaging + Image library.--
+ IO + Collection of I/O utilities.--
+ Javaflow + Continuation implementation to capture the state of the application.--
+ JCI + Java Compiler Interface.--
+ JCS + Java Caching System.--
+ Jelly + XML based scripting and processing engine.--
+ Jexl + Expression language which extends the Expression Language of the JSTL.--
+ JNet + JNet allows to use dynamically register url stream handlers through the java.net API.--
+ JXPath + Utilities for manipulating Java Beans using the XPath syntax.--
+ Lang + Provides extra functionality for classes in java.lang.--
+ Logging + Wrapper around a variety of logging API implementations.--
+ Math + Lightweight, self-contained mathematics and statistics components.--
+ Monitoring + Monitoring aims to provide a simple but extensible monitoring solution for Java applications.--
+ Nabla + Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.--
+ Net + Collection of network utilities and protocol implementations.--
+ OGNL + Object-graph navigation language.--
+ OpenPGP + Interface to signing and verifying data using OpenPGP.--
+ Performance + Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool.--
+ Pipeline + Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.--
+ Pool + Generic object pooling component.--
+ Proxy + Library for creating dynamic proxies.--
+ RDF + Common implementation of RDF 1.1 that could be implemented by systems on the JVM.--
+ RNG + Commons Rng provides implementations of pseudo-random numbers generators.--
+ SCXML + Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.--
+ Validator + Framework to define validators and validation rules in an xml file.--
+ VFS + Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.--
+ Weaver + Provides an easy way to enhance (weave) compiled bytecode.--
+ CUBA Platform + High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin.--
+ Light-4J + Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/).GitHub starsLast commit
+ Orienteer + Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications.GitHub starsLast commit
+ Spring + Provides many packages for dependency injection, aspect-oriented programming, security, etc.--
### Processes _Libraries that help the management of operating system processes._ -- [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) - Convenient API around Apache Commons Exec. -- [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. -- [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) - Stops processes started from Java or the system processes via PID. + + + + + + + + + + + + + + + + + + + + + + + + +
+ ch.vorburger.exec + Convenient API around Apache Commons Exec.GitHub starsLast commit
+ zt-exec + Provides a unified API to Apache Commons Exec and ProcessBuilder.GitHub starsLast commit
+ zt-process-killer + Stops processes started from Java or the system processes via PID.GitHub starsLast commit
### Reactive libraries _Libraries for developing reactive applications._ -- [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) - 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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Akka + Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications.--
+ Reactive Streams + Provides a standard for asynchronous stream processing with non-blocking backpressure.GitHub starsLast commit
+ Reactor + A framework for building non-blocking applications on the JVM, providing support for reactive programming.GitHub starsLast commit
+ RxJava + Allows for composing asynchronous and event-based programs using observable sequences.GitHub starsLast commit
+ vert.x + Polyglot event-driven application framework.--
### REST Frameworks _Frameworks specifically for creating RESTful services._ -- [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -- [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. -- [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. -- [Spark](http://sparkjava.com) - Sinatra inspired framework. -- [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. -- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. -- [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Dropwizard + Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.GitHub starsLast commit
+ Elide + Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model.--
+ Jersey + JAX-RS reference implementation.--
+ Microserver + 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.GitHub starsLast commit
+ Rapidoid + Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection.--
+ 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.GitHub starsLast commit
+ RESTEasy + Fully certified and portable implementation of the JAX-RS specification.--
+ RestExpress + Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance.GitHub starsLast commit
+ Restlet Framework + Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API.GitHub starsLast commit
+ Spark + Sinatra inspired framework.--
+ Crnk + Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more.--
+ springdoc-openapi + Automates the generation of API documentation using Spring Boot projects.GitHub starsLast commit
+ Swagger + Standard, language-agnostic interface to REST APIs.--
### Science _Libraries for scientific computing, analysis and visualization._ -- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. -- [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) -- [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. -- [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) -- [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. -- [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. -- [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. -- [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. -- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) -- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -- [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ BioJava + Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics.--
+ Chart-FX + Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.GitHub starsLast commit
+ DataMelt + Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later)--
+ Erdos + Modular, light and easy graph framework for theoretic algorithms.GitHub starsLast commit
+ GraphStream + Library for modeling and analyzing dynamic graphs.--
+ JFreeChart + 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)--
+ JGraphT + Graph library that provides mathematical graph-theory objects and algorithms.GitHub starsLast commit
+ JGraphX + Library for visualizing (mainly Swing) and interacting with node-edge graphs.GitHub starsLast commit
+ LogicNG + Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.GitHub starsLast commit
+ Mines Java Toolkit + Library for geophysical scientific computation, visualization and digital signal analysis.GitHub starsLast commit
+ Morpheus + Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.GitHub starsLast commit
+ Orekit + A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them.--
+ Orson-Charts + Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only)GitHub starsLast commit
+ Tablesaw + Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.GitHub starsLast commit
+ XChart + Light-weight library for plotting data. Many customizable chart types are available.GitHub starsLast commit
### Search _Engines that index documents for search and analysis._ -- [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. -- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. -- [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. -- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Lucene + High-performance, full-featured, cross-platform, text search engine library.--
+ Apache Solr + Enterprise search engine optimized for high-volume traffic.--
+ Elasticsearch + Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents.--
+ Indexer4j + Simple and light full text indexing and searching library.GitHub starsLast commit
### Security _Libraries that handle security, authentication, authorization or session management._ -- [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. -- [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -- [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. -- [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. -- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. -- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. -- [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. -- [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. -- [OACC](http://oaccframework.org) - Provides permission-based authorization services. -- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. -- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). -- [pac4j](https://github.com/pac4j/pac4j) - Security engine. -- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. -- [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. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Shiro + Performs authentication, authorization, cryptography and session management.--
+ Ayza + High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.GitHub starsLast commit
+ 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.GitHub starsLast commit
+ Cryptomator + Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only)--
+ 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.GitHub starsLast commit
+ jjwt + JSON web token for Java and Android.GitHub starsLast commit
+ jwt-java + Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.GitHub starsLast commit
+ Jwks RSA + JSON Web Key Set parser.GitHub starsLast commit
+ Kalium + Binding for the Networking and Cryptography (NaCl) library.GitHub starsLast commit
+ Keycloak + Integrated SSO and IDM for browser apps and RESTful web services.--
+ Keywhiz + System for distributing and managing secrets.GitHub starsLast commit
+ Nbvcxz + Advanced password strength estimation.GitHub starsLast commit
+ OACC + Provides permission-based authorization services.--
+ OpenAM + Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.GitHub starsLast commit
+ OTP-Java + One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).GitHub starsLast commit
+ pac4j + Security engine.GitHub starsLast commit
+ Passay + Enforce password policy by validating candidate passwords against a configurable rule set.--
+ Password4j + User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.GitHub starsLast commit
+ SecurityBuilder + Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.GitHub starsLast commit
+ 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.GitHub starsLast commit
+ Tink + Provides a simple and misuse-proof API for common cryptographic tasks.GitHub starsLast commit
+ Topaz + Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.--
### Serialization _Libraries that handle serialization with high efficiency._ -- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. -- [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. -- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. -- [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. -- [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. -- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ FlatBuffers + Memory-efficient serialization library that can access serialized data without unpacking and parsing it.GitHub starsLast commit
+ FST + JDK-compatible, high-performance object graph serialization.GitHub starsLast commit
+ Fury + Blazing fast object graph serialization framework powered by JIT and zero-copy.GitHub starsLast commit
+ Kryo + Fast and efficient object graph serialization framework.GitHub starsLast commit
+ MessagePack + Efficient binary serialization format.GitHub starsLast commit
+ PHP Serializer + Serializing objects in the PHP serialization format.GitHub starsLast commit
### Server _Servers specifically used to deploy applications._ -- [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. -- [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. -- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Tomcat + Robust, all-round server for Servlet and JSP.--
+ Apache TomEE + Tomcat plus Java EE.--
+ Jetty + Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.--
+ nanohttpd + Tiny, easily embeddable HTTP server.GitHub starsLast commit
+ WildFly + Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)--
### Template Engine _Tools that substitute expressions in a template._ -- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. -- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. -- [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). -- [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. -- [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. -- [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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Freemarker + Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.--
+ Handlebars.java + Logicless and semantic Mustache templates.--
+ Jade4J + Implementation of Pug (formerly known as Jade).GitHub starsLast commit
+ Jamal + Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.GitHub starsLast commit
+ jstachio + Typesafe Mustache templating engine.GitHub starsLast commit
+ jte + Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.GitHub starsLast commit
+ Jtwig + Modular, configurable and fully tested template engine.GitHub starsLast commit
+ Pebble + 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 + Optimized, memory efficient and speedy template engine producing statically typed, plain objects.GitHub starsLast commit
+ StringTemplate + Template engine for generating source code, web pages, emails, or any other formatted text output.GitHub starsLast commit
+ Thymeleaf + Aims to be a substitute for JSP and works for XML files.--
### Testing _Tools that test from model to the view._ #### Asynchronous - _Tools that simplify testing asynchronous services._ -- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. -- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) -- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. -- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - -#### BDD - -_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - -- [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. -- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. -- [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. -- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. -- [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. -- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. -- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. - -#### Fixtures - -_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. -- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. -- [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. -- [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. -- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. -- [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. - -#### Frameworks - -_Provide environments to run tests for a specific use case._ - -- [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 - -_Libraries that provide custom matchers._ - -- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. -- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. -- [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. -- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. -- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. -- [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. - -#### Miscellaneous - -_Other stuff related to testing._ - -- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. -- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. -- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. -- [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. -- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. -- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. -- [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). -- [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. -- [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 - -_Tools which mock collaborators to help testing single, isolated units._ - -- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. -- [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. -- [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. -- [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. -- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -- [WireMock](http://wiremock.org) - Stubs and mocks web services. -- [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Awaitility + DSL for synchronizing asynchronous operations.GitHub starsLast commit
+ ConcurrentUnit + Toolkit for testing multi-threaded and asynchronous applications.GitHub starsLast commit
+ GreenMail + In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)--
+ Hoverfly Java + Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services.GitHub starsLast commit
+ Karate + DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.GitHub starsLast commit
+ REST Assured + DSL for easy testing of REST/HTTP services.GitHub starsLast commit
+ WebTau + Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.GitHub starsLast commit
+ Cucumber + Provides a way to describe features in a plain language which customers can understand.GitHub starsLast commit
+ Cukes-REST + Collection of Gherkin steps for REST-service testing using Cucumber.GitHub starsLast commit
+ J8Spec + Follows a Jasmine-like syntax.GitHub starsLast commit
+ JBehave + Extensively configurable framework that describes stories.--
+ JGiven + Provides a fluent API which allows for simpler composition.--
+ Lamdba Behave + Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.GitHub starsLast commit
+ Serenity BDD + Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.GitHub starsLast commit
+ AutoParams + Supports generating test data or combining scenarios for parameterized tests.GitHub starsLast commit
+ Beanmother + Sets up beans from YAML fixtures.GitHub starsLast commit
+ Datafaker + Modern fake data generator forked from Java Faker.GitHub starsLast commit
+ Fixture Factory + Generates fake objects from a template.GitHub starsLast commit
+ jFairy + Fake data generator.GitHub starsLast commit
+ Instancio + Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.GitHub starsLast commit
+ Randomized Testing + JUnit test runner and plugins for running JUnit tests with pseudo-randomness.GitHub starsLast commit
+ Java Faker + Port of Ruby's fake data generator.GitHub starsLast commit
+ Mockneat + Another fake data generator.GitHub starsLast commit
+ JMock + JMock is a high-performance data generation and simulation component library implemented in Java.GitHub starsLast commit
+ Apache JMeter + Functional testing and performance measurements.--
+ JMeter DSL.java + Load tests with JMeter as simple as a JUnit test.--
+ Arquillian + Integration and functional testing platform for Java EE containers.--
+ cdi-test + JUnit extension for easy and efficient testing of CDI components.GitHub starsLast commit
+ Citrus + Integration testing framework that focuses on both client- and server-side messaging.--
+ Gatling + Load testing tool designed for ease of use, maintainability and high performance.--
+ JUnit + Common testing framework.--
+ jqwik + Engine for property-based testing built on JUnit 5.--
+ Pact JVM + Consumer-driven contract testing.GitHub starsLast commit
+ PIT + Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites.--
+ weld-testing + Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.GitHub starsLast commit
+ AssertJ + Fluent assertions that improve readability.--
+ Hamcrest + Matchers that can be combined to create flexible expressions of intent.--
+ JSONAssert + Simplifies testing JSON strings.--
+ JsonUnit + Library that simplifies JSON comparison in tests.GitHub starsLast commit
+ Truth + Google's fluent assertion and proposition framework.--
+ XMLUnit + Simplifies testing for XML output.GitHub starsLast commit
+ ConsoleCaptor + Captures console output for unit testing purposes.GitHub starsLast commit
+ junit-dataprovider + TestNG-like data provider/runner for JUnit.GitHub starsLast commit
+ junit-pioneer + JUnit 5 extension pack, pushing the frontiers on Jupiter.--
+ LogCaptor + Captures log entries for unit testing purposes.GitHub starsLast commit
+ log-capture + Captures log entries and provides assertions for unit and integration testing.GitHub starsLast commit
+ Mutability Detector + Reports whether instances of a given class are immutable.GitHub starsLast commit
+ pojo-tester + Automatically performs tests on basic POJO methods. (LGPL-3.0-only)--
+ raml-tester + Tests if a request/response matches a given RAML definition.GitHub starsLast commit
+ Selfie + Snapshot testing (inline and on disk).GitHub starsLast commit
+ Stebz + Multi-approach framework for test steps managing.GitHub starsLast commit
+ Testcontainers + Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.GitHub starsLast commit
+ JMockit + Integration testing, API mocking and faking, and code coverage.--
+ Mockito + Mocking framework that lets you write tests with a clean and simple API.GitHub starsLast commit
+ MockServer + Allows mocking of systems integrated with HTTPS.--
+ Moco + Concise web services for stubs and mocks.GitHub starsLast commit
+ PowerMock + Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.GitHub starsLast commit
+ WireMock + Stubs and mocks web services.--
+ EasyMock + EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.GitHub starsLast commit
### Utility _Libraries which provide general utility functions._ -- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. -- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. -- [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. -- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. -- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) -- [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. -- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. -- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) -- [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. -- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. -- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. -- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. -- [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. -- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. -- [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. -- [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. -- [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Arthas + Allows to troubleshoot production issues for applications without modifying code or restarting servers.GitHub starsLast commit
+ bucket4j + Rate limiting library based on token-bucket algorithm.GitHub starsLast commit
+ cactoos + Collection of object-oriented primitives.GitHub starsLast commit
+ Chocotea + Generates postman collection, environment and integration tests from java code.GitHub starsLast commit
+ CRaSH + Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)--
+ Dex + Java/JavaFX tool capable of powerful ETL and data visualization.GitHub starsLast commit
+ dregex + Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.GitHub starsLast commit
+ Embulk + Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.GitHub starsLast commit
+ fswatch + Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.GitHub starsLast commit
+ Gephi + Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)GitHub starsLast commit
+ Guava + Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.GitHub starsLast commit
+ JADE + Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)--
+ Javadoc Publisher + Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.GitHub starsLast commit
+ Java Diff Utils + Utilities for text or data comparison and patching.--
+ JavaVerbalExpressions + Library that helps with constructing difficult regular expressions.GitHub starsLast commit
+ JGit + Lightweight, pure Java library implementing the Git version control system.--
+ JKScope + Java scope functions inspired by Kotlin.GitHub starsLast commit
+ minio-java + Provides simple APIs to access any Amazon S3-compatible object storage server.GitHub starsLast commit
+ Protégé + Provides an ontology editor and a framework to build knowledge-based systems.--
+ Semver4j + Lightweight library that helps you handling semantic versioning with different modes.GitHub starsLast commit
+ Underscore-java + Port of Underscore.js functions.GitHub starsLast commit
### Version Managers _Utilities that help create the development shell environment and switch between different Java versions._ -- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. -- [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. -- [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. + + + + + + + + + + + + + + + + + + + + + + + + +
+ jabba + Java Version Manager inspired by nvm. Supports macOS, Linux and Windows.GitHub starsLast commit
+ jenv + Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.GitHub starsLast commit
+ SDKMan + Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.GitHub starsLast commit
### Web Crawling _Libraries that analyze the content of websites._ -- [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. -- [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. -- [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. -- [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. -- [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Apache Nutch + Highly extensible, highly scalable web crawler for production environments.--
+ Crawler4j + Simple and lightweight web crawler.GitHub starsLast commit
+ jsoup + Scrapes, parses, manipulates and cleans HTML.--
+ StormCrawler + SDK for building low-latency and scalable web crawlers.--
+ webmagic + Scalable crawler with downloading, url management, content extraction and persistent.GitHub starsLast commit
### Web Frameworks _Frameworks that handle the communication between the layers of a web application._ -- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -- [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. -- [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. -- [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. -- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. -- [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. -- [Javalin](https://javalin.io/) - Microframework for web applications. -- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. -- [Ninja](http://www.ninjaframework.org) - Full-stack web framework. -- [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. -- [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -- [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) - 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. -- [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ActiveJ + Lightweight asynchronous framework built from the ground up for developing high-performance web applications.--
+ Apache Tapestry + Component-oriented framework for creating dynamic, robust, highly scalable web applications.--
+ Apache Wicket + Component-based web application framework similar to Tapestry, with a stateful GUI.--
+ Blade + Lightweight, modular framework that aims to be elegant and simple.GitHub starsLast commit
+ Bootique + Minimally opinionated framework for runnable apps.--
+ Firefly + Asynchronous framework for rapid development of high-performance web application.--
+ Javalin + Microframework for web applications.--
+ Jooby + Scalable, fast and modular micro-framework that offers multiple programming models.--
+ Ninja + Full-stack web framework.--
+ Pippo + Small, highly modularized, Sinatra-like framework.--
+ Play + Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.--
+ PrimeFaces + JSF framework with both free and commercial/support versions and frontend components.--
+ Ratpack + Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications.--
+ Takes + Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.GitHub starsLast commit
+ Vaadin + 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.--
+ WebForms Core + A technology for managing HTML tags from the server.--
### Workflow Orchestration Engines -- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. -- [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. -- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. +_Platforms and frameworks for orchestrating workflows and business processes._ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Cadence + Stateful code platform from Uber.--
+ flowable + Compact and efficient workflow and business process management platform.GitHub starsLast commit
+ Temporal + Microservice orchestration platform, forked from Cadence but gRPC based.--
+ + ## Resources diff --git a/README_TEST.md b/README_TEST.md deleted file mode 100644 index 985a3421..00000000 --- a/README_TEST.md +++ /dev/null @@ -1,1486 +0,0 @@ -# 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) - - [Cloud](#cloud) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Decentralization](#decentraliation) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [Pathfinding](#pathfinding) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) -- [Resources](#resources) - - [Related Awesome Lists](#related-awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Websites](#websites) -- [Contributing](#contributing) - -## 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. | ![](https://img.shields.io/github/stars/TNG/ArchUnit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/TNG/ArchUnit?style=flat-square&label=) -| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | ![](https://img.shields.io/github/stars/xmolecules/jmolecules?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xmolecules/jmolecules?style=flat-square&label=) - -### 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. | ![](https://img.shields.io/github/stars/langchain4j/langchain4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/langchain4j/langchain4j?style=flat-square&label=) -| [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Enables applications to interact with AI models and tools through a standardized interface. | ![](https://img.shields.io/github/stars/modelcontextprotocol/java-sdk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/modelcontextprotocol/java-sdk?style=flat-square&label=) -| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | ![](https://img.shields.io/github/stars/sashirestela/simple-openai?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sashirestela/simple-openai?style=flat-square&label=) -| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | - -### Bean Mapping - -_Frameworks that ease bean mapping._ - -| | | | | -|---|---|---|---| -| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. | ![](https://img.shields.io/github/stars/doov-io/doov?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/doov-io/doov?style=flat-square&label=) -| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | ![](https://img.shields.io/github/stars/jmapper-framework/jmapper-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jmapper-framework/jmapper-core?style=flat-square&label=) -| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | ![](https://img.shields.io/github/stars/mapstruct/mapstruct?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mapstruct/mapstruct?style=flat-square&label=) -| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | ![](https://img.shields.io/github/stars/modelmapper/modelmapper?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/modelmapper/modelmapper?style=flat-square&label=) -| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | ![](https://img.shields.io/github/stars/orika-mapper/orika?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/orika-mapper/orika?style=flat-square&label=) -| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | ![](https://img.shields.io/github/stars/remondis-it/remap?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/remondis-it/remap?style=flat-square&label=) -| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | ![](https://img.shields.io/github/stars/xebia-france/selma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xebia-france/selma?style=flat-square&label=) - -### Build - -_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. | - | - | -| [Bazel](https://bazel.build) | Tool from Google that builds code quickly and reliably. | - | - | -| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | ![](https://img.shields.io/github/stars/facebook/buck2?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/facebook/buck2?style=flat-square&label=) -| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | - -### Bytecode Manipulation - -_Libraries to manipulate bytecode programmatically._ - -| | | | | -|---|---|---|---| -| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | -| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | -| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/Konloch/bytecode-viewer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Konloch/bytecode-viewer?style=flat-square&label=) -| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | -| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | ![](https://img.shields.io/github/stars/cglib/cglib?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cglib/cglib?style=flat-square&label=) -| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | ![](https://img.shields.io/github/stars/jboss-javassist/javassist?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jboss-javassist/javassist?style=flat-square&label=) -| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | ![](https://img.shields.io/github/stars/cojen/maker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cojen/maker?style=flat-square&label=) -| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | ![](https://img.shields.io/github/stars/SpongePowered/Mixin?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SpongePowered/Mixin?style=flat-square&label=) -| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | ![](https://img.shields.io/github/stars/nicolasmanic/perses?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nicolasmanic/perses?style=flat-square&label=) -| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | - -### Caching - -_Libraries that provide caching facilities._ - -| | | | | -|---|---|---|---| -| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | -| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | ![](https://img.shields.io/github/stars/ben-manes/caffeine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ben-manes/caffeine?style=flat-square&label=) -| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | -| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | - -### CLI - -_Libraries for everything related to the CLI._ - -#### Argument Parsing -_Libraries to assist with parsing command line arguments._ - -#### Text-Based User Interfaces -_Libraries that provide TUI frameworks, or building blocks related functions._ - -| | | | | -|---|---|---|---| -| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | -| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | ![](https://img.shields.io/github/stars/jbock-java/jbock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jbock-java/jbock?style=flat-square&label=) -| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | ![](https://img.shields.io/github/stars/jline/jline3?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jline/jline3?style=flat-square&label=) -| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | -| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | ![](https://img.shields.io/github/stars/fusesource/jansi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/fusesource/jansi?style=flat-square&label=) -| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Mouse-draggable windows, built-in terminal window manager, and sixel image support. | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | ![](https://img.shields.io/github/stars/beryx/text-io?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/beryx/text-io?style=flat-square&label=) -| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | ![](https://img.shields.io/github/stars/mabe02/lanterna?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mabe02/lanterna?style=flat-square&label=) - -### Cloud - -_Libraries to integrate or use cloud-specific features._ - -| | | | | -|---|---|---|---| -| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | ![](https://img.shields.io/github/stars/aws/aws-sdk-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aws/aws-sdk-java?style=flat-square&label=) -| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | ![](https://img.shields.io/github/stars/googleapis/google-cloud-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/googleapis/google-cloud-java?style=flat-square&label=) - -### Code Analysis - -_Tools that provide metrics and quality measurements._ - -| | | | | -|---|---|---|---| -| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | ![](https://img.shields.io/github/stars/checkstyle/checkstyle?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/checkstyle/checkstyle?style=flat-square&label=) -| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | ![](https://img.shields.io/github/stars/google/error-prone?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/error-prone?style=flat-square&label=) -| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | ![](https://img.shields.io/github/stars/PicnicSupermarket/error-prone-support?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/PicnicSupermarket/error-prone-support?style=flat-square&label=) -| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | ![](https://img.shields.io/github/stars/facebook/infer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/facebook/infer?style=flat-square&label=) -| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | -| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | ![](https://img.shields.io/github/stars/uber/NullAway?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/uber/NullAway?style=flat-square&label=) -| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | ![](https://img.shields.io/github/stars/pmd/pmd?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/pmd/pmd?style=flat-square&label=) -| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | ![](https://img.shields.io/github/stars/alibaba/p3c?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/p3c?style=flat-square&label=) -| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | ![](https://img.shields.io/github/stars/jimbethancourt/RefactorFirst?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jimbethancourt/RefactorFirst?style=flat-square&label=) -| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | ![](https://img.shields.io/github/stars/SonarSource/sonar-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SonarSource/sonar-java?style=flat-square&label=) -| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | ![](https://img.shields.io/github/stars/INRIA/spoon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/INRIA/spoon?style=flat-square&label=) -| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | ![](https://img.shields.io/github/stars/spotbugs/spotbugs?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/spotbugs/spotbugs?style=flat-square&label=) - -### Code Coverage - -_Frameworks and tools that enable code coverage metrics collection for test suites._ - -| | | | | -|---|---|---|---| -| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | -| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | -| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | - -### Code Generators - -_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ - -| | | | | -|---|---|---|---| -| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | ![](https://img.shields.io/github/stars/sviperll/adt4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sviperll/adt4j?style=flat-square&label=) -| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | ![](https://img.shields.io/github/stars/google/auto?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/auto?style=flat-square&label=) -| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | -| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | ![](https://img.shields.io/github/stars/Marcel091004/EasyEntityToDTO?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Marcel091004/EasyEntityToDTO?style=flat-square&label=) -| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | ![](https://img.shields.io/github/stars/inferred/FreeBuilder?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/inferred/FreeBuilder?style=flat-square&label=) -| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | ![](https://img.shields.io/github/stars/verhas/javageci?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/verhas/javageci?style=flat-square&label=) -| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | -| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | ![](https://img.shields.io/github/stars/square/javapoet?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/javapoet?style=flat-square&label=) -| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | ![](https://img.shields.io/github/stars/jhipster/generator-jhipster?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhipster/generator-jhipster?style=flat-square&label=) -| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | -| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations. | ![](https://img.shields.io/github/stars/bcaillard/jspecify-packageinfo-generator?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bcaillard/jspecify-packageinfo-generator?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/Randgalt/record-builder?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Randgalt/record-builder?style=flat-square&label=) -| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | - -### Compiler-compiler - -_Frameworks that help to create parsers, interpreters or compilers._ - -| | | | | -|---|---|---|---| -| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | -| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | -| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | - -### Computer Vision - -_Libraries which seek to gain high level information from images and videos._ - -| | | | | -|---|---|---|---| -| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | -| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | -| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | ![](https://img.shields.io/github/stars/bytedeco/javacv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bytedeco/javacv?style=flat-square&label=) - -### Configuration - -_Libraries that provide external configuration._ - -| | | | | -|---|---|---|---| -| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | -| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | ![](https://img.shields.io/github/stars/line/centraldogma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/line/centraldogma?style=flat-square&label=) -| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | ![](https://img.shields.io/github/stars/lightbend/config?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lightbend/config?style=flat-square&label=) -| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | ![](https://img.shields.io/github/stars/SpongePowered/Configurate?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SpongePowered/Configurate?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/shyiko/dotenv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/shyiko/dotenv?style=flat-square&label=) -| [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) | Supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. | ![](https://img.shields.io/github/stars/joel-jeremy/externalized-properties?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/joel-jeremy/externalized-properties?style=flat-square&label=) -| [Gestalt](https://github.com/gestalt-config/gestalt) | Allows you to source configuration data from multiple inputs, merge them intelligently, and present them in a structured, type-safe manner. | ![](https://img.shields.io/github/stars/gestalt-config/gestalt?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/gestalt-config/gestalt?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/mariomac/kaconf?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mariomac/kaconf?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/lviggiano/owner?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lviggiano/owner?style=flat-square&label=) - -### Constraint Satisfaction Problem Solver - -_Libraries that help with implementing optimization and satisfiability problems._ - -| | | | | -|---|---|---|---| -| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | -| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | ![](https://img.shields.io/github/stars/radsz/jacop?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/radsz/jacop?style=flat-square&label=) -| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | -| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | - -### CSV - -_Frameworks and libraries that simplify reading/writing CSV data._ - -| | | | | -|---|---|---|---| -| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | ![](https://img.shields.io/github/stars/osiegmar/FastCSV?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/osiegmar/FastCSV?style=flat-square&label=) -| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | ![](https://img.shields.io/github/stars/FasterXML/jackson-dataformat-csv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/FasterXML/jackson-dataformat-csv?style=flat-square&label=) -| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | -| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | -| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | ![](https://img.shields.io/github/stars/uniVocity/univocity-parsers?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/uniVocity/univocity-parsers?style=flat-square&label=) - -### Data Structures - -_Efficient and specific data structures._ - -| | | | | -|---|---|---|---| -| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | -| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | -| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | -| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | -| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | ![](https://img.shields.io/github/stars/bulldog2011/bigqueue?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bulldog2011/bigqueue?style=flat-square&label=) -| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | ![](https://img.shields.io/github/stars/LiveRamp/HyperMinHash-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/LiveRamp/HyperMinHash-java?style=flat-square&label=) -| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | ![](https://img.shields.io/github/stars/hrldcpr/pcollections?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/hrldcpr/pcollections?style=flat-square&label=) -| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | ![](https://img.shields.io/github/stars/protocolbuffers/protobuf?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/protocolbuffers/protobuf?style=flat-square&label=) -| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | ![](https://img.shields.io/github/stars/RoaringBitmap/RoaringBitmap?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RoaringBitmap/RoaringBitmap?style=flat-square&label=) -| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | ![](https://img.shields.io/github/stars/real-logic/simple-binary-encoding?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/simple-binary-encoding?style=flat-square&label=) -| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | ![](https://img.shields.io/github/stars/square/tape?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/tape?style=flat-square&label=) -| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | ![](https://img.shields.io/github/stars/square/wire?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/wire?style=flat-square&label=) - -### Database - -_Everything that simplifies interactions with the database._ - -| | | | | -|---|---|---|---| -| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | -| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | -| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | -| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | ![](https://img.shields.io/github/stars/arangodb/arangodb-java-driver?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/arangodb/arangodb-java-driver?style=flat-square&label=) -| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | ![](https://img.shields.io/github/stars/OpenHFT/Chronicle-Map?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenHFT/Chronicle-Map?style=flat-square&label=) -| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | -| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | -| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | ![](https://img.shields.io/github/stars/eXist-db/exist?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eXist-db/exist?style=flat-square&label=) -| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | ![](https://img.shields.io/github/stars/vladmihalcea/flexy-pool?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vladmihalcea/flexy-pool?style=flat-square&label=) -| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | -| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | -| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | ![](https://img.shields.io/github/stars/brettwooldridge/HikariCP?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/brettwooldridge/HikariCP?style=flat-square&label=) -| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | -| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | -| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | ![](https://img.shields.io/github/stars/xetorthio/jedis?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xetorthio/jedis?style=flat-square&label=) -| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | ![](https://img.shields.io/github/stars/searchbox-io/Jest?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/searchbox-io/Jest?style=flat-square&label=) -| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | ![](https://img.shields.io/github/stars/justinsb/jetcd?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/justinsb/jetcd?style=flat-square&label=) -| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | ![](https://img.shields.io/github/stars/my2iu/Jinq?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/my2iu/Jinq?style=flat-square&label=) -| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | -| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | ![](https://img.shields.io/github/stars/Meituan-Dianping/Leaf?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Meituan-Dianping/Leaf?style=flat-square&label=) -| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | -| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | -| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | -| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | ![](https://img.shields.io/github/stars/vorburger/MariaDB4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vorburger/MariaDB4j?style=flat-square&label=) -| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | ![](https://img.shields.io/github/stars/arkanovicz/modality?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/arkanovicz/modality?style=flat-square&label=) -| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | ![](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenDJ?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenDJ?style=flat-square&label=) -| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | -| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | ![](https://img.shields.io/github/stars/querystream/querystream?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/querystream/querystream?style=flat-square&label=) -| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | ![](https://img.shields.io/github/stars/questdb/questdb?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/questdb/questdb?style=flat-square&label=) -| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | ![](https://img.shields.io/github/stars/realm/realm-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/realm/realm-java?style=flat-square&label=) -| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | ![](https://img.shields.io/github/stars/redisson/redisson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/redisson/redisson?style=flat-square&label=) -| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | ![](https://img.shields.io/github/stars/requery/requery?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/requery/requery?style=flat-square&label=) -| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | ![](https://img.shields.io/github/stars/speedment/speedment?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/speedment/speedment?style=flat-square&label=) -| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | ![](https://img.shields.io/github/stars/mhewedy/spring-data-jpa-mongodb-expressions?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mhewedy/spring-data-jpa-mongodb-expressions?style=flat-square&label=) -| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | -| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | -| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | ![](https://img.shields.io/github/stars/JetBrains/xodus?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/JetBrains/xodus?style=flat-square&label=) -| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | ![](https://img.shields.io/github/stars/Ahoo-Wang/CosId?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Ahoo-Wang/CosId?style=flat-square&label=) - -### Date and Time - -_Libraries related to handling date and time._ - -| | | | | -|---|---|---|---| -| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | ![](https://img.shields.io/github/stars/ical4j/ical4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ical4j/ical4j?style=flat-square&label=) -| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | ![](https://img.shields.io/github/stars/svendiedrichsen/jollyday?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/svendiedrichsen/jollyday?style=flat-square&label=) -| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | ![](https://img.shields.io/github/stars/ThreeTen/threeten-extra?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ThreeTen/threeten-extra?style=flat-square&label=) -| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | ![](https://img.shields.io/github/stars/MenoData/Time4J?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/MenoData/Time4J?style=flat-square&label=) - -### Decentralization - -_Libraries that handle decentralization tasks._ - -### Dependency Injection - -_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ - -| | | | | -|---|---|---|---| -| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | -| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | -| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | -| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | ![](https://img.shields.io/github/stars/zsoltherpai/feather?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zsoltherpai/feather?style=flat-square&label=) -| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | ![](https://img.shields.io/github/stars/Netflix/governator?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Netflix/governator?style=flat-square&label=) -| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | ![](https://img.shields.io/github/stars/google/guice?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/guice?style=flat-square&label=) -| [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) | ![](https://img.shields.io/github/stars/vanillasource/jaywire?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vanillasource/jaywire?style=flat-square&label=) - -### Development - -_Augmentation of the development process at a fundamental level._ - -| | | | | -|---|---|---|---| -| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | -| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | -| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | ![](https://img.shields.io/github/stars/zalando/faux-pas?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/faux-pas?style=flat-square&label=) -| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | ![](https://img.shields.io/github/stars/HotswapProjects/HotswapAgent?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/HotswapProjects/HotswapAgent?style=flat-square&label=) -| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | ![](https://img.shields.io/github/stars/javaparser/javaparser?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javaparser/javaparser?style=flat-square&label=) -| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | ![](https://img.shields.io/github/stars/javaparser/javasymbolsolver?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javaparser/javasymbolsolver?style=flat-square&label=) -| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | ![](https://img.shields.io/github/stars/manifold-systems/manifold?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/manifold-systems/manifold?style=flat-square&label=) -| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | -| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | ![](https://img.shields.io/github/stars/rainerhahnekamp/sneakythrow?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rainerhahnekamp/sneakythrow?style=flat-square&label=) -| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | - -### Distributed Applications - -_Libraries and frameworks for writing distributed and fault-tolerant applications._ - -| | | | | -|---|---|---|---| -| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | -| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | -| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | -| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | -| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | -| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | ![](https://img.shields.io/github/stars/mtakaki/dropwizard-circuitbreaker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mtakaki/dropwizard-circuitbreaker?style=flat-square&label=) -| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | ![](https://img.shields.io/github/stars/jhalterman/failsafe?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhalterman/failsafe?style=flat-square&label=) -| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | ![](https://img.shields.io/github/stars/hazelcast/hazelcast?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/hazelcast/hazelcast?style=flat-square&label=) -| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | -| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | -| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | ![](https://img.shields.io/github/stars/resilience4j/resilience4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/resilience4j/resilience4j?style=flat-square&label=) -| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | ![](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenIG?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenIG?style=flat-square&label=) -| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | ![](https://img.shields.io/github/stars/scalecube/scalecube-services?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/scalecube/scalecube-services?style=flat-square&label=) -| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | ![](https://img.shields.io/github/stars/Netflix/zuul?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Netflix/zuul?style=flat-square&label=) - -### Distributed Transactions - -_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ - -| | | | | -|---|---|---|---| -| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | -| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | ![](https://img.shields.io/github/stars/bitronix/btm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bitronix/btm?style=flat-square&label=) -| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | -| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | ![](https://img.shields.io/github/stars/seata/seata?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/seata/seata?style=flat-square&label=) - -### Distribution - -_Tools that handle the distribution of applications in native formats._ - -| | | | | -|---|---|---|---| -| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | ![](https://img.shields.io/github/stars/artipie/artipie?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/artipie/artipie?style=flat-square&label=) -| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | ![](https://img.shields.io/github/stars/puniverse/capsule?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/puniverse/capsule?style=flat-square&label=) -| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | -| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | ![](https://img.shields.io/github/stars/threerings/getdown?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/threerings/getdown?style=flat-square&label=) -| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | -| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | ![](https://img.shields.io/github/stars/fvarrui/JavaPackager?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/fvarrui/JavaPackager?style=flat-square&label=) -| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | -| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | ![](https://img.shields.io/github/stars/AdoptOpenJDK/jlink.online?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AdoptOpenJDK/jlink.online?style=flat-square&label=) -| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | ![](https://img.shields.io/github/stars/libgdx/packr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/libgdx/packr?style=flat-square&label=) -| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | ![](https://img.shields.io/github/stars/brianm/really-executable-jars-maven-plugin?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/brianm/really-executable-jars-maven-plugin?style=flat-square&label=) - -### Document Processing - -_Libraries that assist with processing office document formats._ - -| | | | | -|---|---|---|---| -| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | -| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | -| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | -| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | ![](https://img.shields.io/github/stars/dhatim/fastexcel?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dhatim/fastexcel?style=flat-square&label=) -| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | ![](https://img.shields.io/github/stars/creditdatamw/zerocell?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/creditdatamw/zerocell?style=flat-square&label=) - -### Financial - -_Libraries related to the financial domain._ - -| | | | | -|---|---|---|---| -| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | ![](https://img.shields.io/github/stars/cassandre-tech/cassandre-trading-bot?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cassandre-tech/cassandre-trading-bot?style=flat-square&label=) -| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | ![](https://img.shields.io/github/stars/paritytrading/parity?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/paritytrading/parity?style=flat-square&label=) -| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | ![](https://img.shields.io/github/stars/paritytrading/philadelphia?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/paritytrading/philadelphia?style=flat-square&label=) -| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | ![](https://img.shields.io/github/stars/square/connect-java-sdk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/connect-java-sdk?style=flat-square&label=) -| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | ![](https://img.shields.io/github/stars/stripe/stripe-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stripe/stripe-java?style=flat-square&label=) -| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | ![](https://img.shields.io/github/stars/ta4j/ta4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ta4j/ta4j?style=flat-square&label=) - -### Formal Verification - -_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ - -| | | | | -|---|---|---|---| -| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | ![](https://img.shields.io/github/stars/ksen007/janala2?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ksen007/janala2?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/javapathfinder/jpf-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javapathfinder/jpf-core?style=flat-square&label=) -| [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 - -_Libraries that facilitate functional programming._ - -| | | | | -|---|---|---|---| -| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | ![](https://img.shields.io/github/stars/aol/cyclops?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aol/cyclops?style=flat-square&label=) -| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/derive4j/derive4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/derive4j/derive4j?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/jOOQ/jOOL?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jOOQ/jOOL?style=flat-square&label=) -| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | ![](https://img.shields.io/github/stars/jhspetersson/packrat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhspetersson/packrat?style=flat-square&label=) -| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | ![](https://img.shields.io/github/stars/poetix/protonpack?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/poetix/protonpack?style=flat-square&label=) -| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | ![](https://img.shields.io/github/stars/amaembo/streamex?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/amaembo/streamex?style=flat-square&label=) -| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | - -### Game Development - -_Frameworks that support the development of games._ - -| | | | | -|---|---|---|---| -| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | -| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | -| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | -| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | -| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | -| [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. | ![](https://img.shields.io/github/stars/xzripper/Void2D?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xzripper/Void2D?style=flat-square&label=) -| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | ![](https://img.shields.io/github/stars/chuigda/vulkan4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/chuigda/vulkan4j?style=flat-square&label=) - -### Geospatial - -_Libraries for working with geospatial data and algorithms._ - -| | | | | -|---|---|---|---| -| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | -| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | ![](https://img.shields.io/github/stars/davidmoten/geo?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/davidmoten/geo?style=flat-square&label=) -| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | ![](https://img.shields.io/github/stars/graphhopper/graphhopper?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/graphhopper/graphhopper?style=flat-square&label=) -| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | -| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | -| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | ![](https://img.shields.io/github/stars/mapsforge/mapsforge?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mapsforge/mapsforge?style=flat-square&label=) -| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | ![](https://img.shields.io/github/stars/locationtech/spatial4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/locationtech/spatial4j?style=flat-square&label=) - -### GUI - -_Libraries to create modern graphical user interfaces._ - -| | | | | -|---|---|---|---| -| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | -| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | -| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | ![](https://img.shields.io/github/stars/reportmill/SnapKit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/reportmill/SnapKit?style=flat-square&label=) -| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | - -### High Performance - -_Everything about high-performance computation, from collections to specific libraries._ - -| | | | | -|---|---|---|---| -| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | ![](https://img.shields.io/github/stars/real-logic/Agrona?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/Agrona?style=flat-square&label=) -| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | -| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | ![](https://img.shields.io/github/stars/eclipse/eclipse-collections?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eclipse/eclipse-collections?style=flat-square&label=) -| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | -| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | -| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | ![](https://img.shields.io/github/stars/JCTools/JCTools?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/JCTools/JCTools?style=flat-square&label=) -| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | ![](https://img.shields.io/github/stars/leventov/Koloboke?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/leventov/Koloboke?style=flat-square&label=) - -### HTTP Clients - -_Libraries that assist with creating HTTP requests and/or binding responses._ - -| | | | | -|---|---|---|---| -| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | -| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | ![](https://img.shields.io/github/stars/AsyncHttpClient/async-http-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AsyncHttpClient/async-http-client?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/OpenFeign/feign?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenFeign/feign?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/googleapis/google-http-java-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/googleapis/google-http-java-client?style=flat-square&label=) -| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | ![](https://img.shields.io/github/stars/mizosoft/methanol?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mizosoft/methanol?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/Netflix/ribbon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Netflix/ribbon?style=flat-square&label=) -| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | ![](https://img.shields.io/github/stars/zalando/riptide?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/riptide?style=flat-square&label=) -| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | ![](https://img.shields.io/github/stars/Kong/unirest-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Kong/unirest-java?style=flat-square&label=) - -### Hypermedia Types - -_Libraries that handle serialization to hypermedia types._ - -| | | | | -|---|---|---|---| -| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | ![](https://img.shields.io/github/stars/blackdoor/hate?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/blackdoor/hate?style=flat-square&label=) -| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | ![](https://img.shields.io/github/stars/jsonld-java/jsonld-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jsonld-java/jsonld-java?style=flat-square&label=) -| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | ![](https://img.shields.io/github/stars/eserating-chwy/siren4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eserating-chwy/siren4j?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/spring-projects/spring-hateoas?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/spring-projects/spring-hateoas?style=flat-square&label=) - -### IDE - -_Integrated development environments that try to simplify several aspects of development._ - -| | | | | -|---|---|---|---| -| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | -| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | -| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | -| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | -| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | - -### Imagery - -_Libraries that assist with the creation, evaluation or manipulation of graphical images._ - -| | | | | -|---|---|---|---| -| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | ![](https://img.shields.io/github/stars/vws-java/Barcode-Lib4J?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vws-java/Barcode-Lib4J?style=flat-square&label=) -| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | ![](https://img.shields.io/github/stars/rkalla/imgscalr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rkalla/imgscalr?style=flat-square&label=) -| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | ![](https://img.shields.io/github/stars/nguyenq/tess4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nguyenq/tess4j?style=flat-square&label=) -| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | ![](https://img.shields.io/github/stars/coobird/thumbnailator?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/coobird/thumbnailator?style=flat-square&label=) -| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | ![](https://img.shields.io/github/stars/haraldk/TwelveMonkeys?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/haraldk/TwelveMonkeys?style=flat-square&label=) -| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | ![](https://img.shields.io/github/stars/zxing/zxing?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zxing/zxing?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/romankh3/image-comparison?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/romankh3/image-comparison?style=flat-square&label=) -| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | ![](https://img.shields.io/github/stars/lopcode/vips-ffm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lopcode/vips-ffm?style=flat-square&label=) -| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | - -### Introspection - -_Libraries that help make the Java introspection and reflection API easier and faster to use._ - -| | | | | -|---|---|---|---| -| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | ![](https://img.shields.io/github/stars/classgraph/classgraph?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/classgraph/classgraph?style=flat-square&label=) -| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | ![](https://img.shields.io/github/stars/jOOQ/jOOR?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jOOQ/jOOR?style=flat-square&label=) -| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | -| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | -| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | ![](https://img.shields.io/github/stars/EsotericSoftware/reflectasm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EsotericSoftware/reflectasm?style=flat-square&label=) -| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | ![](https://img.shields.io/github/stars/ronmamo/reflections?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ronmamo/reflections?style=flat-square&label=) - -### Job Scheduling - -_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 persistence, minimal dependencies and is embeddable. | ![](https://img.shields.io/github/stars/jobrunr/jobrunr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jobrunr/jobrunr?style=flat-square&label=) -| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | ![](https://img.shields.io/github/stars/quartz-scheduler/quartz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/quartz-scheduler/quartz?style=flat-square&label=) -| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | ![](https://img.shields.io/github/stars/knowm/Sundial?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/knowm/Sundial?style=flat-square&label=) -| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | ![](https://img.shields.io/github/stars/Coreoz/Wisp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Coreoz/Wisp?style=flat-square&label=) -| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | ![](https://img.shields.io/github/stars/kagkarlsson/db-scheduler?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/kagkarlsson/db-scheduler?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/j-easy/easy-batch?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/j-easy/easy-batch?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/lukas-krecan/ShedLock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lukas-krecan/ShedLock?style=flat-square&label=) - -### JSON - -_Libraries for serializing and deserializing JSON to and from Java objects._ - -| | | | | -|---|---|---|---| -| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | -| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | ![](https://img.shields.io/github/stars/ngs-doo/dsl-json?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ngs-doo/dsl-json?style=flat-square&label=) -| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | -| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | ![](https://img.shields.io/github/stars/google/gson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/gson?style=flat-square&label=) -| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | ![](https://img.shields.io/github/stars/brettwooldridge/HikariJSON?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/brettwooldridge/HikariJSON?style=flat-square&label=) -| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | ![](https://img.shields.io/github/stars/FasterXML/jackson-modules-java8?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/FasterXML/jackson-modules-java8?style=flat-square&label=) -| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | ![](https://img.shields.io/github/stars/zalando/jackson-datatype-money?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/jackson-datatype-money?style=flat-square&label=) -| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | ![](https://img.shields.io/github/stars/FasterXML/jackson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/FasterXML/jackson?style=flat-square&label=) -| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | ![](https://img.shields.io/github/stars/jdereg/json-io?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jdereg/json-io?style=flat-square&label=) -| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | -| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | ![](https://img.shields.io/github/stars/bluelinelabs/LoganSquare?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bluelinelabs/LoganSquare?style=flat-square&label=) -| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | ![](https://img.shields.io/github/stars/square/moshi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/moshi?style=flat-square&label=) -| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | ![](https://img.shields.io/github/stars/eclipse-ee4j/yasson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eclipse-ee4j/yasson?style=flat-square&label=) -| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | ![](https://img.shields.io/github/stars/alibaba/fastjson?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/fastjson?style=flat-square&label=) -| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | ![](https://img.shields.io/github/stars/bazaarvoice/jolt?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bazaarvoice/jolt?style=flat-square&label=) -| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | ![](https://img.shields.io/github/stars/json-path/JsonPath?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/json-path/JsonPath?style=flat-square&label=) -| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | ![](https://img.shields.io/github/stars/jsurfer/JsonSurfer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jsurfer/JsonSurfer?style=flat-square&label=) - -### JVM and JDK - -_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. | - | - | -| [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. | ![](https://img.shields.io/github/stars/alibaba/dragonwell8?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/dragonwell8?style=flat-square&label=) -| [Graal](https://github.com/oracle/graal) | Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) | ![](https://img.shields.io/github/stars/oracle/graal?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/oracle/graal?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/eclipse/openj9?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/eclipse/openj9?style=flat-square&label=) -| [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) | ![](https://img.shields.io/github/stars/codenameone/CodenameOne/tree/master/vm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/codenameone/CodenameOne/tree/master/vm?style=flat-square&label=) -| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | ![](https://img.shields.io/github/stars/microsoft/openjdk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/microsoft/openjdk?style=flat-square&label=) - -### Logging - -_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. | ![](https://img.shields.io/github/stars/tersesystems/echopraxia?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/tersesystems/echopraxia?style=flat-square&label=) -| [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. | - | - | -| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | ![](https://img.shields.io/github/stars/zalando/logbook?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/logbook?style=flat-square&label=) -| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | -| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | ![](https://img.shields.io/github/stars/p6spy/p6spy?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/p6spy/p6spy?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/zalando/opentracing-toolbox?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/opentracing-toolbox?style=flat-square&label=) -| [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 - -_Tools that provide specific statistical algorithms for learning from data._ - -| | | | | -|---|---|---|---| -| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | -| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | -| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | -| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | -| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | -| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | ![](https://img.shields.io/github/stars/Barqawiz/IntelliJava?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Barqawiz/IntelliJava?style=flat-square&label=) -| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/EdwardRaff/JSAT?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EdwardRaff/JSAT?style=flat-square&label=) -| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | ![](https://img.shields.io/github/stars/BayesWitnesses/m2cgen?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/BayesWitnesses/m2cgen?style=flat-square&label=) -| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | ![](https://img.shields.io/github/stars/Gleethos/neureka?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Gleethos/neureka?style=flat-square&label=) -| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | -| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | ![](https://img.shields.io/github/stars/OryxProject/oryx?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OryxProject/oryx?style=flat-square&label=) -| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | ![](https://img.shields.io/github/stars/siddhi-io/siddhi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/siddhi-io/siddhi?style=flat-square&label=) -| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | ![](https://img.shields.io/github/stars/haifengl/smile?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/haifengl/smile?style=flat-square&label=) -| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | -| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | - -### Messaging - -_Tools that help send messages between clients to ensure protocol independency._ - -| | | | | -|---|---|---|---| -| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | ![](https://img.shields.io/github/stars/real-logic/Aeron?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/real-logic/Aeron?style=flat-square&label=) -| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | -| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | -| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | -| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | -| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | -| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | -| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | ![](https://img.shields.io/github/stars/AutoMQ/automq-for-kafka?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AutoMQ/automq-for-kafka?style=flat-square&label=) -| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | ![](https://img.shields.io/github/stars/joel-jeremy/deezpatch?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/joel-jeremy/deezpatch?style=flat-square&label=) -| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | ![](https://img.shields.io/github/stars/greenrobot/EventBus?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/greenrobot/EventBus?style=flat-square&label=) -| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | -| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | ![](https://img.shields.io/github/stars/zeromq/jeromq?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zeromq/jeromq?style=flat-square&label=) -| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | ![](https://img.shields.io/github/stars/zalando/nakadi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/nakadi?style=flat-square&label=) -| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | ![](https://img.shields.io/github/stars/rabbitmq/rabbitmq-java-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rabbitmq/rabbitmq-java-client?style=flat-square&label=) -| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | ![](https://img.shields.io/github/stars/igniterealtime/Smack?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/igniterealtime/Smack?style=flat-square&label=) -| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | ![](https://img.shields.io/github/stars/nats-io/nats.java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nats-io/nats.java?style=flat-square&label=) - -### Microservice - -_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. | - | - | -| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | ![](https://img.shields.io/github/stars/line/armeria?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/line/armeria?style=flat-square&label=) -| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | ![](https://img.shields.io/github/stars/Ecwid/consul-api?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Ecwid/consul-api?style=flat-square&label=) -| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | ![](https://img.shields.io/github/stars/Netflix/eureka?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Netflix/eureka?style=flat-square&label=) -| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | -| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | ![](https://img.shields.io/github/stars/DV8FromTheWorld/JDA?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/DV8FromTheWorld/JDA?style=flat-square&label=) -| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | ![](https://img.shields.io/github/stars/DaveJarvis/KeenType?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/DaveJarvis/KeenType?style=flat-square&label=) -| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | ![](https://img.shields.io/github/stars/fabric8io/kubernetes-client?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/fabric8io/kubernetes-client?style=flat-square&label=) -| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | -| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | -| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | ![](https://img.shields.io/github/stars/TheoKanning/openai-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/TheoKanning/openai-java?style=flat-square&label=) -| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | -| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | ![](https://img.shields.io/github/stars/alibaba/Sentinel?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/Sentinel?style=flat-square&label=) - -### Miscellaneous - -_Everything else._ - -| | | | | -|---|---|---|---| -| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | ![](https://img.shields.io/github/stars/npgall/cqengine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/npgall/cqengine?style=flat-square&label=) -| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | ![](https://img.shields.io/github/stars/iluwatar/java-design-patterns?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/iluwatar/java-design-patterns?style=flat-square&label=) -| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | ![](https://img.shields.io/github/stars/ff4j/ff4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ff4j/ff4j?style=flat-square&label=) -| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | ![](https://img.shields.io/github/stars/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?style=flat-square&label=) -| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | ![](https://img.shields.io/github/stars/ip2location/ip2location-io-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ip2location/ip2location-io-java?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/ladutsko/isbn-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ladutsko/isbn-core?style=flat-square&label=) -| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | ![](https://img.shields.io/github/stars/google/j2objc?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/j2objc?style=flat-square&label=) -| [JBake](https://jbake.org) | Static website generator. | - | - | -| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/rampatra/jbot?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rampatra/jbot?style=flat-square&label=) -| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | -| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | ![](https://img.shields.io/github/stars/felldo/JEmoji?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/felldo/JEmoji?style=flat-square&label=) -| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | ![](https://img.shields.io/github/stars/google/jimfs?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/jimfs?style=flat-square&label=) -| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | -| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | ![](https://img.shields.io/github/stars/jooq/joox?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jooq/joox?style=flat-square&label=) -| [JPad](http://jpad.io) | Snippet runner. | - | - | -| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | ![](https://img.shields.io/github/stars/cincheo/jsweet?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cincheo/jsweet?style=flat-square&label=) -| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | ![](https://img.shields.io/github/stars/takari/maven-wrapper?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/takari/maven-wrapper?style=flat-square&label=) -| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | ![](https://img.shields.io/github/stars/membrane/service-proxy?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/membrane/service-proxy?style=flat-square&label=) -| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | ![](https://img.shields.io/github/stars/Guichaguri/MinimalFTP?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Guichaguri/MinimalFTP?style=flat-square&label=) -| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | ![](https://img.shields.io/github/stars/adamfisk/LittleProxy?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/adamfisk/LittleProxy?style=flat-square&label=) -| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | ![](https://img.shields.io/github/stars/winterbe/java8-tutorial?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/winterbe/java8-tutorial?style=flat-square&label=) -| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | ![](https://img.shields.io/github/stars/gaul/modernizer-maven-plugin?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/gaul/modernizer-maven-plugin?style=flat-square&label=) -| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | ![](https://img.shields.io/github/stars/OctoLinker/OctoLinker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OctoLinker/OctoLinker?style=flat-square&label=) -| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | -| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | ![](https://img.shields.io/github/stars/sizovs/pipelinr?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sizovs/pipelinr?style=flat-square&label=) -| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | ![](https://img.shields.io/github/stars/takari/polyglot-maven?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/takari/polyglot-maven?style=flat-square&label=) -| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | ![](https://img.shields.io/github/stars/Kartikvk1996/RR4J?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Kartikvk1996/RR4J?style=flat-square&label=) -| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | ![](https://img.shields.io/github/stars/bbottema/simple-java-mail?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bbottema/simple-java-mail?style=flat-square&label=) -| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | ![](https://img.shields.io/github/stars/smooks/smooks?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/smooks/smooks?style=flat-square&label=) -| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | ![](https://img.shields.io/github/stars/svix/svix-webhooks/tree/main/java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/svix/svix-webhooks/tree/main/java?style=flat-square&label=) -| [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | -| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | ![](https://img.shields.io/github/stars/jhalterman/typetools?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhalterman/typetools?style=flat-square&label=) -| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | ![](https://img.shields.io/github/stars/sarxos/webcam-capture?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sarxos/webcam-capture?style=flat-square&label=) -| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | ![](https://img.shields.io/github/stars/SvenEwald/xmlbeam?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SvenEwald/xmlbeam?style=flat-square&label=) -| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | ![](https://img.shields.io/github/stars/yWorks/yGuard?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yWorks/yGuard?style=flat-square&label=) -| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | ![](https://img.shields.io/github/stars/maxandersen/jbang/?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/maxandersen/jbang/?style=flat-square&label=) - -### Mobile Development - -_Tools for creating or managing mobile applications._ - -| | | | | -|---|---|---|---| -| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | -| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | - -### Monitoring - -_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. | ![](https://img.shields.io/github/stars/apitally/apitally-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/apitally/apitally-java?style=flat-square&label=) -| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | ![](https://img.shields.io/github/stars/stevensouza/automon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stevensouza/automon?style=flat-square&label=) -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | ![](https://img.shields.io/github/stars/dropwizard/metrics?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dropwizard/metrics?style=flat-square&label=) -| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | ![](https://img.shields.io/github/stars/zalando/failsafe-actuator?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zalando/failsafe-actuator?style=flat-square&label=) -| [Glowroot](https://glowroot.org) | Open-source Java APM. | - | - | -| [HertzBeat](https://github.com/dromara/hertzbeat) | Real-time monitoring system with custom-monitor and agentless. | ![](https://img.shields.io/github/stars/dromara/hertzbeat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dromara/hertzbeat?style=flat-square&label=) -| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic and observable thread pool framework. | ![](https://img.shields.io/github/stars/opengoofy/hippo4j/blob/develop/README-EN.md?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/opengoofy/hippo4j/blob/develop/README-EN.md?style=flat-square&label=) -| [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. | - | - | -| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | ![](https://img.shields.io/github/stars/jaegertracing/jaeger-client-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jaegertracing/jaeger-client-java?style=flat-square&label=) -| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | ![](https://img.shields.io/github/stars/javamelody/javamelody?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javamelody/javamelody?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/jmxtrans/jmxtrans?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jmxtrans/jmxtrans?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/micrometer-metrics/micrometer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/micrometer-metrics/micrometer?style=flat-square&label=) -| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | ![](https://img.shields.io/github/stars/micrometer-metrics/tracing?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/micrometer-metrics/tracing?style=flat-square&label=) -| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | ![](https://img.shields.io/github/stars/lorenzoongithub/nudge4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lorenzoongithub/nudge4j?style=flat-square&label=) -| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | ![](https://img.shields.io/github/stars/open-telemetry/opentelemetry-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/open-telemetry/opentelemetry-java?style=flat-square&label=) -| [Pinpoint](https://github.com/naver/pinpoint) | Open-source APM tool. | ![](https://img.shields.io/github/stars/naver/pinpoint?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/naver/pinpoint?style=flat-square&label=) -| [Prometheus](https://github.com/prometheus/client_java) | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. | ![](https://img.shields.io/github/stars/prometheus/client_java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/prometheus/client_java?style=flat-square&label=) -| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | ![](https://img.shields.io/github/stars/stagemonitor/stagemonitor?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stagemonitor/stagemonitor?style=flat-square&label=) -| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | ![](https://img.shields.io/github/stars/palantir/Sysmon?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/palantir/Sysmon?style=flat-square&label=) -| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | - -### Native - -_For working with platform-specific native libraries._ - -| | | | | -|---|---|---|---| -| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | ![](https://img.shields.io/github/stars/Syncleus/aparapi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Syncleus/aparapi?style=flat-square&label=) -| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | ![](https://img.shields.io/github/stars/bytedeco/javacpp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bytedeco/javacpp?style=flat-square&label=) -| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | ![](https://img.shields.io/github/stars/java-native-access/jna?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/java-native-access/jna?style=flat-square&label=) -| [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). | ![](https://img.shields.io/github/stars/jnr/jnr-ffi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jnr/jnr-ffi?style=flat-square&label=) -| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | ![](https://img.shields.io/github/stars/scijava/native-lib-loader?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/scijava/native-lib-loader?style=flat-square&label=) - -### Natural Language Processing - -_Libraries that specialize in processing text._ - -| | | | | -|---|---|---|---| -| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | ![](https://img.shields.io/github/stars/CogComp/cogcomp-nlp?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/CogComp/cogcomp-nlp?style=flat-square&label=) -| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | -| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | -| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | ![](https://img.shields.io/github/stars/ejossev/hypherator-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ejossev/hypherator-java?style=flat-square&label=) -| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | - -### Networking - -_Libraries for building network servers._ - -| | | | | -|---|---|---|---| -| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | ![](https://img.shields.io/github/stars/CiscoSE/commons-networking?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/CiscoSE/commons-networking?style=flat-square&label=) -| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | ![](https://img.shields.io/github/stars/puniverse/comsat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/puniverse/comsat?style=flat-square&label=) -| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | ![](https://img.shields.io/github/stars/apache/dubbo?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/apache/dubbo?style=flat-square&label=) -| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | -| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | ![](https://img.shields.io/github/stars/grpc/grpc-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/grpc/grpc-java?style=flat-square&label=) -| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | ![](https://img.shields.io/github/stars/EsotericSoftware/kryonet?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EsotericSoftware/kryonet?style=flat-square&label=) -| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | -| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | -| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | ![](https://img.shields.io/github/stars/airlift/drift?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/airlift/drift?style=flat-square&label=) -| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | ![](https://img.shields.io/github/stars/apple/servicetalk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/apple/servicetalk?style=flat-square&label=) -| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | ![](https://img.shields.io/github/stars/hierynomus/sshj?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/hierynomus/sshj?style=flat-square&label=) -| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | ![](https://img.shields.io/github/stars/marianobarrios/tls-channel?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/marianobarrios/tls-channel?style=flat-square&label=) -| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | -| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/slub/urnlib?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/slub/urnlib?style=flat-square&label=) -| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | ![](https://img.shields.io/github/stars/komamitsu/fluency?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/komamitsu/fluency?style=flat-square&label=) - -### ORM - -_APIs that handle the persistence of objects._ - -| | | | | -|---|---|---|---| -| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | -| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | ![](https://img.shields.io/github/stars/domaframework/doma?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/domaframework/doma?style=flat-square&label=) -| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | -| [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. | ![](https://img.shields.io/github/stars/mybatis/mybatis-3?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mybatis/mybatis-3?style=flat-square&label=) -| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | ![](https://img.shields.io/github/stars/baomidou/mybatis-plus?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/baomidou/mybatis-plus?style=flat-square&label=) -| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | ![](https://img.shields.io/github/stars/braisdom/ObjectiveSql?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/braisdom/ObjectiveSql?style=flat-square&label=) -| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | ![](https://img.shields.io/github/stars/permazen/permazen?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/permazen/permazen?style=flat-square&label=) -| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | ![](https://img.shields.io/github/stars/arnaudroger/SimpleFlatMapper?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/arnaudroger/SimpleFlatMapper?style=flat-square&label=) - -### PaaS - -_Java platform as a service._ - -### Pathfinding - -_Algorithms and libraries for finding routes in graphs and spatial environments._ - -| | | | | -|---|---|---|---| -| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | ![](https://img.shields.io/github/stars/bsommerfeld/pathetic?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/bsommerfeld/pathetic?style=flat-square&label=) - -### PDF - -_Tools to help with PDF files._ - -| | | | | -|---|---|---|---| -| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | -| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | -| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | -| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | ![](https://img.shields.io/github/stars/dynamicreports/dynamicreports?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dynamicreports/dynamicreports?style=flat-square&label=) -| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | -| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | ![](https://img.shields.io/github/stars/flyingsaucerproject/flyingsaucer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/flyingsaucerproject/flyingsaucer?style=flat-square&label=) -| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | -| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | ![](https://img.shields.io/github/stars/danfickle/openhtmltopdf?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/danfickle/openhtmltopdf?style=flat-square&label=) -| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | ![](https://img.shields.io/github/stars/LibrePDF/OpenPDF?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/LibrePDF/OpenPDF?style=flat-square&label=) -| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | ![](https://img.shields.io/github/stars/tabulapdf/tabula-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/tabulapdf/tabula-java?style=flat-square&label=) - -### Performance analysis - -_Tools for performance analysis, profiling and benchmarking._ - -| | | | | -|---|---|---|---| -| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | ![](https://img.shields.io/github/stars/jvm-profiling-tools/honest-profiler?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jvm-profiling-tools/honest-profiler?style=flat-square&label=) -| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | ![](https://img.shields.io/github/stars/giltene/jHiccup?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/giltene/jHiccup?style=flat-square&label=) -| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | ![](https://img.shields.io/github/stars/AdoptOpenJDK/jitwatch?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AdoptOpenJDK/jitwatch?style=flat-square&label=) -| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | -| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | ![](https://img.shields.io/github/stars/LatencyUtils/LatencyUtils?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/LatencyUtils/LatencyUtils?style=flat-square&label=) - -### Platform - -_Frameworks that are suites of multiple libraries encompassing several categories._ - -#### Apache Commons -#### Other -| | | | | -|---|---|---|---| -| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | -| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | -| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | -| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | -| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | -| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | -| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | -| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | -| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | -| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | -| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | -| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | -| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | -| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | -| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | -| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | -| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | -| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | -| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | -| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | -| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | -| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | -| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | -| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | -| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | -| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | -| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | -| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | -| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | -| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | -| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | -| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | -| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | -| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | -| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | -| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | -| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | -| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | -| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | -| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | -| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | -| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | -| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | -| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | -| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | -| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | -| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | -| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | -| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | -| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | -| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | -| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | -| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | -| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | -| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | -| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | ![](https://img.shields.io/github/stars/networknt/light-4j/?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/networknt/light-4j/?style=flat-square&label=) -| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | ![](https://img.shields.io/github/stars/OrienteerBAP/Orienteer/?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OrienteerBAP/Orienteer/?style=flat-square&label=) -| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | - -### Processes - -_Libraries that help the management of operating system processes._ - -| | | | | -|---|---|---|---| -| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | ![](https://img.shields.io/github/stars/vorburger/ch.vorburger.exec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.exec?style=flat-square&label=) -| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | ![](https://img.shields.io/github/stars/zeroturnaround/zt-exec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zeroturnaround/zt-exec?style=flat-square&label=) -| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | ![](https://img.shields.io/github/stars/zeroturnaround/zt-process-killer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zeroturnaround/zt-process-killer?style=flat-square&label=) - -### Reactive libraries - -_Libraries for developing reactive applications._ - -| | | | | -|---|---|---|---| -| [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. | ![](https://img.shields.io/github/stars/reactive-streams/reactive-streams-jvm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/reactive-streams/reactive-streams-jvm?style=flat-square&label=) -| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | ![](https://img.shields.io/github/stars/reactor/reactor?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/reactor/reactor?style=flat-square&label=) -| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | ![](https://img.shields.io/github/stars/ReactiveX/RxJava?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ReactiveX/RxJava?style=flat-square&label=) -| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | - -### REST Frameworks - -_Frameworks specifically for creating RESTful services._ - -| | | | | -|---|---|---|---| -| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | ![](https://img.shields.io/github/stars/dropwizard/dropwizard?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dropwizard/dropwizard?style=flat-square&label=) -| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | -| [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. | ![](https://img.shields.io/github/stars/aol/micro-server?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/aol/micro-server?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/linkedin/rest.li?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/linkedin/rest.li?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/RestExpress/RestExpress?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RestExpress/RestExpress?style=flat-square&label=) -| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | ![](https://img.shields.io/github/stars/restlet/restlet-framework-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/restlet/restlet-framework-java?style=flat-square&label=) -| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | -| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | -| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | ![](https://img.shields.io/github/stars/springdoc/springdoc-openapi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/springdoc/springdoc-openapi?style=flat-square&label=) -| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | - -### Science - -_Libraries for scientific computing, analysis and visualization._ - -| | | | | -|---|---|---|---| -| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | -| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | ![](https://img.shields.io/github/stars/GSI-CS-CO/chart-fx?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/GSI-CS-CO/chart-fx?style=flat-square&label=) -| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | -| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | ![](https://img.shields.io/github/stars/Erdos-Graph-Framework/Erdos?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Erdos-Graph-Framework/Erdos?style=flat-square&label=) -| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | -| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | -| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | ![](https://img.shields.io/github/stars/jgrapht/jgrapht?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jgrapht/jgrapht?style=flat-square&label=) -| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | ![](https://img.shields.io/github/stars/jgraph/jgraphx?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jgraph/jgraphx?style=flat-square&label=) -| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | ![](https://img.shields.io/github/stars/logic-ng/LogicNG?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/logic-ng/LogicNG?style=flat-square&label=) -| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | ![](https://img.shields.io/github/stars/MinesJTK/jtk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/MinesJTK/jtk?style=flat-square&label=) -| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory-efficient tabular datastructure (dataframe). | ![](https://img.shields.io/github/stars/zavtech/morpheus-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/zavtech/morpheus-core?style=flat-square&label=) -| [Orekit](https://www.orekit.org/) | Low-level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...). | - | - | -| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/jfree/orson-charts?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jfree/orson-charts?style=flat-square&label=) -| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | ![](https://img.shields.io/github/stars/jtablesaw/tablesaw?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jtablesaw/tablesaw?style=flat-square&label=) -| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | ![](https://img.shields.io/github/stars/knowm/XChart?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/knowm/XChart?style=flat-square&label=) - -### Search - -_Engines that index documents for search and analysis._ - -| | | | | -|---|---|---|---| -| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | -| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | -| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | -| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | ![](https://img.shields.io/github/stars/haeungun/indexer4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/haeungun/indexer4j?style=flat-square&label=) - -### Security - -_Libraries that handle security, authentication, authorization or session management._ - -| | | | | -|---|---|---|---| -| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | -| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | ![](https://img.shields.io/github/stars/Hakky54/ayza?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Hakky54/ayza?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/jeremylong/DependencyCheck?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jeremylong/DependencyCheck?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/hdiv/hdiv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/hdiv/hdiv?style=flat-square&label=) -| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | ![](https://img.shields.io/github/stars/jwtk/jjwt?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jwtk/jjwt?style=flat-square&label=) -| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | ![](https://img.shields.io/github/stars/BastiaanJansen/jwt-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/BastiaanJansen/jwt-java?style=flat-square&label=) -| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | ![](https://img.shields.io/github/stars/auth0/jwks-rsa-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/auth0/jwks-rsa-java?style=flat-square&label=) -| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | ![](https://img.shields.io/github/stars/abstractj/kalium?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/abstractj/kalium?style=flat-square&label=) -| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | -| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | ![](https://img.shields.io/github/stars/square/keywhiz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/square/keywhiz?style=flat-square&label=) -| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | ![](https://img.shields.io/github/stars/GoSimpleLLC/nbvcxz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/GoSimpleLLC/nbvcxz?style=flat-square&label=) -| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | -| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | ![](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenAM?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenAM?style=flat-square&label=) -| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | ![](https://img.shields.io/github/stars/BastiaanJansen/OTP-Java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/BastiaanJansen/OTP-Java?style=flat-square&label=) -| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | ![](https://img.shields.io/github/stars/pac4j/pac4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/pac4j/pac4j?style=flat-square&label=) -| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | -| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | ![](https://img.shields.io/github/stars/Password4j/password4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Password4j/password4j?style=flat-square&label=) -| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | ![](https://img.shields.io/github/stars/tersesystems/securitybuilder?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/tersesystems/securitybuilder?style=flat-square&label=) -| [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). | ![](https://img.shields.io/github/stars/cossacklabs/themis?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cossacklabs/themis?style=flat-square&label=) -| [Tink](https://github.com/google/tink) | Provides a simple and misuse-proof API for common cryptographic tasks. | ![](https://img.shields.io/github/stars/google/tink?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/tink?style=flat-square&label=) -| [Topaz](https://www.topaz.sh) | Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. | - | - | - -### Serialization - -_Libraries that handle serialization with high efficiency._ - -| | | | | -|---|---|---|---| -| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | ![](https://img.shields.io/github/stars/google/flatbuffers?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/flatbuffers?style=flat-square&label=) -| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | ![](https://img.shields.io/github/stars/RuedigerMoeller/fast-serialization?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RuedigerMoeller/fast-serialization?style=flat-square&label=) -| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | ![](https://img.shields.io/github/stars/alipay/fury?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alipay/fury?style=flat-square&label=) -| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | ![](https://img.shields.io/github/stars/EsotericSoftware/kryo?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/EsotericSoftware/kryo?style=flat-square&label=) -| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | ![](https://img.shields.io/github/stars/msgpack/msgpack-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/msgpack/msgpack-java?style=flat-square&label=) -| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | ![](https://img.shields.io/github/stars/marcospassos/java-php-serializer?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/marcospassos/java-php-serializer?style=flat-square&label=) - -### Server - -_Servers specifically used to deploy applications._ - -| | | | | -|---|---|---|---| -| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | -| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | -| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | -| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | ![](https://img.shields.io/github/stars/NanoHttpd/nanohttpd?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/NanoHttpd/nanohttpd?style=flat-square&label=) -| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | - -### Template Engine - -_Tools that substitute expressions in a template._ - -| | | | | -|---|---|---|---| -| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | -| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | -| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | ![](https://img.shields.io/github/stars/neuland/jade4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/neuland/jade4j?style=flat-square&label=) -| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions with support for snippet handling. | ![](https://img.shields.io/github/stars/verhas/jamal?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/verhas/jamal?style=flat-square&label=) -| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | ![](https://img.shields.io/github/stars/jstachio/jstachio?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jstachio/jstachio?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/casid/jte?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/casid/jte?style=flat-square&label=) -| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | ![](https://img.shields.io/github/stars/jtwig/jtwig?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jtwig/jtwig?style=flat-square&label=) -| [Pebble](https://pebbletemplates.io) | Twig-inspired, separates itself with inheritance features and its easy-to-read syntax, autoescaping for security and i18n. | - | - | -| [Rocker](https://github.com/fizzed/rocker) | Optimized, memory efficient and speedy template engine producing statically typed, plain objects. | ![](https://img.shields.io/github/stars/fizzed/rocker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/fizzed/rocker?style=flat-square&label=) -| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | ![](https://img.shields.io/github/stars/antlr/stringtemplate4?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/antlr/stringtemplate4?style=flat-square&label=) -| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | - -### Testing - -_Tools that test from model to the view._ - -#### Asynchronous -_Tools that simplify testing asynchronous services._ - -#### BDD -_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - -#### Fixtures -_Everything related to the creation and handling of random data._ - -#### Frameworks -_Provide environments to run tests for a specific use case._ - -#### Matchers -_Libraries that provide custom matchers._ - -#### Miscellaneous -_Other stuff related to testing._ - -#### Mocking -_Tools which mock collaborators to help testing single, isolated units._ - -| | | | | -|---|---|---|---| -| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | ![](https://img.shields.io/github/stars/awaitility/awaitility?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/awaitility/awaitility?style=flat-square&label=) -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | ![](https://img.shields.io/github/stars/jhalterman/concurrentunit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jhalterman/concurrentunit?style=flat-square&label=) -| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | ![](https://img.shields.io/github/stars/SpectoLabs/hoverfly-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/SpectoLabs/hoverfly-java?style=flat-square&label=) -| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | ![](https://img.shields.io/github/stars/intuit/karate?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/intuit/karate?style=flat-square&label=) -| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | ![](https://img.shields.io/github/stars/rest-assured/rest-assured?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/rest-assured/rest-assured?style=flat-square&label=) -| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | ![](https://img.shields.io/github/stars/testingisdocumenting/webtau?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/testingisdocumenting/webtau?style=flat-square&label=) -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | ![](https://img.shields.io/github/stars/cucumber/cucumber-jvm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cucumber/cucumber-jvm?style=flat-square&label=) -| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | ![](https://img.shields.io/github/stars/ctco/cukes?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/ctco/cukes?style=flat-square&label=) -| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | ![](https://img.shields.io/github/stars/j8spec/j8spec?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/j8spec/j8spec?style=flat-square&label=) -| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | -| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | ![](https://img.shields.io/github/stars/RichardWarburton/lambda-behave?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/RichardWarburton/lambda-behave?style=flat-square&label=) -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated acceptance testing and reporting library that works with Cucumber, JBehave and JUnit. | ![](https://img.shields.io/github/stars/serenity-bdd/serenity-core?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/serenity-bdd/serenity-core?style=flat-square&label=) -| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | ![](https://img.shields.io/github/stars/AutoParams/AutoParams?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/AutoParams/AutoParams?style=flat-square&label=) -| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | ![](https://img.shields.io/github/stars/keepcosmos/beanmother?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/keepcosmos/beanmother?style=flat-square&label=) -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | ![](https://img.shields.io/github/stars/datafaker-net/datafaker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/datafaker-net/datafaker?style=flat-square&label=) -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | ![](https://img.shields.io/github/stars/six2six/fixture-factory?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/six2six/fixture-factory?style=flat-square&label=) -| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | ![](https://img.shields.io/github/stars/Devskiller/jfairy?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Devskiller/jfairy?style=flat-square&label=) -| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | ![](https://img.shields.io/github/stars/instancio/instancio?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/instancio/instancio?style=flat-square&label=) -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | ![](https://img.shields.io/github/stars/randomizedtesting/randomizedtesting?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/randomizedtesting/randomizedtesting?style=flat-square&label=) -| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | ![](https://img.shields.io/github/stars/DiUS/java-faker?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/DiUS/java-faker?style=flat-square&label=) -| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | ![](https://img.shields.io/github/stars/nomemory/mockneat?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nomemory/mockneat?style=flat-square&label=) -| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | ![](https://img.shields.io/github/stars/xcancloud/JMock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xcancloud/JMock?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/guhilling/cdi-test?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/guhilling/cdi-test?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/DiUS/pact-jvm?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/DiUS/pact-jvm?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/weld/weld-testing?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/weld/weld-testing?style=flat-square&label=) -| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | -| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | -| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | ![](https://img.shields.io/github/stars/lukas-krecan/JsonUnit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lukas-krecan/JsonUnit?style=flat-square&label=) -| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | ![](https://img.shields.io/github/stars/xmlunit/xmlunit?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/xmlunit/xmlunit?style=flat-square&label=) -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | ![](https://img.shields.io/github/stars/Hakky54/console-captor?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Hakky54/console-captor?style=flat-square&label=) -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | ![](https://img.shields.io/github/stars/TNG/junit-dataprovider?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/TNG/junit-dataprovider?style=flat-square&label=) -| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | ![](https://img.shields.io/github/stars/Hakky54/log-captor?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/Hakky54/log-captor?style=flat-square&label=) -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | ![](https://img.shields.io/github/stars/dm-drogeriemarkt/log-capture?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dm-drogeriemarkt/log-capture?style=flat-square&label=) -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | ![](https://img.shields.io/github/stars/MutabilityDetector/MutabilityDetector?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/MutabilityDetector/MutabilityDetector?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/nidi3/raml-tester?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/nidi3/raml-tester?style=flat-square&label=) -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | ![](https://img.shields.io/github/stars/diffplug/selfie?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/diffplug/selfie?style=flat-square&label=) -| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | ![](https://img.shields.io/github/stars/stebz/stebz?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/stebz/stebz?style=flat-square&label=) -| [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. | ![](https://img.shields.io/github/stars/testcontainers/testcontainers-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/testcontainers/testcontainers-java?style=flat-square&label=) -| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | -| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | ![](https://img.shields.io/github/stars/mockito/mockito?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/mockito/mockito?style=flat-square&label=) -| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | -| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | ![](https://img.shields.io/github/stars/dreamhead/moco?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/dreamhead/moco?style=flat-square&label=) -| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | ![](https://img.shields.io/github/stars/powermock/powermock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/powermock/powermock?style=flat-square&label=) -| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | -| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | ![](https://img.shields.io/github/stars/easymock/easymock?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/easymock/easymock?style=flat-square&label=) - -### Utility - -_Libraries which provide general utility functions._ - -| | | | | -|---|---|---|---| -| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | ![](https://img.shields.io/github/stars/alibaba/arthas?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/alibaba/arthas?style=flat-square&label=) -| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | ![](https://img.shields.io/github/stars/vladimir-bukhtoyarov/bucket4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vladimir-bukhtoyarov/bucket4j?style=flat-square&label=) -| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | ![](https://img.shields.io/github/stars/yegor256/cactoos?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yegor256/cactoos?style=flat-square&label=) -| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | ![](https://img.shields.io/github/stars/cleopatra27/chocotea?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/cleopatra27/chocotea?style=flat-square&label=) -| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | -| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | ![](https://img.shields.io/github/stars/PatMartin/Dex?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/PatMartin/Dex?style=flat-square&label=) -| [dregex](https://github.com/marianobarrios/dregex) | Regex engine that uses deterministic finite automata. Supports some Perl-style features, yet retains linear matching time with set operations. | ![](https://img.shields.io/github/stars/marianobarrios/dregex?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/marianobarrios/dregex?style=flat-square&label=) -| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | ![](https://img.shields.io/github/stars/embulk/embulk?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/embulk/embulk?style=flat-square&label=) -| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | ![](https://img.shields.io/github/stars/vorburger/ch.vorburger.fswatch?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.fswatch?style=flat-square&label=) -| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | ![](https://img.shields.io/github/stars/gephi/gephi?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/gephi/gephi?style=flat-square&label=) -| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | ![](https://img.shields.io/github/stars/google/guava?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/google/guava?style=flat-square&label=) -| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | -| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | ![](https://img.shields.io/github/stars/MathieuSoysal/Javadoc-publisher.yml?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/MathieuSoysal/Javadoc-publisher.yml?style=flat-square&label=) -| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | -| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | ![](https://img.shields.io/github/stars/VerbalExpressions/JavaVerbalExpressions?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/VerbalExpressions/JavaVerbalExpressions?style=flat-square&label=) -| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | -| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | ![](https://img.shields.io/github/stars/evpl/jkscope?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/evpl/jkscope?style=flat-square&label=) -| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | ![](https://img.shields.io/github/stars/minio/minio-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/minio/minio-java?style=flat-square&label=) -| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | -| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | ![](https://img.shields.io/github/stars/semver4j/semver4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/semver4j/semver4j?style=flat-square&label=) -| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | ![](https://img.shields.io/github/stars/javadev/underscore-java?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/javadev/underscore-java?style=flat-square&label=) - -### Version Managers - -_Utilities that help create the development shell environment and switch between different Java versions._ - -| | | | | -|---|---|---|---| -| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | ![](https://img.shields.io/github/stars/shyiko/jabba?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/shyiko/jabba?style=flat-square&label=) -| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | ![](https://img.shields.io/github/stars/jenv/jenv?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/jenv/jenv?style=flat-square&label=) -| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | ![](https://img.shields.io/github/stars/sdkman/sdkman-cli?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/sdkman/sdkman-cli?style=flat-square&label=) - -### Web Crawling - -_Libraries that analyze the content of websites._ - -| | | | | -|---|---|---|---| -| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | -| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | ![](https://img.shields.io/github/stars/yasserg/crawler4j?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yasserg/crawler4j?style=flat-square&label=) -| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | -| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | -| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | ![](https://img.shields.io/github/stars/code4craft/webmagic?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/code4craft/webmagic?style=flat-square&label=) - -### Web Frameworks - -_Frameworks that handle the communication between the layers of a web application._ - -| | | | | -|---|---|---|---| -| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | -| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | -| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | -| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | ![](https://img.shields.io/github/stars/lets-blade/blade?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/lets-blade/blade?style=flat-square&label=) -| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | -| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | -| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | -| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | -| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | -| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | -| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | -| [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. | ![](https://img.shields.io/github/stars/yegor256/takes?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/yegor256/takes?style=flat-square&label=) -| [Vaadin](https://vaadin.com) | Used for building complex, interactive applications with Java alone, enhanceable with TypeScript and React components | - | - | -| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | - -### Workflow Orchestration Engines - -| | | | | -|---|---|---|---| -| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | -| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | ![](https://img.shields.io/github/stars/flowable/flowable-engine?style=flat-square&label=) | ![](https://img.shields.io/github/last-commit/flowable/flowable-engine?style=flat-square&label=) -| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | - -## Resources - -### Related Awesome Lists - -_Awesome Lists related to the Java & JVM ecosystem._ - -- [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) -- [Awesome REST](https://github.com/marmelab/awesome-rest) -- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) -- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) -- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) -- [Useful Java Links](https://github.com/Vedenin/useful-java-links) -- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) -- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) - -### Communities - -_Active discussions._ - -- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. -- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. - -### Frontends - -_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ - -- [java.libhunt.com](https://java.libhunt.com) - -### Influential Books - -_Books that made a big impact and are still worth reading._ - -- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) -- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) -- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) -- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) -- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) -- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) -- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) - -### Podcasts and Screencasts - -_Something to look at or listen to while programming._ - -- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. -- [A Bootiful Podcast](https://bootifulpodcast.fm) -- [Foojay Podcast](https://foojay.io/today/category/podcast/) -- [Inside Java](https://inside.java/podcast) (Official) -- [Java Off Heap](http://www.javaoffheap.com) -- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. - -### People - -#### Socials - -_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://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://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](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://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. -- [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. -- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. -- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. -- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. -- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. -- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. -- [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://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. - -### Websites - -_Sites to read._ - -- [Baeldung](https://www.baeldung.com) -- [Dzone](https://dzone.com) -- [foojay.io](https://foojay.io) -- [Google Java Style](https://google.github.io/styleguide/javaguide.html) -- [InfoQ](https://www.infoq.com) -- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) -- [Java, SQL, and jOOQ](https://blog.jooq.org) -- [Java.net](https://community.oracle.com/community/java) -- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) -- [JavaWorld](https://www.javaworld.com) -- [JAXenter](https://jaxenter.com) -- [RebelLabs](https://zeroturnaround.com/rebellabs) -- [OverOps Blog](https://blog.overops.com) -- [TheServerSide.com](http://www.theserverside.com) -- [Vanilla Java](https://vanilla-java.github.io) -- [Voxxed](https://www.voxxed.com) -- [Java Weekly](https://discu.eu/weekly/java/) - -## Contributing - -Contributions are very welcome! - -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 diff --git a/scripts/.tool-versions b/scripts/.tool-versions new file mode 100644 index 00000000..99874193 --- /dev/null +++ b/scripts/.tool-versions @@ -0,0 +1 @@ +java temurin-25.0.0+36.0.LTS diff --git a/scripts/Constants.java b/scripts/Constants.java new file mode 100644 index 00000000..f9414c18 --- /dev/null +++ b/scripts/Constants.java @@ -0,0 +1,57 @@ +import java.util.regex.Pattern; + +/** + * Constants used across all processing scripts. + */ +public final class Constants { + + private Constants() {} + + // Markdown section markers + public static final String SECTION = "## "; + public static final String SUBSECTION = "### "; + public static final String PROJECTS_SECTION = "## Projects"; + + // File patterns and markers + public static final String ENTRY_PATTERN = "^\\s*-\\s*\\[.*"; + public static final Pattern PROJECT_PATTERN = Pattern.compile("^\\s*-\\s*\\[([^\\]]+)\\]\\(([^)]+)\\)\\s*-\\s*(.+)"); + public static final String INDENTED_LINE_PATTERN = "^\\s+.*"; + + // File extensions and names + public static final String PARSED_PROJECTS_FILE = "parsed-projects.txt"; + public static final String GITHUB_BADGES_FILE = "github-badges.txt"; + public static final String GENERATED_TABLES_FILE = "generated-tables.html"; + public static final String CONTRIBUTE_README_FILE = "CONTRIBUTE_README.md"; + public static final String README_FILE = "README.md"; + + // Temporary directory + public static final String TMP_DIR = ".tmp"; + + // File content markers + public static final String SECTION_SEPARATOR = "---"; + public static final String HTML_COMMENT_PREFIX = ""; + public static final String NAME_PREFIX = "NAME:"; + public static final String URL_PREFIX = "URL:"; + public static final String DESC_PREFIX = "DESC:"; + public static final String SKIP_PREFIX = "SKIP:"; + public static final String SECTION_PREFIX = "SECTION:"; + public static final String REPO_PREFIX = "REPO:"; + public static final String STARS_PREFIX = "STARS:"; + public static final String COMMIT_PREFIX = "COMMIT:"; + + // HTML and styling + public static final String TABLE_STYLE = "width:100%;table-layout:fixed;border-collapse:collapse;"; + public static final String NAME_CELL_STYLE = "width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"; + public static final String DESC_CELL_STYLE = "width:65%;word-wrap:break-word;"; + public static final String BADGE_CELL_STYLE = "width:7.5%;text-align:center;"; + + // Badge URLs + public static final String GITHUB_STARS_BADGE_URL = "https://img.shields.io/github/stars/%s?style=flat-square&label="; + public static final String GITHUB_LAST_COMMIT_BADGE_URL = "https://img.shields.io/github/last-commit/%s?style=flat-square&label="; + + // Default values + public static final String NO_DESCRIPTION = "No description available"; + public static final String NO_BADGE = "-"; +} diff --git a/scripts/FileUtils.java b/scripts/FileUtils.java new file mode 100644 index 00000000..f29cd59d --- /dev/null +++ b/scripts/FileUtils.java @@ -0,0 +1,63 @@ +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +/** + * Common file operations used across multiple processing scripts. + */ +public class FileUtils { + + /** + * Validates that a file exists and is readable. + */ + public static void validateInputFile(Path inputPath) throws IOException { + if (!Files.exists(inputPath)) { + throw new IOException("ERROR: Input file not found at: %s".formatted(inputPath.toAbsolutePath())); + } + if (!Files.isReadable(inputPath)) { + throw new IOException("ERROR: Input file is not readable: %s".formatted(inputPath.toAbsolutePath())); + } + } + + /** + * Safely writes content to a file. + */ + public static void writeOutputFile(Path outputPath, String content) throws IOException { + try { + Files.writeString(outputPath, content); + } catch (IOException e) { + throw new IOException("ERROR: Failed to write output file: %s".formatted(e.getMessage()), e); + } + } + + /** + * Reads file content as string. + */ + public static String readFileContent(Path inputPath) throws IOException { + try { + return Files.readString(inputPath); + } catch (IOException e) { + throw new IOException("ERROR: Failed to read input file: %s".formatted(e.getMessage()), e); + } + } + + /** + * Gets file statistics. + */ + public static String getFileStats(Path filePath) throws IOException { + var lines = Files.readAllLines(filePath).size(); + var size = Files.size(filePath); + return "Lines: %d, Size: %d bytes".formatted(lines, size); + } + + /** + * Ensures the temporary directory exists. + */ + public static Path ensureTmpDirectory() throws IOException { + var tmpDir = Path.of(".tmp"); + if (!Files.exists(tmpDir)) { + Files.createDirectories(tmpDir); + } + return tmpDir; + } +} diff --git a/scripts/ProjectEntry.java b/scripts/ProjectEntry.java new file mode 100644 index 00000000..954437a1 --- /dev/null +++ b/scripts/ProjectEntry.java @@ -0,0 +1,31 @@ +import java.util.regex.Pattern; + +/** + * Represents a parsed project entry from the markdown file. + */ +public record ProjectEntry( + String name, + String url, + String description, + int linesToSkip, + String section +) { + /** + * Checks if this is a GitHub repository. + */ + public boolean isGitHubRepo() { + return url != null && url.contains("github.com"); + } + + /** + * Extracts GitHub repository name from URL. + */ + public String getGitHubRepo() { + if (!isGitHubRepo()) { + return null; + } + var pattern = Pattern.compile("https://github\\.com/([^)/\\s]+/[^)\\s#]+)"); + var matcher = pattern.matcher(url); + return matcher.find() ? matcher.group(1) : null; + } +} diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 00000000..5d41bcf6 --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,121 @@ +# README Processing Scripts + +This directory contains a modular workflow for processing the `CONTRIBUTE_README.md` file into a formatted `README.md` with HTML tables and GitHub badges. + +## Workflow Steps + +The processing is split into 6 logical steps, each with its own script: + +### 1. Input Validation (`1-validate-input.java`) +- Validates that `CONTRIBUTE_README.md` exists and is readable +- Provides file statistics +- **Output**: Validation status + +### 2. Project Parsing (`2-parse-projects.java`) +- Parses markdown content to extract project entries +- Handles multi-line descriptions +- **Input**: `CONTRIBUTE_README.md` +- **Output**: `parsed-projects.txt` + +### 3. Badge Generation (`3-generate-badges.java`) +- Generates GitHub badges for repositories +- Creates stars and last-commit badges +- **Input**: `parsed-projects.txt` +- **Output**: `github-badges.txt` + +### 4. Table Generation (`4-generate-tables.java`) +- Combines parsed projects with badges +- Generates HTML tables with proper styling +- **Input**: `parsed-projects.txt`, `github-badges.txt` +- **Output**: `generated-tables.html` + +### 5. Final Assembly (`5-assemble-readme.java`) +- Combines original content with generated tables +- Produces the final `README.md` +- **Input**: `CONTRIBUTE_README.md`, `generated-tables.html` +- **Output**: `README.md` + +### 6. Validation (`6-validate-transformation.java`) +- Validates that all entries from original README are present in transformed README +- Ensures entries are in the correct sections +- Reports missing entries, wrong sections, and extra entries +- **Input**: `CONTRIBUTE_README.md`, `README.md` +- **Output**: Validation report + +## Usage + +### Run Complete Workflow +```bash +java --enable-preview --source 25 scripts/run_workflow.java +``` + +### Run Individual Steps +```bash +# Run step 1 (validation) +java --enable-preview --source 25 scripts/run_workflow.java 1 + +# Run step 2 (parsing) with custom input +java --enable-preview --source 25 scripts/run_workflow.java 2 custom-input.md + +# Run step 3 (badge generation) +java --enable-preview --source 25 scripts/run_workflow.java 3 + +# Run step 6 (validation) +java --enable-preview --source 25 scripts/run_workflow.java 6 +``` + +### Run Steps Directly +```bash +# Validate input +java --enable-preview --source 25 scripts/step_1_validate_input.java + +# Parse projects +java --enable-preview --source 25 scripts/step_2_parse_projects.java CONTRIBUTE_README.md .tmp/parsed-projects.txt + +# Generate badges +java --enable-preview --source 25 scripts/step_3_generate_badges.java .tmp/parsed-projects.txt .tmp/github-badges.txt + +# Generate tables +java --enable-preview --source 25 scripts/step_4_generate_tables.java .tmp/parsed-projects.txt .tmp/github-badges.txt .tmp/generated-tables.html + +# Assemble final README +java --enable-preview --source 25 scripts/step_5_assemble_readme.java CONTRIBUTE_README.md .tmp/generated-tables.html README.md + +# Validate transformation +java --enable-preview --source 25 scripts/step_6_validate_transformation.java CONTRIBUTE_README.md README.md +``` + +## Benefits of Modular Approach + +1. **Easy Debugging**: Each step can be run independently to identify where issues occur +2. **Incremental Processing**: Can re-run specific steps without re-processing everything +3. **Clear Separation**: Each script has a single responsibility +4. **Better Error Handling**: Failures are isolated to specific steps +5. **Maintainability**: Easier to modify individual steps without affecting others + +## Temporary Files + +The workflow creates several temporary files in the `.tmp/` directory: +- `.tmp/parsed-projects.txt` - Parsed project entries +- `.tmp/github-badges.txt` - Badge mappings +- `.tmp/generated-tables.html` - Generated HTML tables + +These files are intermediate outputs and can be safely deleted after processing. The `.tmp/` directory is automatically created if it doesn't exist. + +## Dependencies + +- Java 25+ (uses modern Java features like records and switch expressions) +- No external dependencies required + +## GitHub Actions Integration + +The workflow is now integrated with GitHub Actions and runs as separate steps: + +1. **Step 1 - Validate Input**: Ensures CONTRIBUTE_README.md exists +2. **Step 2 - Parse Projects**: Extracts project entries from markdown +3. **Step 3 - Generate Badges**: Creates GitHub badges for repositories +4. **Step 4 - Generate Tables**: Combines projects with badges into HTML tables +5. **Step 5 - Assemble README**: Produces the final README.md +6. **Step 6 - Validate Transformation**: Ensures all entries are present and in correct sections + +Each step runs independently in the GitHub Actions workflow, making it easy to identify where issues occur if the workflow fails. diff --git a/scripts/run_workflow.java b/scripts/run_workflow.java new file mode 100644 index 00000000..66e23509 --- /dev/null +++ b/scripts/run_workflow.java @@ -0,0 +1,138 @@ +import java.io.IOException; +import java.nio.file.Path; +import java.util.List; +import java.util.stream.Stream; + +/** + * Orchestrates the entire README processing workflow by running each step in sequence. + * + * Usage: + * java run-workflow.java # Run complete workflow + * java run-workflow.java [step] # Run specific step (1-5) + * java run-workflow.java [step] [input] # Run step with custom input + */ +void main(String[] args) { + try { + var startTime = System.currentTimeMillis(); + + if (args.length == 0) { + // Run complete workflow + runCompleteWorkflow(); + } else { + // Run specific step + var step = Integer.parseInt(args[0]); + var input = args.length > 1 ? args[1] : null; + runStep(step, input); + } + var duration = System.currentTimeMillis() - startTime; + System.out.printf("Total execution time: %dms%n", duration); + } catch (Exception e) { + var errorMessage = e.getMessage(); + System.err.printf("ERROR: Workflow failed: %s%n", errorMessage); + e.printStackTrace(); + System.exit(1); + } +} + +/** + * Runs the complete workflow + */ +void runCompleteWorkflow() throws IOException, InterruptedException { + System.out.println("Starting complete README processing workflow...\n"); + + // Step 1: Validate input + System.out.println("=".repeat(50)); + runStep(1, null); + + // Step 2: Parse projects + System.out.println("=".repeat(50)); + runStep(2, null); + + // Step 3: Generate badges + System.out.println("=".repeat(50)); + runStep(3, null); + + // Step 4: Generate tables + System.out.println("=".repeat(50)); + runStep(4, null); + + // Step 5: Assemble final README + System.out.println("=".repeat(50)); + runStep(5, null); + + // Step 6: Validate transformation + System.out.println("=".repeat(50)); + runStep(6, null); + + System.out.println("=".repeat(50)); + System.out.println("Workflow completed successfully!"); +} + +/** + * Runs a specific step + */ +void runStep(int step, String input) throws IOException, InterruptedException { + var command = switch (step) { + case 1 -> buildCommand( + "step_1_validate_input.java", + input != null ? input : Constants.CONTRIBUTE_README_FILE + ); + case 2 -> buildCommand( + "step_2_parse_projects.java", + input != null ? input : Constants.CONTRIBUTE_README_FILE, + Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE + ); + case 3 -> buildCommand( + "step_3_generate_badges.java", + Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE, + Constants.TMP_DIR + "/" + Constants.GITHUB_BADGES_FILE + ); + case 4 -> buildCommand( + "step_4_generate_tables.java", + Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE, + Constants.TMP_DIR + "/" + Constants.GITHUB_BADGES_FILE, + Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE + ); + case 5 -> buildCommand( + "step_5_assemble_readme.java", + input != null ? input : Constants.CONTRIBUTE_README_FILE, + Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE, + Constants.README_FILE + ); + case 6 -> buildCommand( + "step_6_validate_transformation.java", + input != null ? input : Constants.CONTRIBUTE_README_FILE, + Constants.README_FILE + ); + default -> throw new IllegalArgumentException("Invalid step: %d. Must be 1-6.".formatted(step)); + }; + System.out.printf("Running Step %d...%n", step); + + var processBuilder = new ProcessBuilder(command); + processBuilder.directory(Path.of(".").toFile()); + + var process = processBuilder.start(); + var exitCode = process.waitFor(); + + if (exitCode != 0) { + throw new RuntimeException("Step %d failed with exit code: %d".formatted(step, exitCode)); + } + System.out.printf("Step %d completed successfully!%n", step); +} + +/** + * Builds a command array for running a script. + */ +String[] buildCommand(String scriptName, String... args) { + var baseCommand = List.of( + "java", + "--enable-preview", + "--source", + "25", + "scripts/" + scriptName + ); + var allArgs = List.of(args); + + return Stream.concat(baseCommand.stream(), allArgs.stream()) + .toArray(String[]::new); +} diff --git a/scripts/step_1_validate_input.java b/scripts/step_1_validate_input.java new file mode 100644 index 00000000..8ad652f6 --- /dev/null +++ b/scripts/step_1_validate_input.java @@ -0,0 +1,28 @@ +import java.io.IOException; +import java.nio.file.*; +import java.nio.file.attribute.BasicFileAttributes; + +/** + * Validates that the input file exists and is readable. + * + * Usage: java step_1_validate_input.java [input_file] + */ +void main(String[] args) throws IOException { + var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); + + System.out.println("Step 1: Validating input file..."); + System.out.printf("Input file: %s%n", inputPath.toAbsolutePath()); + + if (!Files.exists(inputPath) || !Files.isReadable(inputPath)) { + System.err.printf("ERROR: File '%s' does not exist or is not readable.%n", inputPath); + System.exit(1); + } + System.out.println("SUCCESS: Input file validation passed!"); + + var attrs = Files.readAttributes(inputPath, BasicFileAttributes.class); + System.out.printf( + "File size: %d bytes, Last modified: %s%n", + attrs.size(), + attrs.lastModifiedTime() + ); +} diff --git a/scripts/step_2_parse_projects.java b/scripts/step_2_parse_projects.java new file mode 100644 index 00000000..a9b83161 --- /dev/null +++ b/scripts/step_2_parse_projects.java @@ -0,0 +1,152 @@ +import java.io.IOException; +import java.nio.file.*; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Parses the markdown content to extract project entries and saves it in a temporary file. + * + * Usage: java step_2_parse_projects.java [input_file] [output_file] + */ +void main(String[] args) throws IOException { + var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); + var tmpDir = FileUtils.ensureTmpDirectory(); + var outputPath = args.length > 1 ? Path.of(args[1]) : tmpDir.resolve(Constants.PARSED_PROJECTS_FILE); + + System.out.println("Step 2: Parsing project entries..."); + System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); + System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); + + FileUtils.validateInputFile(inputPath); + var content = FileUtils.readFileContent(inputPath); + var projectEntries = parseProjectEntries(content); + writeParsedEntries(outputPath, projectEntries); + + System.out.printf( + "SUCCESS: Successfully parsed %d project entries!%n", + projectEntries.size() + ); + System.out.printf( + "GitHub repos: %d%n", + projectEntries.stream().filter(ProjectEntry::isGitHubRepo).count() + ); +} + +/** + * Parses project entries from markdown content. + */ +List parseProjectEntries(String content) { + var lines = content.split("\n"); + var projectEntries = new ArrayList(); + var inProjectSection = false; + var currentSection = ""; + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + var isSubsection = line.startsWith(Constants.SUBSECTION); + + // Check if we're entering the Projects section + if (line.startsWith(Constants.PROJECTS_SECTION)) { + inProjectSection = true; + continue; + } + // Check if we're leaving the Projects section + if (inProjectSection && + line.startsWith(Constants.SECTION) && + !isSubsection && + !line.equals(Constants.PROJECTS_SECTION) + ) { + inProjectSection = false; + } + if (!inProjectSection) { + continue; + } + // Track current subsection + if (isSubsection) { + currentSection = line.substring(Constants.SUBSECTION.length()); + continue; + } + // Skip headers and empty lines + var isHeader = (line.startsWith("_") && line.endsWith("_")); + if (isHeader || line.isBlank()) { + continue; + } + // List entries + if (line.matches(Constants.ENTRY_PATTERN)) { + var projectEntry = parseProjectEntry(lines, i, currentSection); + if (projectEntry != null) { + projectEntries.add(projectEntry); + i += projectEntry.linesToSkip() - 1; + } + } + } + return projectEntries; +} + +/** + * Parses a single project entry from the list format. + */ +ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { + var matcher = Constants.PROJECT_PATTERN.matcher(lines[startIndex]); + + if (matcher.find()) { + var name = matcher.group(1); + var url = matcher.group(2); + var description = new StringBuilder(matcher.group(3)); + var linesToSkip = 1; + + // Handle multi-line descriptions + for (int i = startIndex + 1; i < lines.length; i++) { + var nextLine = lines[i]; + + if (nextLine.isBlank() || + nextLine.startsWith(Constants.SECTION) || + nextLine.startsWith(Constants.SUBSECTION) || + nextLine.matches(Constants.ENTRY_PATTERN) + ) { + break; + } + + if (nextLine.matches(Constants.INDENTED_LINE_PATTERN)) { + description.append(" ").append(nextLine.trim()); + linesToSkip++; + } else if (!nextLine.trim().isEmpty()) { + description.append(" ").append(nextLine.trim()); + linesToSkip++; + } + } + return new ProjectEntry( + name, + url, + description.toString(), + linesToSkip, + section + ); + } + return null; +} + +/** + * Writes parsed entries to a temporary file in a simple format. + */ +void writeParsedEntries(Path outputPath, List entries) throws IOException { + var content = entries.stream() + .map(e -> """ + %s%s + %s%s + %s%s + %s%d + %s%s + %s + """.formatted( + Constants.NAME_PREFIX, e.name(), + Constants.URL_PREFIX, e.url(), + Constants.DESC_PREFIX, e.description(), + Constants.SKIP_PREFIX, e.linesToSkip(), + Constants.SECTION_PREFIX, e.section(), + Constants.SECTION_SEPARATOR + )) + .collect(Collectors.joining("\n")); + + FileUtils.writeOutputFile(outputPath, content); +} diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java new file mode 100644 index 00000000..29c537c4 --- /dev/null +++ b/scripts/step_3_generate_badges.java @@ -0,0 +1,134 @@ +import java.io.*; +import java.nio.file.*; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Generates GitHub badges idempotently for repositories and creates a badge mapping file. + * + * Usage: step_3_generate_badges.java [parsed_projects_file] [badges_file] + */ +void main(String[] args) throws IOException { + var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE); + var tmpDir = FileUtils.ensureTmpDirectory(); + var outputPath = args.length > 1 ? Path.of(args[1]) : tmpDir.resolve(Constants.GITHUB_BADGES_FILE); + + System.out.println("Step 3: Generating GitHub badges..."); + System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); + System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); + + // Validate input + FileUtils.validateInputFile(inputPath); + + // Read parsed entries + var entries = readParsedEntries(inputPath); + + // Generate badges + var badgeMappings = generateBadgeMappings(entries); + + // Write badge mappings + writeBadgeMappings(outputPath, badgeMappings); + + System.out.printf( + "SUCCESS: Successfully generated badges for %d repositories!%n", + badgeMappings.size() + ); +} + +/** + * Reads parsed entries from the temporary file. + */ +List readParsedEntries(Path inputPath) throws IOException { + var content = FileUtils.readFileContent(inputPath); + var entries = new ArrayList(); + var sections = content.split(Constants.SECTION_SEPARATOR); + + for (var section : sections) { + if (section.isBlank()) { + continue; + } + + String name = null, url = null, description = null; + int linesToSkip = 0; + + for (var line : section.split("\n")) { + if (line.startsWith(Constants.NAME_PREFIX)) { + name = line.substring(Constants.NAME_PREFIX.length()); + } else if (line.startsWith(Constants.URL_PREFIX)) { + url = line.substring(Constants.URL_PREFIX.length()); + } else if (line.startsWith(Constants.DESC_PREFIX)) { + description = line.substring(Constants.DESC_PREFIX.length()); + } else if (line.startsWith(Constants.SKIP_PREFIX)) { + linesToSkip = Integer.parseInt(line.substring(Constants.SKIP_PREFIX.length())); + } + } + if (name != null && url != null) { + entries.add(new ProjectEntry( + name, + url, + description != null ? description : "", + linesToSkip, + "" + )); + } + } + return entries; +} + +/** + * Generates badge mappings for GitHub repositories. + */ +List generateBadgeMappings(List entries) { + var mappings = new ArrayList(); + + for (var entry : entries) { + if (!entry.isGitHubRepo()) { + continue; + } + + var repo = entry.getGitHubRepo(); + if (repo == null) { + continue; + } + + var starsBadge = "\"GitHub".formatted(Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); + + var lastCommitBadge = "\"Last".formatted(Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); + + mappings.add(new BadgeMapping( + entry.name(), + repo, + starsBadge, + lastCommitBadge + )); + } + + return mappings; +} + +/** + * Writes badge mappings to a file. + */ +void writeBadgeMappings(Path outputPath, List mappings) throws IOException { + var content = mappings.stream() + .map(m -> String.format( + "%s%s\n%s%s\n%s%s\n%s%s", + Constants.REPO_PREFIX, m.repo(), + Constants.NAME_PREFIX, m.name(), + Constants.STARS_PREFIX, m.starsBadge(), + Constants.COMMIT_PREFIX, m.lastCommitBadge() + )) + .collect(Collectors.joining("\n\n")); + + FileUtils.writeOutputFile(outputPath, content); +} + +/** + * Badge mapping. + */ +record BadgeMapping( + String name, + String repo, + String starsBadge, + String lastCommitBadge +) {} diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java new file mode 100644 index 00000000..26fd01c9 --- /dev/null +++ b/scripts/step_4_generate_tables.java @@ -0,0 +1,201 @@ +import java.io.*; +import java.nio.file.*; +import java.util.*; + +/** + * Generates HTML tables from parsed project entries and badge mappings. + * + * Usage: java step_4_generate_tables.java [parsed_projects_file] [badges_file] [output_file] + */ +void main(String[] args) throws IOException { + var projectsPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE); + var badgesPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.TMP_DIR + "/" + Constants.GITHUB_BADGES_FILE); + var tmpDir = FileUtils.ensureTmpDirectory(); + var outputPath = args.length > 2 ? Path.of(args[2]) : tmpDir.resolve(Constants.GENERATED_TABLES_FILE); + + System.out.println("Step 4: Generating HTML tables..."); + System.out.printf("Projects: %s%n", projectsPath.toAbsolutePath()); + System.out.printf("Badges: %s%n", badgesPath.toAbsolutePath()); + System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); + + FileUtils.validateInputFile(projectsPath); + FileUtils.validateInputFile(badgesPath); + + var projectEntries = readParsedEntries(projectsPath); + var badgeMappings = readBadgeMappings(badgesPath); + + var tables = generateHtmlTables(projectEntries, badgeMappings); + FileUtils.writeOutputFile(outputPath, tables); + + System.out.println("SUCCESS: Successfully generated HTML tables!"); + System.out.printf("Tables created: %d%n", countTables(tables)); + System.out.printf("Total entries: %d%n", projectEntries.size()); +} + +/** + * Reads parsed entries. + */ +List readParsedEntries(Path inputPath) throws IOException { + var content = FileUtils.readFileContent(inputPath); + var entries = new ArrayList(); + + for (var section : content.split(Constants.SECTION_SEPARATOR)) { + if (section.isBlank()) { + continue; + } + String name = null, url = null, description = null, sectionName = null; + int linesToSkip = 0; + + for (var line : section.split("\n")) { + if (line.startsWith(Constants.NAME_PREFIX)) { + name = line.substring(Constants.NAME_PREFIX.length()); + } else if (line.startsWith(Constants.URL_PREFIX)) { + url = line.substring(Constants.URL_PREFIX.length()); + } else if (line.startsWith(Constants.DESC_PREFIX)) { + description = line.substring(Constants.DESC_PREFIX.length()); + } else if (line.startsWith(Constants.SKIP_PREFIX)) { + linesToSkip = Integer.parseInt(line.substring(Constants.SKIP_PREFIX.length())); + } else if (line.startsWith(Constants.SECTION_PREFIX)) { + sectionName = line.substring(Constants.SECTION_PREFIX.length()); + } + } + if (name != null && url != null) { + entries.add(new ProjectEntry( + name, + url, + description != null ? description : "", + linesToSkip, + sectionName != null ? sectionName : "" + )); + } + } + return entries; +} + +/** + * Reads badge mappings. + */ +Map readBadgeMappings(Path badgesPath) throws IOException { + var content = FileUtils.readFileContent(badgesPath); + var mappings = new HashMap(); + + for (var section : content.split("\n\n")) { + if (section.isBlank()) { + continue; + } + String repo = null, name = null, starsBadge = null, lastCommitBadge = null; + + for (var line : section.split("\n")) { + if (line.trim().isEmpty()) { + continue; + } + if (line.startsWith(Constants.REPO_PREFIX)) { + repo = line.substring(Constants.REPO_PREFIX.length()); + } else if (line.startsWith(Constants.NAME_PREFIX)) { + name = line.substring(Constants.NAME_PREFIX.length()); + } else if (line.startsWith(Constants.STARS_PREFIX)) { + starsBadge = line.substring(Constants.STARS_PREFIX.length()); + } else if (line.startsWith(Constants.COMMIT_PREFIX)) { + lastCommitBadge = line.substring(Constants.COMMIT_PREFIX.length()); + } + } + if (repo != null && name != null) { + mappings.put(name, new BadgeMapping( + name, + repo, + starsBadge, + lastCommitBadge + )); + } + } + return mappings; +} + +/** + * Generates HTML tables from project entries and badge mappings. + */ +String generateHtmlTables(List entries, Map badgeMappings) { + var tables = new StringBuilder(); + var current = new ArrayList(); + var currentSection = ""; + + for (var entry : entries) { + // Check if we're starting a new section + if (!currentSection.equals(entry.section())) { + // Finish current table if we have entries + if (!current.isEmpty()) { + tables.append(createHtmlTable(current, badgeMappings)); + current.clear(); + } + currentSection = entry.section(); + } + + current.add(entry); + } + // Finish any remaining entries + if (!current.isEmpty()) { + tables.append(createHtmlTable(current, badgeMappings)); + } + return tables.toString(); +} + +/** + * Creates a single HTML table from project entries. + */ +String createHtmlTable(List entries, Map badgeMappings) { + if (entries.isEmpty()) { + return ""; + } + var sectionName = entries.get(0).section(); + var table = new StringBuilder(""" +%s%s --> + + +""".formatted(Constants.SECTION_COMMENT_PREFIX, sectionName, Constants.TABLE_STYLE)); + + for (var entry : entries) { + var desc = entry.description().isEmpty() ? Constants.NO_DESCRIPTION : entry.description(); + var badge = badgeMappings.get(entry.name()); + var stars = badge != null ? badge.starsBadge() : Constants.NO_BADGE; + var commit = badge != null ? badge.lastCommitBadge() : Constants.NO_BADGE; + + table.append(""" + + + + + + +""".formatted( + Constants.NAME_CELL_STYLE, entry.url(), entry.name(), + Constants.DESC_CELL_STYLE, desc, + Constants.BADGE_CELL_STYLE, stars, + Constants.BADGE_CELL_STYLE, commit + )); + } + table.append(""" + +
+ %s + %s%s%s
+ +"""); + return table.toString(); +} + +/** + * Counts the number of tables in the generated content. + */ +int countTables(String content) { + return (int) content.lines().filter(l -> l.contains(" 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); + var tablesPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE); + var outputPath = args.length > 2 ? Path.of(args[2]) : Path.of(Constants.README_FILE); + + System.out.println("Step 5: Assembling final README..."); + System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); + System.out.printf("Tables: %s%n", tablesPath.toAbsolutePath()); + System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); + + FileUtils.validateInputFile(inputPath); + FileUtils.validateInputFile(tablesPath); + + var originalContent = FileUtils.readFileContent(inputPath); + var tablesContent = FileUtils.readFileContent(tablesPath); + var finalContent = assembleReadme(originalContent, tablesContent); + FileUtils.writeOutputFile(outputPath, finalContent); + + System.out.println("SUCCESS: Successfully assembled final README!"); + System.out.println("Statistics:"); + System.out.printf(" - %s%n", FileUtils.getFileStats(outputPath)); + System.out.printf(" - Badges: %d%n", countBadges(finalContent)); +} + +/** + * Replaces project sections with HTML tables. + */ +String assembleReadme(String originalContent, String tablesContent) { + var lines = originalContent.split("\n"); + var result = new StringBuilder(); + var inProjectSection = false; + var allTables = tablesContent.split(""); + // Filter out empty tables + var tables = java.util.Arrays.stream(allTables) + .filter(t -> t.trim().length() > 0) + .toArray(String[]::new); + + // Create a mapping of sections to their tables + var sectionToTableMap = createSectionToTableMap(tables); + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + + if (line.startsWith(Constants.PROJECTS_SECTION)) { + inProjectSection = true; + result.append(line).append("\n\n"); + continue; + } + // Check for the hidden delimiter that marks the end of Projects section + if (inProjectSection && line.contains(Constants.END_PROJECTS_SECTION_COMMENT)) { + System.out.printf( + "FOUND %s delimiter at line %d%n", Constants.END_PROJECTS_SECTION_COMMENT, + i + ); + inProjectSection = false; + } + // Check if we're leaving the Projects section + if (inProjectSection && + line.startsWith(Constants.SECTION) && + !line.equals(Constants.PROJECTS_SECTION) + ) { + inProjectSection = false; + } + if (!inProjectSection) { + result.append(line).append("\n"); + continue; + } + // Handle subsection headers + if (line.startsWith(Constants.SUBSECTION)) { + result.append(line).append("\n\n"); + continue; + } + // Handle headers + if (line.startsWith("_") && line.endsWith("_")) { + result.append(line).append("\n\n"); + continue; + } + // Skip empty lines + if (line.isBlank()) { + continue; + } + // Replace list items with HTML tables + if (line.matches(Constants.ENTRY_PATTERN)) { + // Find the current subsection + var currentSubsection = findCurrentSubsection(lines, i); + if (currentSubsection != null && sectionToTableMap.containsKey(currentSubsection)) { + result.append(sectionToTableMap.get(currentSubsection)).append("\n\n"); + } + // Skip ALL remaining list items in this section until we hit the next subsection or end delimiter + while (i + 1 < lines.length && + !lines[i + 1].startsWith(Constants.SUBSECTION) && + !lines[i + 1].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { + i++; + if (lines[i].matches(Constants.ENTRY_PATTERN)) { + // Skip this list item + continue; + } + if (lines[i].startsWith(Constants.SECTION) && + !lines[i].startsWith(Constants.SUBSECTION) + ) { + // We've hit the end of the Projects section + inProjectSection = false; + break; + } + if (lines[i].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { + // We've hit the end delimiter + inProjectSection = false; + break; + } + } + continue; + } + // Handle other content + if (line.isBlank() || line.startsWith(Constants.HTML_COMMENT_PREFIX)) { + result.append(line).append("\n"); + continue; + } + result.append(line).append("\n"); + } + return result.toString(); +} + +/** + * Counts the number of badges in the content. + */ +long countBadges(String content) { + return content.lines() + .filter(line -> line.contains("img.shields.io")) + .count(); +} + +/** + * Creates a mapping of section names to their corresponding HTML tables. + */ +Map createSectionToTableMap(String[] tables) { + var sectionToTableMap = new HashMap(); + + for (var table : tables) { + // Extract section name from the comment + var lines = table.split("\n"); + for (var line : lines) { + if (line.contains(Constants.SECTION_COMMENT_PREFIX)) { + var sectionName = line.replace(Constants.SECTION_COMMENT_PREFIX, "").replace(" -->", "").trim(); + sectionToTableMap.put(sectionName, table); + break; + } + } + } + + return sectionToTableMap; +} + +/** + * Finds the current subsection by looking backwards from the given line index. + */ +String findCurrentSubsection(String[] lines, int currentIndex) { + for (int i = currentIndex; i >= 0; i--) { + var line = lines[i]; + if (line.startsWith(Constants.SUBSECTION)) { + return line.substring(Constants.SUBSECTION.length()); + } + } + return null; +} diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java new file mode 100644 index 00000000..aa38a088 --- /dev/null +++ b/scripts/step_6_validate_transformation.java @@ -0,0 +1,355 @@ +import java.io.IOException; +import java.nio.file.*; +import java.util.*; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +/** + * Validates that all entries from the original README are present in the transformed README + * and are in the correct sections. + * + * Usage: java step_6_validate_transformation.java [original_file] [transformed_file] + */ +void main(String[] args) throws IOException { + var originalPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); + var transformedPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.README_FILE); + + System.out.println("Step 6: Validating transformation..."); + System.out.printf("Original: %s%n", originalPath.toAbsolutePath()); + System.out.printf("Transformed: %s%n", transformedPath.toAbsolutePath()); + + FileUtils.validateInputFile(originalPath); + FileUtils.validateInputFile(transformedPath); + + var originalContent = FileUtils.readFileContent(originalPath); + var transformedContent = FileUtils.readFileContent(transformedPath); + + var originalEntries = extractProjectEntries(originalContent); + var transformedEntries = extractProjectEntriesFromTables(transformedContent); + + System.out.printf("Found %d entries in original README%n", originalEntries.size()); + System.out.printf("Found %d entries in transformed README%n", transformedEntries.size()); + + var validationResult = validateTransformation(originalEntries, transformedEntries); + printValidationResults(validationResult); + + if (!validationResult.isValid()) { + System.err.println("VALIDATION FAILED!"); + System.exit(1); + } + + System.out.println("SUCCESS: All entries validated successfully!"); +} + +/** + * Extracts project entries from the original markdown format. + */ +List extractProjectEntries(String content) { + var lines = content.split("\n"); + var projectEntries = new ArrayList(); + var inProjectSection = false; + var currentSection = ""; + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + var isSubsection = line.startsWith(Constants.SUBSECTION); + + // Check if we're entering the Projects section + if (line.startsWith(Constants.PROJECTS_SECTION)) { + inProjectSection = true; + continue; + } + // Check if we're leaving the Projects section + if (inProjectSection && + line.startsWith(Constants.SECTION) && + !isSubsection && + !line.equals(Constants.PROJECTS_SECTION) + ) { + inProjectSection = false; + } + if (!inProjectSection) { + continue; + } + // Track current subsection + if (isSubsection) { + currentSection = line.substring(Constants.SUBSECTION.length()); + continue; + } + // Skip headers and empty lines + var isHeader = (line.startsWith("_") && line.endsWith("_")); + if (isHeader || line.isBlank()) { + continue; + } + // List entries + if (line.matches(Constants.ENTRY_PATTERN)) { + var projectEntry = parseProjectEntry(lines, i, currentSection); + if (projectEntry != null) { + projectEntries.add(projectEntry); + i += projectEntry.linesToSkip() - 1; + } + } + } + return projectEntries; +} + +/** + * Extracts project entries from HTML tables in the transformed README. + */ +List extractProjectEntriesFromTables(String content) { + var entries = new ArrayList(); + var lines = content.split("\n"); + var inProjectSection = false; + var currentSection = ""; + var inTable = false; + var tableSection = ""; + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + + // Track section changes + if (line.startsWith(Constants.PROJECTS_SECTION)) { + inProjectSection = true; + continue; + } + if (inProjectSection && + line.startsWith(Constants.SECTION) && + !line.startsWith(Constants.SUBSECTION) + ) { + inProjectSection = false; + continue; + } + if (!inProjectSection) { + continue; + } + + // Track subsection changes + if (line.startsWith(Constants.SUBSECTION)) { + currentSection = line.substring(Constants.SUBSECTION.length()); + continue; + } + + // Track table boundaries + if (line.contains("")) { + inTable = false; + continue; + } + + // Extract entries from table rows + if (inTable && line.contains("")) { + var entry = extractEntryFromTableRow(lines, i, tableSection); + if (entry != null) { + entries.add(entry); + } + } + } + return entries; +} + +/** + * Extracts a project entry from a table row. + */ +ProjectEntry extractEntryFromTableRow(String[] lines, int startIndex, String section) { + var name = ""; + var url = ""; + var description = ""; + + // Look for the next few lines to find name, URL, and description + for (int i = startIndex; i < Math.min(startIndex + 10, lines.length); i++) { + var line = lines[i]; + + // Extract name and URL from Name + if (line.contains("([^<]+)").matcher(line); + if (hrefMatch.find()) { + url = hrefMatch.group(1); + name = hrefMatch.group(2); + } + } + + // Extract description from the next cell + if (line.contains("word-wrap:break-word;")) { + var descMatch = Pattern.compile(">([^<]+)").matcher(line); + if (descMatch.find()) { + description = descMatch.group(1).trim(); + break; + } + } + } + + if (!name.isEmpty() && !url.isEmpty()) { + return new ProjectEntry( + name, + url, + description, + 1, + section + ); + } + return null; +} + +/** + * Parses a single project entry from the original markdown format. + */ +ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { + var matcher = Constants.PROJECT_PATTERN.matcher(lines[startIndex]); + + if (matcher.find()) { + var name = matcher.group(1); + var url = matcher.group(2); + var description = new StringBuilder(matcher.group(3)); + var linesToSkip = 1; + + // Handle multi-line descriptions + for (int i = startIndex + 1; i < lines.length; i++) { + var nextLine = lines[i]; + + if (nextLine.isBlank() || + nextLine.startsWith(Constants.SECTION) || + nextLine.startsWith(Constants.SUBSECTION) || + nextLine.matches(Constants.ENTRY_PATTERN) + ) { + break; + } + + if (nextLine.matches(Constants.INDENTED_LINE_PATTERN)) { + description.append(" ").append(nextLine.trim()); + linesToSkip++; + } else if (!nextLine.trim().isEmpty()) { + description.append(" ").append(nextLine.trim()); + linesToSkip++; + } + } + return new ProjectEntry( + name, + url, + description.toString(), + linesToSkip, + section + ); + } + + return null; +} + +/** + * Validates that all original entries are present in the transformed version. + */ +ValidationResult validateTransformation(List original, List transformed) { + var missingEntries = new ArrayList(); + var wrongSectionEntries = new ArrayList(); + var extraEntries = new ArrayList(); + + // Create maps for easier lookup + var originalMap = original.stream() + .collect(Collectors.toMap( + e -> e.name().toLowerCase(), + e -> e, + (e1, e2) -> e1 + )); + + var transformedMap = transformed.stream() + .collect(Collectors.toMap( + e -> e.name().toLowerCase(), + e -> e, + (e1, e2) -> e1 + )); + + // Check for missing entries + for (var originalEntry : original) { + var key = originalEntry.name().toLowerCase(); + if (!transformedMap.containsKey(key)) { + missingEntries.add(originalEntry); + } else { + var transformedEntry = transformedMap.get(key); + if (!originalEntry.section().equals(transformedEntry.section())) { + wrongSectionEntries.add(new SectionMismatch( + originalEntry, + transformedEntry + )); + } + } + } + + // Check for extra entries (entries in transformed but not in original) + for (var transformedEntry : transformed) { + var key = transformedEntry.name().toLowerCase(); + if (!originalMap.containsKey(key)) { + extraEntries.add(transformedEntry); + } + } + return new ValidationResult( + missingEntries, + wrongSectionEntries, + extraEntries + ); +} + +/** + * Prints validation results in a readable format. + */ +void printValidationResults(ValidationResult result) { + System.out.printf("%n%s%n", "=".repeat(60)); + System.out.println("VALIDATION RESULTS"); + System.out.printf("%s%n", "=".repeat(60)); + + if (result.missingEntries().isEmpty() && + result.wrongSectionEntries().isEmpty() && + result.extraEntries().isEmpty()) { + System.out.println("All validations passed!"); + return; + } + + if (!result.missingEntries().isEmpty()) { + System.out.printf("MISSING ENTRIES (%d):%n", result.missingEntries().size()); + for (var entry : result.missingEntries()) { + System.out.printf(" - %s (Section: %s)%n", entry.name(), entry.section()); + } + System.out.println(); + } + + if (!result.wrongSectionEntries().isEmpty()) { + System.out.printf("WRONG SECTIONS (%d):%n", result.wrongSectionEntries().size()); + for (var mismatch : result.wrongSectionEntries()) { + System.out.printf(" - %s: Expected '%s', Found '%s'%n", + mismatch.original().name(), + mismatch.original().section(), + mismatch.transformed().section()); + } + System.out.println(); + } + + if (!result.extraEntries().isEmpty()) { + System.out.printf("EXTRA ENTRIES (%d):%n", result.extraEntries().size()); + for (var entry : result.extraEntries()) { + System.out.printf(" - %s (Section: %s)%n", entry.name(), entry.section()); + } + System.out.println(); + } +} + +/** + * Represents the result of validation. + */ +record ValidationResult( + List missingEntries, + List wrongSectionEntries, + List extraEntries +) { + boolean isValid() { + return missingEntries.isEmpty() && wrongSectionEntries.isEmpty(); + } +} + +/** + * Represents a section mismatch between original and transformed entries. + */ +record SectionMismatch( + ProjectEntry original, + ProjectEntry transformed +) {} From 629e9fde97889cf19ad2c1e8e6bc423343e9a690 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:16:50 +0200 Subject: [PATCH 384/533] Fix parsing --- .github/workflows/update-readme.yml | 10 +- README.md | 103 +++++++++++++- scripts/step_2_parse_projects.java | 43 +++++- scripts/step_5_assemble_readme.java | 33 ++++- scripts/step_6_validate_transformation.java | 150 ++++++++++++++++++-- 5 files changed, 317 insertions(+), 22 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index 25499cdf..6427dc87 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -24,11 +24,11 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} fetch-depth: 0 - - name: Set up Java - uses: actions/setup-java@v4 - with: - distribution: "temurin" - java-version: "25" + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: "25" - name: Step 1 - Validate Input run: | diff --git a/README.md b/README.md index ede2f559..cd7e3d8f 100644 --- a/README.md +++ b/README.md @@ -411,11 +411,12 @@ _Libraries that provide caching facilities._ _Libraries for everything related to the CLI._ #### Argument Parsing + _Libraries to assist with parsing command line arguments._ - + @@ -458,6 +459,18 @@ _Libraries to assist with parsing command line arguments._ + +
- -
+ +#### Text-Based User Interfaces + +_Libraries that provide TUI frameworks, or building blocks related functions._ + + + + + + - - - + + + - - - + + + - - - + + + - - - + + +
Jansi @@ -4676,7 +4689,8 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons - + + @@ -5111,6 +5125,16 @@ _Frameworks that are suites of multiple libraries encompassing several categorie + +
- -
+ +#### Other + + + + + + - - - + + + - - - + + +
CUBA Platform @@ -5939,11 +5963,12 @@ _Tools that substitute expressions in a template._ _Tools that test from model to the view._ #### Asynchronous + _Tools that simplify testing asynchronous services._ - + @@ -6002,6 +6027,18 @@ _Tools that simplify testing asynchronous services._ + +
GitHub stars Last commit
+ +#### BDD + +_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ + + + + + + + +
Cucumber @@ -6058,6 +6095,18 @@ _Tools that simplify testing asynchronous services._ GitHub stars Last commit
+ +#### Fixtures + +_Everything related to the creation and handling of random data._ + + + + + + + +
AutoParams @@ -6138,6 +6187,18 @@ _Tools that simplify testing asynchronous services._ GitHub stars Last commit
+ +#### Frameworks + +_Provide environments to run tests for a specific use case._ + + + + + + + +
Apache JMeter @@ -6226,6 +6287,18 @@ _Tools that simplify testing asynchronous services._ GitHub stars Last commit
+ +#### Matchers + +_Libraries that provide custom matchers._ + + + + + + + +
AssertJ @@ -6274,6 +6347,18 @@ _Tools that simplify testing asynchronous services._ GitHub stars Last commit
+ +#### Miscellaneous + +_Other stuff related to testing._ + + + + + + + +
ConsoleCaptor @@ -6362,6 +6447,18 @@ _Tools that simplify testing asynchronous services._ GitHub stars Last commit
+ +#### Mocking + +_Tools which mock collaborators to help testing single, isolated units._ + + + + + +
JMockit diff --git a/scripts/step_2_parse_projects.java b/scripts/step_2_parse_projects.java index a9b83161..63b37762 100644 --- a/scripts/step_2_parse_projects.java +++ b/scripts/step_2_parse_projects.java @@ -40,10 +40,12 @@ List parseProjectEntries(String content) { var projectEntries = new ArrayList(); var inProjectSection = false; var currentSection = ""; + var sectionStack = new ArrayList(); for (int i = 0; i < lines.length; i++) { var line = lines[i]; var isSubsection = line.startsWith(Constants.SUBSECTION); + var sectionLevel = getSectionLevel(line); // Check if we're entering the Projects section if (line.startsWith(Constants.PROJECTS_SECTION)) { @@ -54,6 +56,7 @@ List parseProjectEntries(String content) { if (inProjectSection && line.startsWith(Constants.SECTION) && !isSubsection && + sectionLevel == 0 && !line.equals(Constants.PROJECTS_SECTION) ) { inProjectSection = false; @@ -61,9 +64,24 @@ List parseProjectEntries(String content) { if (!inProjectSection) { continue; } - // Track current subsection - if (isSubsection) { - currentSection = line.substring(Constants.SUBSECTION.length()); + // Track section hierarchy - maintain a stack of section levels + if (sectionLevel >= 3) { + var sectionName = line.substring(sectionLevel + 1).trim(); + + // Adjust stack size to match current level + while (sectionStack.size() >= sectionLevel - 2) { + sectionStack.remove(sectionStack.size() - 1); + } + + // Add current section to stack + sectionStack.add(sectionName); + + // Build full section path for entries + if (sectionStack.size() == 1) { + currentSection = sectionName; // Main section (###) + } else { + currentSection = String.join(" > ", sectionStack); // Subsection path + } continue; } // Skip headers and empty lines @@ -83,6 +101,24 @@ List parseProjectEntries(String content) { return projectEntries; } +/** + * Determines the section level based on the number of # symbols. + * Returns 0 if the line is not a section header. + */ +int getSectionLevel(String line) { + if (!line.startsWith("#")) { + return 0; + } + + int level = 0; + for (int i = 0; i < line.length() && line.charAt(i) == '#'; i++) { + level++; + } + + // Must have at least 3 # symbols and a space after them + return (level >= 3 && line.length() > level && line.charAt(level) == ' ') ? level : 0; +} + /** * Parses a single project entry from the list format. */ @@ -102,6 +138,7 @@ ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { if (nextLine.isBlank() || nextLine.startsWith(Constants.SECTION) || nextLine.startsWith(Constants.SUBSECTION) || + getSectionLevel(nextLine) > 0 || nextLine.matches(Constants.ENTRY_PATTERN) ) { break; diff --git a/scripts/step_5_assemble_readme.java b/scripts/step_5_assemble_readme.java index 9c416b9f..e8f32cd6 100644 --- a/scripts/step_5_assemble_readme.java +++ b/scripts/step_5_assemble_readme.java @@ -47,6 +47,7 @@ String assembleReadme(String originalContent, String tablesContent) { // Create a mapping of sections to their tables var sectionToTableMap = createSectionToTableMap(tables); + for (int i = 0; i < lines.length; i++) { var line = lines[i]; @@ -79,6 +80,11 @@ String assembleReadme(String originalContent, String tablesContent) { result.append(line).append("\n\n"); continue; } + // Handle sub-subsection headers (####) + if (line.startsWith("#### ")) { + result.append(line).append("\n\n"); + continue; + } // Handle headers if (line.startsWith("_") && line.endsWith("_")) { result.append(line).append("\n\n"); @@ -95,9 +101,10 @@ String assembleReadme(String originalContent, String tablesContent) { if (currentSubsection != null && sectionToTableMap.containsKey(currentSubsection)) { result.append(sectionToTableMap.get(currentSubsection)).append("
\n\n"); } - // Skip ALL remaining list items in this section until we hit the next subsection or end delimiter + // Skip remaining list items in this subsection until we hit the next subsection or end delimiter while (i + 1 < lines.length && !lines[i + 1].startsWith(Constants.SUBSECTION) && + !lines[i + 1].startsWith("#### ") && !lines[i + 1].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { i++; if (lines[i].matches(Constants.ENTRY_PATTERN)) { @@ -161,13 +168,33 @@ Map createSectionToTableMap(String[] tables) { /** * Finds the current subsection by looking backwards from the given line index. + * Handles both flat sections (###) and hierarchical sections (####). */ String findCurrentSubsection(String[] lines, int currentIndex) { + String currentMainSection = null; + String currentSubsection = null; + for (int i = currentIndex; i >= 0; i--) { var line = lines[i]; + + // Check for subsection (####) first + if (line.startsWith("#### ") && currentSubsection == null) { + currentSubsection = line.substring(5).trim(); + } + + // Check for main section (###) if (line.startsWith(Constants.SUBSECTION)) { - return line.substring(Constants.SUBSECTION.length()); + currentMainSection = line.substring(Constants.SUBSECTION.length()); + break; // Stop when we find the main section } } - return null; + + // If we found both main section and subsection, return hierarchical name + if (currentMainSection != null && currentSubsection != null) { + return currentMainSection + " > " + currentSubsection; + } + + // Otherwise return just the main section + return currentMainSection; } + diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index aa38a088..5fb10712 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -26,11 +26,15 @@ void main(String[] args) throws IOException { var originalEntries = extractProjectEntries(originalContent); var transformedEntries = extractProjectEntriesFromTables(transformedContent); + var originalSections = extractSections(originalContent); + var transformedSections = extractSections(transformedContent); System.out.printf("Found %d entries in original README%n", originalEntries.size()); System.out.printf("Found %d entries in transformed README%n", transformedEntries.size()); + System.out.printf("Found %d sections in original README%n", originalSections.size()); + System.out.printf("Found %d sections in transformed README%n", transformedSections.size()); - var validationResult = validateTransformation(originalEntries, transformedEntries); + var validationResult = validateTransformation(originalEntries, transformedEntries, originalSections, transformedSections); printValidationResults(validationResult); if (!validationResult.isValid()) { @@ -41,6 +45,52 @@ void main(String[] args) throws IOException { System.out.println("SUCCESS: All entries validated successfully!"); } +/** + * Extracts all sections (including subsections and arbitrary multi-level sections) from markdown content. + */ +List extractSections(String content) { + var sections = new ArrayList(); + var lines = content.split("\n"); + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + + // Extract all sections and subsections throughout the document + if (line.startsWith(Constants.SUBSECTION)) { + var sectionName = line.substring(Constants.SUBSECTION.length()).trim(); + var level = 1; // Subsection level + sections.add(new SectionInfo(sectionName, level, i)); + } else { + // Handle arbitrary multi-level sections (####, #####, ######, etc.) + var level = getSectionLevel(line); + if (level > 1) { + var sectionName = line.substring(level + 1).trim(); // Remove the # symbols and space + sections.add(new SectionInfo(sectionName, level, i)); + } + } + } + + return sections; +} + +/** + * Determines the section level based on the number of # symbols. + * Returns 0 if the line is not a section header. + */ +int getSectionLevel(String line) { + if (!line.startsWith("#")) { + return 0; + } + + int level = 0; + for (int i = 0; i < line.length() && line.charAt(i) == '#'; i++) { + level++; + } + + // Must have at least 3 # symbols and a space after them + return (level >= 3 && line.length() > level && line.charAt(level) == ' ') ? level : 0; +} + /** * Extracts project entries from the original markdown format. */ @@ -238,12 +288,15 @@ ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { } /** - * Validates that all original entries are present in the transformed version. + * Validates that all original entries and sections are present in the transformed version. */ -ValidationResult validateTransformation(List original, List transformed) { +ValidationResult validateTransformation(List original, List transformed, + List originalSections, List transformedSections) { var missingEntries = new ArrayList(); var wrongSectionEntries = new ArrayList(); var extraEntries = new ArrayList(); + var missingSections = new ArrayList(); + var extraSections = new ArrayList(); // Create maps for easier lookup var originalMap = original.stream() @@ -267,7 +320,10 @@ ValidationResult validateTransformation(List original, List ") for hierarchical sections + var originalBaseSection = originalEntry.section(); + var transformedBaseSection = transformedEntry.section().split(" > ")[0]; + if (!originalBaseSection.equals(transformedBaseSection)) { wrongSectionEntries.add(new SectionMismatch( originalEntry, transformedEntry @@ -283,10 +339,56 @@ ValidationResult validateTransformation(List original, List s.name().toLowerCase(), + s -> s, + (s1, s2) -> s1 + )); + + var transformedSectionMap = transformedSections.stream() + .collect(Collectors.toMap( + s -> s.name().toLowerCase(), + s -> s, + (s1, s2) -> s1 + )); + + // Check for missing sections - only check main sections (### level) that have entries + var sectionsWithEntries = original.stream() + .map(ProjectEntry::section) + .distinct() + .collect(Collectors.toSet()); + + for (var originalSection : originalSections) { + var key = originalSection.name().toLowerCase(); + // Only check main sections (### level) that have entries and are missing from transformed + if (originalSection.level() == 3 && + sectionsWithEntries.contains(originalSection.name())) { + // Check if any transformed section starts with this base section name + var hasMatchingSection = transformedSections.stream() + .anyMatch(s -> s.name().toLowerCase().startsWith(key)); + if (!hasMatchingSection) { + missingSections.add(originalSection); + } + } + } + + // Check for extra sections (sections in transformed but not in original) + for (var transformedSection : transformedSections) { + var key = transformedSection.name().toLowerCase(); + if (!originalSectionMap.containsKey(key)) { + extraSections.add(transformedSection); + } + } + return new ValidationResult( missingEntries, wrongSectionEntries, - extraEntries + extraEntries, + missingSections, + extraSections ); } @@ -300,7 +402,9 @@ void printValidationResults(ValidationResult result) { if (result.missingEntries().isEmpty() && result.wrongSectionEntries().isEmpty() && - result.extraEntries().isEmpty()) { + result.extraEntries().isEmpty() && + result.missingSections().isEmpty() && + result.extraSections().isEmpty()) { System.out.println("All validations passed!"); return; } @@ -331,6 +435,22 @@ void printValidationResults(ValidationResult result) { } System.out.println(); } + + if (!result.missingSections().isEmpty()) { + System.out.printf("MISSING SECTIONS (%d):%n", result.missingSections().size()); + for (var section : result.missingSections()) { + System.out.printf(" - %s (Level: %d, Line: %d)%n", section.name(), section.level(), section.lineNumber()); + } + System.out.println(); + } + + if (!result.extraSections().isEmpty()) { + System.out.printf("EXTRA SECTIONS (%d):%n", result.extraSections().size()); + for (var section : result.extraSections()) { + System.out.printf(" - %s (Level: %d, Line: %d)%n", section.name(), section.level(), section.lineNumber()); + } + System.out.println(); + } } /** @@ -339,10 +459,15 @@ void printValidationResults(ValidationResult result) { record ValidationResult( List missingEntries, List wrongSectionEntries, - List extraEntries + List extraEntries, + List missingSections, + List extraSections ) { boolean isValid() { - return missingEntries.isEmpty() && wrongSectionEntries.isEmpty(); + return missingEntries.isEmpty() && + wrongSectionEntries.isEmpty() && + missingSections.isEmpty() && + extraSections.isEmpty(); } } @@ -353,3 +478,12 @@ record SectionMismatch( ProjectEntry original, ProjectEntry transformed ) {} + +/** + * Represents section information including name, level, and line number. + */ +record SectionInfo( + String name, + int level, + int lineNumber +) {} From 155a619c9291d61df2fbe35a45e10485bcece9f4 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:26:41 +0200 Subject: [PATCH 385/533] Improve badge size --- README.md | 4446 ++++++++++++++++++++-------------------- scripts/Constants.java | 8 +- 2 files changed, 2227 insertions(+), 2227 deletions(-) diff --git a/README.md b/README.md index cd7e3d8f..adcc12ab 100644 --- a/README.md +++ b/README.md @@ -99,17 +99,17 @@ _Frameworks and libraries that help implementing and verifying design and archit
ArchUnit Test library for specifying and asserting architecture rules.GitHub starsLast commitTest library for specifying and asserting architecture rules.GitHub starsLast commit
jMolecules Annotations and interfaces to express design and architecture concepts in code.GitHub starsLast commitAnnotations and interfaces to express design and architecture concepts in code.GitHub starsLast commit
@@ -127,33 +127,33 @@ _Frameworks that help you to leverage LLMs and AI._
LangChain4j Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.GitHub starsLast commitSimplifies integration of LLMs with unified APIs and a comprehensive toolbox.GitHub starsLast commit
MCP 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.GitHub starsLast commitEnables applications to interact with AI models and tools through a standardized interface (i.e. Model Context Protocol), supporting both synchronous and asynchronous communication patterns.GitHub starsLast commit
simple-openai Library to use the OpenAI API (and compatible ones) in the simplest possible way.GitHub starsLast commitLibrary to use the OpenAI API (and compatible ones) in the simplest possible way.GitHub starsLast commit
Spring AI Application framework for AI engineering for Spring.--Application framework for AI engineering for Spring.--
@@ -171,57 +171,57 @@ _Frameworks that ease bean mapping._ dOOv - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - GitHub stars - Last commit + Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. + GitHub stars + Last commit JMapper - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - GitHub stars - Last commit + Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. + GitHub stars + Last commit MapStruct - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. - GitHub stars - Last commit + Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. + GitHub stars + Last commit ModelMapper - Intelligent object mapping library that automatically maps objects to each other. - GitHub stars - Last commit + Intelligent object mapping library that automatically maps objects to each other. + GitHub stars + Last commit Orika - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. - GitHub stars - Last commit + JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. + GitHub stars + Last commit reMap - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. - GitHub stars - Last commit + Lambda and method handle-based mapping which requires code and not annotations if objects have different names. + GitHub stars + Last commit Selma - Annotation processor-based bean mapper. - GitHub stars - Last commit + Annotation processor-based bean mapper. + GitHub stars + Last commit @@ -239,33 +239,33 @@ _Tools that handle the build cycle and dependencies of an application._ Apache Maven - 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. - - - - + 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 - Tool from Google that builds code quickly and reliably. - - - - + Tool from Google that builds code quickly and reliably. + - + - Buck2 - Encourages the creation of small, reusable modules consisting of code and resources. - GitHub stars - Last commit + Encourages the creation of small, reusable modules consisting of code and resources. + GitHub stars + Last commit Gradle - Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. - - - - + Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. + - + - @@ -283,81 +283,81 @@ _Libraries to manipulate bytecode programmatically._ ASM - All-purpose, low-level bytecode manipulation and analysis. - - - - + All-purpose, low-level bytecode manipulation and analysis. + - + - Byte Buddy - Further simplifies bytecode generation with a fluent API. - - - - + Further simplifies bytecode generation with a fluent API. + - + - bytecode-viewer - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) - GitHub stars - Last commit + Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) + GitHub stars + Last commit Byteman - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) - - - - + Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) + - + - cglib - Bytecode generation library. - GitHub stars - Last commit + Bytecode generation library. + GitHub stars + Last commit Javassist - Tries to simplify bytecode editing. - GitHub stars - Last commit + Tries to simplify bytecode editing. + GitHub stars + Last commit Maker - Provides low level bytecode generation. - GitHub stars - Last commit + Provides low level bytecode generation. + GitHub stars + Last commit Mixin - Manipulate bytecode at runtime using real Java code. - GitHub stars - Last commit + Manipulate bytecode at runtime using real Java code. + GitHub stars + Last commit Perses - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. - GitHub stars - Last commit + Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. + GitHub stars + Last commit Recaf - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. - - - - + JVM reverse engineering toolkit, essentially an IDE for Java bytecode. + - + - @@ -375,33 +375,33 @@ _Libraries that provide caching facilities._ cache2k - In-memory high performance caching library. - - - - + In-memory high performance caching library. + - + - Caffeine - High-performance, near-optimal caching library. - GitHub stars - Last commit + High-performance, near-optimal caching library. + GitHub stars + Last commit Ehcache - Distributed general-purpose cache. - - - - + Distributed general-purpose cache. + - + - Infinispan - Highly concurrent key/value datastore used for caching. - - - - + Highly concurrent key/value datastore used for caching. + - + - @@ -423,41 +423,41 @@ _Libraries to assist with parsing command line arguments._ Airline - Annotation-based framework for parsing Git-like command-line arguments. - - - - + Annotation-based framework for parsing Git-like command-line arguments. + - + - JCommander - Command-line argument-parsing framework with custom types and validation via implementing interfaces. - - - - + Command-line argument-parsing framework with custom types and validation via implementing interfaces. + - + - jbock - Reflectionless command line parser. - GitHub stars - Last commit + Reflectionless command line parser. + GitHub stars + Last commit JLine - Includes features from modern shells like completion or history. - GitHub stars - Last commit + Includes features from modern shells like completion or history. + GitHub stars + Last commit picocli - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - - - - + ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. + - + - @@ -475,33 +475,33 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ Jansi - ANSI escape codes to format console output. - GitHub stars - Last commit + ANSI escape codes to format console output. + GitHub stars + Last commit Jexer - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - - - - + Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). + - + - Text-IO - Aids the creation of full console-based applications. - GitHub stars - Last commit + Aids the creation of full console-based applications. + GitHub stars + Last commit Lanterna - Easy console text-GUI library, similar to curses. (LGPL-3.0-only) - GitHub stars - Last commit + Easy console text-GUI library, similar to curses. (LGPL-3.0-only) + GitHub stars + Last commit @@ -519,17 +519,17 @@ _Libraries to integrate or use cloud-specific features._ AWS SDK for Java - Provides Java APIs for interacting with Amazon Web Services. - GitHub stars - Last commit + Provides Java APIs for interacting with Amazon Web Services. + GitHub stars + Last commit Google Cloud Client Libraries - Client libraries for accessing Google Cloud services from Java applications. - GitHub stars - Last commit + Client libraries for accessing Google Cloud services from Java applications. + GitHub stars + Last commit @@ -547,97 +547,97 @@ _Tools that provide metrics and quality measurements._ Checkstyle - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) - GitHub stars - Last commit + Static analysis of coding conventions and standards. (LGPL-2.1-or-later) + GitHub stars + Last commit Error Prone - Catches common programming mistakes as compile-time errors. - GitHub stars - Last commit + Catches common programming mistakes as compile-time errors. + GitHub stars + Last commit Error Prone Support - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - GitHub stars - Last commit + Error Prone extensions: extra bug checkers and a large battery of Refaster templates. + GitHub stars + Last commit Infer - Modern static analysis tool for verifying the correctness of code. - GitHub stars - Last commit + Modern static analysis tool for verifying the correctness of code. + GitHub stars + Last commit jQAssistant - Static code analysis with Neo4J-based query language. (GPL-3.0-only) - - - - + Static code analysis with Neo4J-based query language. (GPL-3.0-only) + - + - NullAway - Eliminates NullPointerExceptions with low build-time overhead. - GitHub stars - Last commit + Eliminates NullPointerExceptions with low build-time overhead. + GitHub stars + Last commit PMD - Source code analysis for finding bad coding practices. - GitHub stars - Last commit + Source code analysis for finding bad coding practices. + GitHub stars + Last commit p3c - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. - GitHub stars - Last commit + Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. + GitHub stars + Last commit RefactorFirst - Identifies and prioritizes God Classes and Highly Coupled classes. - GitHub stars - Last commit + Identifies and prioritizes God Classes and Highly Coupled classes. + GitHub stars + Last commit SonarJava - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - GitHub stars - Last commit + Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) + GitHub stars + Last commit Spoon - Library for analyzing and transforming Java source code. - GitHub stars - Last commit + Library for analyzing and transforming Java source code. + GitHub stars + Last commit Spotbugs - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) - GitHub stars - Last commit + Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) + GitHub stars + Last commit @@ -655,25 +655,25 @@ _Frameworks and tools that enable code coverage metrics collection for test suit Clover - Relies on source-code instrumentation instead of bytecode instrumentation. - - - - + Relies on source-code instrumentation instead of bytecode instrumentation. + - + - Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) - - - - + Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) + - + - JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. - - - - + Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. + - + - @@ -691,113 +691,113 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a ADT4J - JSR-269 code generator for algebraic data types. - GitHub stars - Last commit + JSR-269 code generator for algebraic data types. + GitHub stars + Last commit Auto - Generates factory, service, and value classes. - GitHub stars - Last commit + Generates factory, service, and value classes. + GitHub stars + Last commit Avaje Http Server - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. - - - - + Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. + - + - EasyEntityToDTO - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - GitHub stars - Last commit + Annotation processor for automatic DTO and Mapper generation with zero boilerplate. + GitHub stars + Last commit FreeBuilder - Automatically generates the Builder pattern. - GitHub stars - Last commit + Automatically generates the Builder pattern. + GitHub stars + Last commit Geci - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - GitHub stars - Last commit + Discovers files that need generated code, updates automatically and writes to the source with a convenient API. + GitHub stars + Last commit Immutables - Annotation processors to generate simple, safe and consistent value objects. - - - - + Annotation processors to generate simple, safe and consistent value objects. + - + - JavaPoet - API to generate source files. - GitHub stars - Last commit + API to generate source files. + GitHub stars + Last commit JHipster - Yeoman source code generator for Spring Boot and AngularJS. - GitHub stars - Last commit + Yeoman source code generator for Spring Boot and AngularJS. + GitHub stars + Last commit Joda-Beans - Small framework that adds queryable properties to Java, enhancing JavaBeans. - - - - + Small framework that adds queryable properties to Java, enhancing JavaBeans. + - + - JSpecify Package-Info Generator - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - GitHub stars - Last commit + Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. + GitHub stars + Last commit Lombok - Code generator that aims to reduce verbosity. - - - - + Code generator that aims to reduce verbosity. + - + - Record-Builder - Companion builder class, withers and templates for Java records. - GitHub stars - Last commit + Companion builder class, withers and templates for Java records. + GitHub stars + Last commit Telosys - Simple and light code generator available as an Eclipse Plugin and also as a CLI. - - - - + Simple and light code generator available as an Eclipse Plugin and also as a CLI. + - + - @@ -815,25 +815,25 @@ _Frameworks that help to create parsers, interpreters or compilers._ ANTLR - Complex full-featured framework for top-down parsing. - - - - + Complex full-featured framework for top-down parsing. + - + - JavaCC - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. - - - - + Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. + - + - JFlex - Lexical analyzer generator. - - - - + Lexical analyzer generator. + - + - @@ -851,25 +851,25 @@ _Libraries which seek to gain high level information from images and videos._ BoofCV - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. - - - - + Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. + - + - ImageJ - Medical image processing application with an API. - - - - + Medical image processing application with an API. + - + - JavaCV - Java interface to OpenCV, FFmpeg, and much more. - GitHub stars - Last commit + Java interface to OpenCV, FFmpeg, and much more. + GitHub stars + Last commit @@ -887,97 +887,97 @@ _Libraries that provide external configuration._ avaje config - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. - - - - + Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. + - + - centraldogma - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - GitHub stars - Last commit + Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. + GitHub stars + Last commit config - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - GitHub stars - Last commit + Configuration library supporting Java properties, JSON or its human optimized superset HOCON. + GitHub stars + Last commit Configurate - Configuration library with support for various configuration formats and transformations. - GitHub stars - Last commit + Configuration library with support for various configuration formats and transformations. + GitHub stars + Last commit Curator Framework - High-level API for Apache ZooKeeper. - - - - + High-level API for Apache ZooKeeper. + - + - dotenv - Twelve-factor configuration library which uses environment-specific files. - GitHub stars - Last commit + Twelve-factor configuration library which uses environment-specific files. + GitHub stars + Last commit Externalized Properties - Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. - GitHub stars - Last commit + Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit ini4j - Provides an API for handling Windows' INI files. - - - - + Provides an API for handling Windows' INI files. + - + - KAConf - Annotation-based configuration system for Java and Kotlin. - GitHub stars - Last commit + Annotation-based configuration system for Java and Kotlin. + GitHub stars + Last commit microconfig - 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. - - - - + 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 - Reduces boilerplate of properties. - GitHub stars - Last commit + Reduces boilerplate of properties. + GitHub stars + Last commit @@ -995,33 +995,33 @@ _Libraries that help with implementing optimization and satisfiability problems. Choco - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - - - - + Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. + - + - JaCoP - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) - GitHub stars - Last commit + Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) + GitHub stars + Last commit OptaPlanner - Business planning and resource scheduling optimization solver. - - - - + Business planning and resource scheduling optimization solver. + - + - Timefold - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. - - - - + Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. + - + - @@ -1039,41 +1039,41 @@ _Frameworks and libraries that simplify reading/writing CSV data._ FastCSV - Performance-optimized, dependency-free and RFC 4180 compliant. - GitHub stars - Last commit + Performance-optimized, dependency-free and RFC 4180 compliant. + GitHub stars + Last commit jackson-dataformat-csv - Jackson extension for reading and writing CSV. - GitHub stars - Last commit + Jackson extension for reading and writing CSV. + GitHub stars + Last commit opencsv - Simple CSV parser. - - - - + Simple CSV parser. + - + - Super CSV - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. - - - - + Powerful CSV parser with support for Dozer, Joda-Time and Java 8. + - + - uniVocity-parsers - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. - GitHub stars - Last commit + One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. + GitHub stars + Last commit @@ -1091,97 +1091,97 @@ _Efficient and specific data structures._ Apache Avro - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. - - - - + Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. + - + - Apache Orc - Fast and efficient columnar storage format for Hadoop-based workloads. - - - - + Fast and efficient columnar storage format for Hadoop-based workloads. + - + - Apache Parquet - Columnar storage format based on assembly algorithms from Google's paper on Dremel. - - - - + Columnar storage format based on assembly algorithms from Google's paper on Dremel. + - + - Apache Thrift - Data interchange format that originated at Facebook. - - - - + Data interchange format that originated at Facebook. + - + - Big Queue - Fast and persistent queue based on memory-mapped files. - GitHub stars - Last commit + Fast and persistent queue based on memory-mapped files. + GitHub stars + Last commit HyperMinHash-java - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - GitHub stars - Last commit + Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. + GitHub stars + Last commit Persistent Collection - Persistent and immutable analogue of the Java Collections Framework. - GitHub stars - Last commit + Persistent and immutable analogue of the Java Collections Framework. + GitHub stars + Last commit Protobuf - Google's data interchange format. - GitHub stars - Last commit + Google's data interchange format. + GitHub stars + Last commit RoaringBitmap - Fast and efficient compressed bitmap. - GitHub stars - Last commit + Fast and efficient compressed bitmap. + GitHub stars + Last commit SBE - Simple Binary Encoding, one of the fastest message formats around. - GitHub stars - Last commit + Simple Binary Encoding, one of the fastest message formats around. + GitHub stars + Last commit Tape - Lightning-fast, transactional, file-based FIFO. - GitHub stars - Last commit + Lightning-fast, transactional, file-based FIFO. + GitHub stars + Last commit Wire - Clean, lightweight protocol buffers. - GitHub stars - Last commit + Clean, lightweight protocol buffers. + GitHub stars + Last commit @@ -1199,305 +1199,305 @@ _Everything that simplifies interactions with the database._ Apache Calcite - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. - - - - + Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. + - + - Apache Drill - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - - - - + Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. + - + - Apache Phoenix - High-performance relational database layer over HBase for low-latency applications. - - - - + High-performance relational database layer over HBase for low-latency applications. + - + - ArangoDB - ArangoDB Java driver. - GitHub stars - Last commit + ArangoDB Java driver. + GitHub stars + Last commit Chronicle Map - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - GitHub stars - Last commit + Efficient, in-memory (opt. persisted to disk), off-heap key-value store. + GitHub stars + Last commit Debezium - Low latency data streaming platform for change data capture. - - - - + Low latency data streaming platform for change data capture. + - + - druid - High-performance, column-oriented, distributed data store. - - - - + High-performance, column-oriented, distributed data store. + - + - eXist - NoSQL document database and application platform. (LGPL-2.1-only) - GitHub stars - Last commit + NoSQL document database and application platform. (LGPL-2.1-only) + GitHub stars + Last commit FlexyPool - Brings metrics and failover strategies to the most common connection pooling solutions. - GitHub stars - Last commit + Brings metrics and failover strategies to the most common connection pooling solutions. + GitHub stars + Last commit Flyway - Simple database migration tool. - - - - + Simple database migration tool. + - + - H2 - Small SQL database notable for its in-memory functionality. - - - - + Small SQL database notable for its in-memory functionality. + - + - HikariCP - High-performance JDBC connection pool. - GitHub stars - Last commit + High-performance JDBC connection pool. + GitHub stars + Last commit HSQLDB - HyperSQL 100% Java database. - - - - + HyperSQL 100% Java database. + - + - JDBI - Convenient abstraction of JDBC. - - - - + Convenient abstraction of JDBC. + - + - Jedis - Small client for interaction with Redis, with methods for commands. - GitHub stars - Last commit + Small client for interaction with Redis, with methods for commands. + GitHub stars + Last commit Jest - Client for the Elasticsearch REST API. - GitHub stars - Last commit + Client for the Elasticsearch REST API. + GitHub stars + Last commit jetcd - Client library for etcd. - GitHub stars - Last commit + Client library for etcd. + GitHub stars + Last commit Jinq - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). - GitHub stars - Last commit + Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). + GitHub stars + Last commit jOOQ - Generates typesafe code based on SQL schema. - - - - + Generates typesafe code based on SQL schema. + - + - Leaf - Distributed ID generate service. - GitHub stars - Last commit + Distributed ID generate service. + GitHub stars + Last commit Lettuce - Lettuce is a scalable Redis client for building non-blocking Reactive applications. - - - - + Lettuce is a scalable Redis client for building non-blocking Reactive applications. + - + - Liquibase - Database-independent library for tracking, managing and applying database schema changes. - - - - + Database-independent library for tracking, managing and applying database schema changes. + - + - MapDB - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - - - - + Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. + - + - MariaDB4j - Launcher for MariaDB that requires no installation or external dependencies. - GitHub stars - Last commit + Launcher for MariaDB that requires no installation or external dependencies. + GitHub stars + Last commit Modality - Lightweight ORM with database reverse engineering features. - GitHub stars - Last commit + Lightweight ORM with database reverse engineering features. + GitHub stars + Last commit OpenDJ - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. - GitHub stars - Last commit + LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. + GitHub stars + Last commit Querydsl - Typesafe unified queries. - - - - + Typesafe unified queries. + - + - QueryStream - Build JPA Criteria queries using a Stream-like API. - GitHub stars - Last commit + Build JPA Criteria queries using a Stream-like API. + GitHub stars + Last commit QuestDB - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. - GitHub stars - Last commit + High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. + GitHub stars + Last commit Realm - Mobile database to run directly inside phones, tablets or wearables. - GitHub stars - Last commit + Mobile database to run directly inside phones, tablets or wearables. + GitHub stars + Last commit Redisson - Allows for distributed and scalable data structures on top of a Redis server. - GitHub stars - Last commit + Allows for distributed and scalable data structures on top of a Redis server. + GitHub stars + Last commit requery - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - GitHub stars - Last commit + Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. + GitHub stars + Last commit Speedment - Database access library that utilizes Java 8's Stream API for querying. - GitHub stars - Last commit + Database access library that utilizes Java 8's Stream API for querying. + GitHub stars + Last commit Spring Data JPA MongoDB Expressions - Allows you to use MongoDB query language to query your relational database. - GitHub stars - Last commit + Allows you to use MongoDB query language to query your relational database. + GitHub stars + Last commit Trino - Distributed SQL query engine for big data. - - - - + Distributed SQL query engine for big data. + - + - Vibur DBCP - JDBC connection pool library with advanced performance monitoring capabilities. - - - - + JDBC connection pool library with advanced performance monitoring capabilities. + - + - Xodus - Highly concurrent transactional schema-less and ACID-compliant embedded database. - GitHub stars - Last commit + Highly concurrent transactional schema-less and ACID-compliant embedded database. + GitHub stars + Last commit CosId - Universal, flexible, high-performance distributed ID generator. - GitHub stars - Last commit + Universal, flexible, high-performance distributed ID generator. + GitHub stars + Last commit @@ -1515,33 +1515,33 @@ _Libraries related to handling date and time._ iCal4j - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. - GitHub stars - Last commit + Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. + GitHub stars + Last commit Jollyday - Determines the holidays for a given year, country/name and eventually state/region. - GitHub stars - Last commit + Determines the holidays for a given year, country/name and eventually state/region. + GitHub stars + Last commit ThreeTen-Extra - Additional date-time classes that complement those in JDK 8. - GitHub stars - Last commit + Additional date-time classes that complement those in JDK 8. + GitHub stars + Last commit Time4J - Advanced date and time library. (LGPL-2.1-only) - GitHub stars - Last commit + Advanced date and time library. (LGPL-2.1-only) + GitHub stars + Last commit @@ -1559,65 +1559,65 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. Apache DeltaSpike - CDI extension framework. - - - - + CDI extension framework. + - + - Avaje Inject - Microservice-focused compile-time injection framework without reflection. - - - - + Microservice-focused compile-time injection framework without reflection. + - + - Dagger - Compile-time injection framework without reflection. - - - - + Compile-time injection framework without reflection. + - + - Feather - Ultra-lightweight, JSR-330-compliant dependency injection library. - GitHub stars - Last commit + Ultra-lightweight, JSR-330-compliant dependency injection library. + GitHub stars + Last commit Governator - Extensions and utilities that enhance Google Guice. - GitHub stars - Last commit + Extensions and utilities that enhance Google Guice. + GitHub stars + Last commit Guice - Lightweight and opinionated framework that completes Dagger. - GitHub stars - Last commit + Lightweight and opinionated framework that completes Dagger. + GitHub stars + Last commit HK2 - Lightweight and dynamic dependency injection framework. - - - - + Lightweight and dynamic dependency injection framework. + - + - JayWire - Lightweight dependency injection framework. (LGPL-3.0-only) - GitHub stars - Last commit + Lightweight dependency injection framework. (LGPL-3.0-only) + GitHub stars + Last commit @@ -1635,81 +1635,81 @@ _Augmentation of the development process at a fundamental level._ AspectJ - Seamless aspect-oriented programming extension. - - - - + Seamless aspect-oriented programming extension. + - + - DCEVM - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - - - - + JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) + - + - Faux Pas - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. - GitHub stars - Last commit + Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. + GitHub stars + Last commit HotswapAgent - Unlimited runtime class and resource redefinition. (GPL-2.0-only) - GitHub stars - Last commit + Unlimited runtime class and resource redefinition. (GPL-2.0-only) + GitHub stars + Last commit JavaParser - Parse, modify and generate Java code. - GitHub stars - Last commit + Parse, modify and generate Java code. + GitHub stars + Last commit JavaSymbolSolver - Symbol solver. - GitHub stars - Last commit + Symbol solver. + GitHub stars + Last commit Manifold - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - GitHub stars - Last commit + Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. + GitHub stars + Last commit NoException - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - - - - + Allows checked exceptions in functional interfaces and converts exceptions to Optional return. + - + - SneakyThrow - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. - GitHub stars - Last commit + Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. + GitHub stars + Last commit Tail - Enable infinite recursion using tail call optimization. - - - - + Enable infinite recursion using tail call optimization. + - + - @@ -1727,113 +1727,113 @@ _Libraries and frameworks for writing distributed and fault-tolerant application Apache Geode - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. - - - - + In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. + - + - Apache Storm - Realtime computation system. - - - - + Realtime computation system. + - + - Apache ZooKeeper - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. - - - - + Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. + - + - Atomix - Fault-tolerant distributed coordination framework. - - - - + Fault-tolerant distributed coordination framework. + - + - Axon - Framework for creating CQRS applications. - - - - + Framework for creating CQRS applications. + - + - Dropwizard Circuit Breaker - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - GitHub stars - Last commit + Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) + GitHub stars + Last commit Failsafe - Simple failure handling with retries and circuit breakers. - GitHub stars - Last commit + Simple failure handling with retries and circuit breakers. + GitHub stars + Last commit Hazelcast - Highly scalable in-memory datagrid with a free open-source version. - GitHub stars - Last commit + Highly scalable in-memory datagrid with a free open-source version. + GitHub stars + Last commit JGroups - Toolkit for reliable messaging and cluster creation. - - - - + Toolkit for reliable messaging and cluster creation. + - + - Quasar - Lightweight threads and actors for the JVM. - - - - + Lightweight threads and actors for the JVM. + - + - resilience4j - Functional fault tolerance library. - GitHub stars - Last commit + Functional fault tolerance library. + GitHub stars + Last commit OpenIG - High-performance reverse proxy server with specialized session management and credential replay functionality. - GitHub stars - Last commit + High-performance reverse proxy server with specialized session management and credential replay functionality. + GitHub stars + Last commit ScaleCube Services - Embeddable Cluster-Membership library based on SWIM and gossip protocol. - GitHub stars - Last commit + Embeddable Cluster-Membership library based on SWIM and gossip protocol. + GitHub stars + Last commit Zuul - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. - GitHub stars - Last commit + Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + GitHub stars + Last commit @@ -1851,33 +1851,33 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u Atomikos - Provides transactions for REST, SOA and microservices with support for JTA and XA. - - - - + Provides transactions for REST, SOA and microservices with support for JTA and XA. + - + - Bitronix - Simple but complete implementation of the JTA 1.1 API. - GitHub stars - Last commit + Simple but complete implementation of the JTA 1.1 API. + GitHub stars + Last commit Narayana - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) - - - - + Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) + - + - Seata - Delivers high performance and easy to use distributed transaction services under a microservices architecture. - GitHub stars - Last commit + Delivers high performance and easy to use distributed transaction services under a microservices architecture. + GitHub stars + Last commit @@ -1895,81 +1895,81 @@ _Tools that handle the distribution of applications in native formats._ Artipie - Binary artifact management toolkit which hosts them on the file system or S3. - GitHub stars - Last commit + Binary artifact management toolkit which hosts them on the file system or S3. + GitHub stars + Last commit Capsule - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - GitHub stars - Last commit + Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. + GitHub stars + Last commit Central Repository - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - - - - + Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. + - + - Getdown - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - GitHub stars - Last commit + System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. + GitHub stars + Last commit IzPack - Setup authoring tool for cross-platform deployments. - - - - + Setup authoring tool for cross-platform deployments. + - + - JavaPackager - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - GitHub stars - Last commit + Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. + GitHub stars + Last commit jDeploy - Deploy desktop apps as native Mac, Windows or Linux bundles. - - - - + Deploy desktop apps as native Mac, Windows or Linux bundles. + - + - jlink.online - Builds optimized runtimes over HTTP. - GitHub stars - Last commit + Builds optimized runtimes over HTTP. + GitHub stars + Last commit packr - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - GitHub stars - Last commit + Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. + GitHub stars + Last commit really-executable-jars-maven-plugin - Maven plugin for making self-executing JARs. - GitHub stars - Last commit + Maven plugin for making self-executing JARs. + GitHub stars + Last commit @@ -1987,41 +1987,41 @@ _Libraries that assist with processing office document formats._ Apache POI - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). - - - - + Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). + - + - documents4j - API for document format conversion using third-party converters such as MS Word. - - - - + API for document format conversion using third-party converters such as MS Word. + - + - docx4j - Create and manipulate Microsoft Open XML files. - - - - + Create and manipulate Microsoft Open XML files. + - + - fastexcel - High performance library to read and write large Excel (XLSX) worksheets. - GitHub stars - Last commit + High performance library to read and write large Excel (XLSX) worksheets. + GitHub stars + Last commit zerocell - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. - GitHub stars - Last commit + Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + GitHub stars + Last commit @@ -2039,49 +2039,49 @@ _Libraries related to the financial domain._ Cassandre - Trading bot framework. - GitHub stars - Last commit + Trading bot framework. + GitHub stars + Last commit Parity - Platform for trading venues. - GitHub stars - Last commit + Platform for trading venues. + GitHub stars + Last commit Philadelphia - Low-latency financial information exchange. - GitHub stars - Last commit + Low-latency financial information exchange. + GitHub stars + Last commit Square - Integration with the Square API. - GitHub stars - Last commit + Integration with the Square API. + GitHub stars + Last commit Stripe - Integration with the Stripe API. - GitHub stars - Last commit + Integration with the Stripe API. + GitHub stars + Last commit ta4j - Library for technical analysis. - GitHub stars - Last commit + Library for technical analysis. + GitHub stars + Last commit @@ -2099,57 +2099,57 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc CATG - Concolic unit testing engine. Automatically generates unit tests using formal methods. - GitHub stars - Last commit + Concolic unit testing engine. Automatically generates unit tests using formal methods. + GitHub stars + Last commit Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - Daikon - Detects likely program invariants and generates JML specs based on those invariants. - - - - + Detects likely program invariants and generates JML specs based on those invariants. + - + - Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA. - GitHub stars - Last commit + JVM formal verification tool containing a model checker and more. Created by NASA. + GitHub stars + Last commit JMLOK 2.0 - 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) - - - - + 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 - 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) - - - - + 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 - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) - - - - + Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) + - + - @@ -2167,73 +2167,73 @@ _Libraries that facilitate functional programming._ Cyclops - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. - GitHub stars - Last commit + Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. + GitHub stars + Last commit derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - GitHub stars - Last commit + Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) + GitHub stars + Last commit Fugue - Functional extensions to Guava. - - - - + Functional extensions to Guava. + - + - Functional Java - Implements numerous basic and advanced programming abstractions that assist composition-oriented development. - - - - + Implements numerous basic and advanced programming abstractions that assist composition-oriented development. + - + - jOOλ - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Packrat - Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. - GitHub stars - Last commit + Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. + GitHub stars + Last commit protonpack - Collection of stream utilities. - GitHub stars - Last commit + Collection of stream utilities. + GitHub stars + Last commit StreamEx - Enhances Java 8 Streams. - GitHub stars - Last commit + Enhances Java 8 Streams. + GitHub stars + Last commit Vavr - Functional component library that provides persistent data types and functional control structures. - - - - + Functional component library that provides persistent data types and functional control structures. + - + - @@ -2251,73 +2251,73 @@ _Frameworks that support the development of games._ FXGL - JavaFX Game Development Framework. - - - - + JavaFX Game Development Framework. + - + - JBox2D - Port of the renowned C++ 2D physics engine. - - - - + Port of the renowned C++ 2D physics engine. + - + - jMonkeyEngine - Game engine for modern 3D development. - - - - + Game engine for modern 3D development. + - + - libGDX - All-round cross-platform, high-level framework. - - - - + All-round cross-platform, high-level framework. + - + - Litiengine - AWT-based, lightweight 2D game engine. - - - - + AWT-based, lightweight 2D game engine. + - + - LWJGL - Robust framework that abstracts libraries like OpenGL/CL/AL. - - - - + Robust framework that abstracts libraries like OpenGL/CL/AL. + - + - Mini2Dx - Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. - - - - + Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. + - + - Void2D - High-level 2D game engine with built-in physics based on Swing. - GitHub stars - Last commit + High-level 2D game engine with built-in physics based on Swing. + GitHub stars + Last commit vulkan4j - Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. - GitHub stars - Last commit + Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. + GitHub stars + Last commit @@ -2335,65 +2335,65 @@ _Libraries for working with geospatial data and algorithms._ Apache SIS - Library for developing geospatial applications. - - - - + Library for developing geospatial applications. + - + - Geo - GeoHash utilities in Java. - GitHub stars - Last commit + GeoHash utilities in Java. + GitHub stars + Last commit GeoTools - Library that provides tools for geospatial data. (LGPL-2.1-only) - - - - + Library that provides tools for geospatial data. (LGPL-2.1-only) + - + - GraphHopper - Road-routing engine. Used as a Java library or standalone web service. - GitHub stars - Last commit + Road-routing engine. Used as a Java library or standalone web service. + GitHub stars + Last commit H2GIS - Spatial extension of the H2 database. (LGPL-3.0-only) - - - - + Spatial extension of the H2 database. (LGPL-3.0-only) + - + - Jgeohash - Library for using the GeoHash algorithm. - - - - + Library for using the GeoHash algorithm. + - + - Mapsforge - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - GitHub stars - Last commit + Map rendering based on OpenStreetMap data. (LGPL-3.0-only) + GitHub stars + Last commit Spatial4j - General-purpose spatial/geospatial library. - GitHub stars - Last commit + General-purpose spatial/geospatial library. + GitHub stars + Last commit @@ -2411,33 +2411,33 @@ _Libraries to create modern graphical user interfaces._ JavaFX - Successor of Swing. - - - - + Successor of Swing. + - + - Scene Builder - Visual layout tool for JavaFX applications. - - - - + Visual layout tool for JavaFX applications. + - + - SnapKit - Modern Java UI library for both desktop and web. - GitHub stars - Last commit + Modern Java UI library for both desktop and web. + GitHub stars + Last commit SWT - Graphical widget toolkit. - - - - + Graphical widget toolkit. + - + - @@ -2455,57 +2455,57 @@ _Everything about high-performance computation, from collections to specific lib Agrona - Data structures and utility methods that are common in high-performance applications. - GitHub stars - Last commit + Data structures and utility methods that are common in high-performance applications. + GitHub stars + Last commit Disruptor - Inter-thread messaging library. - - - - + Inter-thread messaging library. + - + - Eclipse Collections - Collections framework inspired by Smalltalk. - GitHub stars - Last commit + Collections framework inspired by Smalltalk. + GitHub stars + Last commit fastutil - Fast and compact type-specific collections. - - - - + Fast and compact type-specific collections. + - + - HPPC - Primitive collections. - - - - + Primitive collections. + - + - JCTools - Concurrency tools currently missing from the JDK. - GitHub stars - Last commit + Concurrency tools currently missing from the JDK. + GitHub stars + Last commit Koloboke - Carefully designed extension of the Java Collections Framework with primitive specializations and more. - GitHub stars - Last commit + Carefully designed extension of the Java Collections Framework with primitive specializations and more. + GitHub stars + Last commit @@ -2523,81 +2523,81 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Apache HttpComponents - Toolset of low-level Java components focused on HTTP and associated protocols. - - - - + Toolset of low-level Java components focused on HTTP and associated protocols. + - + - Async Http Client - Asynchronous HTTP and WebSocket client library. - GitHub stars - Last commit + Asynchronous HTTP and WebSocket client library. + GitHub stars + Last commit Avaje Http Client - Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. - - - - + Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. + - + - Feign - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - GitHub stars - Last commit + HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. + GitHub stars + Last commit Google HTTP Client - Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. - GitHub stars - Last commit + Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. + GitHub stars + Last commit methanol - HTTP client extensions library. - GitHub stars - Last commit + HTTP client extensions library. + GitHub stars + Last commit Retrofit - Typesafe REST client. - - - - + Typesafe REST client. + - + - Ribbon - Client-side IPC library that is battle-tested in the cloud. - GitHub stars - Last commit + Client-side IPC library that is battle-tested in the cloud. + GitHub stars + Last commit Riptide - Client-side response routing for Spring's RestTemplate. - GitHub stars - Last commit + Client-side response routing for Spring's RestTemplate. + GitHub stars + Last commit unirest-java - Simplified, lightweight HTTP client library. - GitHub stars - Last commit + Simplified, lightweight HTTP client library. + GitHub stars + Last commit @@ -2615,33 +2615,33 @@ _Libraries that handle serialization to hypermedia types._ hate - Builds hypermedia-friendly objects according to HAL specification. - GitHub stars - Last commit + Builds hypermedia-friendly objects according to HAL specification. + GitHub stars + Last commit JSON-LD - JSON-LD implementation. - GitHub stars - Last commit + JSON-LD implementation. + GitHub stars + Last commit Siren4J - Library for the Siren specification. - GitHub stars - Last commit + Library for the Siren specification. + GitHub stars + Last commit Spring HATEOAS - Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. - GitHub stars - Last commit + Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. + GitHub stars + Last commit @@ -2659,41 +2659,41 @@ _Integrated development environments that try to simplify several aspects of dev Eclipse - Established open-source project with support for lots of plugins and languages. - - - - + Established open-source project with support for lots of plugins and languages. + - + - jGRASP - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - - - - + Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. + - + - NetBeans - Provides integration for several Java SE and EE features, from database access to HTML5. - - - - + Provides integration for several Java SE and EE features, from database access to HTML5. + - + - SnapCode - Modern IDE for Java running in the browser, focused on education. - - - - + Modern IDE for Java running in the browser, focused on education. + - + - Visual Studio Code - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. - - - - + Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. + - + - @@ -2711,73 +2711,73 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica Barcode-Lib4J - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. - GitHub stars - Last commit + Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. + GitHub stars + Last commit Imgscalr - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. - GitHub stars - Last commit + Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. + GitHub stars + Last commit Tess4J - JNA wrapper for Tesseract OCR API. - GitHub stars - Last commit + JNA wrapper for Tesseract OCR API. + GitHub stars + Last commit Thumbnailator - High-quality thumbnail generation library. - GitHub stars - Last commit + High-quality thumbnail generation library. + GitHub stars + Last commit TwelveMonkeys - Collection of plugins that extend the number of supported image file formats. - GitHub stars - Last commit + Collection of plugins that extend the number of supported image file formats. + GitHub stars + Last commit ZXing - Multi-format 1D/2D barcode image processing library. - GitHub stars - Last commit + Multi-format 1D/2D barcode image processing library. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit vips-ffm - Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. - GitHub stars - Last commit + Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. + GitHub stars + Last commit scrimage - Immutable, functional, and performant JVM library for manipulation of images. - - - - + Immutable, functional, and performant JVM library for manipulation of images. + - + - @@ -2795,49 +2795,49 @@ _Libraries that help make the Java introspection and reflection API easier and f ClassGraph - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - GitHub stars - Last commit + ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. + GitHub stars + Last commit jOOR - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. - GitHub stars - Last commit + jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. + GitHub stars + Last commit Mirror - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. - - - - + Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. + - + - Objenesis - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - - - - + Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. + - + - ReflectASM - ReflectASM is a very small Java library that provides high performance reflection by using code generation. - GitHub stars - Last commit + ReflectASM is a very small Java library that provides high performance reflection by using code generation. + GitHub stars + Last commit Reflections - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. - GitHub stars - Last commit + Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. + GitHub stars + Last commit @@ -2855,57 +2855,57 @@ _Libraries for scheduling background jobs._ 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Quartz - Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. - GitHub stars - Last commit + Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. + GitHub stars + Last commit Sundial - Lightweight framework to simply define jobs, define triggers and start the scheduler. - GitHub stars - Last commit + Lightweight framework to simply define jobs, define triggers and start the scheduler. + GitHub stars + Last commit Wisp - Simple library with minimal footprint and straightforward API. - GitHub stars - Last commit + Simple library with minimal footprint and straightforward API. + GitHub stars + Last commit db-scheduler - Persistent and cluster-friendly scheduler. - GitHub stars - Last commit + Persistent and cluster-friendly scheduler. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit @@ -2923,137 +2923,137 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Avaje Jsonb - Reflection-free Json binding via source code generation with Jackson-like annotations. - - - - + Reflection-free Json binding via source code generation with Jackson-like annotations. + - + - DSL-JSON - JSON library with advanced compile time databinding. - GitHub stars - Last commit + JSON library with advanced compile time databinding. + GitHub stars + Last commit Genson - Powerful and easy-to-use Java-to-JSON conversion library. - - - - + Powerful and easy-to-use Java-to-JSON conversion library. + - + - Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. - GitHub stars - Last commit + Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. + GitHub stars + Last commit HikariJSON - High-performance JSON parser, 2x faster than Jackson. - GitHub stars - Last commit + High-performance JSON parser, 2x faster than Jackson. + GitHub stars + Last commit jackson-modules-java8 - Set of Jackson modules for Java 8 datatypes and features. - GitHub stars - Last commit + Set of Jackson modules for Java 8 datatypes and features. + GitHub stars + Last commit Jackson-datatype-money - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - GitHub stars - Last commit + Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. + GitHub stars + Last commit Jackson - Similar to GSON, but offers performance gains if you need to instantiate the library more often. - GitHub stars - Last commit + Similar to GSON, but offers performance gains if you need to instantiate the library more often. + GitHub stars + Last commit JSON-io - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. - GitHub stars - Last commit + Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. + GitHub stars + Last commit jsoniter - Fast and flexible library with iterator and lazy parsing API. - - - - + Fast and flexible library with iterator and lazy parsing API. + - + - LoganSquare - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - GitHub stars - Last commit + JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. + GitHub stars + Last commit Moshi - Modern JSON library, less opinionated and uses built-in types like List and Map. - GitHub stars - Last commit + Modern JSON library, less opinionated and uses built-in types like List and Map. + GitHub stars + Last commit Yasson - Binding layer between classes and JSON documents similar to JAXB. - GitHub stars - Last commit + Binding layer between classes and JSON documents similar to JAXB. + GitHub stars + Last commit fastjson - Very fast processor with no additional dependencies and full data binding. - GitHub stars - Last commit + Very fast processor with no additional dependencies and full data binding. + GitHub stars + Last commit Jolt - JSON to JSON transformation tool. - GitHub stars - Last commit + JSON to JSON transformation tool. + GitHub stars + Last commit JsonPath - Extract data from JSON using XPATH-like syntax. - GitHub stars - Last commit + Extract data from JSON using XPATH-like syntax. + GitHub stars + Last commit JsonSurfer - Streaming JsonPath processor dedicated to processing big and complicated JSON data. - GitHub stars - Last commit + Streaming JsonPath processor dedicated to processing big and complicated JSON data. + GitHub stars + Last commit @@ -3071,105 +3071,105 @@ _Current implementations of the JVM/JDK._ Which JDK - Overview of common JVMs with pros and cons. - - - - + Overview of common JVMs with pros and cons. + - + - Adopt Open JDK - Community-driven OpenJDK builds, including both HotSpot and OpenJ9. - - - - + Community-driven OpenJDK builds, including both HotSpot and OpenJ9. + - + - Corretto - No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - Dragonwell8 - Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. - GitHub stars - Last commit + Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. + GitHub stars + Last commit Graal - Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) - GitHub stars - Last commit + Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) + GitHub stars + Last commit Liberica JDK - Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Open JDK - Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - ParparVM - VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) - GitHub stars - Last commit + VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) + GitHub stars + Last commit RedHat Open JDK - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - SAP Machine - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - Zulu - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - Microsoft JDK - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! - GitHub stars - Last commit + Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! + GitHub stars + Last commit @@ -3187,97 +3187,97 @@ _Libraries that log the behavior of an application._ Apache Log4j 2 - Complete rewrite with a powerful plugin and configuration architecture. - - - - + Complete rewrite with a powerful plugin and configuration architecture. + - + - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Graylog - Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) - - - - + Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) + - + - Kibana - Analyzes and visualizes log files. Some features require payment. - - - - + Analyzes and visualizes log files. Some features require payment. + - + - Logback - Robust logging library with interesting configuration options via Groovy. - - - - + Robust logging library with interesting configuration options via Groovy. + - + - Logbook - Extensible, open-source library for HTTP request and response logging. - GitHub stars - Last commit + Extensible, open-source library for HTTP request and response logging. + GitHub stars + Last commit Logstash - Tool for managing log files. - - - - + Tool for managing log files. + - + - p6spy - Enables logging for all JDBC transactions without changes to the code. - GitHub stars - Last commit + Enables logging for all JDBC transactions without changes to the code. + GitHub stars + Last commit SLF4J - Abstraction layer/simple logging facade. - - - - + Abstraction layer/simple logging facade. + - + - tinylog - Lightweight logging framework with static logger class. - - - - + 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. - GitHub stars - Last commit + Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations. + GitHub stars + Last commit Flogger - Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. - - - - + Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. + - + - @@ -3295,121 +3295,121 @@ _Tools that provide specific statistical algorithms for learning from data._ Apache Flink - Fast, reliable, large-scale data processing engine. - - - - + Fast, reliable, large-scale data processing engine. + - + - Apache Mahout - Scalable algorithms focused on collaborative filtering, clustering and classification. - - - - + Scalable algorithms focused on collaborative filtering, clustering and classification. + - + - DatumBox - Provides several algorithms and pre-trained models for natural language processing. - - - - + Provides several algorithms and pre-trained models for natural language processing. + - + - Deeplearning4j - Distributed and multi-threaded deep learning library. - - - - + Distributed and multi-threaded deep learning library. + - + - DJL - High-level and engine-agnostic framework for deep learning. - - - - + High-level and engine-agnostic framework for deep learning. + - + - Intelligent java - Seamlessly integrate with remote deep learning and language models programmatically. - GitHub stars - Last commit + Seamlessly integrate with remote deep learning and language models programmatically. + GitHub stars + Last commit JSAT - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - GitHub stars - Last commit + Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) + GitHub stars + Last commit m2cgen - CLI tool to transpile models into native code. - GitHub stars - Last commit + CLI tool to transpile models into native code. + GitHub stars + Last commit Neureka - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. - GitHub stars - Last commit + A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. + GitHub stars + Last commit oj! Algorithms - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - - - - + High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. + - + - Oryx 2 - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - GitHub stars - Last commit + Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. + GitHub stars + Last commit Siddhi - Cloud native streaming and complex event processing engine. - GitHub stars - Last commit + Cloud native streaming and complex event processing engine. + GitHub stars + Last commit Smile - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - GitHub stars - Last commit + Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. + GitHub stars + Last commit Tribuo - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. - - - - + Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. + - + - Weka - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) - - - - + Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) + - + - @@ -3427,129 +3427,129 @@ _Tools that help send messages between clients to ensure protocol independency._ Aeron - Efficient, reliable, unicast and multicast message transport. - GitHub stars - Last commit + Efficient, reliable, unicast and multicast message transport. + GitHub stars + Last commit Apache ActiveMQ - Message broker that implements JMS and converts synchronous to asynchronous communication. - - - - + Message broker that implements JMS and converts synchronous to asynchronous communication. + - + - Apache Camel - Glues together different transport APIs via Enterprise Integration Patterns. - - - - + Glues together different transport APIs via Enterprise Integration Patterns. + - + - Apache Kafka - High-throughput distributed messaging system. - - - - + High-throughput distributed messaging system. + - + - Apache Pulsar - Distributed pub/sub-messaging system. - - - - + Distributed pub/sub-messaging system. + - + - Apache RocketMQ - Fast, reliable, and scalable distributed messaging platform. - - - - + Fast, reliable, and scalable distributed messaging platform. + - + - Apache Qpid - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - - - - + Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. + - + - AutoMQ - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. - GitHub stars - Last commit + AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. + GitHub stars + Last commit Deezpatch - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. - GitHub stars - Last commit + Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. + GitHub stars + Last commit EventBus - Simple publish/subscribe event bus. - GitHub stars - Last commit + Simple publish/subscribe event bus. + GitHub stars + Last commit Hermes - Fast and reliable message broker built on top of Kafka. - - - - + Fast and reliable message broker built on top of Kafka. + - + - JeroMQ - Implementation of ZeroMQ. - GitHub stars - Last commit + Implementation of ZeroMQ. + GitHub stars + Last commit Nakadi - Provides a RESTful API on top of Kafka. - GitHub stars - Last commit + Provides a RESTful API on top of Kafka. + GitHub stars + Last commit RabbitMQ Java client - RabbitMQ client. - GitHub stars - Last commit + RabbitMQ client. + GitHub stars + Last commit Smack - Cross-platform XMPP client library. - GitHub stars - Last commit + Cross-platform XMPP client library. + GitHub stars + Last commit NATS client - NATS client. - GitHub stars - Last commit + NATS client. + GitHub stars + Last commit @@ -3567,105 +3567,105 @@ _Tools for creating and managing microservices._ ActiveRPC - Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. - - - - + Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. + - + - Armeria - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. - GitHub stars - Last commit + Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. + GitHub stars + Last commit consul-api - Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. - GitHub stars - Last commit + Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. + GitHub stars + Last commit Eureka - REST-based service registry for resilient load balancing and failover. - GitHub stars - Last commit + REST-based service registry for resilient load balancing and failover. + GitHub stars + Last commit Helidon - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. - - - - + Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. + - + - JDA - Wrapping of the Discord REST API and its WebSocket events. - GitHub stars - Last commit + Wrapping of the Discord REST API and its WebSocket events. + GitHub stars + Last commit KeenType - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. - GitHub stars - Last commit + Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. + GitHub stars + Last commit kubernetes-client - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - GitHub stars - Last commit + Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. + GitHub stars + Last commit Micronaut - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - - - - + Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. + - + - Nacos - Dynamic service discovery, configuration and service management platform for building cloud native applications. - - - - + Dynamic service discovery, configuration and service management platform for building cloud native applications. + - + - OpenAI-Java - Java libraries for using OpenAI's GPT-3 API. - GitHub stars - Last commit + Java libraries for using OpenAI's GPT-3 API. + GitHub stars + Last commit Quarkus - Kubernetes stack tailored for the HotSpot and Graal VM. - - - - + Kubernetes stack tailored for the HotSpot and Graal VM. + - + - Sentinel - Flow control component enabling reliability, resilience and monitoring for microservices. - GitHub stars - Last commit + Flow control component enabling reliability, resilience and monitoring for microservices. + GitHub stars + Last commit @@ -3683,289 +3683,289 @@ _Everything else._ CQEngine - Ultra-fast, SQL-like queries on Java collections. - GitHub stars - Last commit + Ultra-fast, SQL-like queries on Java collections. + GitHub stars + Last commit Design Patterns - Implementation and explanation of the most common design patterns. - GitHub stars - Last commit + Implementation and explanation of the most common design patterns. + GitHub stars + Last commit FF4J - Feature Flags for Java. - GitHub stars - Last commit + Feature Flags for Java. + GitHub stars + Last commit FizzBuzz Enterprise Edition - No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) - GitHub stars - Last commit + No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) + GitHub stars + Last commit IP2Location.io Java SDK - Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. - GitHub stars - Last commit + Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. + GitHub stars + Last commit ISBN core - A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. - GitHub stars - Last commit + A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. + GitHub stars + Last commit J2ObjC - Java-to-Objective-C translator for porting Android libraries to iOS. - GitHub stars - Last commit + Java-to-Objective-C translator for porting Android libraries to iOS. + GitHub stars + Last commit JBake - Static website generator. - - - - + Static website generator. + - + - JBot - Framework for building chatbots. (GPL-3.0-only) - GitHub stars - Last commit + Framework for building chatbots. (GPL-3.0-only) + GitHub stars + Last commit JCuda - JCuda offers Java bindings for CUDA and CUDA-related libraries. - - - - + JCuda offers Java bindings for CUDA and CUDA-related libraries. + - + - JEmoji - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - GitHub stars - Last commit + An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. + GitHub stars + Last commit Jimfs - In-memory file system. - GitHub stars - Last commit + In-memory file system. + GitHub stars + Last commit Joda-Money - Basic currency and money classes and algorithms not provided by the JDK. - - - - + Basic currency and money classes and algorithms not provided by the JDK. + - + - jOOX - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - GitHub stars - Last commit + Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. + GitHub stars + Last commit JPad - Snippet runner. - - - - + Snippet runner. + - + - jsweet - Source transpiler to TypeScript/JavaScript. - GitHub stars - Last commit + Source transpiler to TypeScript/JavaScript. + GitHub stars + Last commit Maven Wrapper - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - GitHub stars - Last commit + Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. + GitHub stars + Last commit Membrane Service Proxy - Open-source, reverse-proxy framework. - GitHub stars - Last commit + Open-source, reverse-proxy framework. + GitHub stars + Last commit MinimalFTP - Lightweight, small and customizable FTP server. - GitHub stars - Last commit + Lightweight, small and customizable FTP server. + GitHub stars + Last commit LittleProxy - High performance HTTP proxy atop Netty's event-based networking library. - GitHub stars - Last commit + High performance HTTP proxy atop Netty's event-based networking library. + GitHub stars + Last commit Modern Java - A Guide to Java 8 - Popular Java 8 guide. - GitHub stars - Last commit + Popular Java 8 guide. + GitHub stars + Last commit Modernizer - Detect uses of legacy Java APIs. - GitHub stars - Last commit + Detect uses of legacy Java APIs. + GitHub stars + Last commit OctoLinker - Browser extension which allows to navigate through code on GitHub more efficiently. - GitHub stars - Last commit + Browser extension which allows to navigate through code on GitHub more efficiently. + GitHub stars + Last commit OpenRefine - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - - - - + Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. + - + - PipelinR - Small utility library for using handlers and commands with pipelines. - GitHub stars - Last commit + Small utility library for using handlers and commands with pipelines. + GitHub stars + Last commit Polyglot for Maven - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - GitHub stars - Last commit + Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. + GitHub stars + Last commit RR4J - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - GitHub stars - Last commit + RR4J is a tool that records java bytecode execution and later allows developers to replay locally. + GitHub stars + Last commit Simple Java Mail - Mailing with a clean and fluent API. - GitHub stars - Last commit + Mailing with a clean and fluent API. + GitHub stars + Last commit Smooks - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) - GitHub stars - Last commit + Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) + GitHub stars + Last commit Svix - Library for the Svix API to send webhooks and verify signatures. - GitHub stars - Last commit + Library for the Svix API to send webhooks and verify signatures. + GitHub stars + Last commit Togglz - Implementation of the Feature Toggles pattern. - - - - + Implementation of the Feature Toggles pattern. + - + - TypeTools - Tools for resolving generic types. - GitHub stars - Last commit + Tools for resolving generic types. + GitHub stars + Last commit webcam-capture - Library for using built-in and external webcams directly in Java. - GitHub stars - Last commit + Library for using built-in and external webcams directly in Java. + GitHub stars + Last commit XMLBeam - Processes XML by using annotations or XPath within code. - GitHub stars - Last commit + Processes XML by using annotations or XPath within code. + GitHub stars + Last commit yGuard - Obfuscation via renaming and shrinking. - GitHub stars - Last commit + Obfuscation via renaming and shrinking. + GitHub stars + Last commit JBang - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - GitHub stars - Last commit + JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. + GitHub stars + Last commit @@ -3983,25 +3983,25 @@ _Tools for creating or managing mobile applications._ Codename One - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - MobileUI - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. - - - - + Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. + - + - Multi-OS Engine - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - - - - + Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. + - + - @@ -4019,169 +4019,169 @@ _Tools that observe/monitor applications in production by providing telemetry._ Apitally - Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. - GitHub stars - Last commit + Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. + GitHub stars + Last commit Automon - Combines the power of AOP with monitoring and/or logging tools. - GitHub stars - Last commit + Combines the power of AOP with monitoring and/or logging tools. + GitHub stars + Last commit Dropwizard Metrics - Expose metrics via JMX or HTTP and send them to a database. - GitHub stars - Last commit + Expose metrics via JMX or HTTP and send them to a database. + GitHub stars + Last commit Failsafe Actuator - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - GitHub stars - Last commit + Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. + GitHub stars + Last commit Glowroot - Open-source Java APM. - - - - + Open-source Java APM. + - + - HertzBeat - Real-time monitoring system with custom-monitor and agentless. - GitHub stars - Last commit + Real-time monitoring system with custom-monitor and agentless. + GitHub stars + Last commit hippo4j - Dynamic and observable thread pool framework. - GitHub stars - Last commit + Dynamic and observable thread pool framework. + GitHub stars + Last commit inspectIT - 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. - - - - + 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. + - + - Jaeger client - Jaeger client. - GitHub stars - Last commit + Jaeger client. + GitHub stars + Last commit JavaMelody - Performance monitoring and profiling. - GitHub stars - Last commit + Performance monitoring and profiling. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Jolokia - JMX over REST. - - - - + JMX over REST. + - + - Micrometer - Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. - GitHub stars - Last commit + Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. + GitHub stars + Last commit Micrometer Tracing - Vendor-neutral distributed tracing facade for the most popular tracer libraries. - GitHub stars - Last commit + Vendor-neutral distributed tracing facade for the most popular tracer libraries. + GitHub stars + Last commit nudge4j - Remote developer console from the browser for Java 8 via bytecode injection. - GitHub stars - Last commit + Remote developer console from the browser for Java 8 via bytecode injection. + GitHub stars + Last commit OpenTelemetry - Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. - GitHub stars - Last commit + Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. + GitHub stars + Last commit Pinpoint - Open-source APM tool. - GitHub stars - Last commit + Open-source APM tool. + GitHub stars + Last commit Prometheus - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. - GitHub stars - Last commit + Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. + GitHub stars + Last commit Stagemonitor - Open-source performance monitoring and transaction tracing for JVM apps. - GitHub stars - Last commit + Open-source performance monitoring and transaction tracing for JVM apps. + GitHub stars + Last commit Sysmon - Lightweight platform monitoring tool for Java VMs. - GitHub stars - Last commit + Lightweight platform monitoring tool for Java VMs. + GitHub stars + Last commit zipkin - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. - - - - + Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. + - + - @@ -4199,41 +4199,41 @@ _For working with platform-specific native libraries._ Aparapi - Converts bytecode to OpenCL which allows execution on GPUs. - GitHub stars - Last commit + Converts bytecode to OpenCL which allows execution on GPUs. + GitHub stars + Last commit JavaCPP - Provides efficient and easy access to native C++. - GitHub stars - Last commit + Provides efficient and easy access to native C++. + GitHub stars + Last commit JNA - Work with native libraries without writing JNI. Also provides interfaces to common system libraries. - GitHub stars - Last commit + Work with native libraries without writing JNI. Also provides interfaces to common system libraries. + GitHub stars + Last commit JNR - 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). - GitHub stars - Last commit + 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). + GitHub stars + Last commit native-lib-loader - Native library loader for extracting and loading native libraries from Java. - GitHub stars - Last commit + Native library loader for extracting and loading native libraries from Java. + GitHub stars + Last commit @@ -4251,41 +4251,41 @@ _Libraries that specialize in processing text._ CogCompNLP - Provides common annotators for plain text input. (Research and Academic Use License) - GitHub stars - Last commit + Provides common annotators for plain text input. (Research and Academic Use License) + GitHub stars + Last commit CoreNLP - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - - - - + Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) + - + - DKPro - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - - - - + Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. + - + - Hypherator - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. - GitHub stars - Last commit + Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. + GitHub stars + Last commit LingPipe - Toolkit for tasks ranging from POS tagging to sentiment analysis. - - - - + Toolkit for tasks ranging from POS tagging to sentiment analysis. + - + - @@ -4303,121 +4303,121 @@ _Libraries for building network servers._ Commons-networking - Client for server-sent events (SSE). - GitHub stars - Last commit + Client for server-sent events (SSE). + GitHub stars + Last commit Comsat - Integrates standard Java web-related APIs with Quasar fibers and actors. - GitHub stars - Last commit + Integrates standard Java web-related APIs with Quasar fibers and actors. + GitHub stars + Last commit Dubbo - High-performance RPC framework. - GitHub stars - Last commit + High-performance RPC framework. + GitHub stars + Last commit Grizzly - NIO framework. Used as a network layer in Glassfish. - - - - + NIO framework. Used as a network layer in Glassfish. + - + - gRPC - RPC framework based on protobuf and HTTP/2. - GitHub stars - Last commit + RPC framework based on protobuf and HTTP/2. + GitHub stars + Last commit KryoNet - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - GitHub stars - Last commit + Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. + GitHub stars + Last commit MINA - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - - - - + Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. + - + - Netty - Framework for building high-performance network applications. - - - - + Framework for building high-performance network applications. + - + - Drift - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. - GitHub stars - Last commit + Easy-to-use, annotation-based library for creating Thrift clients and serializable types. + GitHub stars + Last commit ServiceTalk - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - GitHub stars - Last commit + Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. + GitHub stars + Last commit sshj - Programmatically use SSH, SCP or SFTP. - GitHub stars - Last commit + Programmatically use SSH, SCP or SFTP. + GitHub stars + Last commit TLS Channel - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - GitHub stars - Last commit + Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. + GitHub stars + Last commit Undertow - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) - - - - + Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) + - + - urnlib - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) - GitHub stars - Last commit + Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) + GitHub stars + Last commit Fluency - High throughput data ingestion logger to Fluentd and Fluent Bit. - GitHub stars - Last commit + High throughput data ingestion logger to Fluentd and Fluent Bit. + GitHub stars + Last commit @@ -4435,81 +4435,81 @@ _APIs that handle the persistence of objects._ Apache Cayenne - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. - - - - + Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. + - + - Doma - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. - GitHub stars - Last commit + Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. + GitHub stars + Last commit Ebean - Provides simple and fast data access. - - - - + Provides simple and fast data access. + - + - EclipseLink - Supports a number of persistence standards: JPA, JAXB, JCA and SDO. - - - - + Supports a number of persistence standards: JPA, JAXB, JCA and SDO. + - + - Hibernate - Robust and widely used, with an active community. (LGPL-2.1-only) - - - - + Robust and widely used, with an active community. (LGPL-2.1-only) + - + - MyBatis - Couples objects with stored procedures or SQL statements. - GitHub stars - Last commit + Couples objects with stored procedures or SQL statements. + GitHub stars + Last commit MyBatis-Plus - A powerful enhanced toolkit of MyBatis for simplifying development. - GitHub stars - Last commit + A powerful enhanced toolkit of MyBatis for simplifying development. + GitHub stars + Last commit ObjectiveSql - ActiveRecord ORM for rapid development and convention over configuration. - GitHub stars - Last commit + ActiveRecord ORM for rapid development and convention over configuration. + GitHub stars + Last commit Permazen - Language-natural persistence layer. - GitHub stars - Last commit + Language-natural persistence layer. + GitHub stars + Last commit SimpleFlatMapper - Simple database and CSV mapper. - GitHub stars - Last commit + Simple database and CSV mapper. + GitHub stars + Last commit @@ -4531,9 +4531,9 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. Pathetic - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. - GitHub stars - Last commit + A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. + GitHub stars + Last commit @@ -4551,81 +4551,81 @@ _Tools to help with PDF files._ Apache FOP - Creates PDFs from XSL-FO. - - - - + Creates PDFs from XSL-FO. + - + - Apache PDFBox - Toolbox for creating and manipulating PDFs. - - - - + Toolbox for creating and manipulating PDFs. + - + - Dynamic Jasper - Abstraction layer to JasperReports. (LGPL-3.0-only) - - - - + Abstraction layer to JasperReports. (LGPL-3.0-only) + - + - DynamicReports - Simplifies JasperReports. (LGPL-3.0-only) - GitHub stars - Last commit + Simplifies JasperReports. (LGPL-3.0-only) + GitHub stars + Last commit Eclipse BIRT - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - - - - + Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. + - + - flyingsaucer - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - GitHub stars - Last commit + XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) + GitHub stars + Last commit JasperReports - Complex reporting engine. (LGPL-3.0-only) - - - - + Complex reporting engine. (LGPL-3.0-only) + - + - Open HTML to PDF - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - GitHub stars - Last commit + Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. + GitHub stars + Last commit OpenPDF - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - GitHub stars - Last commit + Open-source iText fork. (LGPL-3.0-only & MPL-2.0) + GitHub stars + Last commit Tabula - Extracts tables from PDF files. - GitHub stars - Last commit + Extracts tables from PDF files. + GitHub stars + Last commit @@ -4643,41 +4643,41 @@ _Tools for performance analysis, profiling and benchmarking._ honest-profiler - Low-overhead, bias-free sampling profiler. - GitHub stars - Last commit + Low-overhead, bias-free sampling profiler. + GitHub stars + Last commit jHiccup - Logs and records platform JVM stalls. - GitHub stars - Last commit + Logs and records platform JVM stalls. + GitHub stars + Last commit JITWatch - Analyze the JIT compiler optimisations made by the HotSpot JVM. - GitHub stars - Last commit + Analyze the JIT compiler optimisations made by the HotSpot JVM. + GitHub stars + Last commit JMH - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - - - - + Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) + - + - LatencyUtils - Utilities for latency measurement and reporting. - GitHub stars - Last commit + Utilities for latency measurement and reporting. + GitHub stars + Last commit @@ -4697,433 +4697,433 @@ _Frameworks that are suites of multiple libraries encompassing several categorie BCEL - Byte Code Engineering Library - analyze, create, and manipulate Java class files. - - - - + Byte Code Engineering Library - analyze, create, and manipulate Java class files. + - + - BeanUtils - Easy-to-use wrappers around the Java reflection and introspection APIs. - - - - + Easy-to-use wrappers around the Java reflection and introspection APIs. + - + - BeanUtils2 - Redesign of Commons BeanUtils. - - - - + Redesign of Commons BeanUtils. + - + - BSF - Bean Scripting Framework - interface to scripting languages, including JSR-223. - - - - + Bean Scripting Framework - interface to scripting languages, including JSR-223. + - + - Chain - Chain of Responsibility pattern implementation. - - - - + Chain of Responsibility pattern implementation. + - + - ClassScan - Find Class interfaces, methods, fields, and annotations without loading. - - - - + Find Class interfaces, methods, fields, and annotations without loading. + - + - CLI - Command-line arguments parser. - - - - + Command-line arguments parser. + - + - CLI2 - Redesign of Commons CLI. - - - - + Redesign of Commons CLI. + - + - Codec - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. - - - - + General encoding/decoding algorithms, e.g. phonetic, base64 or URL. + - + - Collections - Extends or augments the Java Collections Framework. - - - - + Extends or augments the Java Collections Framework. + - + - Compress - Defines an API for working with tar, zip and bzip2 files. - - - - + Defines an API for working with tar, zip and bzip2 files. + - + - Configuration - Reading of configuration/preferences files in various formats. - - - - + Reading of configuration/preferences files in various formats. + - + - Convert - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. - - - - + Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. + - + - CSV - Component for reading and writing comma separated value files. - - - - + Component for reading and writing comma separated value files. + - + - Daemon - Alternative invocation mechanism for unix-daemon-like java code. - - - - + Alternative invocation mechanism for unix-daemon-like java code. + - + - DBCP - Database connection pooling services. - - - - + Database connection pooling services. + - + - DbUtils - JDBC helper library. - - - - + JDBC helper library. + - + - Digester - XML-to-Java-object mapping utility. - - - - + XML-to-Java-object mapping utility. + - + - Email - Library for sending e-mail from Java. - - - - + Library for sending e-mail from Java. + - + - Exec - API for dealing with external process execution and environment management in Java. - - - - + API for dealing with external process execution and environment management in Java. + - + - FileUpload - File upload capability for your servlets and web applications. - - - - + File upload capability for your servlets and web applications. + - + - Finder - Java library inspired by the UNIX find command. - - - - + Java library inspired by the UNIX find command. + - + - Flatfile - Java library for working with flat data structures. - - - - + Java library for working with flat data structures. + - + - Functor - Function that can be manipulated as an object, or an object representing a single, generic function. - - - - + Function that can be manipulated as an object, or an object representing a single, generic function. + - + - Graph - General purpose graph APIs and algorithms. - - - - + General purpose graph APIs and algorithms. + - + - I18n - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. - - - - + Adds the feature of localized message bundles that consist of one or many localized texts that belong together. + - + - Id - Id is a component used to generate identifiers. - - - - + Id is a component used to generate identifiers. + - + - Imaging - Image library. - - - - + Image library. + - + - IO - Collection of I/O utilities. - - - - + Collection of I/O utilities. + - + - Javaflow - Continuation implementation to capture the state of the application. - - - - + Continuation implementation to capture the state of the application. + - + - JCI - Java Compiler Interface. - - - - + Java Compiler Interface. + - + - JCS - Java Caching System. - - - - + Java Caching System. + - + - Jelly - XML based scripting and processing engine. - - - - + XML based scripting and processing engine. + - + - Jexl - Expression language which extends the Expression Language of the JSTL. - - - - + Expression language which extends the Expression Language of the JSTL. + - + - JNet - JNet allows to use dynamically register url stream handlers through the java.net API. - - - - + JNet allows to use dynamically register url stream handlers through the java.net API. + - + - JXPath - Utilities for manipulating Java Beans using the XPath syntax. - - - - + Utilities for manipulating Java Beans using the XPath syntax. + - + - Lang - Provides extra functionality for classes in java.lang. - - - - + Provides extra functionality for classes in java.lang. + - + - Logging - Wrapper around a variety of logging API implementations. - - - - + Wrapper around a variety of logging API implementations. + - + - Math - Lightweight, self-contained mathematics and statistics components. - - - - + Lightweight, self-contained mathematics and statistics components. + - + - Monitoring - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. - - - - + Monitoring aims to provide a simple but extensible monitoring solution for Java applications. + - + - Nabla - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. - - - - + Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. + - + - Net - Collection of network utilities and protocol implementations. - - - - + Collection of network utilities and protocol implementations. + - + - OGNL - Object-graph navigation language. - - - - + Object-graph navigation language. + - + - OpenPGP - Interface to signing and verifying data using OpenPGP. - - - - + Interface to signing and verifying data using OpenPGP. + - + - Performance - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. - - - - + Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. + - + - Pipeline - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. - - - - + Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. + - + - Pool - Generic object pooling component. - - - - + Generic object pooling component. + - + - Proxy - Library for creating dynamic proxies. - - - - + Library for creating dynamic proxies. + - + - RDF - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. - - - - + Common implementation of RDF 1.1 that could be implemented by systems on the JVM. + - + - RNG - Commons Rng provides implementations of pseudo-random numbers generators. - - - - + Commons Rng provides implementations of pseudo-random numbers generators. + - + - SCXML - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. - - - - + Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. + - + - Validator - Framework to define validators and validation rules in an xml file. - - - - + Framework to define validators and validation rules in an xml file. + - + - VFS - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. - - - - + Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. + - + - Weaver - Provides an easy way to enhance (weave) compiled bytecode. - - - - + Provides an easy way to enhance (weave) compiled bytecode. + - + - @@ -5139,33 +5139,33 @@ _Frameworks that are suites of multiple libraries encompassing several categorie CUBA Platform - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. - - - - + High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. + - + - Light-4J - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). - GitHub stars - Last commit + Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). + GitHub stars + Last commit Orienteer - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - GitHub stars - Last commit + Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. + GitHub stars + Last commit Spring - Provides many packages for dependency injection, aspect-oriented programming, security, etc. - - - - + Provides many packages for dependency injection, aspect-oriented programming, security, etc. + - + - @@ -5183,25 +5183,25 @@ _Libraries that help the management of operating system processes._ ch.vorburger.exec - Convenient API around Apache Commons Exec. - GitHub stars - Last commit + Convenient API around Apache Commons Exec. + GitHub stars + Last commit zt-exec - Provides a unified API to Apache Commons Exec and ProcessBuilder. - GitHub stars - Last commit + Provides a unified API to Apache Commons Exec and ProcessBuilder. + GitHub stars + Last commit zt-process-killer - Stops processes started from Java or the system processes via PID. - GitHub stars - Last commit + Stops processes started from Java or the system processes via PID. + GitHub stars + Last commit @@ -5219,41 +5219,41 @@ _Libraries for developing reactive applications._ Akka - Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. - - - - + Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. + - + - Reactive Streams - Provides a standard for asynchronous stream processing with non-blocking backpressure. - GitHub stars - Last commit + Provides a standard for asynchronous stream processing with non-blocking backpressure. + GitHub stars + Last commit Reactor - A framework for building non-blocking applications on the JVM, providing support for reactive programming. - GitHub stars - Last commit + A framework for building non-blocking applications on the JVM, providing support for reactive programming. + GitHub stars + Last commit RxJava - Allows for composing asynchronous and event-based programs using observable sequences. - GitHub stars - Last commit + Allows for composing asynchronous and event-based programs using observable sequences. + GitHub stars + Last commit vert.x - Polyglot event-driven application framework. - - - - + Polyglot event-driven application framework. + - + - @@ -5271,105 +5271,105 @@ _Frameworks specifically for creating RESTful services._ Dropwizard - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - GitHub stars - Last commit + Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. + GitHub stars + Last commit Elide - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - - - - + Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. + - + - Jersey - JAX-RS reference implementation. - - - - + JAX-RS reference implementation. + - + - Microserver - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Rapidoid - Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. - - - - + Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. + - + - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit RESTEasy - Fully certified and portable implementation of the JAX-RS specification. - - - - + Fully certified and portable implementation of the JAX-RS specification. + - + - RestExpress - Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. - GitHub stars - Last commit + Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. + GitHub stars + Last commit Restlet Framework - Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. - GitHub stars - Last commit + Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. + GitHub stars + Last commit Spark - Sinatra inspired framework. - - - - + Sinatra inspired framework. + - + - Crnk - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - - - - + Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. + - + - springdoc-openapi - Automates the generation of API documentation using Spring Boot projects. - GitHub stars - Last commit + Automates the generation of API documentation using Spring Boot projects. + GitHub stars + Last commit Swagger - Standard, language-agnostic interface to REST APIs. - - - - + Standard, language-agnostic interface to REST APIs. + - + - @@ -5387,121 +5387,121 @@ _Libraries for scientific computing, analysis and visualization._ BioJava - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. - - - - + Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. + - + - Chart-FX - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - GitHub stars - Last commit + Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. + GitHub stars + Last commit DataMelt - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - - - - + Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) + - + - Erdos - Modular, light and easy graph framework for theoretic algorithms. - GitHub stars - Last commit + Modular, light and easy graph framework for theoretic algorithms. + GitHub stars + Last commit GraphStream - Library for modeling and analyzing dynamic graphs. - - - - + Library for modeling and analyzing dynamic graphs. + - + - JFreeChart - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - - - - + 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) + - + - JGraphT - Graph library that provides mathematical graph-theory objects and algorithms. - GitHub stars - Last commit + Graph library that provides mathematical graph-theory objects and algorithms. + GitHub stars + Last commit JGraphX - Library for visualizing (mainly Swing) and interacting with node-edge graphs. - GitHub stars - Last commit + Library for visualizing (mainly Swing) and interacting with node-edge graphs. + GitHub stars + Last commit LogicNG - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - GitHub stars - Last commit + Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. + GitHub stars + Last commit Mines Java Toolkit - Library for geophysical scientific computation, visualization and digital signal analysis. - GitHub stars - Last commit + Library for geophysical scientific computation, visualization and digital signal analysis. + GitHub stars + Last commit Morpheus - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - GitHub stars - Last commit + Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. + GitHub stars + Last commit Orekit - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. - - - - + A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. + - + - Orson-Charts - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) - GitHub stars - Last commit + Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) + GitHub stars + Last commit Tablesaw - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - GitHub stars - Last commit + Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. + GitHub stars + Last commit XChart - Light-weight library for plotting data. Many customizable chart types are available. - GitHub stars - Last commit + Light-weight library for plotting data. Many customizable chart types are available. + GitHub stars + Last commit @@ -5519,33 +5519,33 @@ _Engines that index documents for search and analysis._ Apache Lucene - High-performance, full-featured, cross-platform, text search engine library. - - - - + High-performance, full-featured, cross-platform, text search engine library. + - + - Apache Solr - Enterprise search engine optimized for high-volume traffic. - - - - + Enterprise search engine optimized for high-volume traffic. + - + - Elasticsearch - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. - - - - + Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. + - + - Indexer4j - Simple and light full text indexing and searching library. - GitHub stars - Last commit + Simple and light full text indexing and searching library. + GitHub stars + Last commit @@ -5563,185 +5563,185 @@ _Libraries that handle security, authentication, authorization or session manage Apache Shiro - Performs authentication, authorization, cryptography and session management. - - - - + Performs authentication, authorization, cryptography and session management. + - + - Ayza - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. - GitHub stars - Last commit + High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. + GitHub stars + Last commit Bouncy Castle - All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. - - - - + 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. - GitHub stars - Last commit + Detects publicly disclosed vulnerabilities contained within a project's dependencies. + GitHub stars + Last commit Cryptomator - Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) - - - - + Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) + - + - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit jjwt - JSON web token for Java and Android. - GitHub stars - Last commit + JSON web token for Java and Android. + GitHub stars + Last commit jwt-java - Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. - GitHub stars - Last commit + Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. + GitHub stars + Last commit Jwks RSA - JSON Web Key Set parser. - GitHub stars - Last commit + JSON Web Key Set parser. + GitHub stars + Last commit Kalium - Binding for the Networking and Cryptography (NaCl) library. - GitHub stars - Last commit + Binding for the Networking and Cryptography (NaCl) library. + GitHub stars + Last commit Keycloak - Integrated SSO and IDM for browser apps and RESTful web services. - - - - + Integrated SSO and IDM for browser apps and RESTful web services. + - + - Keywhiz - System for distributing and managing secrets. - GitHub stars - Last commit + System for distributing and managing secrets. + GitHub stars + Last commit Nbvcxz - Advanced password strength estimation. - GitHub stars - Last commit + Advanced password strength estimation. + GitHub stars + Last commit OACC - Provides permission-based authorization services. - - - - + Provides permission-based authorization services. + - + - OpenAM - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. - GitHub stars - Last commit + Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. + GitHub stars + Last commit OTP-Java - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - GitHub stars - Last commit + One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). + GitHub stars + Last commit pac4j - Security engine. - GitHub stars - Last commit + Security engine. + GitHub stars + Last commit Passay - Enforce password policy by validating candidate passwords against a configurable rule set. - - - - + Enforce password policy by validating candidate passwords against a configurable rule set. + - + - Password4j - User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. - GitHub stars - Last commit + User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. + GitHub stars + Last commit SecurityBuilder - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. - GitHub stars - Last commit + Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Tink - Provides a simple and misuse-proof API for common cryptographic tasks. - GitHub stars - Last commit + Provides a simple and misuse-proof API for common cryptographic tasks. + GitHub stars + Last commit Topaz - Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. - - - - + Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. + - + - @@ -5759,49 +5759,49 @@ _Libraries that handle serialization with high efficiency._ FlatBuffers - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. - GitHub stars - Last commit + Memory-efficient serialization library that can access serialized data without unpacking and parsing it. + GitHub stars + Last commit FST - JDK-compatible, high-performance object graph serialization. - GitHub stars - Last commit + JDK-compatible, high-performance object graph serialization. + GitHub stars + Last commit Fury - Blazing fast object graph serialization framework powered by JIT and zero-copy. - GitHub stars - Last commit + Blazing fast object graph serialization framework powered by JIT and zero-copy. + GitHub stars + Last commit Kryo - Fast and efficient object graph serialization framework. - GitHub stars - Last commit + Fast and efficient object graph serialization framework. + GitHub stars + Last commit MessagePack - Efficient binary serialization format. - GitHub stars - Last commit + Efficient binary serialization format. + GitHub stars + Last commit PHP Serializer - Serializing objects in the PHP serialization format. - GitHub stars - Last commit + Serializing objects in the PHP serialization format. + GitHub stars + Last commit @@ -5819,41 +5819,41 @@ _Servers specifically used to deploy applications._ Apache Tomcat - Robust, all-round server for Servlet and JSP. - - - - + Robust, all-round server for Servlet and JSP. + - + - Apache TomEE - Tomcat plus Java EE. - - - - + Tomcat plus Java EE. + - + - Jetty - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - - - - + Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. + - + - nanohttpd - Tiny, easily embeddable HTTP server. - GitHub stars - Last commit + Tiny, easily embeddable HTTP server. + GitHub stars + Last commit WildFly - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) - - - - + Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) + - + - @@ -5871,89 +5871,89 @@ _Tools that substitute expressions in a template._ Freemarker - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - - - - + Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. + - + - Handlebars.java - Logicless and semantic Mustache templates. - - - - + Logicless and semantic Mustache templates. + - + - Jade4J - Implementation of Pug (formerly known as Jade). - GitHub stars - Last commit + Implementation of Pug (formerly known as Jade). + GitHub stars + Last commit Jamal - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. - GitHub stars - Last commit + Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. + GitHub stars + Last commit jstachio - Typesafe Mustache templating engine. - GitHub stars - Last commit + Typesafe Mustache templating engine. + GitHub stars + Last commit jte - Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. - GitHub stars - Last commit + Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. + GitHub stars + Last commit Jtwig - Modular, configurable and fully tested template engine. - GitHub stars - Last commit + Modular, configurable and fully tested template engine. + GitHub stars + Last commit Pebble - 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. - - - - + 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 - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. - GitHub stars - Last commit + Optimized, memory efficient and speedy template engine producing statically typed, plain objects. + GitHub stars + Last commit StringTemplate - Template engine for generating source code, web pages, emails, or any other formatted text output. - GitHub stars - Last commit + Template engine for generating source code, web pages, emails, or any other formatted text output. + GitHub stars + Last commit Thymeleaf - Aims to be a substitute for JSP and works for XML files. - - - - + Aims to be a substitute for JSP and works for XML files. + - + - @@ -5975,57 +5975,57 @@ _Tools that simplify testing asynchronous services._ Awaitility - DSL for synchronizing asynchronous operations. - GitHub stars - Last commit + DSL for synchronizing asynchronous operations. + GitHub stars + Last commit ConcurrentUnit - Toolkit for testing multi-threaded and asynchronous applications. - GitHub stars - Last commit + Toolkit for testing multi-threaded and asynchronous applications. + GitHub stars + Last commit GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - - - - + In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) + - + - Hoverfly Java - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - GitHub stars - Last commit + Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. + GitHub stars + Last commit Karate - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - GitHub stars - Last commit + DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. + GitHub stars + Last commit REST Assured - DSL for easy testing of REST/HTTP services. - GitHub stars - Last commit + DSL for easy testing of REST/HTTP services. + GitHub stars + Last commit WebTau - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - GitHub stars - Last commit + Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. + GitHub stars + Last commit @@ -6043,57 +6043,57 @@ _Testing for the software development process that emerged from TDD and was heav Cucumber - Provides a way to describe features in a plain language which customers can understand. - GitHub stars - Last commit + Provides a way to describe features in a plain language which customers can understand. + GitHub stars + Last commit Cukes-REST - Collection of Gherkin steps for REST-service testing using Cucumber. - GitHub stars - Last commit + Collection of Gherkin steps for REST-service testing using Cucumber. + GitHub stars + Last commit J8Spec - Follows a Jasmine-like syntax. - GitHub stars - Last commit + Follows a Jasmine-like syntax. + GitHub stars + Last commit JBehave - Extensively configurable framework that describes stories. - - - - + Extensively configurable framework that describes stories. + - + - JGiven - Provides a fluent API which allows for simpler composition. - - - - + Provides a fluent API which allows for simpler composition. + - + - Lamdba Behave - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - GitHub stars - Last commit + Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. + GitHub stars + Last commit Serenity BDD - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. - GitHub stars - Last commit + Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. + GitHub stars + Last commit @@ -6111,81 +6111,81 @@ _Everything related to the creation and handling of random data._ AutoParams - Supports generating test data or combining scenarios for parameterized tests. - GitHub stars - Last commit + Supports generating test data or combining scenarios for parameterized tests. + GitHub stars + Last commit Beanmother - Sets up beans from YAML fixtures. - GitHub stars - Last commit + Sets up beans from YAML fixtures. + GitHub stars + Last commit Datafaker - Modern fake data generator forked from Java Faker. - GitHub stars - Last commit + Modern fake data generator forked from Java Faker. + GitHub stars + Last commit Fixture Factory - Generates fake objects from a template. - GitHub stars - Last commit + Generates fake objects from a template. + GitHub stars + Last commit jFairy - Fake data generator. - GitHub stars - Last commit + Fake data generator. + GitHub stars + Last commit Instancio - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. - GitHub stars - Last commit + Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. + GitHub stars + Last commit Randomized Testing - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - GitHub stars - Last commit + JUnit test runner and plugins for running JUnit tests with pseudo-randomness. + GitHub stars + Last commit Java Faker - Port of Ruby's fake data generator. - GitHub stars - Last commit + Port of Ruby's fake data generator. + GitHub stars + Last commit Mockneat - Another fake data generator. - GitHub stars - Last commit + Another fake data generator. + GitHub stars + Last commit JMock - JMock is a high-performance data generation and simulation component library implemented in Java. - GitHub stars - Last commit + JMock is a high-performance data generation and simulation component library implemented in Java. + GitHub stars + Last commit @@ -6203,89 +6203,89 @@ _Provide environments to run tests for a specific use case._ Apache JMeter - Functional testing and performance measurements. - - - - + Functional testing and performance measurements. + - + - JMeter DSL.java - Load tests with JMeter as simple as a JUnit test. - - - - + Load tests with JMeter as simple as a JUnit test. + - + - Arquillian - Integration and functional testing platform for Java EE containers. - - - - + Integration and functional testing platform for Java EE containers. + - + - cdi-test - JUnit extension for easy and efficient testing of CDI components. - GitHub stars - Last commit + JUnit extension for easy and efficient testing of CDI components. + GitHub stars + Last commit Citrus - Integration testing framework that focuses on both client- and server-side messaging. - - - - + Integration testing framework that focuses on both client- and server-side messaging. + - + - Gatling - Load testing tool designed for ease of use, maintainability and high performance. - - - - + Load testing tool designed for ease of use, maintainability and high performance. + - + - JUnit - Common testing framework. - - - - + Common testing framework. + - + - jqwik - Engine for property-based testing built on JUnit 5. - - - - + Engine for property-based testing built on JUnit 5. + - + - Pact JVM - Consumer-driven contract testing. - GitHub stars - Last commit + Consumer-driven contract testing. + GitHub stars + Last commit PIT - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. - - - - + Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. + - + - weld-testing - Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. - GitHub stars - Last commit + Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. + GitHub stars + Last commit @@ -6303,49 +6303,49 @@ _Libraries that provide custom matchers._ AssertJ - Fluent assertions that improve readability. - - - - + Fluent assertions that improve readability. + - + - Hamcrest - Matchers that can be combined to create flexible expressions of intent. - - - - + Matchers that can be combined to create flexible expressions of intent. + - + - JSONAssert - Simplifies testing JSON strings. - - - - + Simplifies testing JSON strings. + - + - JsonUnit - Library that simplifies JSON comparison in tests. - GitHub stars - Last commit + Library that simplifies JSON comparison in tests. + GitHub stars + Last commit Truth - Google's fluent assertion and proposition framework. - - - - + Google's fluent assertion and proposition framework. + - + - XMLUnit - Simplifies testing for XML output. - GitHub stars - Last commit + Simplifies testing for XML output. + GitHub stars + Last commit @@ -6363,89 +6363,89 @@ _Other stuff related to testing._ ConsoleCaptor - Captures console output for unit testing purposes. - GitHub stars - Last commit + Captures console output for unit testing purposes. + GitHub stars + Last commit junit-dataprovider - TestNG-like data provider/runner for JUnit. - GitHub stars - Last commit + TestNG-like data provider/runner for JUnit. + GitHub stars + Last commit junit-pioneer - JUnit 5 extension pack, pushing the frontiers on Jupiter. - - - - + JUnit 5 extension pack, pushing the frontiers on Jupiter. + - + - LogCaptor - Captures log entries for unit testing purposes. - GitHub stars - Last commit + Captures log entries for unit testing purposes. + GitHub stars + Last commit log-capture - Captures log entries and provides assertions for unit and integration testing. - GitHub stars - Last commit + Captures log entries and provides assertions for unit and integration testing. + GitHub stars + Last commit Mutability Detector - Reports whether instances of a given class are immutable. - GitHub stars - Last commit + Reports whether instances of a given class are immutable. + GitHub stars + Last commit pojo-tester - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) - - - - + Automatically performs tests on basic POJO methods. (LGPL-3.0-only) + - + - raml-tester - Tests if a request/response matches a given RAML definition. - GitHub stars - Last commit + Tests if a request/response matches a given RAML definition. + GitHub stars + Last commit Selfie - Snapshot testing (inline and on disk). - GitHub stars - Last commit + Snapshot testing (inline and on disk). + GitHub stars + Last commit Stebz - Multi-approach framework for test steps managing. - GitHub stars - Last commit + Multi-approach framework for test steps managing. + GitHub stars + Last commit Testcontainers - Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. - GitHub stars - Last commit + Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. + GitHub stars + Last commit @@ -6463,57 +6463,57 @@ _Tools which mock collaborators to help testing single, isolated units._ JMockit - Integration testing, API mocking and faking, and code coverage. - - - - + Integration testing, API mocking and faking, and code coverage. + - + - Mockito - Mocking framework that lets you write tests with a clean and simple API. - GitHub stars - Last commit + Mocking framework that lets you write tests with a clean and simple API. + GitHub stars + Last commit MockServer - Allows mocking of systems integrated with HTTPS. - - - - + Allows mocking of systems integrated with HTTPS. + - + - Moco - Concise web services for stubs and mocks. - GitHub stars - Last commit + Concise web services for stubs and mocks. + GitHub stars + Last commit PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - GitHub stars - Last commit + Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. + GitHub stars + Last commit WireMock - Stubs and mocks web services. - - - - + Stubs and mocks web services. + - + - EasyMock - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. - GitHub stars - Last commit + EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. + GitHub stars + Last commit @@ -6531,169 +6531,169 @@ _Libraries which provide general utility functions._ Arthas - Allows to troubleshoot production issues for applications without modifying code or restarting servers. - GitHub stars - Last commit + Allows to troubleshoot production issues for applications without modifying code or restarting servers. + GitHub stars + Last commit bucket4j - Rate limiting library based on token-bucket algorithm. - GitHub stars - Last commit + Rate limiting library based on token-bucket algorithm. + GitHub stars + Last commit cactoos - Collection of object-oriented primitives. - GitHub stars - Last commit + Collection of object-oriented primitives. + GitHub stars + Last commit Chocotea - Generates postman collection, environment and integration tests from java code. - GitHub stars - Last commit + Generates postman collection, environment and integration tests from java code. + GitHub stars + Last commit CRaSH - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - - - - + Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) + - + - Dex - Java/JavaFX tool capable of powerful ETL and data visualization. - GitHub stars - Last commit + Java/JavaFX tool capable of powerful ETL and data visualization. + GitHub stars + Last commit dregex - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - GitHub stars - Last commit + Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. + GitHub stars + Last commit Embulk - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - GitHub stars - Last commit + Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. + GitHub stars + Last commit fswatch - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - GitHub stars - Last commit + Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. + GitHub stars + Last commit Gephi - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - GitHub stars - Last commit + Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) + GitHub stars + Last commit Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - GitHub stars - Last commit + Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. + GitHub stars + Last commit JADE - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - - - - + Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) + - + - Javadoc Publisher - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - GitHub stars - Last commit + Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. + GitHub stars + Last commit Java Diff Utils - Utilities for text or data comparison and patching. - - - - + Utilities for text or data comparison and patching. + - + - JavaVerbalExpressions - Library that helps with constructing difficult regular expressions. - GitHub stars - Last commit + Library that helps with constructing difficult regular expressions. + GitHub stars + Last commit JGit - Lightweight, pure Java library implementing the Git version control system. - - - - + Lightweight, pure Java library implementing the Git version control system. + - + - JKScope - Java scope functions inspired by Kotlin. - GitHub stars - Last commit + Java scope functions inspired by Kotlin. + GitHub stars + Last commit minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server. - GitHub stars - Last commit + Provides simple APIs to access any Amazon S3-compatible object storage server. + GitHub stars + Last commit Protégé - Provides an ontology editor and a framework to build knowledge-based systems. - - - - + Provides an ontology editor and a framework to build knowledge-based systems. + - + - Semver4j - Lightweight library that helps you handling semantic versioning with different modes. - GitHub stars - Last commit + Lightweight library that helps you handling semantic versioning with different modes. + GitHub stars + Last commit Underscore-java - Port of Underscore.js functions. - GitHub stars - Last commit + Port of Underscore.js functions. + GitHub stars + Last commit @@ -6711,25 +6711,25 @@ _Utilities that help create the development shell environment and switch between jabba - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. - GitHub stars - Last commit + Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. + GitHub stars + Last commit jenv - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. - GitHub stars - Last commit + Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. + GitHub stars + Last commit SDKMan - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. - GitHub stars - Last commit + Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. + GitHub stars + Last commit @@ -6747,41 +6747,41 @@ _Libraries that analyze the content of websites._ Apache Nutch - Highly extensible, highly scalable web crawler for production environments. - - - - + Highly extensible, highly scalable web crawler for production environments. + - + - Crawler4j - Simple and lightweight web crawler. - GitHub stars - Last commit + Simple and lightweight web crawler. + GitHub stars + Last commit jsoup - Scrapes, parses, manipulates and cleans HTML. - - - - + Scrapes, parses, manipulates and cleans HTML. + - + - StormCrawler - SDK for building low-latency and scalable web crawlers. - - - - + SDK for building low-latency and scalable web crawlers. + - + - webmagic - Scalable crawler with downloading, url management, content extraction and persistent. - GitHub stars - Last commit + Scalable crawler with downloading, url management, content extraction and persistent. + GitHub stars + Last commit @@ -6799,129 +6799,129 @@ _Frameworks that handle the communication between the layers of a web applicatio ActiveJ - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. - - - - + Lightweight asynchronous framework built from the ground up for developing high-performance web applications. + - + - Apache Tapestry - Component-oriented framework for creating dynamic, robust, highly scalable web applications. - - - - + Component-oriented framework for creating dynamic, robust, highly scalable web applications. + - + - Apache Wicket - Component-based web application framework similar to Tapestry, with a stateful GUI. - - - - + Component-based web application framework similar to Tapestry, with a stateful GUI. + - + - Blade - Lightweight, modular framework that aims to be elegant and simple. - GitHub stars - Last commit + Lightweight, modular framework that aims to be elegant and simple. + GitHub stars + Last commit Bootique - Minimally opinionated framework for runnable apps. - - - - + Minimally opinionated framework for runnable apps. + - + - Firefly - Asynchronous framework for rapid development of high-performance web application. - - - - + Asynchronous framework for rapid development of high-performance web application. + - + - Javalin - Microframework for web applications. - - - - + Microframework for web applications. + - + - Jooby - Scalable, fast and modular micro-framework that offers multiple programming models. - - - - + Scalable, fast and modular micro-framework that offers multiple programming models. + - + - Ninja - Full-stack web framework. - - - - + Full-stack web framework. + - + - Pippo - Small, highly modularized, Sinatra-like framework. - - - - + Small, highly modularized, Sinatra-like framework. + - + - Play - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. - - - - + Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. + - + - PrimeFaces - JSF framework with both free and commercial/support versions and frontend components. - - - - + JSF framework with both free and commercial/support versions and frontend components. + - + - Ratpack - Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. - - - - + Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. + - + - Takes - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. - GitHub stars - Last commit + Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. + GitHub stars + Last commit Vaadin - 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. - - - - + 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. + - + - WebForms Core - A technology for managing HTML tags from the server. - - - - + A technology for managing HTML tags from the server. + - + - @@ -6939,25 +6939,25 @@ _Platforms and frameworks for orchestrating workflows and business processes._ Cadence - Stateful code platform from Uber. - - - - + Stateful code platform from Uber. + - + - flowable - Compact and efficient workflow and business process management platform. - GitHub stars - Last commit + Compact and efficient workflow and business process management platform. + GitHub stars + Last commit Temporal - Microservice orchestration platform, forked from Cadence but gRPC based. - - - - + Microservice orchestration platform, forked from Cadence but gRPC based. + - + - diff --git a/scripts/Constants.java b/scripts/Constants.java index f9414c18..7ea1cdb3 100644 --- a/scripts/Constants.java +++ b/scripts/Constants.java @@ -44,12 +44,12 @@ private Constants() {} // HTML and styling public static final String TABLE_STYLE = "width:100%;table-layout:fixed;border-collapse:collapse;"; public static final String NAME_CELL_STYLE = "width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"; - public static final String DESC_CELL_STYLE = "width:65%;word-wrap:break-word;"; - public static final String BADGE_CELL_STYLE = "width:7.5%;text-align:center;"; + public static final String DESC_CELL_STYLE = "width:60%;word-wrap:break-word;"; + public static final String BADGE_CELL_STYLE = "width:10%;text-align:center;vertical-align:middle;"; // Badge URLs - public static final String GITHUB_STARS_BADGE_URL = "https://img.shields.io/github/stars/%s?style=flat-square&label="; - public static final String GITHUB_LAST_COMMIT_BADGE_URL = "https://img.shields.io/github/last-commit/%s?style=flat-square&label="; + public static final String GITHUB_STARS_BADGE_URL = "https://img.shields.io/github/stars/%s?style=for-the-badge&label="; + public static final String GITHUB_LAST_COMMIT_BADGE_URL = "https://img.shields.io/github/last-commit/%s?style=for-the-badge&label="; // Default values public static final String NO_DESCRIPTION = "No description available"; From 528e38366061e042483dd70dcaa90491f1686a8d Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:33:15 +0200 Subject: [PATCH 386/533] Improve badge size --- README.md | 2964 +++++++++++++-------------- scripts/Constants.java | 4 +- scripts/step_3_generate_badges.java | 4 +- 3 files changed, 1486 insertions(+), 1486 deletions(-) diff --git a/README.md b/README.md index adcc12ab..bcdcfc24 100644 --- a/README.md +++ b/README.md @@ -100,16 +100,16 @@ _Frameworks and libraries that help implementing and verifying design and archit ArchUnit Test library for specifying and asserting architecture rules. - GitHub stars - Last commit + GitHub stars + Last commit jMolecules Annotations and interfaces to express design and architecture concepts in code. - GitHub stars - Last commit + GitHub stars + Last commit @@ -128,32 +128,32 @@ _Frameworks that help you to leverage LLMs and AI._ LangChain4j Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. - GitHub stars - Last commit + GitHub stars + Last commit MCP 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. - GitHub stars - Last commit + GitHub stars + Last commit simple-openai Library to use the OpenAI API (and compatible ones) in the simplest possible way. - GitHub stars - Last commit + GitHub stars + Last commit Spring AI Application framework for AI engineering for Spring. - - - - + - + - @@ -172,56 +172,56 @@ _Frameworks that ease bean mapping._ dOOv Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - GitHub stars - Last commit + GitHub stars + Last commit JMapper Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - GitHub stars - Last commit + GitHub stars + Last commit MapStruct Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. - GitHub stars - Last commit + GitHub stars + Last commit ModelMapper Intelligent object mapping library that automatically maps objects to each other. - GitHub stars - Last commit + GitHub stars + Last commit Orika JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. - GitHub stars - Last commit + GitHub stars + Last commit reMap Lambda and method handle-based mapping which requires code and not annotations if objects have different names. - GitHub stars - Last commit + GitHub stars + Last commit Selma Annotation processor-based bean mapper. - GitHub stars - Last commit + GitHub stars + Last commit @@ -240,32 +240,32 @@ _Tools that handle the build cycle and dependencies of an application._ Apache Maven 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 Tool from Google that builds code quickly and reliably. - - - - + - + - Buck2 Encourages the creation of small, reusable modules consisting of code and resources. - GitHub stars - Last commit + GitHub stars + Last commit Gradle Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. - - - - + - + - @@ -284,80 +284,80 @@ _Libraries to manipulate bytecode programmatically._ ASM All-purpose, low-level bytecode manipulation and analysis. - - - - + - + - Byte Buddy Further simplifies bytecode generation with a fluent API. - - - - + - + - bytecode-viewer Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Byteman Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) - - - - + - + - cglib Bytecode generation library. - GitHub stars - Last commit + GitHub stars + Last commit Javassist Tries to simplify bytecode editing. - GitHub stars - Last commit + GitHub stars + Last commit Maker Provides low level bytecode generation. - GitHub stars - Last commit + GitHub stars + Last commit Mixin Manipulate bytecode at runtime using real Java code. - GitHub stars - Last commit + GitHub stars + Last commit Perses Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. - GitHub stars - Last commit + GitHub stars + Last commit Recaf JVM reverse engineering toolkit, essentially an IDE for Java bytecode. - - - - + - + - @@ -376,32 +376,32 @@ _Libraries that provide caching facilities._ cache2k In-memory high performance caching library. - - - - + - + - Caffeine High-performance, near-optimal caching library. - GitHub stars - Last commit + GitHub stars + Last commit Ehcache Distributed general-purpose cache. - - - - + - + - Infinispan Highly concurrent key/value datastore used for caching. - - - - + - + - @@ -424,40 +424,40 @@ _Libraries to assist with parsing command line arguments._ Airline Annotation-based framework for parsing Git-like command-line arguments. - - - - + - + - JCommander Command-line argument-parsing framework with custom types and validation via implementing interfaces. - - - - + - + - jbock Reflectionless command line parser. - GitHub stars - Last commit + GitHub stars + Last commit JLine Includes features from modern shells like completion or history. - GitHub stars - Last commit + GitHub stars + Last commit picocli ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - - - - + - + - @@ -476,32 +476,32 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ Jansi ANSI escape codes to format console output. - GitHub stars - Last commit + GitHub stars + Last commit Jexer Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - - - - + - + - Text-IO Aids the creation of full console-based applications. - GitHub stars - Last commit + GitHub stars + Last commit Lanterna Easy console text-GUI library, similar to curses. (LGPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit @@ -520,16 +520,16 @@ _Libraries to integrate or use cloud-specific features._ AWS SDK for Java Provides Java APIs for interacting with Amazon Web Services. - GitHub stars - Last commit + GitHub stars + Last commit Google Cloud Client Libraries Client libraries for accessing Google Cloud services from Java applications. - GitHub stars - Last commit + GitHub stars + Last commit @@ -548,96 +548,96 @@ _Tools that provide metrics and quality measurements._ Checkstyle Static analysis of coding conventions and standards. (LGPL-2.1-or-later) - GitHub stars - Last commit + GitHub stars + Last commit Error Prone Catches common programming mistakes as compile-time errors. - GitHub stars - Last commit + GitHub stars + Last commit Error Prone Support Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - GitHub stars - Last commit + GitHub stars + Last commit Infer Modern static analysis tool for verifying the correctness of code. - GitHub stars - Last commit + GitHub stars + Last commit jQAssistant Static code analysis with Neo4J-based query language. (GPL-3.0-only) - - - - + - + - NullAway Eliminates NullPointerExceptions with low build-time overhead. - GitHub stars - Last commit + GitHub stars + Last commit PMD Source code analysis for finding bad coding practices. - GitHub stars - Last commit + GitHub stars + Last commit p3c Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. - GitHub stars - Last commit + GitHub stars + Last commit RefactorFirst Identifies and prioritizes God Classes and Highly Coupled classes. - GitHub stars - Last commit + GitHub stars + Last commit SonarJava Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Spoon Library for analyzing and transforming Java source code. - GitHub stars - Last commit + GitHub stars + Last commit Spotbugs Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) - GitHub stars - Last commit + GitHub stars + Last commit @@ -656,24 +656,24 @@ _Frameworks and tools that enable code coverage metrics collection for test suit Clover Relies on source-code instrumentation instead of bytecode instrumentation. - - - - + - + - Cobertura Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) - - - - + - + - JaCoCo Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. - - - - + - + - @@ -692,112 +692,112 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a ADT4J JSR-269 code generator for algebraic data types. - GitHub stars - Last commit + GitHub stars + Last commit Auto Generates factory, service, and value classes. - GitHub stars - Last commit + GitHub stars + Last commit Avaje Http Server Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. - - - - + - + - EasyEntityToDTO Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - GitHub stars - Last commit + GitHub stars + Last commit FreeBuilder Automatically generates the Builder pattern. - GitHub stars - Last commit + GitHub stars + Last commit Geci Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - GitHub stars - Last commit + GitHub stars + Last commit Immutables Annotation processors to generate simple, safe and consistent value objects. - - - - + - + - JavaPoet API to generate source files. - GitHub stars - Last commit + GitHub stars + Last commit JHipster Yeoman source code generator for Spring Boot and AngularJS. - GitHub stars - Last commit + GitHub stars + Last commit Joda-Beans Small framework that adds queryable properties to Java, enhancing JavaBeans. - - - - + - + - JSpecify Package-Info Generator Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - GitHub stars - Last commit + GitHub stars + Last commit Lombok Code generator that aims to reduce verbosity. - - - - + - + - Record-Builder Companion builder class, withers and templates for Java records. - GitHub stars - Last commit + GitHub stars + Last commit Telosys Simple and light code generator available as an Eclipse Plugin and also as a CLI. - - - - + - + - @@ -816,24 +816,24 @@ _Frameworks that help to create parsers, interpreters or compilers._ ANTLR Complex full-featured framework for top-down parsing. - - - - + - + - JavaCC Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. - - - - + - + - JFlex Lexical analyzer generator. - - - - + - + - @@ -852,24 +852,24 @@ _Libraries which seek to gain high level information from images and videos._ BoofCV Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. - - - - + - + - ImageJ Medical image processing application with an API. - - - - + - + - JavaCV Java interface to OpenCV, FFmpeg, and much more. - GitHub stars - Last commit + GitHub stars + Last commit @@ -888,96 +888,96 @@ _Libraries that provide external configuration._ avaje config Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. - - - - + - + - centraldogma Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - GitHub stars - Last commit + GitHub stars + Last commit config Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - GitHub stars - Last commit + GitHub stars + Last commit Configurate Configuration library with support for various configuration formats and transformations. - GitHub stars - Last commit + GitHub stars + Last commit Curator Framework High-level API for Apache ZooKeeper. - - - - + - + - dotenv Twelve-factor configuration library which uses environment-specific files. - GitHub stars - Last commit + GitHub stars + Last commit Externalized Properties Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit ini4j Provides an API for handling Windows' INI files. - - - - + - + - KAConf Annotation-based configuration system for Java and Kotlin. - GitHub stars - Last commit + GitHub stars + Last commit microconfig 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 Reduces boilerplate of properties. - GitHub stars - Last commit + GitHub stars + Last commit @@ -996,32 +996,32 @@ _Libraries that help with implementing optimization and satisfiability problems. Choco Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - - - - + - + - JaCoP Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) - GitHub stars - Last commit + GitHub stars + Last commit OptaPlanner Business planning and resource scheduling optimization solver. - - - - + - + - Timefold Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. - - - - + - + - @@ -1040,40 +1040,40 @@ _Frameworks and libraries that simplify reading/writing CSV data._ FastCSV Performance-optimized, dependency-free and RFC 4180 compliant. - GitHub stars - Last commit + GitHub stars + Last commit jackson-dataformat-csv Jackson extension for reading and writing CSV. - GitHub stars - Last commit + GitHub stars + Last commit opencsv Simple CSV parser. - - - - + - + - Super CSV Powerful CSV parser with support for Dozer, Joda-Time and Java 8. - - - - + - + - uniVocity-parsers One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. - GitHub stars - Last commit + GitHub stars + Last commit @@ -1092,96 +1092,96 @@ _Efficient and specific data structures._ Apache Avro Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. - - - - + - + - Apache Orc Fast and efficient columnar storage format for Hadoop-based workloads. - - - - + - + - Apache Parquet Columnar storage format based on assembly algorithms from Google's paper on Dremel. - - - - + - + - Apache Thrift Data interchange format that originated at Facebook. - - - - + - + - Big Queue Fast and persistent queue based on memory-mapped files. - GitHub stars - Last commit + GitHub stars + Last commit HyperMinHash-java Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - GitHub stars - Last commit + GitHub stars + Last commit Persistent Collection Persistent and immutable analogue of the Java Collections Framework. - GitHub stars - Last commit + GitHub stars + Last commit Protobuf Google's data interchange format. - GitHub stars - Last commit + GitHub stars + Last commit RoaringBitmap Fast and efficient compressed bitmap. - GitHub stars - Last commit + GitHub stars + Last commit SBE Simple Binary Encoding, one of the fastest message formats around. - GitHub stars - Last commit + GitHub stars + Last commit Tape Lightning-fast, transactional, file-based FIFO. - GitHub stars - Last commit + GitHub stars + Last commit Wire Clean, lightweight protocol buffers. - GitHub stars - Last commit + GitHub stars + Last commit @@ -1200,304 +1200,304 @@ _Everything that simplifies interactions with the database._ Apache Calcite Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. - - - - + - + - Apache Drill Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - - - - + - + - Apache Phoenix High-performance relational database layer over HBase for low-latency applications. - - - - + - + - ArangoDB ArangoDB Java driver. - GitHub stars - Last commit + GitHub stars + Last commit Chronicle Map Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - GitHub stars - Last commit + GitHub stars + Last commit Debezium Low latency data streaming platform for change data capture. - - - - + - + - druid High-performance, column-oriented, distributed data store. - - - - + - + - eXist NoSQL document database and application platform. (LGPL-2.1-only) - GitHub stars - Last commit + GitHub stars + Last commit FlexyPool Brings metrics and failover strategies to the most common connection pooling solutions. - GitHub stars - Last commit + GitHub stars + Last commit Flyway Simple database migration tool. - - - - + - + - H2 Small SQL database notable for its in-memory functionality. - - - - + - + - HikariCP High-performance JDBC connection pool. - GitHub stars - Last commit + GitHub stars + Last commit HSQLDB HyperSQL 100% Java database. - - - - + - + - JDBI Convenient abstraction of JDBC. - - - - + - + - Jedis Small client for interaction with Redis, with methods for commands. - GitHub stars - Last commit + GitHub stars + Last commit Jest Client for the Elasticsearch REST API. - GitHub stars - Last commit + GitHub stars + Last commit jetcd Client library for etcd. - GitHub stars - Last commit + GitHub stars + Last commit Jinq Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). - GitHub stars - Last commit + GitHub stars + Last commit jOOQ Generates typesafe code based on SQL schema. - - - - + - + - Leaf Distributed ID generate service. - GitHub stars - Last commit + GitHub stars + Last commit Lettuce Lettuce is a scalable Redis client for building non-blocking Reactive applications. - - - - + - + - Liquibase Database-independent library for tracking, managing and applying database schema changes. - - - - + - + - MapDB Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - - - - + - + - MariaDB4j Launcher for MariaDB that requires no installation or external dependencies. - GitHub stars - Last commit + GitHub stars + Last commit Modality Lightweight ORM with database reverse engineering features. - GitHub stars - Last commit + GitHub stars + Last commit OpenDJ LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. - GitHub stars - Last commit + GitHub stars + Last commit Querydsl Typesafe unified queries. - - - - + - + - QueryStream Build JPA Criteria queries using a Stream-like API. - GitHub stars - Last commit + GitHub stars + Last commit QuestDB High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. - GitHub stars - Last commit + GitHub stars + Last commit Realm Mobile database to run directly inside phones, tablets or wearables. - GitHub stars - Last commit + GitHub stars + Last commit Redisson Allows for distributed and scalable data structures on top of a Redis server. - GitHub stars - Last commit + GitHub stars + Last commit requery Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - GitHub stars - Last commit + GitHub stars + Last commit Speedment Database access library that utilizes Java 8's Stream API for querying. - GitHub stars - Last commit + GitHub stars + Last commit Spring Data JPA MongoDB Expressions Allows you to use MongoDB query language to query your relational database. - GitHub stars - Last commit + GitHub stars + Last commit Trino Distributed SQL query engine for big data. - - - - + - + - Vibur DBCP JDBC connection pool library with advanced performance monitoring capabilities. - - - - + - + - Xodus Highly concurrent transactional schema-less and ACID-compliant embedded database. - GitHub stars - Last commit + GitHub stars + Last commit CosId Universal, flexible, high-performance distributed ID generator. - GitHub stars - Last commit + GitHub stars + Last commit @@ -1516,32 +1516,32 @@ _Libraries related to handling date and time._ iCal4j Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. - GitHub stars - Last commit + GitHub stars + Last commit Jollyday Determines the holidays for a given year, country/name and eventually state/region. - GitHub stars - Last commit + GitHub stars + Last commit ThreeTen-Extra Additional date-time classes that complement those in JDK 8. - GitHub stars - Last commit + GitHub stars + Last commit Time4J Advanced date and time library. (LGPL-2.1-only) - GitHub stars - Last commit + GitHub stars + Last commit @@ -1560,64 +1560,64 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. Apache DeltaSpike CDI extension framework. - - - - + - + - Avaje Inject Microservice-focused compile-time injection framework without reflection. - - - - + - + - Dagger Compile-time injection framework without reflection. - - - - + - + - Feather Ultra-lightweight, JSR-330-compliant dependency injection library. - GitHub stars - Last commit + GitHub stars + Last commit Governator Extensions and utilities that enhance Google Guice. - GitHub stars - Last commit + GitHub stars + Last commit Guice Lightweight and opinionated framework that completes Dagger. - GitHub stars - Last commit + GitHub stars + Last commit HK2 Lightweight and dynamic dependency injection framework. - - - - + - + - JayWire Lightweight dependency injection framework. (LGPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit @@ -1636,80 +1636,80 @@ _Augmentation of the development process at a fundamental level._ AspectJ Seamless aspect-oriented programming extension. - - - - + - + - DCEVM JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - - - - + - + - Faux Pas Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. - GitHub stars - Last commit + GitHub stars + Last commit HotswapAgent Unlimited runtime class and resource redefinition. (GPL-2.0-only) - GitHub stars - Last commit + GitHub stars + Last commit JavaParser Parse, modify and generate Java code. - GitHub stars - Last commit + GitHub stars + Last commit JavaSymbolSolver Symbol solver. - GitHub stars - Last commit + GitHub stars + Last commit Manifold Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - GitHub stars - Last commit + GitHub stars + Last commit NoException Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - - - - + - + - SneakyThrow Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. - GitHub stars - Last commit + GitHub stars + Last commit Tail Enable infinite recursion using tail call optimization. - - - - + - + - @@ -1728,112 +1728,112 @@ _Libraries and frameworks for writing distributed and fault-tolerant application Apache Geode In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. - - - - + - + - Apache Storm Realtime computation system. - - - - + - + - Apache ZooKeeper Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. - - - - + - + - Atomix Fault-tolerant distributed coordination framework. - - - - + - + - Axon Framework for creating CQRS applications. - - - - + - + - Dropwizard Circuit Breaker Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Failsafe Simple failure handling with retries and circuit breakers. - GitHub stars - Last commit + GitHub stars + Last commit Hazelcast Highly scalable in-memory datagrid with a free open-source version. - GitHub stars - Last commit + GitHub stars + Last commit JGroups Toolkit for reliable messaging and cluster creation. - - - - + - + - Quasar Lightweight threads and actors for the JVM. - - - - + - + - resilience4j Functional fault tolerance library. - GitHub stars - Last commit + GitHub stars + Last commit OpenIG High-performance reverse proxy server with specialized session management and credential replay functionality. - GitHub stars - Last commit + GitHub stars + Last commit ScaleCube Services Embeddable Cluster-Membership library based on SWIM and gossip protocol. - GitHub stars - Last commit + GitHub stars + Last commit Zuul Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. - GitHub stars - Last commit + GitHub stars + Last commit @@ -1852,32 +1852,32 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u Atomikos Provides transactions for REST, SOA and microservices with support for JTA and XA. - - - - + - + - Bitronix Simple but complete implementation of the JTA 1.1 API. - GitHub stars - Last commit + GitHub stars + Last commit Narayana Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) - - - - + - + - Seata Delivers high performance and easy to use distributed transaction services under a microservices architecture. - GitHub stars - Last commit + GitHub stars + Last commit @@ -1896,80 +1896,80 @@ _Tools that handle the distribution of applications in native formats._ Artipie Binary artifact management toolkit which hosts them on the file system or S3. - GitHub stars - Last commit + GitHub stars + Last commit Capsule Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - GitHub stars - Last commit + GitHub stars + Last commit Central Repository Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - - - - + - + - Getdown System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - GitHub stars - Last commit + GitHub stars + Last commit IzPack Setup authoring tool for cross-platform deployments. - - - - + - + - JavaPackager Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - GitHub stars - Last commit + GitHub stars + Last commit jDeploy Deploy desktop apps as native Mac, Windows or Linux bundles. - - - - + - + - jlink.online Builds optimized runtimes over HTTP. - GitHub stars - Last commit + GitHub stars + Last commit packr Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - GitHub stars - Last commit + GitHub stars + Last commit really-executable-jars-maven-plugin Maven plugin for making self-executing JARs. - GitHub stars - Last commit + GitHub stars + Last commit @@ -1988,40 +1988,40 @@ _Libraries that assist with processing office document formats._ Apache POI Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). - - - - + - + - documents4j API for document format conversion using third-party converters such as MS Word. - - - - + - + - docx4j Create and manipulate Microsoft Open XML files. - - - - + - + - fastexcel High performance library to read and write large Excel (XLSX) worksheets. - GitHub stars - Last commit + GitHub stars + Last commit zerocell Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2040,48 +2040,48 @@ _Libraries related to the financial domain._ Cassandre Trading bot framework. - GitHub stars - Last commit + GitHub stars + Last commit Parity Platform for trading venues. - GitHub stars - Last commit + GitHub stars + Last commit Philadelphia Low-latency financial information exchange. - GitHub stars - Last commit + GitHub stars + Last commit Square Integration with the Square API. - GitHub stars - Last commit + GitHub stars + Last commit Stripe Integration with the Stripe API. - GitHub stars - Last commit + GitHub stars + Last commit ta4j Library for technical analysis. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2100,56 +2100,56 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc CATG Concolic unit testing engine. Automatically generates unit tests using formal methods. - GitHub stars - Last commit + GitHub stars + Last commit Checker Framework Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + - + - Daikon Detects likely program invariants and generates JML specs based on those invariants. - - - - + - + - Java Path Finder (JPF) JVM formal verification tool containing a model checker and more. Created by NASA. - GitHub stars - Last commit + GitHub stars + Last commit JMLOK 2.0 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 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 Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) - - - - + - + - @@ -2168,72 +2168,72 @@ _Libraries that facilitate functional programming._ Cyclops Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. - GitHub stars - Last commit + GitHub stars + Last commit derive4j Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Fugue Functional extensions to Guava. - - - - + - + - Functional Java Implements numerous basic and advanced programming abstractions that assist composition-oriented development. - - - - + - + - jOOλ 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. - GitHub stars - Last commit + GitHub stars + Last commit Packrat Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. - GitHub stars - Last commit + GitHub stars + Last commit protonpack Collection of stream utilities. - GitHub stars - Last commit + GitHub stars + Last commit StreamEx Enhances Java 8 Streams. - GitHub stars - Last commit + GitHub stars + Last commit Vavr Functional component library that provides persistent data types and functional control structures. - - - - + - + - @@ -2252,72 +2252,72 @@ _Frameworks that support the development of games._ FXGL JavaFX Game Development Framework. - - - - + - + - JBox2D Port of the renowned C++ 2D physics engine. - - - - + - + - jMonkeyEngine Game engine for modern 3D development. - - - - + - + - libGDX All-round cross-platform, high-level framework. - - - - + - + - Litiengine AWT-based, lightweight 2D game engine. - - - - + - + - LWJGL Robust framework that abstracts libraries like OpenGL/CL/AL. - - - - + - + - Mini2Dx Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. - - - - + - + - Void2D High-level 2D game engine with built-in physics based on Swing. - GitHub stars - Last commit + GitHub stars + Last commit vulkan4j Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2336,64 +2336,64 @@ _Libraries for working with geospatial data and algorithms._ Apache SIS Library for developing geospatial applications. - - - - + - + - Geo GeoHash utilities in Java. - GitHub stars - Last commit + GitHub stars + Last commit GeoTools Library that provides tools for geospatial data. (LGPL-2.1-only) - - - - + - + - GraphHopper Road-routing engine. Used as a Java library or standalone web service. - GitHub stars - Last commit + GitHub stars + Last commit H2GIS Spatial extension of the H2 database. (LGPL-3.0-only) - - - - + - + - Jgeohash Library for using the GeoHash algorithm. - - - - + - + - Mapsforge Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Spatial4j General-purpose spatial/geospatial library. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2412,32 +2412,32 @@ _Libraries to create modern graphical user interfaces._ JavaFX Successor of Swing. - - - - + - + - Scene Builder Visual layout tool for JavaFX applications. - - - - + - + - SnapKit Modern Java UI library for both desktop and web. - GitHub stars - Last commit + GitHub stars + Last commit SWT Graphical widget toolkit. - - - - + - + - @@ -2456,56 +2456,56 @@ _Everything about high-performance computation, from collections to specific lib Agrona Data structures and utility methods that are common in high-performance applications. - GitHub stars - Last commit + GitHub stars + Last commit Disruptor Inter-thread messaging library. - - - - + - + - Eclipse Collections Collections framework inspired by Smalltalk. - GitHub stars - Last commit + GitHub stars + Last commit fastutil Fast and compact type-specific collections. - - - - + - + - HPPC Primitive collections. - - - - + - + - JCTools Concurrency tools currently missing from the JDK. - GitHub stars - Last commit + GitHub stars + Last commit Koloboke Carefully designed extension of the Java Collections Framework with primitive specializations and more. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2524,80 +2524,80 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Apache HttpComponents Toolset of low-level Java components focused on HTTP and associated protocols. - - - - + - + - Async Http Client Asynchronous HTTP and WebSocket client library. - GitHub stars - Last commit + GitHub stars + Last commit Avaje Http Client Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. - - - - + - + - Feign HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - GitHub stars - Last commit + GitHub stars + Last commit Google HTTP Client Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. - GitHub stars - Last commit + GitHub stars + Last commit methanol HTTP client extensions library. - GitHub stars - Last commit + GitHub stars + Last commit Retrofit Typesafe REST client. - - - - + - + - Ribbon Client-side IPC library that is battle-tested in the cloud. - GitHub stars - Last commit + GitHub stars + Last commit Riptide Client-side response routing for Spring's RestTemplate. - GitHub stars - Last commit + GitHub stars + Last commit unirest-java Simplified, lightweight HTTP client library. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2616,32 +2616,32 @@ _Libraries that handle serialization to hypermedia types._ hate Builds hypermedia-friendly objects according to HAL specification. - GitHub stars - Last commit + GitHub stars + Last commit JSON-LD JSON-LD implementation. - GitHub stars - Last commit + GitHub stars + Last commit Siren4J Library for the Siren specification. - GitHub stars - Last commit + GitHub stars + Last commit Spring HATEOAS Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2660,40 +2660,40 @@ _Integrated development environments that try to simplify several aspects of dev Eclipse Established open-source project with support for lots of plugins and languages. - - - - + - + - jGRASP Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - - - - + - + - NetBeans Provides integration for several Java SE and EE features, from database access to HTML5. - - - - + - + - SnapCode Modern IDE for Java running in the browser, focused on education. - - - - + - + - Visual Studio Code Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. - - - - + - + - @@ -2712,72 +2712,72 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica Barcode-Lib4J Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. - GitHub stars - Last commit + GitHub stars + Last commit Imgscalr Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. - GitHub stars - Last commit + GitHub stars + Last commit Tess4J JNA wrapper for Tesseract OCR API. - GitHub stars - Last commit + GitHub stars + Last commit Thumbnailator High-quality thumbnail generation library. - GitHub stars - Last commit + GitHub stars + Last commit TwelveMonkeys Collection of plugins that extend the number of supported image file formats. - GitHub stars - Last commit + GitHub stars + Last commit ZXing Multi-format 1D/2D barcode image processing library. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit vips-ffm Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. - GitHub stars - Last commit + GitHub stars + Last commit scrimage Immutable, functional, and performant JVM library for manipulation of images. - - - - + - + - @@ -2796,48 +2796,48 @@ _Libraries that help make the Java introspection and reflection API easier and f ClassGraph ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - GitHub stars - Last commit + GitHub stars + Last commit jOOR jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. - GitHub stars - Last commit + GitHub stars + Last commit Mirror Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. - - - - + - + - Objenesis Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - - - - + - + - ReflectASM ReflectASM is a very small Java library that provides high performance reflection by using code generation. - GitHub stars - Last commit + GitHub stars + Last commit Reflections Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2856,56 +2856,56 @@ _Libraries for scheduling background jobs._ 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. - GitHub stars - Last commit + GitHub stars + Last commit Quartz Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. - GitHub stars - Last commit + GitHub stars + Last commit Sundial Lightweight framework to simply define jobs, define triggers and start the scheduler. - GitHub stars - Last commit + GitHub stars + Last commit Wisp Simple library with minimal footprint and straightforward API. - GitHub stars - Last commit + GitHub stars + Last commit db-scheduler Persistent and cluster-friendly scheduler. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit @@ -2924,136 +2924,136 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Avaje Jsonb Reflection-free Json binding via source code generation with Jackson-like annotations. - - - - + - + - DSL-JSON JSON library with advanced compile time databinding. - GitHub stars - Last commit + GitHub stars + Last commit Genson Powerful and easy-to-use Java-to-JSON conversion library. - - - - + - + - Gson Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. - GitHub stars - Last commit + GitHub stars + Last commit HikariJSON High-performance JSON parser, 2x faster than Jackson. - GitHub stars - Last commit + GitHub stars + Last commit jackson-modules-java8 Set of Jackson modules for Java 8 datatypes and features. - GitHub stars - Last commit + GitHub stars + Last commit Jackson-datatype-money Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - GitHub stars - Last commit + GitHub stars + Last commit Jackson Similar to GSON, but offers performance gains if you need to instantiate the library more often. - GitHub stars - Last commit + GitHub stars + Last commit JSON-io Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. - GitHub stars - Last commit + GitHub stars + Last commit jsoniter Fast and flexible library with iterator and lazy parsing API. - - - - + - + - LoganSquare JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - GitHub stars - Last commit + GitHub stars + Last commit Moshi Modern JSON library, less opinionated and uses built-in types like List and Map. - GitHub stars - Last commit + GitHub stars + Last commit Yasson Binding layer between classes and JSON documents similar to JAXB. - GitHub stars - Last commit + GitHub stars + Last commit fastjson Very fast processor with no additional dependencies and full data binding. - GitHub stars - Last commit + GitHub stars + Last commit Jolt JSON to JSON transformation tool. - GitHub stars - Last commit + GitHub stars + Last commit JsonPath Extract data from JSON using XPATH-like syntax. - GitHub stars - Last commit + GitHub stars + Last commit JsonSurfer Streaming JsonPath processor dedicated to processing big and complicated JSON data. - GitHub stars - Last commit + GitHub stars + Last commit @@ -3072,104 +3072,104 @@ _Current implementations of the JVM/JDK._ Which JDK Overview of common JVMs with pros and cons. - - - - + - + - Adopt Open JDK Community-driven OpenJDK builds, including both HotSpot and OpenJ9. - - - - + - + - Corretto No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + - + - Dragonwell8 Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. - GitHub stars - Last commit + GitHub stars + Last commit Graal Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) - GitHub stars - Last commit + GitHub stars + Last commit Liberica JDK Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + - + - 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. - GitHub stars - Last commit + GitHub stars + Last commit Open JDK Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + - + - ParparVM VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) - GitHub stars - Last commit + GitHub stars + Last commit RedHat Open JDK RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + - + - SAP Machine SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + - + - Zulu OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + - + - Microsoft JDK Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! - GitHub stars - Last commit + GitHub stars + Last commit @@ -3188,96 +3188,96 @@ _Libraries that log the behavior of an application._ Apache Log4j 2 Complete rewrite with a powerful plugin and configuration architecture. - - - - + - + - 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. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit Logstash Tool for managing log files. - - - - + - + - p6spy Enables logging for all JDBC transactions without changes to the code. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit Flogger Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. - - - - + - + - @@ -3296,120 +3296,120 @@ _Tools that provide specific statistical algorithms for learning from data._ Apache Flink Fast, reliable, large-scale data processing engine. - - - - + - + - Apache Mahout Scalable algorithms focused on collaborative filtering, clustering and classification. - - - - + - + - DatumBox Provides several algorithms and pre-trained models for natural language processing. - - - - + - + - Deeplearning4j Distributed and multi-threaded deep learning library. - - - - + - + - DJL High-level and engine-agnostic framework for deep learning. - - - - + - + - Intelligent java Seamlessly integrate with remote deep learning and language models programmatically. - GitHub stars - Last commit + GitHub stars + Last commit JSAT Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit m2cgen CLI tool to transpile models into native code. - GitHub stars - Last commit + GitHub stars + Last commit Neureka A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. - GitHub stars - Last commit + GitHub stars + Last commit oj! Algorithms High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - - - - + - + - Oryx 2 Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - GitHub stars - Last commit + GitHub stars + Last commit Siddhi Cloud native streaming and complex event processing engine. - GitHub stars - Last commit + GitHub stars + Last commit Smile Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - GitHub stars - Last commit + GitHub stars + Last commit Tribuo Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. - - - - + - + - Weka Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) - - - - + - + - @@ -3428,128 +3428,128 @@ _Tools that help send messages between clients to ensure protocol independency._ Aeron Efficient, reliable, unicast and multicast message transport. - GitHub stars - Last commit + GitHub stars + Last commit Apache ActiveMQ Message broker that implements JMS and converts synchronous to asynchronous communication. - - - - + - + - Apache Camel Glues together different transport APIs via Enterprise Integration Patterns. - - - - + - + - Apache Kafka High-throughput distributed messaging system. - - - - + - + - Apache Pulsar Distributed pub/sub-messaging system. - - - - + - + - Apache RocketMQ Fast, reliable, and scalable distributed messaging platform. - - - - + - + - Apache Qpid Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - - - - + - + - AutoMQ AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. - GitHub stars - Last commit + GitHub stars + Last commit Deezpatch Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. - GitHub stars - Last commit + GitHub stars + Last commit EventBus Simple publish/subscribe event bus. - GitHub stars - Last commit + GitHub stars + Last commit Hermes Fast and reliable message broker built on top of Kafka. - - - - + - + - JeroMQ Implementation of ZeroMQ. - GitHub stars - Last commit + GitHub stars + Last commit Nakadi Provides a RESTful API on top of Kafka. - GitHub stars - Last commit + GitHub stars + Last commit RabbitMQ Java client RabbitMQ client. - GitHub stars - Last commit + GitHub stars + Last commit Smack Cross-platform XMPP client library. - GitHub stars - Last commit + GitHub stars + Last commit NATS client NATS client. - GitHub stars - Last commit + GitHub stars + Last commit @@ -3568,104 +3568,104 @@ _Tools for creating and managing microservices._ ActiveRPC Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. - - - - + - + - Armeria Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. - GitHub stars - Last commit + GitHub stars + Last commit consul-api Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. - GitHub stars - Last commit + GitHub stars + Last commit Eureka REST-based service registry for resilient load balancing and failover. - GitHub stars - Last commit + GitHub stars + Last commit Helidon Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. - - - - + - + - JDA Wrapping of the Discord REST API and its WebSocket events. - GitHub stars - Last commit + GitHub stars + Last commit KeenType Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. - GitHub stars - Last commit + GitHub stars + Last commit kubernetes-client Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - GitHub stars - Last commit + GitHub stars + Last commit Micronaut Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - - - - + - + - Nacos Dynamic service discovery, configuration and service management platform for building cloud native applications. - - - - + - + - OpenAI-Java Java libraries for using OpenAI's GPT-3 API. - GitHub stars - Last commit + GitHub stars + Last commit Quarkus Kubernetes stack tailored for the HotSpot and Graal VM. - - - - + - + - Sentinel Flow control component enabling reliability, resilience and monitoring for microservices. - GitHub stars - Last commit + GitHub stars + Last commit @@ -3684,288 +3684,288 @@ _Everything else._ CQEngine Ultra-fast, SQL-like queries on Java collections. - GitHub stars - Last commit + GitHub stars + Last commit Design Patterns Implementation and explanation of the most common design patterns. - GitHub stars - Last commit + GitHub stars + Last commit FF4J Feature Flags for Java. - GitHub stars - Last commit + GitHub stars + Last commit FizzBuzz Enterprise Edition No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) - GitHub stars - Last commit + GitHub stars + Last commit IP2Location.io Java SDK Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. - GitHub stars - Last commit + GitHub stars + Last commit ISBN core A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. - GitHub stars - Last commit + GitHub stars + Last commit J2ObjC Java-to-Objective-C translator for porting Android libraries to iOS. - GitHub stars - Last commit + GitHub stars + Last commit JBake Static website generator. - - - - + - + - JBot Framework for building chatbots. (GPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit JCuda JCuda offers Java bindings for CUDA and CUDA-related libraries. - - - - + - + - JEmoji An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - GitHub stars - Last commit + GitHub stars + Last commit Jimfs In-memory file system. - GitHub stars - Last commit + GitHub stars + Last commit Joda-Money Basic currency and money classes and algorithms not provided by the JDK. - - - - + - + - jOOX Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - GitHub stars - Last commit + GitHub stars + Last commit JPad Snippet runner. - - - - + - + - jsweet Source transpiler to TypeScript/JavaScript. - GitHub stars - Last commit + GitHub stars + Last commit Maven Wrapper Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - GitHub stars - Last commit + GitHub stars + Last commit Membrane Service Proxy Open-source, reverse-proxy framework. - GitHub stars - Last commit + GitHub stars + Last commit MinimalFTP Lightweight, small and customizable FTP server. - GitHub stars - Last commit + GitHub stars + Last commit LittleProxy High performance HTTP proxy atop Netty's event-based networking library. - GitHub stars - Last commit + GitHub stars + Last commit Modern Java - A Guide to Java 8 Popular Java 8 guide. - GitHub stars - Last commit + GitHub stars + Last commit Modernizer Detect uses of legacy Java APIs. - GitHub stars - Last commit + GitHub stars + Last commit OctoLinker Browser extension which allows to navigate through code on GitHub more efficiently. - GitHub stars - Last commit + GitHub stars + Last commit OpenRefine Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - - - - + - + - PipelinR Small utility library for using handlers and commands with pipelines. - GitHub stars - Last commit + GitHub stars + Last commit Polyglot for Maven Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - GitHub stars - Last commit + GitHub stars + Last commit RR4J RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - GitHub stars - Last commit + GitHub stars + Last commit Simple Java Mail Mailing with a clean and fluent API. - GitHub stars - Last commit + GitHub stars + Last commit Smooks Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) - GitHub stars - Last commit + GitHub stars + Last commit Svix Library for the Svix API to send webhooks and verify signatures. - GitHub stars - Last commit + GitHub stars + Last commit Togglz Implementation of the Feature Toggles pattern. - - - - + - + - TypeTools Tools for resolving generic types. - GitHub stars - Last commit + GitHub stars + Last commit webcam-capture Library for using built-in and external webcams directly in Java. - GitHub stars - Last commit + GitHub stars + Last commit XMLBeam Processes XML by using annotations or XPath within code. - GitHub stars - Last commit + GitHub stars + Last commit yGuard Obfuscation via renaming and shrinking. - GitHub stars - Last commit + GitHub stars + Last commit JBang JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - GitHub stars - Last commit + GitHub stars + Last commit @@ -3984,24 +3984,24 @@ _Tools for creating or managing mobile applications._ Codename One Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + - + - MobileUI Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. - - - - + - + - Multi-OS Engine Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - - - - + - + - @@ -4020,168 +4020,168 @@ _Tools that observe/monitor applications in production by providing telemetry._ Apitally Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. - GitHub stars - Last commit + GitHub stars + Last commit Automon Combines the power of AOP with monitoring and/or logging tools. - GitHub stars - Last commit + GitHub stars + Last commit Dropwizard Metrics Expose metrics via JMX or HTTP and send them to a database. - GitHub stars - Last commit + GitHub stars + Last commit Failsafe Actuator Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - GitHub stars - Last commit + GitHub stars + Last commit Glowroot Open-source Java APM. - - - - + - + - HertzBeat Real-time monitoring system with custom-monitor and agentless. - GitHub stars - Last commit + GitHub stars + Last commit hippo4j Dynamic and observable thread pool framework. - GitHub stars - Last commit + GitHub stars + Last commit inspectIT 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. - - - - + - + - Jaeger client Jaeger client. - GitHub stars - Last commit + GitHub stars + Last commit JavaMelody Performance monitoring and profiling. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit Jolokia JMX over REST. - - - - + - + - Micrometer Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. - GitHub stars - Last commit + GitHub stars + Last commit Micrometer Tracing Vendor-neutral distributed tracing facade for the most popular tracer libraries. - GitHub stars - Last commit + GitHub stars + Last commit nudge4j Remote developer console from the browser for Java 8 via bytecode injection. - GitHub stars - Last commit + GitHub stars + Last commit OpenTelemetry Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. - GitHub stars - Last commit + GitHub stars + Last commit Pinpoint Open-source APM tool. - GitHub stars - Last commit + GitHub stars + Last commit Prometheus Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. - GitHub stars - Last commit + GitHub stars + Last commit Stagemonitor Open-source performance monitoring and transaction tracing for JVM apps. - GitHub stars - Last commit + GitHub stars + Last commit Sysmon Lightweight platform monitoring tool for Java VMs. - GitHub stars - Last commit + GitHub stars + Last commit zipkin Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. - - - - + - + - @@ -4200,40 +4200,40 @@ _For working with platform-specific native libraries._ Aparapi Converts bytecode to OpenCL which allows execution on GPUs. - GitHub stars - Last commit + GitHub stars + Last commit JavaCPP Provides efficient and easy access to native C++. - GitHub stars - Last commit + GitHub stars + Last commit JNA Work with native libraries without writing JNI. Also provides interfaces to common system libraries. - GitHub stars - Last commit + GitHub stars + Last commit JNR 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). - GitHub stars - Last commit + GitHub stars + Last commit native-lib-loader Native library loader for extracting and loading native libraries from Java. - GitHub stars - Last commit + GitHub stars + Last commit @@ -4252,40 +4252,40 @@ _Libraries that specialize in processing text._ CogCompNLP Provides common annotators for plain text input. (Research and Academic Use License) - GitHub stars - Last commit + GitHub stars + Last commit CoreNLP Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - - - - + - + - DKPro Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - - - - + - + - Hypherator Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. - GitHub stars - Last commit + GitHub stars + Last commit LingPipe Toolkit for tasks ranging from POS tagging to sentiment analysis. - - - - + - + - @@ -4304,120 +4304,120 @@ _Libraries for building network servers._ Commons-networking Client for server-sent events (SSE). - GitHub stars - Last commit + GitHub stars + Last commit Comsat Integrates standard Java web-related APIs with Quasar fibers and actors. - GitHub stars - Last commit + GitHub stars + Last commit Dubbo High-performance RPC framework. - GitHub stars - Last commit + GitHub stars + Last commit Grizzly NIO framework. Used as a network layer in Glassfish. - - - - + - + - gRPC RPC framework based on protobuf and HTTP/2. - GitHub stars - Last commit + GitHub stars + Last commit KryoNet Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - GitHub stars - Last commit + GitHub stars + Last commit MINA Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - - - - + - + - Netty Framework for building high-performance network applications. - - - - + - + - Drift Easy-to-use, annotation-based library for creating Thrift clients and serializable types. - GitHub stars - Last commit + GitHub stars + Last commit ServiceTalk Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - GitHub stars - Last commit + GitHub stars + Last commit sshj Programmatically use SSH, SCP or SFTP. - GitHub stars - Last commit + GitHub stars + Last commit TLS Channel Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - GitHub stars - Last commit + GitHub stars + Last commit Undertow Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) - - - - + - + - urnlib Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Fluency High throughput data ingestion logger to Fluentd and Fluent Bit. - GitHub stars - Last commit + GitHub stars + Last commit @@ -4436,80 +4436,80 @@ _APIs that handle the persistence of objects._ Apache Cayenne Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. - - - - + - + - Doma Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. - GitHub stars - Last commit + GitHub stars + Last commit Ebean Provides simple and fast data access. - - - - + - + - EclipseLink Supports a number of persistence standards: JPA, JAXB, JCA and SDO. - - - - + - + - Hibernate Robust and widely used, with an active community. (LGPL-2.1-only) - - - - + - + - MyBatis Couples objects with stored procedures or SQL statements. - GitHub stars - Last commit + GitHub stars + Last commit MyBatis-Plus A powerful enhanced toolkit of MyBatis for simplifying development. - GitHub stars - Last commit + GitHub stars + Last commit ObjectiveSql ActiveRecord ORM for rapid development and convention over configuration. - GitHub stars - Last commit + GitHub stars + Last commit Permazen Language-natural persistence layer. - GitHub stars - Last commit + GitHub stars + Last commit SimpleFlatMapper Simple database and CSV mapper. - GitHub stars - Last commit + GitHub stars + Last commit @@ -4532,8 +4532,8 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. Pathetic A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. - GitHub stars - Last commit + GitHub stars + Last commit @@ -4552,80 +4552,80 @@ _Tools to help with PDF files._ Apache FOP Creates PDFs from XSL-FO. - - - - + - + - Apache PDFBox Toolbox for creating and manipulating PDFs. - - - - + - + - Dynamic Jasper Abstraction layer to JasperReports. (LGPL-3.0-only) - - - - + - + - DynamicReports Simplifies JasperReports. (LGPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Eclipse BIRT Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - - - - + - + - flyingsaucer XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - GitHub stars - Last commit + GitHub stars + Last commit JasperReports Complex reporting engine. (LGPL-3.0-only) - - - - + - + - Open HTML to PDF Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - GitHub stars - Last commit + GitHub stars + Last commit OpenPDF Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - GitHub stars - Last commit + GitHub stars + Last commit Tabula Extracts tables from PDF files. - GitHub stars - Last commit + GitHub stars + Last commit @@ -4644,40 +4644,40 @@ _Tools for performance analysis, profiling and benchmarking._ honest-profiler Low-overhead, bias-free sampling profiler. - GitHub stars - Last commit + GitHub stars + Last commit jHiccup Logs and records platform JVM stalls. - GitHub stars - Last commit + GitHub stars + Last commit JITWatch Analyze the JIT compiler optimisations made by the HotSpot JVM. - GitHub stars - Last commit + GitHub stars + Last commit JMH Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - - - - + - + - LatencyUtils Utilities for latency measurement and reporting. - GitHub stars - Last commit + GitHub stars + Last commit @@ -4698,432 +4698,432 @@ _Frameworks that are suites of multiple libraries encompassing several categorie BCEL Byte Code Engineering Library - analyze, create, and manipulate Java class files. - - - - + - + - BeanUtils Easy-to-use wrappers around the Java reflection and introspection APIs. - - - - + - + - BeanUtils2 Redesign of Commons BeanUtils. - - - - + - + - BSF Bean Scripting Framework - interface to scripting languages, including JSR-223. - - - - + - + - Chain Chain of Responsibility pattern implementation. - - - - + - + - ClassScan Find Class interfaces, methods, fields, and annotations without loading. - - - - + - + - CLI Command-line arguments parser. - - - - + - + - CLI2 Redesign of Commons CLI. - - - - + - + - Codec General encoding/decoding algorithms, e.g. phonetic, base64 or URL. - - - - + - + - Collections Extends or augments the Java Collections Framework. - - - - + - + - Compress Defines an API for working with tar, zip and bzip2 files. - - - - + - + - Configuration Reading of configuration/preferences files in various formats. - - - - + - + - Convert Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. - - - - + - + - CSV Component for reading and writing comma separated value files. - - - - + - + - Daemon Alternative invocation mechanism for unix-daemon-like java code. - - - - + - + - DBCP Database connection pooling services. - - - - + - + - DbUtils JDBC helper library. - - - - + - + - Digester XML-to-Java-object mapping utility. - - - - + - + - Email Library for sending e-mail from Java. - - - - + - + - Exec API for dealing with external process execution and environment management in Java. - - - - + - + - FileUpload File upload capability for your servlets and web applications. - - - - + - + - Finder Java library inspired by the UNIX find command. - - - - + - + - Flatfile Java library for working with flat data structures. - - - - + - + - Functor Function that can be manipulated as an object, or an object representing a single, generic function. - - - - + - + - Graph General purpose graph APIs and algorithms. - - - - + - + - I18n Adds the feature of localized message bundles that consist of one or many localized texts that belong together. - - - - + - + - Id Id is a component used to generate identifiers. - - - - + - + - Imaging Image library. - - - - + - + - IO Collection of I/O utilities. - - - - + - + - Javaflow Continuation implementation to capture the state of the application. - - - - + - + - JCI Java Compiler Interface. - - - - + - + - JCS Java Caching System. - - - - + - + - Jelly XML based scripting and processing engine. - - - - + - + - Jexl Expression language which extends the Expression Language of the JSTL. - - - - + - + - JNet JNet allows to use dynamically register url stream handlers through the java.net API. - - - - + - + - JXPath Utilities for manipulating Java Beans using the XPath syntax. - - - - + - + - Lang Provides extra functionality for classes in java.lang. - - - - + - + - Logging Wrapper around a variety of logging API implementations. - - - - + - + - Math Lightweight, self-contained mathematics and statistics components. - - - - + - + - Monitoring Monitoring aims to provide a simple but extensible monitoring solution for Java applications. - - - - + - + - Nabla Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. - - - - + - + - Net Collection of network utilities and protocol implementations. - - - - + - + - OGNL Object-graph navigation language. - - - - + - + - OpenPGP Interface to signing and verifying data using OpenPGP. - - - - + - + - Performance Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. - - - - + - + - Pipeline Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. - - - - + - + - Pool Generic object pooling component. - - - - + - + - Proxy Library for creating dynamic proxies. - - - - + - + - RDF Common implementation of RDF 1.1 that could be implemented by systems on the JVM. - - - - + - + - RNG Commons Rng provides implementations of pseudo-random numbers generators. - - - - + - + - SCXML Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. - - - - + - + - Validator Framework to define validators and validation rules in an xml file. - - - - + - + - VFS Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. - - - - + - + - Weaver Provides an easy way to enhance (weave) compiled bytecode. - - - - + - + - @@ -5140,32 +5140,32 @@ _Frameworks that are suites of multiple libraries encompassing several categorie CUBA Platform High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. - - - - + - + - Light-4J Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). - GitHub stars - Last commit + GitHub stars + Last commit Orienteer Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - GitHub stars - Last commit + GitHub stars + Last commit Spring Provides many packages for dependency injection, aspect-oriented programming, security, etc. - - - - + - + - @@ -5184,24 +5184,24 @@ _Libraries that help the management of operating system processes._ ch.vorburger.exec Convenient API around Apache Commons Exec. - GitHub stars - Last commit + GitHub stars + Last commit zt-exec Provides a unified API to Apache Commons Exec and ProcessBuilder. - GitHub stars - Last commit + GitHub stars + Last commit zt-process-killer Stops processes started from Java or the system processes via PID. - GitHub stars - Last commit + GitHub stars + Last commit @@ -5220,40 +5220,40 @@ _Libraries for developing reactive applications._ Akka Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. - - - - + - + - Reactive Streams Provides a standard for asynchronous stream processing with non-blocking backpressure. - GitHub stars - Last commit + GitHub stars + Last commit Reactor A framework for building non-blocking applications on the JVM, providing support for reactive programming. - GitHub stars - Last commit + GitHub stars + Last commit RxJava Allows for composing asynchronous and event-based programs using observable sequences. - GitHub stars - Last commit + GitHub stars + Last commit vert.x Polyglot event-driven application framework. - - - - + - + - @@ -5272,104 +5272,104 @@ _Frameworks specifically for creating RESTful services._ Dropwizard Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - GitHub stars - Last commit + GitHub stars + Last commit Elide Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - - - - + - + - Jersey JAX-RS reference implementation. - - - - + - + - Microserver 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. - GitHub stars - Last commit + GitHub stars + Last commit Rapidoid Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. - - - - + - + - 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. - GitHub stars - Last commit + GitHub stars + Last commit RESTEasy Fully certified and portable implementation of the JAX-RS specification. - - - - + - + - RestExpress Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. - GitHub stars - Last commit + GitHub stars + Last commit Restlet Framework Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. - GitHub stars - Last commit + GitHub stars + Last commit Spark Sinatra inspired framework. - - - - + - + - Crnk Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - - - - + - + - springdoc-openapi Automates the generation of API documentation using Spring Boot projects. - GitHub stars - Last commit + GitHub stars + Last commit Swagger Standard, language-agnostic interface to REST APIs. - - - - + - + - @@ -5388,120 +5388,120 @@ _Libraries for scientific computing, analysis and visualization._ BioJava Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. - - - - + - + - Chart-FX Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - GitHub stars - Last commit + GitHub stars + Last commit DataMelt Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - - - - + - + - Erdos Modular, light and easy graph framework for theoretic algorithms. - GitHub stars - Last commit + GitHub stars + Last commit GraphStream Library for modeling and analyzing dynamic graphs. - - - - + - + - JFreeChart 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - - - - + - + - JGraphT Graph library that provides mathematical graph-theory objects and algorithms. - GitHub stars - Last commit + GitHub stars + Last commit JGraphX Library for visualizing (mainly Swing) and interacting with node-edge graphs. - GitHub stars - Last commit + GitHub stars + Last commit LogicNG Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - GitHub stars - Last commit + GitHub stars + Last commit Mines Java Toolkit Library for geophysical scientific computation, visualization and digital signal analysis. - GitHub stars - Last commit + GitHub stars + Last commit Morpheus Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - GitHub stars - Last commit + GitHub stars + Last commit Orekit A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. - - - - + - + - Orson-Charts Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Tablesaw Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - GitHub stars - Last commit + GitHub stars + Last commit XChart Light-weight library for plotting data. Many customizable chart types are available. - GitHub stars - Last commit + GitHub stars + Last commit @@ -5520,32 +5520,32 @@ _Engines that index documents for search and analysis._ Apache Lucene High-performance, full-featured, cross-platform, text search engine library. - - - - + - + - Apache Solr Enterprise search engine optimized for high-volume traffic. - - - - + - + - Elasticsearch Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. - - - - + - + - Indexer4j Simple and light full text indexing and searching library. - GitHub stars - Last commit + GitHub stars + Last commit @@ -5564,184 +5564,184 @@ _Libraries that handle security, authentication, authorization or session manage Apache Shiro Performs authentication, authorization, cryptography and session management. - - - - + - + - Ayza High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit Cryptomator Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) - - - - + - + - 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. - GitHub stars - Last commit + GitHub stars + Last commit jjwt JSON web token for Java and Android. - GitHub stars - Last commit + GitHub stars + Last commit jwt-java Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. - GitHub stars - Last commit + GitHub stars + Last commit Jwks RSA JSON Web Key Set parser. - GitHub stars - Last commit + GitHub stars + Last commit Kalium Binding for the Networking and Cryptography (NaCl) library. - GitHub stars - Last commit + GitHub stars + Last commit Keycloak Integrated SSO and IDM for browser apps and RESTful web services. - - - - + - + - Keywhiz System for distributing and managing secrets. - GitHub stars - Last commit + GitHub stars + Last commit Nbvcxz Advanced password strength estimation. - GitHub stars - Last commit + GitHub stars + Last commit OACC Provides permission-based authorization services. - - - - + - + - OpenAM Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. - GitHub stars - Last commit + GitHub stars + Last commit OTP-Java One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - GitHub stars - Last commit + GitHub stars + Last commit pac4j Security engine. - GitHub stars - Last commit + GitHub stars + Last commit Passay Enforce password policy by validating candidate passwords against a configurable rule set. - - - - + - + - Password4j User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. - GitHub stars - Last commit + GitHub stars + Last commit SecurityBuilder Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. - GitHub stars - Last commit + GitHub stars + Last commit 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. - GitHub stars - Last commit + GitHub stars + Last commit Tink Provides a simple and misuse-proof API for common cryptographic tasks. - GitHub stars - Last commit + GitHub stars + Last commit Topaz Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. - - - - + - + - @@ -5760,48 +5760,48 @@ _Libraries that handle serialization with high efficiency._ FlatBuffers Memory-efficient serialization library that can access serialized data without unpacking and parsing it. - GitHub stars - Last commit + GitHub stars + Last commit FST JDK-compatible, high-performance object graph serialization. - GitHub stars - Last commit + GitHub stars + Last commit Fury Blazing fast object graph serialization framework powered by JIT and zero-copy. - GitHub stars - Last commit + GitHub stars + Last commit Kryo Fast and efficient object graph serialization framework. - GitHub stars - Last commit + GitHub stars + Last commit MessagePack Efficient binary serialization format. - GitHub stars - Last commit + GitHub stars + Last commit PHP Serializer Serializing objects in the PHP serialization format. - GitHub stars - Last commit + GitHub stars + Last commit @@ -5820,40 +5820,40 @@ _Servers specifically used to deploy applications._ Apache Tomcat Robust, all-round server for Servlet and JSP. - - - - + - + - Apache TomEE Tomcat plus Java EE. - - - - + - + - Jetty Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - - - - + - + - nanohttpd Tiny, easily embeddable HTTP server. - GitHub stars - Last commit + GitHub stars + Last commit WildFly Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) - - - - + - + - @@ -5872,88 +5872,88 @@ _Tools that substitute expressions in a template._ Freemarker Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - - - - + - + - Handlebars.java Logicless and semantic Mustache templates. - - - - + - + - Jade4J Implementation of Pug (formerly known as Jade). - GitHub stars - Last commit + GitHub stars + Last commit Jamal Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. - GitHub stars - Last commit + GitHub stars + Last commit jstachio Typesafe Mustache templating engine. - GitHub stars - Last commit + GitHub stars + Last commit jte Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. - GitHub stars - Last commit + GitHub stars + Last commit Jtwig Modular, configurable and fully tested template engine. - GitHub stars - Last commit + GitHub stars + Last commit Pebble 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 Optimized, memory efficient and speedy template engine producing statically typed, plain objects. - GitHub stars - Last commit + GitHub stars + Last commit StringTemplate Template engine for generating source code, web pages, emails, or any other formatted text output. - GitHub stars - Last commit + GitHub stars + Last commit Thymeleaf Aims to be a substitute for JSP and works for XML files. - - - - + - + - @@ -5976,56 +5976,56 @@ _Tools that simplify testing asynchronous services._ Awaitility DSL for synchronizing asynchronous operations. - GitHub stars - Last commit + GitHub stars + Last commit ConcurrentUnit Toolkit for testing multi-threaded and asynchronous applications. - GitHub stars - Last commit + GitHub stars + Last commit GreenMail In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - - - - + - + - Hoverfly Java Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - GitHub stars - Last commit + GitHub stars + Last commit Karate DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - GitHub stars - Last commit + GitHub stars + Last commit REST Assured DSL for easy testing of REST/HTTP services. - GitHub stars - Last commit + GitHub stars + Last commit WebTau Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6044,56 +6044,56 @@ _Testing for the software development process that emerged from TDD and was heav Cucumber Provides a way to describe features in a plain language which customers can understand. - GitHub stars - Last commit + GitHub stars + Last commit Cukes-REST Collection of Gherkin steps for REST-service testing using Cucumber. - GitHub stars - Last commit + GitHub stars + Last commit J8Spec Follows a Jasmine-like syntax. - GitHub stars - Last commit + GitHub stars + Last commit JBehave Extensively configurable framework that describes stories. - - - - + - + - JGiven Provides a fluent API which allows for simpler composition. - - - - + - + - Lamdba Behave Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - GitHub stars - Last commit + GitHub stars + Last commit Serenity BDD Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6112,80 +6112,80 @@ _Everything related to the creation and handling of random data._ AutoParams Supports generating test data or combining scenarios for parameterized tests. - GitHub stars - Last commit + GitHub stars + Last commit Beanmother Sets up beans from YAML fixtures. - GitHub stars - Last commit + GitHub stars + Last commit Datafaker Modern fake data generator forked from Java Faker. - GitHub stars - Last commit + GitHub stars + Last commit Fixture Factory Generates fake objects from a template. - GitHub stars - Last commit + GitHub stars + Last commit jFairy Fake data generator. - GitHub stars - Last commit + GitHub stars + Last commit Instancio Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. - GitHub stars - Last commit + GitHub stars + Last commit Randomized Testing JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - GitHub stars - Last commit + GitHub stars + Last commit Java Faker Port of Ruby's fake data generator. - GitHub stars - Last commit + GitHub stars + Last commit Mockneat Another fake data generator. - GitHub stars - Last commit + GitHub stars + Last commit JMock JMock is a high-performance data generation and simulation component library implemented in Java. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6204,88 +6204,88 @@ _Provide environments to run tests for a specific use case._ Apache JMeter Functional testing and performance measurements. - - - - + - + - JMeter DSL.java Load tests with JMeter as simple as a JUnit test. - - - - + - + - Arquillian Integration and functional testing platform for Java EE containers. - - - - + - + - cdi-test JUnit extension for easy and efficient testing of CDI components. - GitHub stars - Last commit + GitHub stars + Last commit Citrus Integration testing framework that focuses on both client- and server-side messaging. - - - - + - + - Gatling Load testing tool designed for ease of use, maintainability and high performance. - - - - + - + - JUnit Common testing framework. - - - - + - + - jqwik Engine for property-based testing built on JUnit 5. - - - - + - + - Pact JVM Consumer-driven contract testing. - GitHub stars - Last commit + GitHub stars + Last commit PIT Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. - - - - + - + - weld-testing Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6304,48 +6304,48 @@ _Libraries that provide custom matchers._ AssertJ Fluent assertions that improve readability. - - - - + - + - Hamcrest Matchers that can be combined to create flexible expressions of intent. - - - - + - + - JSONAssert Simplifies testing JSON strings. - - - - + - + - JsonUnit Library that simplifies JSON comparison in tests. - GitHub stars - Last commit + GitHub stars + Last commit Truth Google's fluent assertion and proposition framework. - - - - + - + - XMLUnit Simplifies testing for XML output. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6364,88 +6364,88 @@ _Other stuff related to testing._ ConsoleCaptor Captures console output for unit testing purposes. - GitHub stars - Last commit + GitHub stars + Last commit junit-dataprovider TestNG-like data provider/runner for JUnit. - GitHub stars - Last commit + GitHub stars + Last commit junit-pioneer JUnit 5 extension pack, pushing the frontiers on Jupiter. - - - - + - + - LogCaptor Captures log entries for unit testing purposes. - GitHub stars - Last commit + GitHub stars + Last commit log-capture Captures log entries and provides assertions for unit and integration testing. - GitHub stars - Last commit + GitHub stars + Last commit Mutability Detector Reports whether instances of a given class are immutable. - GitHub stars - Last commit + GitHub stars + Last commit pojo-tester Automatically performs tests on basic POJO methods. (LGPL-3.0-only) - - - - + - + - raml-tester Tests if a request/response matches a given RAML definition. - GitHub stars - Last commit + GitHub stars + Last commit Selfie Snapshot testing (inline and on disk). - GitHub stars - Last commit + GitHub stars + Last commit Stebz Multi-approach framework for test steps managing. - GitHub stars - Last commit + GitHub stars + Last commit Testcontainers Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6464,56 +6464,56 @@ _Tools which mock collaborators to help testing single, isolated units._ JMockit Integration testing, API mocking and faking, and code coverage. - - - - + - + - Mockito Mocking framework that lets you write tests with a clean and simple API. - GitHub stars - Last commit + GitHub stars + Last commit MockServer Allows mocking of systems integrated with HTTPS. - - - - + - + - Moco Concise web services for stubs and mocks. - GitHub stars - Last commit + GitHub stars + Last commit PowerMock Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - GitHub stars - Last commit + GitHub stars + Last commit WireMock Stubs and mocks web services. - - - - + - + - EasyMock EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6532,168 +6532,168 @@ _Libraries which provide general utility functions._ Arthas Allows to troubleshoot production issues for applications without modifying code or restarting servers. - GitHub stars - Last commit + GitHub stars + Last commit bucket4j Rate limiting library based on token-bucket algorithm. - GitHub stars - Last commit + GitHub stars + Last commit cactoos Collection of object-oriented primitives. - GitHub stars - Last commit + GitHub stars + Last commit Chocotea Generates postman collection, environment and integration tests from java code. - GitHub stars - Last commit + GitHub stars + Last commit CRaSH Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - - - - + - + - Dex Java/JavaFX tool capable of powerful ETL and data visualization. - GitHub stars - Last commit + GitHub stars + Last commit dregex Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - GitHub stars - Last commit + GitHub stars + Last commit Embulk Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - GitHub stars - Last commit + GitHub stars + Last commit fswatch Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - GitHub stars - Last commit + GitHub stars + Last commit Gephi Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - GitHub stars - Last commit + GitHub stars + Last commit Guava Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - GitHub stars - Last commit + GitHub stars + Last commit JADE Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - - - - + - + - Javadoc Publisher Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - GitHub stars - Last commit + GitHub stars + Last commit Java Diff Utils Utilities for text or data comparison and patching. - - - - + - + - JavaVerbalExpressions Library that helps with constructing difficult regular expressions. - GitHub stars - Last commit + GitHub stars + Last commit JGit Lightweight, pure Java library implementing the Git version control system. - - - - + - + - JKScope Java scope functions inspired by Kotlin. - GitHub stars - Last commit + GitHub stars + Last commit minio-java Provides simple APIs to access any Amazon S3-compatible object storage server. - GitHub stars - Last commit + GitHub stars + Last commit Protégé Provides an ontology editor and a framework to build knowledge-based systems. - - - - + - + - Semver4j Lightweight library that helps you handling semantic versioning with different modes. - GitHub stars - Last commit + GitHub stars + Last commit Underscore-java Port of Underscore.js functions. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6712,24 +6712,24 @@ _Utilities that help create the development shell environment and switch between jabba Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. - GitHub stars - Last commit + GitHub stars + Last commit jenv Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. - GitHub stars - Last commit + GitHub stars + Last commit SDKMan Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6748,40 +6748,40 @@ _Libraries that analyze the content of websites._ Apache Nutch Highly extensible, highly scalable web crawler for production environments. - - - - + - + - Crawler4j Simple and lightweight web crawler. - GitHub stars - Last commit + GitHub stars + Last commit jsoup Scrapes, parses, manipulates and cleans HTML. - - - - + - + - StormCrawler SDK for building low-latency and scalable web crawlers. - - - - + - + - webmagic Scalable crawler with downloading, url management, content extraction and persistent. - GitHub stars - Last commit + GitHub stars + Last commit @@ -6800,128 +6800,128 @@ _Frameworks that handle the communication between the layers of a web applicatio ActiveJ Lightweight asynchronous framework built from the ground up for developing high-performance web applications. - - - - + - + - Apache Tapestry Component-oriented framework for creating dynamic, robust, highly scalable web applications. - - - - + - + - Apache Wicket Component-based web application framework similar to Tapestry, with a stateful GUI. - - - - + - + - Blade Lightweight, modular framework that aims to be elegant and simple. - GitHub stars - Last commit + GitHub stars + Last commit Bootique Minimally opinionated framework for runnable apps. - - - - + - + - Firefly Asynchronous framework for rapid development of high-performance web application. - - - - + - + - Javalin Microframework for web applications. - - - - + - + - Jooby Scalable, fast and modular micro-framework that offers multiple programming models. - - - - + - + - Ninja Full-stack web framework. - - - - + - + - Pippo Small, highly modularized, Sinatra-like framework. - - - - + - + - Play Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. - - - - + - + - PrimeFaces JSF framework with both free and commercial/support versions and frontend components. - - - - + - + - Ratpack Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. - - - - + - + - Takes Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. - GitHub stars - Last commit + GitHub stars + Last commit Vaadin 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. - - - - + - + - WebForms Core A technology for managing HTML tags from the server. - - - - + - + - @@ -6940,24 +6940,24 @@ _Platforms and frameworks for orchestrating workflows and business processes._ Cadence Stateful code platform from Uber. - - - - + - + - flowable Compact and efficient workflow and business process management platform. - GitHub stars - Last commit + GitHub stars + Last commit Temporal Microservice orchestration platform, forked from Cadence but gRPC based. - - - - + - + - diff --git a/scripts/Constants.java b/scripts/Constants.java index 7ea1cdb3..c668c2d0 100644 --- a/scripts/Constants.java +++ b/scripts/Constants.java @@ -45,9 +45,9 @@ private Constants() {} public static final String TABLE_STYLE = "width:100%;table-layout:fixed;border-collapse:collapse;"; public static final String NAME_CELL_STYLE = "width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"; public static final String DESC_CELL_STYLE = "width:60%;word-wrap:break-word;"; - public static final String BADGE_CELL_STYLE = "width:10%;text-align:center;vertical-align:middle;"; + public static final String BADGE_CELL_STYLE = "width:10%;text-align:center;vertical-align:middle;min-height:40px;padding:0;"; - // Badge URLs + // Badge URLs - Updated to remove labels public static final String GITHUB_STARS_BADGE_URL = "https://img.shields.io/github/stars/%s?style=for-the-badge&label="; public static final String GITHUB_LAST_COMMIT_BADGE_URL = "https://img.shields.io/github/last-commit/%s?style=for-the-badge&label="; diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java index 29c537c4..198842ee 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_badges.java @@ -91,9 +91,9 @@ List generateBadgeMappings(List entries) { continue; } - var starsBadge = "\"GitHub".formatted(Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); + var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); - var lastCommitBadge = "\"Last".formatted(Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); + var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); mappings.add(new BadgeMapping( entry.name(), From 271a136c6dba91022bb875a0cc244395b10a84ec Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:34:43 +0200 Subject: [PATCH 387/533] Improve badge size --- README.md | 846 ++++++++++++++-------------- scripts/step_3_generate_badges.java | 2 +- 2 files changed, 424 insertions(+), 424 deletions(-) diff --git a/README.md b/README.md index bcdcfc24..39fed25e 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ _Frameworks and libraries that help implementing and verifying design and archit ArchUnit Test library for specifying and asserting architecture rules. - GitHub stars + GitHub stars Last commit @@ -108,7 +108,7 @@ _Frameworks and libraries that help implementing and verifying design and archit jMolecules Annotations and interfaces to express design and architecture concepts in code. - GitHub stars + GitHub stars Last commit @@ -128,7 +128,7 @@ _Frameworks that help you to leverage LLMs and AI._ LangChain4j Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. - GitHub stars + GitHub stars Last commit @@ -136,7 +136,7 @@ _Frameworks that help you to leverage LLMs and AI._ MCP 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. - GitHub stars + GitHub stars Last commit @@ -144,7 +144,7 @@ _Frameworks that help you to leverage LLMs and AI._ simple-openai Library to use the OpenAI API (and compatible ones) in the simplest possible way. - GitHub stars + GitHub stars Last commit @@ -172,7 +172,7 @@ _Frameworks that ease bean mapping._ dOOv Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - GitHub stars + GitHub stars Last commit @@ -180,7 +180,7 @@ _Frameworks that ease bean mapping._ JMapper Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - GitHub stars + GitHub stars Last commit @@ -188,7 +188,7 @@ _Frameworks that ease bean mapping._ MapStruct Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. - GitHub stars + GitHub stars Last commit @@ -196,7 +196,7 @@ _Frameworks that ease bean mapping._ ModelMapper Intelligent object mapping library that automatically maps objects to each other. - GitHub stars + GitHub stars Last commit @@ -204,7 +204,7 @@ _Frameworks that ease bean mapping._ Orika JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. - GitHub stars + GitHub stars Last commit @@ -212,7 +212,7 @@ _Frameworks that ease bean mapping._ reMap Lambda and method handle-based mapping which requires code and not annotations if objects have different names. - GitHub stars + GitHub stars Last commit @@ -220,7 +220,7 @@ _Frameworks that ease bean mapping._ Selma Annotation processor-based bean mapper. - GitHub stars + GitHub stars Last commit @@ -256,7 +256,7 @@ _Tools that handle the build cycle and dependencies of an application._ Buck2 Encourages the creation of small, reusable modules consisting of code and resources. - GitHub stars + GitHub stars Last commit @@ -300,7 +300,7 @@ _Libraries to manipulate bytecode programmatically._ bytecode-viewer Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -316,7 +316,7 @@ _Libraries to manipulate bytecode programmatically._ cglib Bytecode generation library. - GitHub stars + GitHub stars Last commit @@ -324,7 +324,7 @@ _Libraries to manipulate bytecode programmatically._ Javassist Tries to simplify bytecode editing. - GitHub stars + GitHub stars Last commit @@ -332,7 +332,7 @@ _Libraries to manipulate bytecode programmatically._ Maker Provides low level bytecode generation. - GitHub stars + GitHub stars Last commit @@ -340,7 +340,7 @@ _Libraries to manipulate bytecode programmatically._ Mixin Manipulate bytecode at runtime using real Java code. - GitHub stars + GitHub stars Last commit @@ -348,7 +348,7 @@ _Libraries to manipulate bytecode programmatically._ Perses Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. - GitHub stars + GitHub stars Last commit @@ -384,7 +384,7 @@ _Libraries that provide caching facilities._ Caffeine High-performance, near-optimal caching library. - GitHub stars + GitHub stars Last commit @@ -440,7 +440,7 @@ _Libraries to assist with parsing command line arguments._ jbock Reflectionless command line parser. - GitHub stars + GitHub stars Last commit @@ -448,7 +448,7 @@ _Libraries to assist with parsing command line arguments._ JLine Includes features from modern shells like completion or history. - GitHub stars + GitHub stars Last commit @@ -476,7 +476,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ Jansi ANSI escape codes to format console output. - GitHub stars + GitHub stars Last commit @@ -492,7 +492,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ Text-IO Aids the creation of full console-based applications. - GitHub stars + GitHub stars Last commit @@ -500,7 +500,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ Lanterna Easy console text-GUI library, similar to curses. (LGPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -520,7 +520,7 @@ _Libraries to integrate or use cloud-specific features._ AWS SDK for Java Provides Java APIs for interacting with Amazon Web Services. - GitHub stars + GitHub stars Last commit @@ -528,7 +528,7 @@ _Libraries to integrate or use cloud-specific features._ Google Cloud Client Libraries Client libraries for accessing Google Cloud services from Java applications. - GitHub stars + GitHub stars Last commit @@ -548,7 +548,7 @@ _Tools that provide metrics and quality measurements._ Checkstyle Static analysis of coding conventions and standards. (LGPL-2.1-or-later) - GitHub stars + GitHub stars Last commit @@ -556,7 +556,7 @@ _Tools that provide metrics and quality measurements._ Error Prone Catches common programming mistakes as compile-time errors. - GitHub stars + GitHub stars Last commit @@ -564,7 +564,7 @@ _Tools that provide metrics and quality measurements._ Error Prone Support Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - GitHub stars + GitHub stars Last commit @@ -572,7 +572,7 @@ _Tools that provide metrics and quality measurements._ Infer Modern static analysis tool for verifying the correctness of code. - GitHub stars + GitHub stars Last commit @@ -588,7 +588,7 @@ _Tools that provide metrics and quality measurements._ NullAway Eliminates NullPointerExceptions with low build-time overhead. - GitHub stars + GitHub stars Last commit @@ -596,7 +596,7 @@ _Tools that provide metrics and quality measurements._ PMD Source code analysis for finding bad coding practices. - GitHub stars + GitHub stars Last commit @@ -604,7 +604,7 @@ _Tools that provide metrics and quality measurements._ p3c Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. - GitHub stars + GitHub stars Last commit @@ -612,7 +612,7 @@ _Tools that provide metrics and quality measurements._ RefactorFirst Identifies and prioritizes God Classes and Highly Coupled classes. - GitHub stars + GitHub stars Last commit @@ -620,7 +620,7 @@ _Tools that provide metrics and quality measurements._ SonarJava Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -628,7 +628,7 @@ _Tools that provide metrics and quality measurements._ Spoon Library for analyzing and transforming Java source code. - GitHub stars + GitHub stars Last commit @@ -636,7 +636,7 @@ _Tools that provide metrics and quality measurements._ Spotbugs Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) - GitHub stars + GitHub stars Last commit @@ -692,7 +692,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a ADT4J JSR-269 code generator for algebraic data types. - GitHub stars + GitHub stars Last commit @@ -700,7 +700,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a Auto Generates factory, service, and value classes. - GitHub stars + GitHub stars Last commit @@ -716,7 +716,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a EasyEntityToDTO Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - GitHub stars + GitHub stars Last commit @@ -724,7 +724,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a FreeBuilder Automatically generates the Builder pattern. - GitHub stars + GitHub stars Last commit @@ -732,7 +732,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a Geci Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - GitHub stars + GitHub stars Last commit @@ -748,7 +748,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a JavaPoet API to generate source files. - GitHub stars + GitHub stars Last commit @@ -756,7 +756,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a JHipster Yeoman source code generator for Spring Boot and AngularJS. - GitHub stars + GitHub stars Last commit @@ -772,7 +772,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a JSpecify Package-Info Generator Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - GitHub stars + GitHub stars Last commit @@ -788,7 +788,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a Record-Builder Companion builder class, withers and templates for Java records. - GitHub stars + GitHub stars Last commit @@ -868,7 +868,7 @@ _Libraries which seek to gain high level information from images and videos._ JavaCV Java interface to OpenCV, FFmpeg, and much more. - GitHub stars + GitHub stars Last commit @@ -896,7 +896,7 @@ _Libraries that provide external configuration._ centraldogma Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - GitHub stars + GitHub stars Last commit @@ -904,7 +904,7 @@ _Libraries that provide external configuration._ config Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - GitHub stars + GitHub stars Last commit @@ -912,7 +912,7 @@ _Libraries that provide external configuration._ Configurate Configuration library with support for various configuration formats and transformations. - GitHub stars + GitHub stars Last commit @@ -928,7 +928,7 @@ _Libraries that provide external configuration._ dotenv Twelve-factor configuration library which uses environment-specific files. - GitHub stars + GitHub stars Last commit @@ -936,7 +936,7 @@ _Libraries that provide external configuration._ Externalized Properties Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. - GitHub stars + GitHub stars Last commit @@ -944,7 +944,7 @@ _Libraries that provide external configuration._ 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. - GitHub stars + GitHub stars Last commit @@ -960,7 +960,7 @@ _Libraries that provide external configuration._ KAConf Annotation-based configuration system for Java and Kotlin. - GitHub stars + GitHub stars Last commit @@ -976,7 +976,7 @@ _Libraries that provide external configuration._ owner Reduces boilerplate of properties. - GitHub stars + GitHub stars Last commit @@ -1004,7 +1004,7 @@ _Libraries that help with implementing optimization and satisfiability problems. JaCoP Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) - GitHub stars + GitHub stars Last commit @@ -1040,7 +1040,7 @@ _Frameworks and libraries that simplify reading/writing CSV data._ FastCSV Performance-optimized, dependency-free and RFC 4180 compliant. - GitHub stars + GitHub stars Last commit @@ -1048,7 +1048,7 @@ _Frameworks and libraries that simplify reading/writing CSV data._ jackson-dataformat-csv Jackson extension for reading and writing CSV. - GitHub stars + GitHub stars Last commit @@ -1072,7 +1072,7 @@ _Frameworks and libraries that simplify reading/writing CSV data._ uniVocity-parsers One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. - GitHub stars + GitHub stars Last commit @@ -1124,7 +1124,7 @@ _Efficient and specific data structures._ Big Queue Fast and persistent queue based on memory-mapped files. - GitHub stars + GitHub stars Last commit @@ -1132,7 +1132,7 @@ _Efficient and specific data structures._ HyperMinHash-java Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - GitHub stars + GitHub stars Last commit @@ -1140,7 +1140,7 @@ _Efficient and specific data structures._ Persistent Collection Persistent and immutable analogue of the Java Collections Framework. - GitHub stars + GitHub stars Last commit @@ -1148,7 +1148,7 @@ _Efficient and specific data structures._ Protobuf Google's data interchange format. - GitHub stars + GitHub stars Last commit @@ -1156,7 +1156,7 @@ _Efficient and specific data structures._ RoaringBitmap Fast and efficient compressed bitmap. - GitHub stars + GitHub stars Last commit @@ -1164,7 +1164,7 @@ _Efficient and specific data structures._ SBE Simple Binary Encoding, one of the fastest message formats around. - GitHub stars + GitHub stars Last commit @@ -1172,7 +1172,7 @@ _Efficient and specific data structures._ Tape Lightning-fast, transactional, file-based FIFO. - GitHub stars + GitHub stars Last commit @@ -1180,7 +1180,7 @@ _Efficient and specific data structures._ Wire Clean, lightweight protocol buffers. - GitHub stars + GitHub stars Last commit @@ -1224,7 +1224,7 @@ _Everything that simplifies interactions with the database._ ArangoDB ArangoDB Java driver. - GitHub stars + GitHub stars Last commit @@ -1232,7 +1232,7 @@ _Everything that simplifies interactions with the database._ Chronicle Map Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - GitHub stars + GitHub stars Last commit @@ -1256,7 +1256,7 @@ _Everything that simplifies interactions with the database._ eXist NoSQL document database and application platform. (LGPL-2.1-only) - GitHub stars + GitHub stars Last commit @@ -1264,7 +1264,7 @@ _Everything that simplifies interactions with the database._ FlexyPool Brings metrics and failover strategies to the most common connection pooling solutions. - GitHub stars + GitHub stars Last commit @@ -1288,7 +1288,7 @@ _Everything that simplifies interactions with the database._ HikariCP High-performance JDBC connection pool. - GitHub stars + GitHub stars Last commit @@ -1312,7 +1312,7 @@ _Everything that simplifies interactions with the database._ Jedis Small client for interaction with Redis, with methods for commands. - GitHub stars + GitHub stars Last commit @@ -1320,7 +1320,7 @@ _Everything that simplifies interactions with the database._ Jest Client for the Elasticsearch REST API. - GitHub stars + GitHub stars Last commit @@ -1328,7 +1328,7 @@ _Everything that simplifies interactions with the database._ jetcd Client library for etcd. - GitHub stars + GitHub stars Last commit @@ -1336,7 +1336,7 @@ _Everything that simplifies interactions with the database._ Jinq Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). - GitHub stars + GitHub stars Last commit @@ -1352,7 +1352,7 @@ _Everything that simplifies interactions with the database._ Leaf Distributed ID generate service. - GitHub stars + GitHub stars Last commit @@ -1384,7 +1384,7 @@ _Everything that simplifies interactions with the database._ MariaDB4j Launcher for MariaDB that requires no installation or external dependencies. - GitHub stars + GitHub stars Last commit @@ -1392,7 +1392,7 @@ _Everything that simplifies interactions with the database._ Modality Lightweight ORM with database reverse engineering features. - GitHub stars + GitHub stars Last commit @@ -1400,7 +1400,7 @@ _Everything that simplifies interactions with the database._ OpenDJ LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. - GitHub stars + GitHub stars Last commit @@ -1416,7 +1416,7 @@ _Everything that simplifies interactions with the database._ QueryStream Build JPA Criteria queries using a Stream-like API. - GitHub stars + GitHub stars Last commit @@ -1424,7 +1424,7 @@ _Everything that simplifies interactions with the database._ QuestDB High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. - GitHub stars + GitHub stars Last commit @@ -1432,7 +1432,7 @@ _Everything that simplifies interactions with the database._ Realm Mobile database to run directly inside phones, tablets or wearables. - GitHub stars + GitHub stars Last commit @@ -1440,7 +1440,7 @@ _Everything that simplifies interactions with the database._ Redisson Allows for distributed and scalable data structures on top of a Redis server. - GitHub stars + GitHub stars Last commit @@ -1448,7 +1448,7 @@ _Everything that simplifies interactions with the database._ requery Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - GitHub stars + GitHub stars Last commit @@ -1456,7 +1456,7 @@ _Everything that simplifies interactions with the database._ Speedment Database access library that utilizes Java 8's Stream API for querying. - GitHub stars + GitHub stars Last commit @@ -1464,7 +1464,7 @@ _Everything that simplifies interactions with the database._ Spring Data JPA MongoDB Expressions Allows you to use MongoDB query language to query your relational database. - GitHub stars + GitHub stars Last commit @@ -1488,7 +1488,7 @@ _Everything that simplifies interactions with the database._ Xodus Highly concurrent transactional schema-less and ACID-compliant embedded database. - GitHub stars + GitHub stars Last commit @@ -1496,7 +1496,7 @@ _Everything that simplifies interactions with the database._ CosId Universal, flexible, high-performance distributed ID generator. - GitHub stars + GitHub stars Last commit @@ -1516,7 +1516,7 @@ _Libraries related to handling date and time._ iCal4j Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. - GitHub stars + GitHub stars Last commit @@ -1524,7 +1524,7 @@ _Libraries related to handling date and time._ Jollyday Determines the holidays for a given year, country/name and eventually state/region. - GitHub stars + GitHub stars Last commit @@ -1532,7 +1532,7 @@ _Libraries related to handling date and time._ ThreeTen-Extra Additional date-time classes that complement those in JDK 8. - GitHub stars + GitHub stars Last commit @@ -1540,7 +1540,7 @@ _Libraries related to handling date and time._ Time4J Advanced date and time library. (LGPL-2.1-only) - GitHub stars + GitHub stars Last commit @@ -1584,7 +1584,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. Feather Ultra-lightweight, JSR-330-compliant dependency injection library. - GitHub stars + GitHub stars Last commit @@ -1592,7 +1592,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. Governator Extensions and utilities that enhance Google Guice. - GitHub stars + GitHub stars Last commit @@ -1600,7 +1600,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. Guice Lightweight and opinionated framework that completes Dagger. - GitHub stars + GitHub stars Last commit @@ -1616,7 +1616,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. JayWire Lightweight dependency injection framework. (LGPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -1652,7 +1652,7 @@ _Augmentation of the development process at a fundamental level._ Faux Pas Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. - GitHub stars + GitHub stars Last commit @@ -1660,7 +1660,7 @@ _Augmentation of the development process at a fundamental level._ HotswapAgent Unlimited runtime class and resource redefinition. (GPL-2.0-only) - GitHub stars + GitHub stars Last commit @@ -1668,7 +1668,7 @@ _Augmentation of the development process at a fundamental level._ JavaParser Parse, modify and generate Java code. - GitHub stars + GitHub stars Last commit @@ -1676,7 +1676,7 @@ _Augmentation of the development process at a fundamental level._ JavaSymbolSolver Symbol solver. - GitHub stars + GitHub stars Last commit @@ -1684,7 +1684,7 @@ _Augmentation of the development process at a fundamental level._ Manifold Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - GitHub stars + GitHub stars Last commit @@ -1700,7 +1700,7 @@ _Augmentation of the development process at a fundamental level._ SneakyThrow Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. - GitHub stars + GitHub stars Last commit @@ -1768,7 +1768,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application Dropwizard Circuit Breaker Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - GitHub stars + GitHub stars Last commit @@ -1776,7 +1776,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application Failsafe Simple failure handling with retries and circuit breakers. - GitHub stars + GitHub stars Last commit @@ -1784,7 +1784,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application Hazelcast Highly scalable in-memory datagrid with a free open-source version. - GitHub stars + GitHub stars Last commit @@ -1808,7 +1808,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application resilience4j Functional fault tolerance library. - GitHub stars + GitHub stars Last commit @@ -1816,7 +1816,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application OpenIG High-performance reverse proxy server with specialized session management and credential replay functionality. - GitHub stars + GitHub stars Last commit @@ -1824,7 +1824,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application ScaleCube Services Embeddable Cluster-Membership library based on SWIM and gossip protocol. - GitHub stars + GitHub stars Last commit @@ -1832,7 +1832,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application Zuul Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. - GitHub stars + GitHub stars Last commit @@ -1860,7 +1860,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u Bitronix Simple but complete implementation of the JTA 1.1 API. - GitHub stars + GitHub stars Last commit @@ -1876,7 +1876,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u Seata Delivers high performance and easy to use distributed transaction services under a microservices architecture. - GitHub stars + GitHub stars Last commit @@ -1896,7 +1896,7 @@ _Tools that handle the distribution of applications in native formats._ Artipie Binary artifact management toolkit which hosts them on the file system or S3. - GitHub stars + GitHub stars Last commit @@ -1904,7 +1904,7 @@ _Tools that handle the distribution of applications in native formats._ Capsule Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - GitHub stars + GitHub stars Last commit @@ -1920,7 +1920,7 @@ _Tools that handle the distribution of applications in native formats._ Getdown System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - GitHub stars + GitHub stars Last commit @@ -1936,7 +1936,7 @@ _Tools that handle the distribution of applications in native formats._ JavaPackager Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - GitHub stars + GitHub stars Last commit @@ -1952,7 +1952,7 @@ _Tools that handle the distribution of applications in native formats._ jlink.online Builds optimized runtimes over HTTP. - GitHub stars + GitHub stars Last commit @@ -1960,7 +1960,7 @@ _Tools that handle the distribution of applications in native formats._ packr Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - GitHub stars + GitHub stars Last commit @@ -1968,7 +1968,7 @@ _Tools that handle the distribution of applications in native formats._ really-executable-jars-maven-plugin Maven plugin for making self-executing JARs. - GitHub stars + GitHub stars Last commit @@ -2012,7 +2012,7 @@ _Libraries that assist with processing office document formats._ fastexcel High performance library to read and write large Excel (XLSX) worksheets. - GitHub stars + GitHub stars Last commit @@ -2020,7 +2020,7 @@ _Libraries that assist with processing office document formats._ zerocell Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. - GitHub stars + GitHub stars Last commit @@ -2040,7 +2040,7 @@ _Libraries related to the financial domain._ Cassandre Trading bot framework. - GitHub stars + GitHub stars Last commit @@ -2048,7 +2048,7 @@ _Libraries related to the financial domain._ Parity Platform for trading venues. - GitHub stars + GitHub stars Last commit @@ -2056,7 +2056,7 @@ _Libraries related to the financial domain._ Philadelphia Low-latency financial information exchange. - GitHub stars + GitHub stars Last commit @@ -2064,7 +2064,7 @@ _Libraries related to the financial domain._ Square Integration with the Square API. - GitHub stars + GitHub stars Last commit @@ -2072,7 +2072,7 @@ _Libraries related to the financial domain._ Stripe Integration with the Stripe API. - GitHub stars + GitHub stars Last commit @@ -2080,7 +2080,7 @@ _Libraries related to the financial domain._ ta4j Library for technical analysis. - GitHub stars + GitHub stars Last commit @@ -2100,7 +2100,7 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc CATG Concolic unit testing engine. Automatically generates unit tests using formal methods. - GitHub stars + GitHub stars Last commit @@ -2124,7 +2124,7 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc Java Path Finder (JPF) JVM formal verification tool containing a model checker and more. Created by NASA. - GitHub stars + GitHub stars Last commit @@ -2168,7 +2168,7 @@ _Libraries that facilitate functional programming._ Cyclops Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. - GitHub stars + GitHub stars Last commit @@ -2176,7 +2176,7 @@ _Libraries that facilitate functional programming._ derive4j Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -2200,7 +2200,7 @@ _Libraries that facilitate functional programming._ jOOλ 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. - GitHub stars + GitHub stars Last commit @@ -2208,7 +2208,7 @@ _Libraries that facilitate functional programming._ Packrat Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. - GitHub stars + GitHub stars Last commit @@ -2216,7 +2216,7 @@ _Libraries that facilitate functional programming._ protonpack Collection of stream utilities. - GitHub stars + GitHub stars Last commit @@ -2224,7 +2224,7 @@ _Libraries that facilitate functional programming._ StreamEx Enhances Java 8 Streams. - GitHub stars + GitHub stars Last commit @@ -2308,7 +2308,7 @@ _Frameworks that support the development of games._ Void2D High-level 2D game engine with built-in physics based on Swing. - GitHub stars + GitHub stars Last commit @@ -2316,7 +2316,7 @@ _Frameworks that support the development of games._ vulkan4j Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. - GitHub stars + GitHub stars Last commit @@ -2344,7 +2344,7 @@ _Libraries for working with geospatial data and algorithms._ Geo GeoHash utilities in Java. - GitHub stars + GitHub stars Last commit @@ -2360,7 +2360,7 @@ _Libraries for working with geospatial data and algorithms._ GraphHopper Road-routing engine. Used as a Java library or standalone web service. - GitHub stars + GitHub stars Last commit @@ -2384,7 +2384,7 @@ _Libraries for working with geospatial data and algorithms._ Mapsforge Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -2392,7 +2392,7 @@ _Libraries for working with geospatial data and algorithms._ Spatial4j General-purpose spatial/geospatial library. - GitHub stars + GitHub stars Last commit @@ -2428,7 +2428,7 @@ _Libraries to create modern graphical user interfaces._ SnapKit Modern Java UI library for both desktop and web. - GitHub stars + GitHub stars Last commit @@ -2456,7 +2456,7 @@ _Everything about high-performance computation, from collections to specific lib Agrona Data structures and utility methods that are common in high-performance applications. - GitHub stars + GitHub stars Last commit @@ -2472,7 +2472,7 @@ _Everything about high-performance computation, from collections to specific lib Eclipse Collections Collections framework inspired by Smalltalk. - GitHub stars + GitHub stars Last commit @@ -2496,7 +2496,7 @@ _Everything about high-performance computation, from collections to specific lib JCTools Concurrency tools currently missing from the JDK. - GitHub stars + GitHub stars Last commit @@ -2504,7 +2504,7 @@ _Everything about high-performance computation, from collections to specific lib Koloboke Carefully designed extension of the Java Collections Framework with primitive specializations and more. - GitHub stars + GitHub stars Last commit @@ -2532,7 +2532,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Async Http Client Asynchronous HTTP and WebSocket client library. - GitHub stars + GitHub stars Last commit @@ -2548,7 +2548,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Feign HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - GitHub stars + GitHub stars Last commit @@ -2556,7 +2556,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Google HTTP Client Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. - GitHub stars + GitHub stars Last commit @@ -2564,7 +2564,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ methanol HTTP client extensions library. - GitHub stars + GitHub stars Last commit @@ -2580,7 +2580,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Ribbon Client-side IPC library that is battle-tested in the cloud. - GitHub stars + GitHub stars Last commit @@ -2588,7 +2588,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Riptide Client-side response routing for Spring's RestTemplate. - GitHub stars + GitHub stars Last commit @@ -2596,7 +2596,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ unirest-java Simplified, lightweight HTTP client library. - GitHub stars + GitHub stars Last commit @@ -2616,7 +2616,7 @@ _Libraries that handle serialization to hypermedia types._ hate Builds hypermedia-friendly objects according to HAL specification. - GitHub stars + GitHub stars Last commit @@ -2624,7 +2624,7 @@ _Libraries that handle serialization to hypermedia types._ JSON-LD JSON-LD implementation. - GitHub stars + GitHub stars Last commit @@ -2632,7 +2632,7 @@ _Libraries that handle serialization to hypermedia types._ Siren4J Library for the Siren specification. - GitHub stars + GitHub stars Last commit @@ -2640,7 +2640,7 @@ _Libraries that handle serialization to hypermedia types._ Spring HATEOAS Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. - GitHub stars + GitHub stars Last commit @@ -2712,7 +2712,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica Barcode-Lib4J Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. - GitHub stars + GitHub stars Last commit @@ -2720,7 +2720,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica Imgscalr Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. - GitHub stars + GitHub stars Last commit @@ -2728,7 +2728,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica Tess4J JNA wrapper for Tesseract OCR API. - GitHub stars + GitHub stars Last commit @@ -2736,7 +2736,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica Thumbnailator High-quality thumbnail generation library. - GitHub stars + GitHub stars Last commit @@ -2744,7 +2744,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica TwelveMonkeys Collection of plugins that extend the number of supported image file formats. - GitHub stars + GitHub stars Last commit @@ -2752,7 +2752,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica ZXing Multi-format 1D/2D barcode image processing library. - GitHub stars + GitHub stars Last commit @@ -2760,7 +2760,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica 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. - GitHub stars + GitHub stars Last commit @@ -2768,7 +2768,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica vips-ffm Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. - GitHub stars + GitHub stars Last commit @@ -2796,7 +2796,7 @@ _Libraries that help make the Java introspection and reflection API easier and f ClassGraph ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - GitHub stars + GitHub stars Last commit @@ -2804,7 +2804,7 @@ _Libraries that help make the Java introspection and reflection API easier and f jOOR jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. - GitHub stars + GitHub stars Last commit @@ -2828,7 +2828,7 @@ _Libraries that help make the Java introspection and reflection API easier and f ReflectASM ReflectASM is a very small Java library that provides high performance reflection by using code generation. - GitHub stars + GitHub stars Last commit @@ -2836,7 +2836,7 @@ _Libraries that help make the Java introspection and reflection API easier and f Reflections Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. - GitHub stars + GitHub stars Last commit @@ -2856,7 +2856,7 @@ _Libraries for scheduling background jobs._ 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. - GitHub stars + GitHub stars Last commit @@ -2864,7 +2864,7 @@ _Libraries for scheduling background jobs._ Quartz Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. - GitHub stars + GitHub stars Last commit @@ -2872,7 +2872,7 @@ _Libraries for scheduling background jobs._ Sundial Lightweight framework to simply define jobs, define triggers and start the scheduler. - GitHub stars + GitHub stars Last commit @@ -2880,7 +2880,7 @@ _Libraries for scheduling background jobs._ Wisp Simple library with minimal footprint and straightforward API. - GitHub stars + GitHub stars Last commit @@ -2888,7 +2888,7 @@ _Libraries for scheduling background jobs._ db-scheduler Persistent and cluster-friendly scheduler. - GitHub stars + GitHub stars Last commit @@ -2896,7 +2896,7 @@ _Libraries for scheduling background jobs._ 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. - GitHub stars + GitHub stars Last commit @@ -2904,7 +2904,7 @@ _Libraries for scheduling background jobs._ 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. - GitHub stars + GitHub stars Last commit @@ -2932,7 +2932,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ DSL-JSON JSON library with advanced compile time databinding. - GitHub stars + GitHub stars Last commit @@ -2948,7 +2948,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Gson Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. - GitHub stars + GitHub stars Last commit @@ -2956,7 +2956,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ HikariJSON High-performance JSON parser, 2x faster than Jackson. - GitHub stars + GitHub stars Last commit @@ -2964,7 +2964,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ jackson-modules-java8 Set of Jackson modules for Java 8 datatypes and features. - GitHub stars + GitHub stars Last commit @@ -2972,7 +2972,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Jackson-datatype-money Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - GitHub stars + GitHub stars Last commit @@ -2980,7 +2980,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Jackson Similar to GSON, but offers performance gains if you need to instantiate the library more often. - GitHub stars + GitHub stars Last commit @@ -2988,7 +2988,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ JSON-io Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. - GitHub stars + GitHub stars Last commit @@ -3004,7 +3004,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ LoganSquare JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - GitHub stars + GitHub stars Last commit @@ -3012,7 +3012,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Moshi Modern JSON library, less opinionated and uses built-in types like List and Map. - GitHub stars + GitHub stars Last commit @@ -3020,7 +3020,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Yasson Binding layer between classes and JSON documents similar to JAXB. - GitHub stars + GitHub stars Last commit @@ -3028,7 +3028,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ fastjson Very fast processor with no additional dependencies and full data binding. - GitHub stars + GitHub stars Last commit @@ -3036,7 +3036,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Jolt JSON to JSON transformation tool. - GitHub stars + GitHub stars Last commit @@ -3044,7 +3044,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ JsonPath Extract data from JSON using XPATH-like syntax. - GitHub stars + GitHub stars Last commit @@ -3052,7 +3052,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ JsonSurfer Streaming JsonPath processor dedicated to processing big and complicated JSON data. - GitHub stars + GitHub stars Last commit @@ -3096,7 +3096,7 @@ _Current implementations of the JVM/JDK._ Dragonwell8 Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. - GitHub stars + GitHub stars Last commit @@ -3104,7 +3104,7 @@ _Current implementations of the JVM/JDK._ Graal Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) - GitHub stars + GitHub stars Last commit @@ -3120,7 +3120,7 @@ _Current implementations of the JVM/JDK._ 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. - GitHub stars + GitHub stars Last commit @@ -3136,7 +3136,7 @@ _Current implementations of the JVM/JDK._ ParparVM VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) - GitHub stars + GitHub stars Last commit @@ -3168,7 +3168,7 @@ _Current implementations of the JVM/JDK._ Microsoft JDK Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! - GitHub stars + GitHub stars Last commit @@ -3196,7 +3196,7 @@ _Libraries that log the behavior of an application._ 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. - GitHub stars + GitHub stars Last commit @@ -3228,7 +3228,7 @@ _Libraries that log the behavior of an application._ Logbook Extensible, open-source library for HTTP request and response logging. - GitHub stars + GitHub stars Last commit @@ -3244,7 +3244,7 @@ _Libraries that log the behavior of an application._ p6spy Enables logging for all JDBC transactions without changes to the code. - GitHub stars + GitHub stars Last commit @@ -3268,7 +3268,7 @@ _Libraries that log the behavior of an application._ OpenTracing Toolbox Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations. - GitHub stars + GitHub stars Last commit @@ -3336,7 +3336,7 @@ _Tools that provide specific statistical algorithms for learning from data._ Intelligent java Seamlessly integrate with remote deep learning and language models programmatically. - GitHub stars + GitHub stars Last commit @@ -3344,7 +3344,7 @@ _Tools that provide specific statistical algorithms for learning from data._ JSAT Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -3352,7 +3352,7 @@ _Tools that provide specific statistical algorithms for learning from data._ m2cgen CLI tool to transpile models into native code. - GitHub stars + GitHub stars Last commit @@ -3360,7 +3360,7 @@ _Tools that provide specific statistical algorithms for learning from data._ Neureka A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. - GitHub stars + GitHub stars Last commit @@ -3376,7 +3376,7 @@ _Tools that provide specific statistical algorithms for learning from data._ Oryx 2 Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - GitHub stars + GitHub stars Last commit @@ -3384,7 +3384,7 @@ _Tools that provide specific statistical algorithms for learning from data._ Siddhi Cloud native streaming and complex event processing engine. - GitHub stars + GitHub stars Last commit @@ -3392,7 +3392,7 @@ _Tools that provide specific statistical algorithms for learning from data._ Smile Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - GitHub stars + GitHub stars Last commit @@ -3428,7 +3428,7 @@ _Tools that help send messages between clients to ensure protocol independency._ Aeron Efficient, reliable, unicast and multicast message transport. - GitHub stars + GitHub stars Last commit @@ -3484,7 +3484,7 @@ _Tools that help send messages between clients to ensure protocol independency._ AutoMQ AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. - GitHub stars + GitHub stars Last commit @@ -3492,7 +3492,7 @@ _Tools that help send messages between clients to ensure protocol independency._ Deezpatch Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. - GitHub stars + GitHub stars Last commit @@ -3500,7 +3500,7 @@ _Tools that help send messages between clients to ensure protocol independency._ EventBus Simple publish/subscribe event bus. - GitHub stars + GitHub stars Last commit @@ -3516,7 +3516,7 @@ _Tools that help send messages between clients to ensure protocol independency._ JeroMQ Implementation of ZeroMQ. - GitHub stars + GitHub stars Last commit @@ -3524,7 +3524,7 @@ _Tools that help send messages between clients to ensure protocol independency._ Nakadi Provides a RESTful API on top of Kafka. - GitHub stars + GitHub stars Last commit @@ -3532,7 +3532,7 @@ _Tools that help send messages between clients to ensure protocol independency._ RabbitMQ Java client RabbitMQ client. - GitHub stars + GitHub stars Last commit @@ -3540,7 +3540,7 @@ _Tools that help send messages between clients to ensure protocol independency._ Smack Cross-platform XMPP client library. - GitHub stars + GitHub stars Last commit @@ -3548,7 +3548,7 @@ _Tools that help send messages between clients to ensure protocol independency._ NATS client NATS client. - GitHub stars + GitHub stars Last commit @@ -3576,7 +3576,7 @@ _Tools for creating and managing microservices._ Armeria Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. - GitHub stars + GitHub stars Last commit @@ -3584,7 +3584,7 @@ _Tools for creating and managing microservices._ consul-api Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. - GitHub stars + GitHub stars Last commit @@ -3592,7 +3592,7 @@ _Tools for creating and managing microservices._ Eureka REST-based service registry for resilient load balancing and failover. - GitHub stars + GitHub stars Last commit @@ -3608,7 +3608,7 @@ _Tools for creating and managing microservices._ JDA Wrapping of the Discord REST API and its WebSocket events. - GitHub stars + GitHub stars Last commit @@ -3616,7 +3616,7 @@ _Tools for creating and managing microservices._ KeenType Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. - GitHub stars + GitHub stars Last commit @@ -3624,7 +3624,7 @@ _Tools for creating and managing microservices._ kubernetes-client Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - GitHub stars + GitHub stars Last commit @@ -3648,7 +3648,7 @@ _Tools for creating and managing microservices._ OpenAI-Java Java libraries for using OpenAI's GPT-3 API. - GitHub stars + GitHub stars Last commit @@ -3664,7 +3664,7 @@ _Tools for creating and managing microservices._ Sentinel Flow control component enabling reliability, resilience and monitoring for microservices. - GitHub stars + GitHub stars Last commit @@ -3684,7 +3684,7 @@ _Everything else._ CQEngine Ultra-fast, SQL-like queries on Java collections. - GitHub stars + GitHub stars Last commit @@ -3692,7 +3692,7 @@ _Everything else._ Design Patterns Implementation and explanation of the most common design patterns. - GitHub stars + GitHub stars Last commit @@ -3700,7 +3700,7 @@ _Everything else._ FF4J Feature Flags for Java. - GitHub stars + GitHub stars Last commit @@ -3708,7 +3708,7 @@ _Everything else._ FizzBuzz Enterprise Edition No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) - GitHub stars + GitHub stars Last commit @@ -3716,7 +3716,7 @@ _Everything else._ IP2Location.io Java SDK Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. - GitHub stars + GitHub stars Last commit @@ -3724,7 +3724,7 @@ _Everything else._ ISBN core A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. - GitHub stars + GitHub stars Last commit @@ -3732,7 +3732,7 @@ _Everything else._ J2ObjC Java-to-Objective-C translator for porting Android libraries to iOS. - GitHub stars + GitHub stars Last commit @@ -3748,7 +3748,7 @@ _Everything else._ JBot Framework for building chatbots. (GPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -3764,7 +3764,7 @@ _Everything else._ JEmoji An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - GitHub stars + GitHub stars Last commit @@ -3772,7 +3772,7 @@ _Everything else._ Jimfs In-memory file system. - GitHub stars + GitHub stars Last commit @@ -3788,7 +3788,7 @@ _Everything else._ jOOX Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - GitHub stars + GitHub stars Last commit @@ -3804,7 +3804,7 @@ _Everything else._ jsweet Source transpiler to TypeScript/JavaScript. - GitHub stars + GitHub stars Last commit @@ -3812,7 +3812,7 @@ _Everything else._ Maven Wrapper Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - GitHub stars + GitHub stars Last commit @@ -3820,7 +3820,7 @@ _Everything else._ Membrane Service Proxy Open-source, reverse-proxy framework. - GitHub stars + GitHub stars Last commit @@ -3828,7 +3828,7 @@ _Everything else._ MinimalFTP Lightweight, small and customizable FTP server. - GitHub stars + GitHub stars Last commit @@ -3836,7 +3836,7 @@ _Everything else._ LittleProxy High performance HTTP proxy atop Netty's event-based networking library. - GitHub stars + GitHub stars Last commit @@ -3844,7 +3844,7 @@ _Everything else._ Modern Java - A Guide to Java 8 Popular Java 8 guide. - GitHub stars + GitHub stars Last commit @@ -3852,7 +3852,7 @@ _Everything else._ Modernizer Detect uses of legacy Java APIs. - GitHub stars + GitHub stars Last commit @@ -3860,7 +3860,7 @@ _Everything else._ OctoLinker Browser extension which allows to navigate through code on GitHub more efficiently. - GitHub stars + GitHub stars Last commit @@ -3876,7 +3876,7 @@ _Everything else._ PipelinR Small utility library for using handlers and commands with pipelines. - GitHub stars + GitHub stars Last commit @@ -3884,7 +3884,7 @@ _Everything else._ Polyglot for Maven Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - GitHub stars + GitHub stars Last commit @@ -3892,7 +3892,7 @@ _Everything else._ RR4J RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - GitHub stars + GitHub stars Last commit @@ -3900,7 +3900,7 @@ _Everything else._ Simple Java Mail Mailing with a clean and fluent API. - GitHub stars + GitHub stars Last commit @@ -3908,7 +3908,7 @@ _Everything else._ Smooks Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) - GitHub stars + GitHub stars Last commit @@ -3916,7 +3916,7 @@ _Everything else._ Svix Library for the Svix API to send webhooks and verify signatures. - GitHub stars + GitHub stars Last commit @@ -3932,7 +3932,7 @@ _Everything else._ TypeTools Tools for resolving generic types. - GitHub stars + GitHub stars Last commit @@ -3940,7 +3940,7 @@ _Everything else._ webcam-capture Library for using built-in and external webcams directly in Java. - GitHub stars + GitHub stars Last commit @@ -3948,7 +3948,7 @@ _Everything else._ XMLBeam Processes XML by using annotations or XPath within code. - GitHub stars + GitHub stars Last commit @@ -3956,7 +3956,7 @@ _Everything else._ yGuard Obfuscation via renaming and shrinking. - GitHub stars + GitHub stars Last commit @@ -3964,7 +3964,7 @@ _Everything else._ JBang JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - GitHub stars + GitHub stars Last commit @@ -4020,7 +4020,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Apitally Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. - GitHub stars + GitHub stars Last commit @@ -4028,7 +4028,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Automon Combines the power of AOP with monitoring and/or logging tools. - GitHub stars + GitHub stars Last commit @@ -4036,7 +4036,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Dropwizard Metrics Expose metrics via JMX or HTTP and send them to a database. - GitHub stars + GitHub stars Last commit @@ -4044,7 +4044,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Failsafe Actuator Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - GitHub stars + GitHub stars Last commit @@ -4060,7 +4060,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ HertzBeat Real-time monitoring system with custom-monitor and agentless. - GitHub stars + GitHub stars Last commit @@ -4068,7 +4068,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ hippo4j Dynamic and observable thread pool framework. - GitHub stars + GitHub stars Last commit @@ -4084,7 +4084,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Jaeger client Jaeger client. - GitHub stars + GitHub stars Last commit @@ -4092,7 +4092,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ JavaMelody Performance monitoring and profiling. - GitHub stars + GitHub stars Last commit @@ -4100,7 +4100,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ 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. - GitHub stars + GitHub stars Last commit @@ -4116,7 +4116,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Micrometer Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. - GitHub stars + GitHub stars Last commit @@ -4124,7 +4124,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Micrometer Tracing Vendor-neutral distributed tracing facade for the most popular tracer libraries. - GitHub stars + GitHub stars Last commit @@ -4132,7 +4132,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ nudge4j Remote developer console from the browser for Java 8 via bytecode injection. - GitHub stars + GitHub stars Last commit @@ -4140,7 +4140,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ OpenTelemetry Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. - GitHub stars + GitHub stars Last commit @@ -4148,7 +4148,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Pinpoint Open-source APM tool. - GitHub stars + GitHub stars Last commit @@ -4156,7 +4156,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Prometheus Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. - GitHub stars + GitHub stars Last commit @@ -4164,7 +4164,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Stagemonitor Open-source performance monitoring and transaction tracing for JVM apps. - GitHub stars + GitHub stars Last commit @@ -4172,7 +4172,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ Sysmon Lightweight platform monitoring tool for Java VMs. - GitHub stars + GitHub stars Last commit @@ -4200,7 +4200,7 @@ _For working with platform-specific native libraries._ Aparapi Converts bytecode to OpenCL which allows execution on GPUs. - GitHub stars + GitHub stars Last commit @@ -4208,7 +4208,7 @@ _For working with platform-specific native libraries._ JavaCPP Provides efficient and easy access to native C++. - GitHub stars + GitHub stars Last commit @@ -4216,7 +4216,7 @@ _For working with platform-specific native libraries._ JNA Work with native libraries without writing JNI. Also provides interfaces to common system libraries. - GitHub stars + GitHub stars Last commit @@ -4224,7 +4224,7 @@ _For working with platform-specific native libraries._ JNR 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). - GitHub stars + GitHub stars Last commit @@ -4232,7 +4232,7 @@ _For working with platform-specific native libraries._ native-lib-loader Native library loader for extracting and loading native libraries from Java. - GitHub stars + GitHub stars Last commit @@ -4252,7 +4252,7 @@ _Libraries that specialize in processing text._ CogCompNLP Provides common annotators for plain text input. (Research and Academic Use License) - GitHub stars + GitHub stars Last commit @@ -4276,7 +4276,7 @@ _Libraries that specialize in processing text._ Hypherator Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. - GitHub stars + GitHub stars Last commit @@ -4304,7 +4304,7 @@ _Libraries for building network servers._ Commons-networking Client for server-sent events (SSE). - GitHub stars + GitHub stars Last commit @@ -4312,7 +4312,7 @@ _Libraries for building network servers._ Comsat Integrates standard Java web-related APIs with Quasar fibers and actors. - GitHub stars + GitHub stars Last commit @@ -4320,7 +4320,7 @@ _Libraries for building network servers._ Dubbo High-performance RPC framework. - GitHub stars + GitHub stars Last commit @@ -4336,7 +4336,7 @@ _Libraries for building network servers._ gRPC RPC framework based on protobuf and HTTP/2. - GitHub stars + GitHub stars Last commit @@ -4344,7 +4344,7 @@ _Libraries for building network servers._ KryoNet Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - GitHub stars + GitHub stars Last commit @@ -4368,7 +4368,7 @@ _Libraries for building network servers._ Drift Easy-to-use, annotation-based library for creating Thrift clients and serializable types. - GitHub stars + GitHub stars Last commit @@ -4376,7 +4376,7 @@ _Libraries for building network servers._ ServiceTalk Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - GitHub stars + GitHub stars Last commit @@ -4384,7 +4384,7 @@ _Libraries for building network servers._ sshj Programmatically use SSH, SCP or SFTP. - GitHub stars + GitHub stars Last commit @@ -4392,7 +4392,7 @@ _Libraries for building network servers._ TLS Channel Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - GitHub stars + GitHub stars Last commit @@ -4408,7 +4408,7 @@ _Libraries for building network servers._ urnlib Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -4416,7 +4416,7 @@ _Libraries for building network servers._ Fluency High throughput data ingestion logger to Fluentd and Fluent Bit. - GitHub stars + GitHub stars Last commit @@ -4444,7 +4444,7 @@ _APIs that handle the persistence of objects._ Doma Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. - GitHub stars + GitHub stars Last commit @@ -4476,7 +4476,7 @@ _APIs that handle the persistence of objects._ MyBatis Couples objects with stored procedures or SQL statements. - GitHub stars + GitHub stars Last commit @@ -4484,7 +4484,7 @@ _APIs that handle the persistence of objects._ MyBatis-Plus A powerful enhanced toolkit of MyBatis for simplifying development. - GitHub stars + GitHub stars Last commit @@ -4492,7 +4492,7 @@ _APIs that handle the persistence of objects._ ObjectiveSql ActiveRecord ORM for rapid development and convention over configuration. - GitHub stars + GitHub stars Last commit @@ -4500,7 +4500,7 @@ _APIs that handle the persistence of objects._ Permazen Language-natural persistence layer. - GitHub stars + GitHub stars Last commit @@ -4508,7 +4508,7 @@ _APIs that handle the persistence of objects._ SimpleFlatMapper Simple database and CSV mapper. - GitHub stars + GitHub stars Last commit @@ -4532,7 +4532,7 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. Pathetic A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. - GitHub stars + GitHub stars Last commit @@ -4576,7 +4576,7 @@ _Tools to help with PDF files._ DynamicReports Simplifies JasperReports. (LGPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -4592,7 +4592,7 @@ _Tools to help with PDF files._ flyingsaucer XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - GitHub stars + GitHub stars Last commit @@ -4608,7 +4608,7 @@ _Tools to help with PDF files._ Open HTML to PDF Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - GitHub stars + GitHub stars Last commit @@ -4616,7 +4616,7 @@ _Tools to help with PDF files._ OpenPDF Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - GitHub stars + GitHub stars Last commit @@ -4624,7 +4624,7 @@ _Tools to help with PDF files._ Tabula Extracts tables from PDF files. - GitHub stars + GitHub stars Last commit @@ -4644,7 +4644,7 @@ _Tools for performance analysis, profiling and benchmarking._ honest-profiler Low-overhead, bias-free sampling profiler. - GitHub stars + GitHub stars Last commit @@ -4652,7 +4652,7 @@ _Tools for performance analysis, profiling and benchmarking._ jHiccup Logs and records platform JVM stalls. - GitHub stars + GitHub stars Last commit @@ -4660,7 +4660,7 @@ _Tools for performance analysis, profiling and benchmarking._ JITWatch Analyze the JIT compiler optimisations made by the HotSpot JVM. - GitHub stars + GitHub stars Last commit @@ -4676,7 +4676,7 @@ _Tools for performance analysis, profiling and benchmarking._ LatencyUtils Utilities for latency measurement and reporting. - GitHub stars + GitHub stars Last commit @@ -5148,7 +5148,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie Light-4J Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). - GitHub stars + GitHub stars Last commit @@ -5156,7 +5156,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie Orienteer Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - GitHub stars + GitHub stars Last commit @@ -5184,7 +5184,7 @@ _Libraries that help the management of operating system processes._ ch.vorburger.exec Convenient API around Apache Commons Exec. - GitHub stars + GitHub stars Last commit @@ -5192,7 +5192,7 @@ _Libraries that help the management of operating system processes._ zt-exec Provides a unified API to Apache Commons Exec and ProcessBuilder. - GitHub stars + GitHub stars Last commit @@ -5200,7 +5200,7 @@ _Libraries that help the management of operating system processes._ zt-process-killer Stops processes started from Java or the system processes via PID. - GitHub stars + GitHub stars Last commit @@ -5228,7 +5228,7 @@ _Libraries for developing reactive applications._ Reactive Streams Provides a standard for asynchronous stream processing with non-blocking backpressure. - GitHub stars + GitHub stars Last commit @@ -5236,7 +5236,7 @@ _Libraries for developing reactive applications._ Reactor A framework for building non-blocking applications on the JVM, providing support for reactive programming. - GitHub stars + GitHub stars Last commit @@ -5244,7 +5244,7 @@ _Libraries for developing reactive applications._ RxJava Allows for composing asynchronous and event-based programs using observable sequences. - GitHub stars + GitHub stars Last commit @@ -5272,7 +5272,7 @@ _Frameworks specifically for creating RESTful services._ Dropwizard Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - GitHub stars + GitHub stars Last commit @@ -5296,7 +5296,7 @@ _Frameworks specifically for creating RESTful services._ Microserver 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. - GitHub stars + GitHub stars Last commit @@ -5312,7 +5312,7 @@ _Frameworks specifically for creating RESTful services._ 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. - GitHub stars + GitHub stars Last commit @@ -5328,7 +5328,7 @@ _Frameworks specifically for creating RESTful services._ RestExpress Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. - GitHub stars + GitHub stars Last commit @@ -5336,7 +5336,7 @@ _Frameworks specifically for creating RESTful services._ Restlet Framework Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. - GitHub stars + GitHub stars Last commit @@ -5360,7 +5360,7 @@ _Frameworks specifically for creating RESTful services._ springdoc-openapi Automates the generation of API documentation using Spring Boot projects. - GitHub stars + GitHub stars Last commit @@ -5396,7 +5396,7 @@ _Libraries for scientific computing, analysis and visualization._ Chart-FX Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - GitHub stars + GitHub stars Last commit @@ -5412,7 +5412,7 @@ _Libraries for scientific computing, analysis and visualization._ Erdos Modular, light and easy graph framework for theoretic algorithms. - GitHub stars + GitHub stars Last commit @@ -5436,7 +5436,7 @@ _Libraries for scientific computing, analysis and visualization._ JGraphT Graph library that provides mathematical graph-theory objects and algorithms. - GitHub stars + GitHub stars Last commit @@ -5444,7 +5444,7 @@ _Libraries for scientific computing, analysis and visualization._ JGraphX Library for visualizing (mainly Swing) and interacting with node-edge graphs. - GitHub stars + GitHub stars Last commit @@ -5452,7 +5452,7 @@ _Libraries for scientific computing, analysis and visualization._ LogicNG Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - GitHub stars + GitHub stars Last commit @@ -5460,7 +5460,7 @@ _Libraries for scientific computing, analysis and visualization._ Mines Java Toolkit Library for geophysical scientific computation, visualization and digital signal analysis. - GitHub stars + GitHub stars Last commit @@ -5468,7 +5468,7 @@ _Libraries for scientific computing, analysis and visualization._ Morpheus Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - GitHub stars + GitHub stars Last commit @@ -5484,7 +5484,7 @@ _Libraries for scientific computing, analysis and visualization._ Orson-Charts Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -5492,7 +5492,7 @@ _Libraries for scientific computing, analysis and visualization._ Tablesaw Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - GitHub stars + GitHub stars Last commit @@ -5500,7 +5500,7 @@ _Libraries for scientific computing, analysis and visualization._ XChart Light-weight library for plotting data. Many customizable chart types are available. - GitHub stars + GitHub stars Last commit @@ -5544,7 +5544,7 @@ _Engines that index documents for search and analysis._ Indexer4j Simple and light full text indexing and searching library. - GitHub stars + GitHub stars Last commit @@ -5572,7 +5572,7 @@ _Libraries that handle security, authentication, authorization or session manage Ayza High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. - GitHub stars + GitHub stars Last commit @@ -5588,7 +5588,7 @@ _Libraries that handle security, authentication, authorization or session manage DependencyCheck Detects publicly disclosed vulnerabilities contained within a project's dependencies. - GitHub stars + GitHub stars Last commit @@ -5604,7 +5604,7 @@ _Libraries that handle security, authentication, authorization or session manage 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. - GitHub stars + GitHub stars Last commit @@ -5612,7 +5612,7 @@ _Libraries that handle security, authentication, authorization or session manage jjwt JSON web token for Java and Android. - GitHub stars + GitHub stars Last commit @@ -5620,7 +5620,7 @@ _Libraries that handle security, authentication, authorization or session manage jwt-java Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. - GitHub stars + GitHub stars Last commit @@ -5628,7 +5628,7 @@ _Libraries that handle security, authentication, authorization or session manage Jwks RSA JSON Web Key Set parser. - GitHub stars + GitHub stars Last commit @@ -5636,7 +5636,7 @@ _Libraries that handle security, authentication, authorization or session manage Kalium Binding for the Networking and Cryptography (NaCl) library. - GitHub stars + GitHub stars Last commit @@ -5652,7 +5652,7 @@ _Libraries that handle security, authentication, authorization or session manage Keywhiz System for distributing and managing secrets. - GitHub stars + GitHub stars Last commit @@ -5660,7 +5660,7 @@ _Libraries that handle security, authentication, authorization or session manage Nbvcxz Advanced password strength estimation. - GitHub stars + GitHub stars Last commit @@ -5676,7 +5676,7 @@ _Libraries that handle security, authentication, authorization or session manage OpenAM Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. - GitHub stars + GitHub stars Last commit @@ -5684,7 +5684,7 @@ _Libraries that handle security, authentication, authorization or session manage OTP-Java One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - GitHub stars + GitHub stars Last commit @@ -5692,7 +5692,7 @@ _Libraries that handle security, authentication, authorization or session manage pac4j Security engine. - GitHub stars + GitHub stars Last commit @@ -5708,7 +5708,7 @@ _Libraries that handle security, authentication, authorization or session manage Password4j User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. - GitHub stars + GitHub stars Last commit @@ -5716,7 +5716,7 @@ _Libraries that handle security, authentication, authorization or session manage SecurityBuilder Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. - GitHub stars + GitHub stars Last commit @@ -5724,7 +5724,7 @@ _Libraries that handle security, authentication, authorization or session manage 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. - GitHub stars + GitHub stars Last commit @@ -5732,7 +5732,7 @@ _Libraries that handle security, authentication, authorization or session manage Tink Provides a simple and misuse-proof API for common cryptographic tasks. - GitHub stars + GitHub stars Last commit @@ -5760,7 +5760,7 @@ _Libraries that handle serialization with high efficiency._ FlatBuffers Memory-efficient serialization library that can access serialized data without unpacking and parsing it. - GitHub stars + GitHub stars Last commit @@ -5768,7 +5768,7 @@ _Libraries that handle serialization with high efficiency._ FST JDK-compatible, high-performance object graph serialization. - GitHub stars + GitHub stars Last commit @@ -5776,7 +5776,7 @@ _Libraries that handle serialization with high efficiency._ Fury Blazing fast object graph serialization framework powered by JIT and zero-copy. - GitHub stars + GitHub stars Last commit @@ -5784,7 +5784,7 @@ _Libraries that handle serialization with high efficiency._ Kryo Fast and efficient object graph serialization framework. - GitHub stars + GitHub stars Last commit @@ -5792,7 +5792,7 @@ _Libraries that handle serialization with high efficiency._ MessagePack Efficient binary serialization format. - GitHub stars + GitHub stars Last commit @@ -5800,7 +5800,7 @@ _Libraries that handle serialization with high efficiency._ PHP Serializer Serializing objects in the PHP serialization format. - GitHub stars + GitHub stars Last commit @@ -5844,7 +5844,7 @@ _Servers specifically used to deploy applications._ nanohttpd Tiny, easily embeddable HTTP server. - GitHub stars + GitHub stars Last commit @@ -5888,7 +5888,7 @@ _Tools that substitute expressions in a template._ Jade4J Implementation of Pug (formerly known as Jade). - GitHub stars + GitHub stars Last commit @@ -5896,7 +5896,7 @@ _Tools that substitute expressions in a template._ Jamal Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. - GitHub stars + GitHub stars Last commit @@ -5904,7 +5904,7 @@ _Tools that substitute expressions in a template._ jstachio Typesafe Mustache templating engine. - GitHub stars + GitHub stars Last commit @@ -5912,7 +5912,7 @@ _Tools that substitute expressions in a template._ jte Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. - GitHub stars + GitHub stars Last commit @@ -5920,7 +5920,7 @@ _Tools that substitute expressions in a template._ Jtwig Modular, configurable and fully tested template engine. - GitHub stars + GitHub stars Last commit @@ -5936,7 +5936,7 @@ _Tools that substitute expressions in a template._ Rocker Optimized, memory efficient and speedy template engine producing statically typed, plain objects. - GitHub stars + GitHub stars Last commit @@ -5944,7 +5944,7 @@ _Tools that substitute expressions in a template._ StringTemplate Template engine for generating source code, web pages, emails, or any other formatted text output. - GitHub stars + GitHub stars Last commit @@ -5976,7 +5976,7 @@ _Tools that simplify testing asynchronous services._ Awaitility DSL for synchronizing asynchronous operations. - GitHub stars + GitHub stars Last commit @@ -5984,7 +5984,7 @@ _Tools that simplify testing asynchronous services._ ConcurrentUnit Toolkit for testing multi-threaded and asynchronous applications. - GitHub stars + GitHub stars Last commit @@ -6000,7 +6000,7 @@ _Tools that simplify testing asynchronous services._ Hoverfly Java Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - GitHub stars + GitHub stars Last commit @@ -6008,7 +6008,7 @@ _Tools that simplify testing asynchronous services._ Karate DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - GitHub stars + GitHub stars Last commit @@ -6016,7 +6016,7 @@ _Tools that simplify testing asynchronous services._ REST Assured DSL for easy testing of REST/HTTP services. - GitHub stars + GitHub stars Last commit @@ -6024,7 +6024,7 @@ _Tools that simplify testing asynchronous services._ WebTau Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - GitHub stars + GitHub stars Last commit @@ -6044,7 +6044,7 @@ _Testing for the software development process that emerged from TDD and was heav Cucumber Provides a way to describe features in a plain language which customers can understand. - GitHub stars + GitHub stars Last commit @@ -6052,7 +6052,7 @@ _Testing for the software development process that emerged from TDD and was heav Cukes-REST Collection of Gherkin steps for REST-service testing using Cucumber. - GitHub stars + GitHub stars Last commit @@ -6060,7 +6060,7 @@ _Testing for the software development process that emerged from TDD and was heav J8Spec Follows a Jasmine-like syntax. - GitHub stars + GitHub stars Last commit @@ -6084,7 +6084,7 @@ _Testing for the software development process that emerged from TDD and was heav Lamdba Behave Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - GitHub stars + GitHub stars Last commit @@ -6092,7 +6092,7 @@ _Testing for the software development process that emerged from TDD and was heav Serenity BDD Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. - GitHub stars + GitHub stars Last commit @@ -6112,7 +6112,7 @@ _Everything related to the creation and handling of random data._ AutoParams Supports generating test data or combining scenarios for parameterized tests. - GitHub stars + GitHub stars Last commit @@ -6120,7 +6120,7 @@ _Everything related to the creation and handling of random data._ Beanmother Sets up beans from YAML fixtures. - GitHub stars + GitHub stars Last commit @@ -6128,7 +6128,7 @@ _Everything related to the creation and handling of random data._ Datafaker Modern fake data generator forked from Java Faker. - GitHub stars + GitHub stars Last commit @@ -6136,7 +6136,7 @@ _Everything related to the creation and handling of random data._ Fixture Factory Generates fake objects from a template. - GitHub stars + GitHub stars Last commit @@ -6144,7 +6144,7 @@ _Everything related to the creation and handling of random data._ jFairy Fake data generator. - GitHub stars + GitHub stars Last commit @@ -6152,7 +6152,7 @@ _Everything related to the creation and handling of random data._ Instancio Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. - GitHub stars + GitHub stars Last commit @@ -6160,7 +6160,7 @@ _Everything related to the creation and handling of random data._ Randomized Testing JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - GitHub stars + GitHub stars Last commit @@ -6168,7 +6168,7 @@ _Everything related to the creation and handling of random data._ Java Faker Port of Ruby's fake data generator. - GitHub stars + GitHub stars Last commit @@ -6176,7 +6176,7 @@ _Everything related to the creation and handling of random data._ Mockneat Another fake data generator. - GitHub stars + GitHub stars Last commit @@ -6184,7 +6184,7 @@ _Everything related to the creation and handling of random data._ JMock JMock is a high-performance data generation and simulation component library implemented in Java. - GitHub stars + GitHub stars Last commit @@ -6228,7 +6228,7 @@ _Provide environments to run tests for a specific use case._ cdi-test JUnit extension for easy and efficient testing of CDI components. - GitHub stars + GitHub stars Last commit @@ -6268,7 +6268,7 @@ _Provide environments to run tests for a specific use case._ Pact JVM Consumer-driven contract testing. - GitHub stars + GitHub stars Last commit @@ -6284,7 +6284,7 @@ _Provide environments to run tests for a specific use case._ weld-testing Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. - GitHub stars + GitHub stars Last commit @@ -6328,7 +6328,7 @@ _Libraries that provide custom matchers._ JsonUnit Library that simplifies JSON comparison in tests. - GitHub stars + GitHub stars Last commit @@ -6344,7 +6344,7 @@ _Libraries that provide custom matchers._ XMLUnit Simplifies testing for XML output. - GitHub stars + GitHub stars Last commit @@ -6364,7 +6364,7 @@ _Other stuff related to testing._ ConsoleCaptor Captures console output for unit testing purposes. - GitHub stars + GitHub stars Last commit @@ -6372,7 +6372,7 @@ _Other stuff related to testing._ junit-dataprovider TestNG-like data provider/runner for JUnit. - GitHub stars + GitHub stars Last commit @@ -6388,7 +6388,7 @@ _Other stuff related to testing._ LogCaptor Captures log entries for unit testing purposes. - GitHub stars + GitHub stars Last commit @@ -6396,7 +6396,7 @@ _Other stuff related to testing._ log-capture Captures log entries and provides assertions for unit and integration testing. - GitHub stars + GitHub stars Last commit @@ -6404,7 +6404,7 @@ _Other stuff related to testing._ Mutability Detector Reports whether instances of a given class are immutable. - GitHub stars + GitHub stars Last commit @@ -6420,7 +6420,7 @@ _Other stuff related to testing._ raml-tester Tests if a request/response matches a given RAML definition. - GitHub stars + GitHub stars Last commit @@ -6428,7 +6428,7 @@ _Other stuff related to testing._ Selfie Snapshot testing (inline and on disk). - GitHub stars + GitHub stars Last commit @@ -6436,7 +6436,7 @@ _Other stuff related to testing._ Stebz Multi-approach framework for test steps managing. - GitHub stars + GitHub stars Last commit @@ -6444,7 +6444,7 @@ _Other stuff related to testing._ Testcontainers Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. - GitHub stars + GitHub stars Last commit @@ -6472,7 +6472,7 @@ _Tools which mock collaborators to help testing single, isolated units._ Mockito Mocking framework that lets you write tests with a clean and simple API. - GitHub stars + GitHub stars Last commit @@ -6488,7 +6488,7 @@ _Tools which mock collaborators to help testing single, isolated units._ Moco Concise web services for stubs and mocks. - GitHub stars + GitHub stars Last commit @@ -6496,7 +6496,7 @@ _Tools which mock collaborators to help testing single, isolated units._ PowerMock Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - GitHub stars + GitHub stars Last commit @@ -6512,7 +6512,7 @@ _Tools which mock collaborators to help testing single, isolated units._ EasyMock EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. - GitHub stars + GitHub stars Last commit @@ -6532,7 +6532,7 @@ _Libraries which provide general utility functions._ Arthas Allows to troubleshoot production issues for applications without modifying code or restarting servers. - GitHub stars + GitHub stars Last commit @@ -6540,7 +6540,7 @@ _Libraries which provide general utility functions._ bucket4j Rate limiting library based on token-bucket algorithm. - GitHub stars + GitHub stars Last commit @@ -6548,7 +6548,7 @@ _Libraries which provide general utility functions._ cactoos Collection of object-oriented primitives. - GitHub stars + GitHub stars Last commit @@ -6556,7 +6556,7 @@ _Libraries which provide general utility functions._ Chocotea Generates postman collection, environment and integration tests from java code. - GitHub stars + GitHub stars Last commit @@ -6572,7 +6572,7 @@ _Libraries which provide general utility functions._ Dex Java/JavaFX tool capable of powerful ETL and data visualization. - GitHub stars + GitHub stars Last commit @@ -6580,7 +6580,7 @@ _Libraries which provide general utility functions._ dregex Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - GitHub stars + GitHub stars Last commit @@ -6588,7 +6588,7 @@ _Libraries which provide general utility functions._ Embulk Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - GitHub stars + GitHub stars Last commit @@ -6596,7 +6596,7 @@ _Libraries which provide general utility functions._ fswatch Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - GitHub stars + GitHub stars Last commit @@ -6604,7 +6604,7 @@ _Libraries which provide general utility functions._ Gephi Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - GitHub stars + GitHub stars Last commit @@ -6612,7 +6612,7 @@ _Libraries which provide general utility functions._ Guava Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - GitHub stars + GitHub stars Last commit @@ -6628,7 +6628,7 @@ _Libraries which provide general utility functions._ Javadoc Publisher Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - GitHub stars + GitHub stars Last commit @@ -6644,7 +6644,7 @@ _Libraries which provide general utility functions._ JavaVerbalExpressions Library that helps with constructing difficult regular expressions. - GitHub stars + GitHub stars Last commit @@ -6660,7 +6660,7 @@ _Libraries which provide general utility functions._ JKScope Java scope functions inspired by Kotlin. - GitHub stars + GitHub stars Last commit @@ -6668,7 +6668,7 @@ _Libraries which provide general utility functions._ minio-java Provides simple APIs to access any Amazon S3-compatible object storage server. - GitHub stars + GitHub stars Last commit @@ -6684,7 +6684,7 @@ _Libraries which provide general utility functions._ Semver4j Lightweight library that helps you handling semantic versioning with different modes. - GitHub stars + GitHub stars Last commit @@ -6692,7 +6692,7 @@ _Libraries which provide general utility functions._ Underscore-java Port of Underscore.js functions. - GitHub stars + GitHub stars Last commit @@ -6712,7 +6712,7 @@ _Utilities that help create the development shell environment and switch between jabba Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. - GitHub stars + GitHub stars Last commit @@ -6720,7 +6720,7 @@ _Utilities that help create the development shell environment and switch between jenv Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. - GitHub stars + GitHub stars Last commit @@ -6728,7 +6728,7 @@ _Utilities that help create the development shell environment and switch between SDKMan Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. - GitHub stars + GitHub stars Last commit @@ -6756,7 +6756,7 @@ _Libraries that analyze the content of websites._ Crawler4j Simple and lightweight web crawler. - GitHub stars + GitHub stars Last commit @@ -6780,7 +6780,7 @@ _Libraries that analyze the content of websites._ webmagic Scalable crawler with downloading, url management, content extraction and persistent. - GitHub stars + GitHub stars Last commit @@ -6824,7 +6824,7 @@ _Frameworks that handle the communication between the layers of a web applicatio Blade Lightweight, modular framework that aims to be elegant and simple. - GitHub stars + GitHub stars Last commit @@ -6904,7 +6904,7 @@ _Frameworks that handle the communication between the layers of a web applicatio Takes Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. - GitHub stars + GitHub stars Last commit @@ -6948,7 +6948,7 @@ _Platforms and frameworks for orchestrating workflows and business processes._ flowable Compact and efficient workflow and business process management platform. - GitHub stars + GitHub stars Last commit diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java index 198842ee..1a7c394b 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_badges.java @@ -91,7 +91,7 @@ List generateBadgeMappings(List entries) { continue; } - var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); + var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); From 1b600ab84f7ef88859e4b847f3f7aef2a5b163dc Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:35:59 +0200 Subject: [PATCH 388/533] Improve badge size --- README.md | 4446 ++++++++++++++++++++-------------------- scripts/Constants.java | 4 +- 2 files changed, 2225 insertions(+), 2225 deletions(-) diff --git a/README.md b/README.md index 39fed25e..0e4eb3de 100644 --- a/README.md +++ b/README.md @@ -99,17 +99,17 @@ _Frameworks and libraries that help implementing and verifying design and archit ArchUnit - Test library for specifying and asserting architecture rules. - GitHub stars - Last commit + Test library for specifying and asserting architecture rules. + GitHub stars + Last commit jMolecules - Annotations and interfaces to express design and architecture concepts in code. - GitHub stars - Last commit + Annotations and interfaces to express design and architecture concepts in code. + GitHub stars + Last commit @@ -127,33 +127,33 @@ _Frameworks that help you to leverage LLMs and AI._ LangChain4j - Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. - GitHub stars - Last commit + Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. + GitHub stars + Last commit MCP 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit simple-openai - Library to use the OpenAI API (and compatible ones) in the simplest possible way. - GitHub stars - Last commit + Library to use the OpenAI API (and compatible ones) in the simplest possible way. + GitHub stars + Last commit Spring AI - Application framework for AI engineering for Spring. - - - - + Application framework for AI engineering for Spring. + - + - @@ -171,57 +171,57 @@ _Frameworks that ease bean mapping._ dOOv - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - GitHub stars - Last commit + Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. + GitHub stars + Last commit JMapper - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - GitHub stars - Last commit + Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. + GitHub stars + Last commit MapStruct - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. - GitHub stars - Last commit + Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. + GitHub stars + Last commit ModelMapper - Intelligent object mapping library that automatically maps objects to each other. - GitHub stars - Last commit + Intelligent object mapping library that automatically maps objects to each other. + GitHub stars + Last commit Orika - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. - GitHub stars - Last commit + JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. + GitHub stars + Last commit reMap - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. - GitHub stars - Last commit + Lambda and method handle-based mapping which requires code and not annotations if objects have different names. + GitHub stars + Last commit Selma - Annotation processor-based bean mapper. - GitHub stars - Last commit + Annotation processor-based bean mapper. + GitHub stars + Last commit @@ -239,33 +239,33 @@ _Tools that handle the build cycle and dependencies of an application._ Apache Maven - 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. - - - - + 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 - Tool from Google that builds code quickly and reliably. - - - - + Tool from Google that builds code quickly and reliably. + - + - Buck2 - Encourages the creation of small, reusable modules consisting of code and resources. - GitHub stars - Last commit + Encourages the creation of small, reusable modules consisting of code and resources. + GitHub stars + Last commit Gradle - Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. - - - - + Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. + - + - @@ -283,81 +283,81 @@ _Libraries to manipulate bytecode programmatically._ ASM - All-purpose, low-level bytecode manipulation and analysis. - - - - + All-purpose, low-level bytecode manipulation and analysis. + - + - Byte Buddy - Further simplifies bytecode generation with a fluent API. - - - - + Further simplifies bytecode generation with a fluent API. + - + - bytecode-viewer - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) - GitHub stars - Last commit + Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) + GitHub stars + Last commit Byteman - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) - - - - + Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) + - + - cglib - Bytecode generation library. - GitHub stars - Last commit + Bytecode generation library. + GitHub stars + Last commit Javassist - Tries to simplify bytecode editing. - GitHub stars - Last commit + Tries to simplify bytecode editing. + GitHub stars + Last commit Maker - Provides low level bytecode generation. - GitHub stars - Last commit + Provides low level bytecode generation. + GitHub stars + Last commit Mixin - Manipulate bytecode at runtime using real Java code. - GitHub stars - Last commit + Manipulate bytecode at runtime using real Java code. + GitHub stars + Last commit Perses - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. - GitHub stars - Last commit + Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. + GitHub stars + Last commit Recaf - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. - - - - + JVM reverse engineering toolkit, essentially an IDE for Java bytecode. + - + - @@ -375,33 +375,33 @@ _Libraries that provide caching facilities._ cache2k - In-memory high performance caching library. - - - - + In-memory high performance caching library. + - + - Caffeine - High-performance, near-optimal caching library. - GitHub stars - Last commit + High-performance, near-optimal caching library. + GitHub stars + Last commit Ehcache - Distributed general-purpose cache. - - - - + Distributed general-purpose cache. + - + - Infinispan - Highly concurrent key/value datastore used for caching. - - - - + Highly concurrent key/value datastore used for caching. + - + - @@ -423,41 +423,41 @@ _Libraries to assist with parsing command line arguments._ Airline - Annotation-based framework for parsing Git-like command-line arguments. - - - - + Annotation-based framework for parsing Git-like command-line arguments. + - + - JCommander - Command-line argument-parsing framework with custom types and validation via implementing interfaces. - - - - + Command-line argument-parsing framework with custom types and validation via implementing interfaces. + - + - jbock - Reflectionless command line parser. - GitHub stars - Last commit + Reflectionless command line parser. + GitHub stars + Last commit JLine - Includes features from modern shells like completion or history. - GitHub stars - Last commit + Includes features from modern shells like completion or history. + GitHub stars + Last commit picocli - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - - - - + ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. + - + - @@ -475,33 +475,33 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ Jansi - ANSI escape codes to format console output. - GitHub stars - Last commit + ANSI escape codes to format console output. + GitHub stars + Last commit Jexer - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - - - - + Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). + - + - Text-IO - Aids the creation of full console-based applications. - GitHub stars - Last commit + Aids the creation of full console-based applications. + GitHub stars + Last commit Lanterna - Easy console text-GUI library, similar to curses. (LGPL-3.0-only) - GitHub stars - Last commit + Easy console text-GUI library, similar to curses. (LGPL-3.0-only) + GitHub stars + Last commit @@ -519,17 +519,17 @@ _Libraries to integrate or use cloud-specific features._ AWS SDK for Java - Provides Java APIs for interacting with Amazon Web Services. - GitHub stars - Last commit + Provides Java APIs for interacting with Amazon Web Services. + GitHub stars + Last commit Google Cloud Client Libraries - Client libraries for accessing Google Cloud services from Java applications. - GitHub stars - Last commit + Client libraries for accessing Google Cloud services from Java applications. + GitHub stars + Last commit @@ -547,97 +547,97 @@ _Tools that provide metrics and quality measurements._ Checkstyle - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) - GitHub stars - Last commit + Static analysis of coding conventions and standards. (LGPL-2.1-or-later) + GitHub stars + Last commit Error Prone - Catches common programming mistakes as compile-time errors. - GitHub stars - Last commit + Catches common programming mistakes as compile-time errors. + GitHub stars + Last commit Error Prone Support - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - GitHub stars - Last commit + Error Prone extensions: extra bug checkers and a large battery of Refaster templates. + GitHub stars + Last commit Infer - Modern static analysis tool for verifying the correctness of code. - GitHub stars - Last commit + Modern static analysis tool for verifying the correctness of code. + GitHub stars + Last commit jQAssistant - Static code analysis with Neo4J-based query language. (GPL-3.0-only) - - - - + Static code analysis with Neo4J-based query language. (GPL-3.0-only) + - + - NullAway - Eliminates NullPointerExceptions with low build-time overhead. - GitHub stars - Last commit + Eliminates NullPointerExceptions with low build-time overhead. + GitHub stars + Last commit PMD - Source code analysis for finding bad coding practices. - GitHub stars - Last commit + Source code analysis for finding bad coding practices. + GitHub stars + Last commit p3c - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. - GitHub stars - Last commit + Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. + GitHub stars + Last commit RefactorFirst - Identifies and prioritizes God Classes and Highly Coupled classes. - GitHub stars - Last commit + Identifies and prioritizes God Classes and Highly Coupled classes. + GitHub stars + Last commit SonarJava - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - GitHub stars - Last commit + Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) + GitHub stars + Last commit Spoon - Library for analyzing and transforming Java source code. - GitHub stars - Last commit + Library for analyzing and transforming Java source code. + GitHub stars + Last commit Spotbugs - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) - GitHub stars - Last commit + Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) + GitHub stars + Last commit @@ -655,25 +655,25 @@ _Frameworks and tools that enable code coverage metrics collection for test suit Clover - Relies on source-code instrumentation instead of bytecode instrumentation. - - - - + Relies on source-code instrumentation instead of bytecode instrumentation. + - + - Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) - - - - + Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) + - + - JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. - - - - + Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. + - + - @@ -691,113 +691,113 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a ADT4J - JSR-269 code generator for algebraic data types. - GitHub stars - Last commit + JSR-269 code generator for algebraic data types. + GitHub stars + Last commit Auto - Generates factory, service, and value classes. - GitHub stars - Last commit + Generates factory, service, and value classes. + GitHub stars + Last commit Avaje Http Server - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. - - - - + Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. + - + - EasyEntityToDTO - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - GitHub stars - Last commit + Annotation processor for automatic DTO and Mapper generation with zero boilerplate. + GitHub stars + Last commit FreeBuilder - Automatically generates the Builder pattern. - GitHub stars - Last commit + Automatically generates the Builder pattern. + GitHub stars + Last commit Geci - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - GitHub stars - Last commit + Discovers files that need generated code, updates automatically and writes to the source with a convenient API. + GitHub stars + Last commit Immutables - Annotation processors to generate simple, safe and consistent value objects. - - - - + Annotation processors to generate simple, safe and consistent value objects. + - + - JavaPoet - API to generate source files. - GitHub stars - Last commit + API to generate source files. + GitHub stars + Last commit JHipster - Yeoman source code generator for Spring Boot and AngularJS. - GitHub stars - Last commit + Yeoman source code generator for Spring Boot and AngularJS. + GitHub stars + Last commit Joda-Beans - Small framework that adds queryable properties to Java, enhancing JavaBeans. - - - - + Small framework that adds queryable properties to Java, enhancing JavaBeans. + - + - JSpecify Package-Info Generator - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - GitHub stars - Last commit + Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. + GitHub stars + Last commit Lombok - Code generator that aims to reduce verbosity. - - - - + Code generator that aims to reduce verbosity. + - + - Record-Builder - Companion builder class, withers and templates for Java records. - GitHub stars - Last commit + Companion builder class, withers and templates for Java records. + GitHub stars + Last commit Telosys - Simple and light code generator available as an Eclipse Plugin and also as a CLI. - - - - + Simple and light code generator available as an Eclipse Plugin and also as a CLI. + - + - @@ -815,25 +815,25 @@ _Frameworks that help to create parsers, interpreters or compilers._ ANTLR - Complex full-featured framework for top-down parsing. - - - - + Complex full-featured framework for top-down parsing. + - + - JavaCC - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. - - - - + Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. + - + - JFlex - Lexical analyzer generator. - - - - + Lexical analyzer generator. + - + - @@ -851,25 +851,25 @@ _Libraries which seek to gain high level information from images and videos._ BoofCV - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. - - - - + Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. + - + - ImageJ - Medical image processing application with an API. - - - - + Medical image processing application with an API. + - + - JavaCV - Java interface to OpenCV, FFmpeg, and much more. - GitHub stars - Last commit + Java interface to OpenCV, FFmpeg, and much more. + GitHub stars + Last commit @@ -887,97 +887,97 @@ _Libraries that provide external configuration._ avaje config - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. - - - - + Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. + - + - centraldogma - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - GitHub stars - Last commit + Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. + GitHub stars + Last commit config - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - GitHub stars - Last commit + Configuration library supporting Java properties, JSON or its human optimized superset HOCON. + GitHub stars + Last commit Configurate - Configuration library with support for various configuration formats and transformations. - GitHub stars - Last commit + Configuration library with support for various configuration formats and transformations. + GitHub stars + Last commit Curator Framework - High-level API for Apache ZooKeeper. - - - - + High-level API for Apache ZooKeeper. + - + - dotenv - Twelve-factor configuration library which uses environment-specific files. - GitHub stars - Last commit + Twelve-factor configuration library which uses environment-specific files. + GitHub stars + Last commit Externalized Properties - Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. - GitHub stars - Last commit + Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit ini4j - Provides an API for handling Windows' INI files. - - - - + Provides an API for handling Windows' INI files. + - + - KAConf - Annotation-based configuration system for Java and Kotlin. - GitHub stars - Last commit + Annotation-based configuration system for Java and Kotlin. + GitHub stars + Last commit microconfig - 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. - - - - + 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 - Reduces boilerplate of properties. - GitHub stars - Last commit + Reduces boilerplate of properties. + GitHub stars + Last commit @@ -995,33 +995,33 @@ _Libraries that help with implementing optimization and satisfiability problems. Choco - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - - - - + Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. + - + - JaCoP - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) - GitHub stars - Last commit + Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) + GitHub stars + Last commit OptaPlanner - Business planning and resource scheduling optimization solver. - - - - + Business planning and resource scheduling optimization solver. + - + - Timefold - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. - - - - + Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. + - + - @@ -1039,41 +1039,41 @@ _Frameworks and libraries that simplify reading/writing CSV data._ FastCSV - Performance-optimized, dependency-free and RFC 4180 compliant. - GitHub stars - Last commit + Performance-optimized, dependency-free and RFC 4180 compliant. + GitHub stars + Last commit jackson-dataformat-csv - Jackson extension for reading and writing CSV. - GitHub stars - Last commit + Jackson extension for reading and writing CSV. + GitHub stars + Last commit opencsv - Simple CSV parser. - - - - + Simple CSV parser. + - + - Super CSV - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. - - - - + Powerful CSV parser with support for Dozer, Joda-Time and Java 8. + - + - uniVocity-parsers - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. - GitHub stars - Last commit + One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. + GitHub stars + Last commit @@ -1091,97 +1091,97 @@ _Efficient and specific data structures._ Apache Avro - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. - - - - + Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. + - + - Apache Orc - Fast and efficient columnar storage format for Hadoop-based workloads. - - - - + Fast and efficient columnar storage format for Hadoop-based workloads. + - + - Apache Parquet - Columnar storage format based on assembly algorithms from Google's paper on Dremel. - - - - + Columnar storage format based on assembly algorithms from Google's paper on Dremel. + - + - Apache Thrift - Data interchange format that originated at Facebook. - - - - + Data interchange format that originated at Facebook. + - + - Big Queue - Fast and persistent queue based on memory-mapped files. - GitHub stars - Last commit + Fast and persistent queue based on memory-mapped files. + GitHub stars + Last commit HyperMinHash-java - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - GitHub stars - Last commit + Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. + GitHub stars + Last commit Persistent Collection - Persistent and immutable analogue of the Java Collections Framework. - GitHub stars - Last commit + Persistent and immutable analogue of the Java Collections Framework. + GitHub stars + Last commit Protobuf - Google's data interchange format. - GitHub stars - Last commit + Google's data interchange format. + GitHub stars + Last commit RoaringBitmap - Fast and efficient compressed bitmap. - GitHub stars - Last commit + Fast and efficient compressed bitmap. + GitHub stars + Last commit SBE - Simple Binary Encoding, one of the fastest message formats around. - GitHub stars - Last commit + Simple Binary Encoding, one of the fastest message formats around. + GitHub stars + Last commit Tape - Lightning-fast, transactional, file-based FIFO. - GitHub stars - Last commit + Lightning-fast, transactional, file-based FIFO. + GitHub stars + Last commit Wire - Clean, lightweight protocol buffers. - GitHub stars - Last commit + Clean, lightweight protocol buffers. + GitHub stars + Last commit @@ -1199,305 +1199,305 @@ _Everything that simplifies interactions with the database._ Apache Calcite - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. - - - - + Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. + - + - Apache Drill - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - - - - + Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. + - + - Apache Phoenix - High-performance relational database layer over HBase for low-latency applications. - - - - + High-performance relational database layer over HBase for low-latency applications. + - + - ArangoDB - ArangoDB Java driver. - GitHub stars - Last commit + ArangoDB Java driver. + GitHub stars + Last commit Chronicle Map - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - GitHub stars - Last commit + Efficient, in-memory (opt. persisted to disk), off-heap key-value store. + GitHub stars + Last commit Debezium - Low latency data streaming platform for change data capture. - - - - + Low latency data streaming platform for change data capture. + - + - druid - High-performance, column-oriented, distributed data store. - - - - + High-performance, column-oriented, distributed data store. + - + - eXist - NoSQL document database and application platform. (LGPL-2.1-only) - GitHub stars - Last commit + NoSQL document database and application platform. (LGPL-2.1-only) + GitHub stars + Last commit FlexyPool - Brings metrics and failover strategies to the most common connection pooling solutions. - GitHub stars - Last commit + Brings metrics and failover strategies to the most common connection pooling solutions. + GitHub stars + Last commit Flyway - Simple database migration tool. - - - - + Simple database migration tool. + - + - H2 - Small SQL database notable for its in-memory functionality. - - - - + Small SQL database notable for its in-memory functionality. + - + - HikariCP - High-performance JDBC connection pool. - GitHub stars - Last commit + High-performance JDBC connection pool. + GitHub stars + Last commit HSQLDB - HyperSQL 100% Java database. - - - - + HyperSQL 100% Java database. + - + - JDBI - Convenient abstraction of JDBC. - - - - + Convenient abstraction of JDBC. + - + - Jedis - Small client for interaction with Redis, with methods for commands. - GitHub stars - Last commit + Small client for interaction with Redis, with methods for commands. + GitHub stars + Last commit Jest - Client for the Elasticsearch REST API. - GitHub stars - Last commit + Client for the Elasticsearch REST API. + GitHub stars + Last commit jetcd - Client library for etcd. - GitHub stars - Last commit + Client library for etcd. + GitHub stars + Last commit Jinq - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). - GitHub stars - Last commit + Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). + GitHub stars + Last commit jOOQ - Generates typesafe code based on SQL schema. - - - - + Generates typesafe code based on SQL schema. + - + - Leaf - Distributed ID generate service. - GitHub stars - Last commit + Distributed ID generate service. + GitHub stars + Last commit Lettuce - Lettuce is a scalable Redis client for building non-blocking Reactive applications. - - - - + Lettuce is a scalable Redis client for building non-blocking Reactive applications. + - + - Liquibase - Database-independent library for tracking, managing and applying database schema changes. - - - - + Database-independent library for tracking, managing and applying database schema changes. + - + - MapDB - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - - - - + Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. + - + - MariaDB4j - Launcher for MariaDB that requires no installation or external dependencies. - GitHub stars - Last commit + Launcher for MariaDB that requires no installation or external dependencies. + GitHub stars + Last commit Modality - Lightweight ORM with database reverse engineering features. - GitHub stars - Last commit + Lightweight ORM with database reverse engineering features. + GitHub stars + Last commit OpenDJ - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. - GitHub stars - Last commit + LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. + GitHub stars + Last commit Querydsl - Typesafe unified queries. - - - - + Typesafe unified queries. + - + - QueryStream - Build JPA Criteria queries using a Stream-like API. - GitHub stars - Last commit + Build JPA Criteria queries using a Stream-like API. + GitHub stars + Last commit QuestDB - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. - GitHub stars - Last commit + High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. + GitHub stars + Last commit Realm - Mobile database to run directly inside phones, tablets or wearables. - GitHub stars - Last commit + Mobile database to run directly inside phones, tablets or wearables. + GitHub stars + Last commit Redisson - Allows for distributed and scalable data structures on top of a Redis server. - GitHub stars - Last commit + Allows for distributed and scalable data structures on top of a Redis server. + GitHub stars + Last commit requery - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - GitHub stars - Last commit + Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. + GitHub stars + Last commit Speedment - Database access library that utilizes Java 8's Stream API for querying. - GitHub stars - Last commit + Database access library that utilizes Java 8's Stream API for querying. + GitHub stars + Last commit Spring Data JPA MongoDB Expressions - Allows you to use MongoDB query language to query your relational database. - GitHub stars - Last commit + Allows you to use MongoDB query language to query your relational database. + GitHub stars + Last commit Trino - Distributed SQL query engine for big data. - - - - + Distributed SQL query engine for big data. + - + - Vibur DBCP - JDBC connection pool library with advanced performance monitoring capabilities. - - - - + JDBC connection pool library with advanced performance monitoring capabilities. + - + - Xodus - Highly concurrent transactional schema-less and ACID-compliant embedded database. - GitHub stars - Last commit + Highly concurrent transactional schema-less and ACID-compliant embedded database. + GitHub stars + Last commit CosId - Universal, flexible, high-performance distributed ID generator. - GitHub stars - Last commit + Universal, flexible, high-performance distributed ID generator. + GitHub stars + Last commit @@ -1515,33 +1515,33 @@ _Libraries related to handling date and time._ iCal4j - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. - GitHub stars - Last commit + Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. + GitHub stars + Last commit Jollyday - Determines the holidays for a given year, country/name and eventually state/region. - GitHub stars - Last commit + Determines the holidays for a given year, country/name and eventually state/region. + GitHub stars + Last commit ThreeTen-Extra - Additional date-time classes that complement those in JDK 8. - GitHub stars - Last commit + Additional date-time classes that complement those in JDK 8. + GitHub stars + Last commit Time4J - Advanced date and time library. (LGPL-2.1-only) - GitHub stars - Last commit + Advanced date and time library. (LGPL-2.1-only) + GitHub stars + Last commit @@ -1559,65 +1559,65 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. Apache DeltaSpike - CDI extension framework. - - - - + CDI extension framework. + - + - Avaje Inject - Microservice-focused compile-time injection framework without reflection. - - - - + Microservice-focused compile-time injection framework without reflection. + - + - Dagger - Compile-time injection framework without reflection. - - - - + Compile-time injection framework without reflection. + - + - Feather - Ultra-lightweight, JSR-330-compliant dependency injection library. - GitHub stars - Last commit + Ultra-lightweight, JSR-330-compliant dependency injection library. + GitHub stars + Last commit Governator - Extensions and utilities that enhance Google Guice. - GitHub stars - Last commit + Extensions and utilities that enhance Google Guice. + GitHub stars + Last commit Guice - Lightweight and opinionated framework that completes Dagger. - GitHub stars - Last commit + Lightweight and opinionated framework that completes Dagger. + GitHub stars + Last commit HK2 - Lightweight and dynamic dependency injection framework. - - - - + Lightweight and dynamic dependency injection framework. + - + - JayWire - Lightweight dependency injection framework. (LGPL-3.0-only) - GitHub stars - Last commit + Lightweight dependency injection framework. (LGPL-3.0-only) + GitHub stars + Last commit @@ -1635,81 +1635,81 @@ _Augmentation of the development process at a fundamental level._ AspectJ - Seamless aspect-oriented programming extension. - - - - + Seamless aspect-oriented programming extension. + - + - DCEVM - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - - - - + JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) + - + - Faux Pas - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. - GitHub stars - Last commit + Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. + GitHub stars + Last commit HotswapAgent - Unlimited runtime class and resource redefinition. (GPL-2.0-only) - GitHub stars - Last commit + Unlimited runtime class and resource redefinition. (GPL-2.0-only) + GitHub stars + Last commit JavaParser - Parse, modify and generate Java code. - GitHub stars - Last commit + Parse, modify and generate Java code. + GitHub stars + Last commit JavaSymbolSolver - Symbol solver. - GitHub stars - Last commit + Symbol solver. + GitHub stars + Last commit Manifold - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - GitHub stars - Last commit + Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. + GitHub stars + Last commit NoException - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - - - - + Allows checked exceptions in functional interfaces and converts exceptions to Optional return. + - + - SneakyThrow - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. - GitHub stars - Last commit + Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. + GitHub stars + Last commit Tail - Enable infinite recursion using tail call optimization. - - - - + Enable infinite recursion using tail call optimization. + - + - @@ -1727,113 +1727,113 @@ _Libraries and frameworks for writing distributed and fault-tolerant application Apache Geode - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. - - - - + In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. + - + - Apache Storm - Realtime computation system. - - - - + Realtime computation system. + - + - Apache ZooKeeper - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. - - - - + Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. + - + - Atomix - Fault-tolerant distributed coordination framework. - - - - + Fault-tolerant distributed coordination framework. + - + - Axon - Framework for creating CQRS applications. - - - - + Framework for creating CQRS applications. + - + - Dropwizard Circuit Breaker - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - GitHub stars - Last commit + Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) + GitHub stars + Last commit Failsafe - Simple failure handling with retries and circuit breakers. - GitHub stars - Last commit + Simple failure handling with retries and circuit breakers. + GitHub stars + Last commit Hazelcast - Highly scalable in-memory datagrid with a free open-source version. - GitHub stars - Last commit + Highly scalable in-memory datagrid with a free open-source version. + GitHub stars + Last commit JGroups - Toolkit for reliable messaging and cluster creation. - - - - + Toolkit for reliable messaging and cluster creation. + - + - Quasar - Lightweight threads and actors for the JVM. - - - - + Lightweight threads and actors for the JVM. + - + - resilience4j - Functional fault tolerance library. - GitHub stars - Last commit + Functional fault tolerance library. + GitHub stars + Last commit OpenIG - High-performance reverse proxy server with specialized session management and credential replay functionality. - GitHub stars - Last commit + High-performance reverse proxy server with specialized session management and credential replay functionality. + GitHub stars + Last commit ScaleCube Services - Embeddable Cluster-Membership library based on SWIM and gossip protocol. - GitHub stars - Last commit + Embeddable Cluster-Membership library based on SWIM and gossip protocol. + GitHub stars + Last commit Zuul - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. - GitHub stars - Last commit + Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + GitHub stars + Last commit @@ -1851,33 +1851,33 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u Atomikos - Provides transactions for REST, SOA and microservices with support for JTA and XA. - - - - + Provides transactions for REST, SOA and microservices with support for JTA and XA. + - + - Bitronix - Simple but complete implementation of the JTA 1.1 API. - GitHub stars - Last commit + Simple but complete implementation of the JTA 1.1 API. + GitHub stars + Last commit Narayana - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) - - - - + Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) + - + - Seata - Delivers high performance and easy to use distributed transaction services under a microservices architecture. - GitHub stars - Last commit + Delivers high performance and easy to use distributed transaction services under a microservices architecture. + GitHub stars + Last commit @@ -1895,81 +1895,81 @@ _Tools that handle the distribution of applications in native formats._ Artipie - Binary artifact management toolkit which hosts them on the file system or S3. - GitHub stars - Last commit + Binary artifact management toolkit which hosts them on the file system or S3. + GitHub stars + Last commit Capsule - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - GitHub stars - Last commit + Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. + GitHub stars + Last commit Central Repository - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - - - - + Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. + - + - Getdown - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - GitHub stars - Last commit + System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. + GitHub stars + Last commit IzPack - Setup authoring tool for cross-platform deployments. - - - - + Setup authoring tool for cross-platform deployments. + - + - JavaPackager - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - GitHub stars - Last commit + Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. + GitHub stars + Last commit jDeploy - Deploy desktop apps as native Mac, Windows or Linux bundles. - - - - + Deploy desktop apps as native Mac, Windows or Linux bundles. + - + - jlink.online - Builds optimized runtimes over HTTP. - GitHub stars - Last commit + Builds optimized runtimes over HTTP. + GitHub stars + Last commit packr - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - GitHub stars - Last commit + Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. + GitHub stars + Last commit really-executable-jars-maven-plugin - Maven plugin for making self-executing JARs. - GitHub stars - Last commit + Maven plugin for making self-executing JARs. + GitHub stars + Last commit @@ -1987,41 +1987,41 @@ _Libraries that assist with processing office document formats._ Apache POI - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). - - - - + Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). + - + - documents4j - API for document format conversion using third-party converters such as MS Word. - - - - + API for document format conversion using third-party converters such as MS Word. + - + - docx4j - Create and manipulate Microsoft Open XML files. - - - - + Create and manipulate Microsoft Open XML files. + - + - fastexcel - High performance library to read and write large Excel (XLSX) worksheets. - GitHub stars - Last commit + High performance library to read and write large Excel (XLSX) worksheets. + GitHub stars + Last commit zerocell - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. - GitHub stars - Last commit + Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + GitHub stars + Last commit @@ -2039,49 +2039,49 @@ _Libraries related to the financial domain._ Cassandre - Trading bot framework. - GitHub stars - Last commit + Trading bot framework. + GitHub stars + Last commit Parity - Platform for trading venues. - GitHub stars - Last commit + Platform for trading venues. + GitHub stars + Last commit Philadelphia - Low-latency financial information exchange. - GitHub stars - Last commit + Low-latency financial information exchange. + GitHub stars + Last commit Square - Integration with the Square API. - GitHub stars - Last commit + Integration with the Square API. + GitHub stars + Last commit Stripe - Integration with the Stripe API. - GitHub stars - Last commit + Integration with the Stripe API. + GitHub stars + Last commit ta4j - Library for technical analysis. - GitHub stars - Last commit + Library for technical analysis. + GitHub stars + Last commit @@ -2099,57 +2099,57 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc CATG - Concolic unit testing engine. Automatically generates unit tests using formal methods. - GitHub stars - Last commit + Concolic unit testing engine. Automatically generates unit tests using formal methods. + GitHub stars + Last commit Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - Daikon - Detects likely program invariants and generates JML specs based on those invariants. - - - - + Detects likely program invariants and generates JML specs based on those invariants. + - + - Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA. - GitHub stars - Last commit + JVM formal verification tool containing a model checker and more. Created by NASA. + GitHub stars + Last commit JMLOK 2.0 - 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) - - - - + 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 - 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) - - - - + 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 - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) - - - - + Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) + - + - @@ -2167,73 +2167,73 @@ _Libraries that facilitate functional programming._ Cyclops - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. - GitHub stars - Last commit + Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. + GitHub stars + Last commit derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - GitHub stars - Last commit + Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) + GitHub stars + Last commit Fugue - Functional extensions to Guava. - - - - + Functional extensions to Guava. + - + - Functional Java - Implements numerous basic and advanced programming abstractions that assist composition-oriented development. - - - - + Implements numerous basic and advanced programming abstractions that assist composition-oriented development. + - + - jOOλ - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Packrat - Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. - GitHub stars - Last commit + Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. + GitHub stars + Last commit protonpack - Collection of stream utilities. - GitHub stars - Last commit + Collection of stream utilities. + GitHub stars + Last commit StreamEx - Enhances Java 8 Streams. - GitHub stars - Last commit + Enhances Java 8 Streams. + GitHub stars + Last commit Vavr - Functional component library that provides persistent data types and functional control structures. - - - - + Functional component library that provides persistent data types and functional control structures. + - + - @@ -2251,73 +2251,73 @@ _Frameworks that support the development of games._ FXGL - JavaFX Game Development Framework. - - - - + JavaFX Game Development Framework. + - + - JBox2D - Port of the renowned C++ 2D physics engine. - - - - + Port of the renowned C++ 2D physics engine. + - + - jMonkeyEngine - Game engine for modern 3D development. - - - - + Game engine for modern 3D development. + - + - libGDX - All-round cross-platform, high-level framework. - - - - + All-round cross-platform, high-level framework. + - + - Litiengine - AWT-based, lightweight 2D game engine. - - - - + AWT-based, lightweight 2D game engine. + - + - LWJGL - Robust framework that abstracts libraries like OpenGL/CL/AL. - - - - + Robust framework that abstracts libraries like OpenGL/CL/AL. + - + - Mini2Dx - Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. - - - - + Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. + - + - Void2D - High-level 2D game engine with built-in physics based on Swing. - GitHub stars - Last commit + High-level 2D game engine with built-in physics based on Swing. + GitHub stars + Last commit vulkan4j - Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. - GitHub stars - Last commit + Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. + GitHub stars + Last commit @@ -2335,65 +2335,65 @@ _Libraries for working with geospatial data and algorithms._ Apache SIS - Library for developing geospatial applications. - - - - + Library for developing geospatial applications. + - + - Geo - GeoHash utilities in Java. - GitHub stars - Last commit + GeoHash utilities in Java. + GitHub stars + Last commit GeoTools - Library that provides tools for geospatial data. (LGPL-2.1-only) - - - - + Library that provides tools for geospatial data. (LGPL-2.1-only) + - + - GraphHopper - Road-routing engine. Used as a Java library or standalone web service. - GitHub stars - Last commit + Road-routing engine. Used as a Java library or standalone web service. + GitHub stars + Last commit H2GIS - Spatial extension of the H2 database. (LGPL-3.0-only) - - - - + Spatial extension of the H2 database. (LGPL-3.0-only) + - + - Jgeohash - Library for using the GeoHash algorithm. - - - - + Library for using the GeoHash algorithm. + - + - Mapsforge - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - GitHub stars - Last commit + Map rendering based on OpenStreetMap data. (LGPL-3.0-only) + GitHub stars + Last commit Spatial4j - General-purpose spatial/geospatial library. - GitHub stars - Last commit + General-purpose spatial/geospatial library. + GitHub stars + Last commit @@ -2411,33 +2411,33 @@ _Libraries to create modern graphical user interfaces._ JavaFX - Successor of Swing. - - - - + Successor of Swing. + - + - Scene Builder - Visual layout tool for JavaFX applications. - - - - + Visual layout tool for JavaFX applications. + - + - SnapKit - Modern Java UI library for both desktop and web. - GitHub stars - Last commit + Modern Java UI library for both desktop and web. + GitHub stars + Last commit SWT - Graphical widget toolkit. - - - - + Graphical widget toolkit. + - + - @@ -2455,57 +2455,57 @@ _Everything about high-performance computation, from collections to specific lib Agrona - Data structures and utility methods that are common in high-performance applications. - GitHub stars - Last commit + Data structures and utility methods that are common in high-performance applications. + GitHub stars + Last commit Disruptor - Inter-thread messaging library. - - - - + Inter-thread messaging library. + - + - Eclipse Collections - Collections framework inspired by Smalltalk. - GitHub stars - Last commit + Collections framework inspired by Smalltalk. + GitHub stars + Last commit fastutil - Fast and compact type-specific collections. - - - - + Fast and compact type-specific collections. + - + - HPPC - Primitive collections. - - - - + Primitive collections. + - + - JCTools - Concurrency tools currently missing from the JDK. - GitHub stars - Last commit + Concurrency tools currently missing from the JDK. + GitHub stars + Last commit Koloboke - Carefully designed extension of the Java Collections Framework with primitive specializations and more. - GitHub stars - Last commit + Carefully designed extension of the Java Collections Framework with primitive specializations and more. + GitHub stars + Last commit @@ -2523,81 +2523,81 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Apache HttpComponents - Toolset of low-level Java components focused on HTTP and associated protocols. - - - - + Toolset of low-level Java components focused on HTTP and associated protocols. + - + - Async Http Client - Asynchronous HTTP and WebSocket client library. - GitHub stars - Last commit + Asynchronous HTTP and WebSocket client library. + GitHub stars + Last commit Avaje Http Client - Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. - - - - + Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. + - + - Feign - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. - GitHub stars - Last commit + HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. + GitHub stars + Last commit Google HTTP Client - Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. - GitHub stars - Last commit + Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. + GitHub stars + Last commit methanol - HTTP client extensions library. - GitHub stars - Last commit + HTTP client extensions library. + GitHub stars + Last commit Retrofit - Typesafe REST client. - - - - + Typesafe REST client. + - + - Ribbon - Client-side IPC library that is battle-tested in the cloud. - GitHub stars - Last commit + Client-side IPC library that is battle-tested in the cloud. + GitHub stars + Last commit Riptide - Client-side response routing for Spring's RestTemplate. - GitHub stars - Last commit + Client-side response routing for Spring's RestTemplate. + GitHub stars + Last commit unirest-java - Simplified, lightweight HTTP client library. - GitHub stars - Last commit + Simplified, lightweight HTTP client library. + GitHub stars + Last commit @@ -2615,33 +2615,33 @@ _Libraries that handle serialization to hypermedia types._ hate - Builds hypermedia-friendly objects according to HAL specification. - GitHub stars - Last commit + Builds hypermedia-friendly objects according to HAL specification. + GitHub stars + Last commit JSON-LD - JSON-LD implementation. - GitHub stars - Last commit + JSON-LD implementation. + GitHub stars + Last commit Siren4J - Library for the Siren specification. - GitHub stars - Last commit + Library for the Siren specification. + GitHub stars + Last commit Spring HATEOAS - Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. - GitHub stars - Last commit + Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. + GitHub stars + Last commit @@ -2659,41 +2659,41 @@ _Integrated development environments that try to simplify several aspects of dev Eclipse - Established open-source project with support for lots of plugins and languages. - - - - + Established open-source project with support for lots of plugins and languages. + - + - jGRASP - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - - - - + Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. + - + - NetBeans - Provides integration for several Java SE and EE features, from database access to HTML5. - - - - + Provides integration for several Java SE and EE features, from database access to HTML5. + - + - SnapCode - Modern IDE for Java running in the browser, focused on education. - - - - + Modern IDE for Java running in the browser, focused on education. + - + - Visual Studio Code - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. - - - - + Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. + - + - @@ -2711,73 +2711,73 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica Barcode-Lib4J - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. - GitHub stars - Last commit + Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. + GitHub stars + Last commit Imgscalr - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. - GitHub stars - Last commit + Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. + GitHub stars + Last commit Tess4J - JNA wrapper for Tesseract OCR API. - GitHub stars - Last commit + JNA wrapper for Tesseract OCR API. + GitHub stars + Last commit Thumbnailator - High-quality thumbnail generation library. - GitHub stars - Last commit + High-quality thumbnail generation library. + GitHub stars + Last commit TwelveMonkeys - Collection of plugins that extend the number of supported image file formats. - GitHub stars - Last commit + Collection of plugins that extend the number of supported image file formats. + GitHub stars + Last commit ZXing - Multi-format 1D/2D barcode image processing library. - GitHub stars - Last commit + Multi-format 1D/2D barcode image processing library. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit vips-ffm - Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. - GitHub stars - Last commit + Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. + GitHub stars + Last commit scrimage - Immutable, functional, and performant JVM library for manipulation of images. - - - - + Immutable, functional, and performant JVM library for manipulation of images. + - + - @@ -2795,49 +2795,49 @@ _Libraries that help make the Java introspection and reflection API easier and f ClassGraph - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - GitHub stars - Last commit + ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. + GitHub stars + Last commit jOOR - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. - GitHub stars - Last commit + jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. + GitHub stars + Last commit Mirror - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. - - - - + Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. + - + - Objenesis - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - - - - + Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. + - + - ReflectASM - ReflectASM is a very small Java library that provides high performance reflection by using code generation. - GitHub stars - Last commit + ReflectASM is a very small Java library that provides high performance reflection by using code generation. + GitHub stars + Last commit Reflections - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. - GitHub stars - Last commit + Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. + GitHub stars + Last commit @@ -2855,57 +2855,57 @@ _Libraries for scheduling background jobs._ 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Quartz - Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. - GitHub stars - Last commit + Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. + GitHub stars + Last commit Sundial - Lightweight framework to simply define jobs, define triggers and start the scheduler. - GitHub stars - Last commit + Lightweight framework to simply define jobs, define triggers and start the scheduler. + GitHub stars + Last commit Wisp - Simple library with minimal footprint and straightforward API. - GitHub stars - Last commit + Simple library with minimal footprint and straightforward API. + GitHub stars + Last commit db-scheduler - Persistent and cluster-friendly scheduler. - GitHub stars - Last commit + Persistent and cluster-friendly scheduler. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit @@ -2923,137 +2923,137 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Avaje Jsonb - Reflection-free Json binding via source code generation with Jackson-like annotations. - - - - + Reflection-free Json binding via source code generation with Jackson-like annotations. + - + - DSL-JSON - JSON library with advanced compile time databinding. - GitHub stars - Last commit + JSON library with advanced compile time databinding. + GitHub stars + Last commit Genson - Powerful and easy-to-use Java-to-JSON conversion library. - - - - + Powerful and easy-to-use Java-to-JSON conversion library. + - + - Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. - GitHub stars - Last commit + Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. + GitHub stars + Last commit HikariJSON - High-performance JSON parser, 2x faster than Jackson. - GitHub stars - Last commit + High-performance JSON parser, 2x faster than Jackson. + GitHub stars + Last commit jackson-modules-java8 - Set of Jackson modules for Java 8 datatypes and features. - GitHub stars - Last commit + Set of Jackson modules for Java 8 datatypes and features. + GitHub stars + Last commit Jackson-datatype-money - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - GitHub stars - Last commit + Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. + GitHub stars + Last commit Jackson - Similar to GSON, but offers performance gains if you need to instantiate the library more often. - GitHub stars - Last commit + Similar to GSON, but offers performance gains if you need to instantiate the library more often. + GitHub stars + Last commit JSON-io - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. - GitHub stars - Last commit + Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. + GitHub stars + Last commit jsoniter - Fast and flexible library with iterator and lazy parsing API. - - - - + Fast and flexible library with iterator and lazy parsing API. + - + - LoganSquare - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - GitHub stars - Last commit + JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. + GitHub stars + Last commit Moshi - Modern JSON library, less opinionated and uses built-in types like List and Map. - GitHub stars - Last commit + Modern JSON library, less opinionated and uses built-in types like List and Map. + GitHub stars + Last commit Yasson - Binding layer between classes and JSON documents similar to JAXB. - GitHub stars - Last commit + Binding layer between classes and JSON documents similar to JAXB. + GitHub stars + Last commit fastjson - Very fast processor with no additional dependencies and full data binding. - GitHub stars - Last commit + Very fast processor with no additional dependencies and full data binding. + GitHub stars + Last commit Jolt - JSON to JSON transformation tool. - GitHub stars - Last commit + JSON to JSON transformation tool. + GitHub stars + Last commit JsonPath - Extract data from JSON using XPATH-like syntax. - GitHub stars - Last commit + Extract data from JSON using XPATH-like syntax. + GitHub stars + Last commit JsonSurfer - Streaming JsonPath processor dedicated to processing big and complicated JSON data. - GitHub stars - Last commit + Streaming JsonPath processor dedicated to processing big and complicated JSON data. + GitHub stars + Last commit @@ -3071,105 +3071,105 @@ _Current implementations of the JVM/JDK._ Which JDK - Overview of common JVMs with pros and cons. - - - - + Overview of common JVMs with pros and cons. + - + - Adopt Open JDK - Community-driven OpenJDK builds, including both HotSpot and OpenJ9. - - - - + Community-driven OpenJDK builds, including both HotSpot and OpenJ9. + - + - Corretto - No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - Dragonwell8 - Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. - GitHub stars - Last commit + Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. + GitHub stars + Last commit Graal - Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) - GitHub stars - Last commit + Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) + GitHub stars + Last commit Liberica JDK - Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Open JDK - Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - ParparVM - VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) - GitHub stars - Last commit + VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) + GitHub stars + Last commit RedHat Open JDK - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - SAP Machine - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - Zulu - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - Microsoft JDK - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! - GitHub stars - Last commit + Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! + GitHub stars + Last commit @@ -3187,97 +3187,97 @@ _Libraries that log the behavior of an application._ Apache Log4j 2 - Complete rewrite with a powerful plugin and configuration architecture. - - - - + Complete rewrite with a powerful plugin and configuration architecture. + - + - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Graylog - Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) - - - - + Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) + - + - Kibana - Analyzes and visualizes log files. Some features require payment. - - - - + Analyzes and visualizes log files. Some features require payment. + - + - Logback - Robust logging library with interesting configuration options via Groovy. - - - - + Robust logging library with interesting configuration options via Groovy. + - + - Logbook - Extensible, open-source library for HTTP request and response logging. - GitHub stars - Last commit + Extensible, open-source library for HTTP request and response logging. + GitHub stars + Last commit Logstash - Tool for managing log files. - - - - + Tool for managing log files. + - + - p6spy - Enables logging for all JDBC transactions without changes to the code. - GitHub stars - Last commit + Enables logging for all JDBC transactions without changes to the code. + GitHub stars + Last commit SLF4J - Abstraction layer/simple logging facade. - - - - + Abstraction layer/simple logging facade. + - + - tinylog - Lightweight logging framework with static logger class. - - - - + 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. - GitHub stars - Last commit + Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations. + GitHub stars + Last commit Flogger - Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. - - - - + Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. + - + - @@ -3295,121 +3295,121 @@ _Tools that provide specific statistical algorithms for learning from data._ Apache Flink - Fast, reliable, large-scale data processing engine. - - - - + Fast, reliable, large-scale data processing engine. + - + - Apache Mahout - Scalable algorithms focused on collaborative filtering, clustering and classification. - - - - + Scalable algorithms focused on collaborative filtering, clustering and classification. + - + - DatumBox - Provides several algorithms and pre-trained models for natural language processing. - - - - + Provides several algorithms and pre-trained models for natural language processing. + - + - Deeplearning4j - Distributed and multi-threaded deep learning library. - - - - + Distributed and multi-threaded deep learning library. + - + - DJL - High-level and engine-agnostic framework for deep learning. - - - - + High-level and engine-agnostic framework for deep learning. + - + - Intelligent java - Seamlessly integrate with remote deep learning and language models programmatically. - GitHub stars - Last commit + Seamlessly integrate with remote deep learning and language models programmatically. + GitHub stars + Last commit JSAT - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - GitHub stars - Last commit + Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) + GitHub stars + Last commit m2cgen - CLI tool to transpile models into native code. - GitHub stars - Last commit + CLI tool to transpile models into native code. + GitHub stars + Last commit Neureka - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. - GitHub stars - Last commit + A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. + GitHub stars + Last commit oj! Algorithms - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - - - - + High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. + - + - Oryx 2 - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - GitHub stars - Last commit + Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. + GitHub stars + Last commit Siddhi - Cloud native streaming and complex event processing engine. - GitHub stars - Last commit + Cloud native streaming and complex event processing engine. + GitHub stars + Last commit Smile - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - GitHub stars - Last commit + Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. + GitHub stars + Last commit Tribuo - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. - - - - + Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. + - + - Weka - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) - - - - + Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) + - + - @@ -3427,129 +3427,129 @@ _Tools that help send messages between clients to ensure protocol independency._ Aeron - Efficient, reliable, unicast and multicast message transport. - GitHub stars - Last commit + Efficient, reliable, unicast and multicast message transport. + GitHub stars + Last commit Apache ActiveMQ - Message broker that implements JMS and converts synchronous to asynchronous communication. - - - - + Message broker that implements JMS and converts synchronous to asynchronous communication. + - + - Apache Camel - Glues together different transport APIs via Enterprise Integration Patterns. - - - - + Glues together different transport APIs via Enterprise Integration Patterns. + - + - Apache Kafka - High-throughput distributed messaging system. - - - - + High-throughput distributed messaging system. + - + - Apache Pulsar - Distributed pub/sub-messaging system. - - - - + Distributed pub/sub-messaging system. + - + - Apache RocketMQ - Fast, reliable, and scalable distributed messaging platform. - - - - + Fast, reliable, and scalable distributed messaging platform. + - + - Apache Qpid - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - - - - + Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. + - + - AutoMQ - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. - GitHub stars - Last commit + AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. + GitHub stars + Last commit Deezpatch - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. - GitHub stars - Last commit + Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. + GitHub stars + Last commit EventBus - Simple publish/subscribe event bus. - GitHub stars - Last commit + Simple publish/subscribe event bus. + GitHub stars + Last commit Hermes - Fast and reliable message broker built on top of Kafka. - - - - + Fast and reliable message broker built on top of Kafka. + - + - JeroMQ - Implementation of ZeroMQ. - GitHub stars - Last commit + Implementation of ZeroMQ. + GitHub stars + Last commit Nakadi - Provides a RESTful API on top of Kafka. - GitHub stars - Last commit + Provides a RESTful API on top of Kafka. + GitHub stars + Last commit RabbitMQ Java client - RabbitMQ client. - GitHub stars - Last commit + RabbitMQ client. + GitHub stars + Last commit Smack - Cross-platform XMPP client library. - GitHub stars - Last commit + Cross-platform XMPP client library. + GitHub stars + Last commit NATS client - NATS client. - GitHub stars - Last commit + NATS client. + GitHub stars + Last commit @@ -3567,105 +3567,105 @@ _Tools for creating and managing microservices._ ActiveRPC - Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. - - - - + Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. + - + - Armeria - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. - GitHub stars - Last commit + Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. + GitHub stars + Last commit consul-api - Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. - GitHub stars - Last commit + Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. + GitHub stars + Last commit Eureka - REST-based service registry for resilient load balancing and failover. - GitHub stars - Last commit + REST-based service registry for resilient load balancing and failover. + GitHub stars + Last commit Helidon - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. - - - - + Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. + - + - JDA - Wrapping of the Discord REST API and its WebSocket events. - GitHub stars - Last commit + Wrapping of the Discord REST API and its WebSocket events. + GitHub stars + Last commit KeenType - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. - GitHub stars - Last commit + Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. + GitHub stars + Last commit kubernetes-client - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - GitHub stars - Last commit + Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. + GitHub stars + Last commit Micronaut - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - - - - + Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. + - + - Nacos - Dynamic service discovery, configuration and service management platform for building cloud native applications. - - - - + Dynamic service discovery, configuration and service management platform for building cloud native applications. + - + - OpenAI-Java - Java libraries for using OpenAI's GPT-3 API. - GitHub stars - Last commit + Java libraries for using OpenAI's GPT-3 API. + GitHub stars + Last commit Quarkus - Kubernetes stack tailored for the HotSpot and Graal VM. - - - - + Kubernetes stack tailored for the HotSpot and Graal VM. + - + - Sentinel - Flow control component enabling reliability, resilience and monitoring for microservices. - GitHub stars - Last commit + Flow control component enabling reliability, resilience and monitoring for microservices. + GitHub stars + Last commit @@ -3683,289 +3683,289 @@ _Everything else._ CQEngine - Ultra-fast, SQL-like queries on Java collections. - GitHub stars - Last commit + Ultra-fast, SQL-like queries on Java collections. + GitHub stars + Last commit Design Patterns - Implementation and explanation of the most common design patterns. - GitHub stars - Last commit + Implementation and explanation of the most common design patterns. + GitHub stars + Last commit FF4J - Feature Flags for Java. - GitHub stars - Last commit + Feature Flags for Java. + GitHub stars + Last commit FizzBuzz Enterprise Edition - No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) - GitHub stars - Last commit + No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) + GitHub stars + Last commit IP2Location.io Java SDK - Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. - GitHub stars - Last commit + Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. + GitHub stars + Last commit ISBN core - A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. - GitHub stars - Last commit + A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. + GitHub stars + Last commit J2ObjC - Java-to-Objective-C translator for porting Android libraries to iOS. - GitHub stars - Last commit + Java-to-Objective-C translator for porting Android libraries to iOS. + GitHub stars + Last commit JBake - Static website generator. - - - - + Static website generator. + - + - JBot - Framework for building chatbots. (GPL-3.0-only) - GitHub stars - Last commit + Framework for building chatbots. (GPL-3.0-only) + GitHub stars + Last commit JCuda - JCuda offers Java bindings for CUDA and CUDA-related libraries. - - - - + JCuda offers Java bindings for CUDA and CUDA-related libraries. + - + - JEmoji - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - GitHub stars - Last commit + An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. + GitHub stars + Last commit Jimfs - In-memory file system. - GitHub stars - Last commit + In-memory file system. + GitHub stars + Last commit Joda-Money - Basic currency and money classes and algorithms not provided by the JDK. - - - - + Basic currency and money classes and algorithms not provided by the JDK. + - + - jOOX - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - GitHub stars - Last commit + Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. + GitHub stars + Last commit JPad - Snippet runner. - - - - + Snippet runner. + - + - jsweet - Source transpiler to TypeScript/JavaScript. - GitHub stars - Last commit + Source transpiler to TypeScript/JavaScript. + GitHub stars + Last commit Maven Wrapper - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - GitHub stars - Last commit + Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. + GitHub stars + Last commit Membrane Service Proxy - Open-source, reverse-proxy framework. - GitHub stars - Last commit + Open-source, reverse-proxy framework. + GitHub stars + Last commit MinimalFTP - Lightweight, small and customizable FTP server. - GitHub stars - Last commit + Lightweight, small and customizable FTP server. + GitHub stars + Last commit LittleProxy - High performance HTTP proxy atop Netty's event-based networking library. - GitHub stars - Last commit + High performance HTTP proxy atop Netty's event-based networking library. + GitHub stars + Last commit Modern Java - A Guide to Java 8 - Popular Java 8 guide. - GitHub stars - Last commit + Popular Java 8 guide. + GitHub stars + Last commit Modernizer - Detect uses of legacy Java APIs. - GitHub stars - Last commit + Detect uses of legacy Java APIs. + GitHub stars + Last commit OctoLinker - Browser extension which allows to navigate through code on GitHub more efficiently. - GitHub stars - Last commit + Browser extension which allows to navigate through code on GitHub more efficiently. + GitHub stars + Last commit OpenRefine - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - - - - + Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. + - + - PipelinR - Small utility library for using handlers and commands with pipelines. - GitHub stars - Last commit + Small utility library for using handlers and commands with pipelines. + GitHub stars + Last commit Polyglot for Maven - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - GitHub stars - Last commit + Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. + GitHub stars + Last commit RR4J - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - GitHub stars - Last commit + RR4J is a tool that records java bytecode execution and later allows developers to replay locally. + GitHub stars + Last commit Simple Java Mail - Mailing with a clean and fluent API. - GitHub stars - Last commit + Mailing with a clean and fluent API. + GitHub stars + Last commit Smooks - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) - GitHub stars - Last commit + Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) + GitHub stars + Last commit Svix - Library for the Svix API to send webhooks and verify signatures. - GitHub stars - Last commit + Library for the Svix API to send webhooks and verify signatures. + GitHub stars + Last commit Togglz - Implementation of the Feature Toggles pattern. - - - - + Implementation of the Feature Toggles pattern. + - + - TypeTools - Tools for resolving generic types. - GitHub stars - Last commit + Tools for resolving generic types. + GitHub stars + Last commit webcam-capture - Library for using built-in and external webcams directly in Java. - GitHub stars - Last commit + Library for using built-in and external webcams directly in Java. + GitHub stars + Last commit XMLBeam - Processes XML by using annotations or XPath within code. - GitHub stars - Last commit + Processes XML by using annotations or XPath within code. + GitHub stars + Last commit yGuard - Obfuscation via renaming and shrinking. - GitHub stars - Last commit + Obfuscation via renaming and shrinking. + GitHub stars + Last commit JBang - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - GitHub stars - Last commit + JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. + GitHub stars + Last commit @@ -3983,25 +3983,25 @@ _Tools for creating or managing mobile applications._ Codename One - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) - - - - + Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) + - + - MobileUI - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. - - - - + Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. + - + - Multi-OS Engine - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - - - - + Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. + - + - @@ -4019,169 +4019,169 @@ _Tools that observe/monitor applications in production by providing telemetry._ Apitally - Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. - GitHub stars - Last commit + Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. + GitHub stars + Last commit Automon - Combines the power of AOP with monitoring and/or logging tools. - GitHub stars - Last commit + Combines the power of AOP with monitoring and/or logging tools. + GitHub stars + Last commit Dropwizard Metrics - Expose metrics via JMX or HTTP and send them to a database. - GitHub stars - Last commit + Expose metrics via JMX or HTTP and send them to a database. + GitHub stars + Last commit Failsafe Actuator - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - GitHub stars - Last commit + Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. + GitHub stars + Last commit Glowroot - Open-source Java APM. - - - - + Open-source Java APM. + - + - HertzBeat - Real-time monitoring system with custom-monitor and agentless. - GitHub stars - Last commit + Real-time monitoring system with custom-monitor and agentless. + GitHub stars + Last commit hippo4j - Dynamic and observable thread pool framework. - GitHub stars - Last commit + Dynamic and observable thread pool framework. + GitHub stars + Last commit inspectIT - 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. - - - - + 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. + - + - Jaeger client - Jaeger client. - GitHub stars - Last commit + Jaeger client. + GitHub stars + Last commit JavaMelody - Performance monitoring and profiling. - GitHub stars - Last commit + Performance monitoring and profiling. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Jolokia - JMX over REST. - - - - + JMX over REST. + - + - Micrometer - Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. - GitHub stars - Last commit + Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. + GitHub stars + Last commit Micrometer Tracing - Vendor-neutral distributed tracing facade for the most popular tracer libraries. - GitHub stars - Last commit + Vendor-neutral distributed tracing facade for the most popular tracer libraries. + GitHub stars + Last commit nudge4j - Remote developer console from the browser for Java 8 via bytecode injection. - GitHub stars - Last commit + Remote developer console from the browser for Java 8 via bytecode injection. + GitHub stars + Last commit OpenTelemetry - Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. - GitHub stars - Last commit + Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. + GitHub stars + Last commit Pinpoint - Open-source APM tool. - GitHub stars - Last commit + Open-source APM tool. + GitHub stars + Last commit Prometheus - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. - GitHub stars - Last commit + Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. + GitHub stars + Last commit Stagemonitor - Open-source performance monitoring and transaction tracing for JVM apps. - GitHub stars - Last commit + Open-source performance monitoring and transaction tracing for JVM apps. + GitHub stars + Last commit Sysmon - Lightweight platform monitoring tool for Java VMs. - GitHub stars - Last commit + Lightweight platform monitoring tool for Java VMs. + GitHub stars + Last commit zipkin - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. - - - - + Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. + - + - @@ -4199,41 +4199,41 @@ _For working with platform-specific native libraries._ Aparapi - Converts bytecode to OpenCL which allows execution on GPUs. - GitHub stars - Last commit + Converts bytecode to OpenCL which allows execution on GPUs. + GitHub stars + Last commit JavaCPP - Provides efficient and easy access to native C++. - GitHub stars - Last commit + Provides efficient and easy access to native C++. + GitHub stars + Last commit JNA - Work with native libraries without writing JNI. Also provides interfaces to common system libraries. - GitHub stars - Last commit + Work with native libraries without writing JNI. Also provides interfaces to common system libraries. + GitHub stars + Last commit JNR - 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). - GitHub stars - Last commit + 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). + GitHub stars + Last commit native-lib-loader - Native library loader for extracting and loading native libraries from Java. - GitHub stars - Last commit + Native library loader for extracting and loading native libraries from Java. + GitHub stars + Last commit @@ -4251,41 +4251,41 @@ _Libraries that specialize in processing text._ CogCompNLP - Provides common annotators for plain text input. (Research and Academic Use License) - GitHub stars - Last commit + Provides common annotators for plain text input. (Research and Academic Use License) + GitHub stars + Last commit CoreNLP - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - - - - + Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) + - + - DKPro - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - - - - + Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. + - + - Hypherator - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. - GitHub stars - Last commit + Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. + GitHub stars + Last commit LingPipe - Toolkit for tasks ranging from POS tagging to sentiment analysis. - - - - + Toolkit for tasks ranging from POS tagging to sentiment analysis. + - + - @@ -4303,121 +4303,121 @@ _Libraries for building network servers._ Commons-networking - Client for server-sent events (SSE). - GitHub stars - Last commit + Client for server-sent events (SSE). + GitHub stars + Last commit Comsat - Integrates standard Java web-related APIs with Quasar fibers and actors. - GitHub stars - Last commit + Integrates standard Java web-related APIs with Quasar fibers and actors. + GitHub stars + Last commit Dubbo - High-performance RPC framework. - GitHub stars - Last commit + High-performance RPC framework. + GitHub stars + Last commit Grizzly - NIO framework. Used as a network layer in Glassfish. - - - - + NIO framework. Used as a network layer in Glassfish. + - + - gRPC - RPC framework based on protobuf and HTTP/2. - GitHub stars - Last commit + RPC framework based on protobuf and HTTP/2. + GitHub stars + Last commit KryoNet - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - GitHub stars - Last commit + Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. + GitHub stars + Last commit MINA - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - - - - + Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. + - + - Netty - Framework for building high-performance network applications. - - - - + Framework for building high-performance network applications. + - + - Drift - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. - GitHub stars - Last commit + Easy-to-use, annotation-based library for creating Thrift clients and serializable types. + GitHub stars + Last commit ServiceTalk - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - GitHub stars - Last commit + Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. + GitHub stars + Last commit sshj - Programmatically use SSH, SCP or SFTP. - GitHub stars - Last commit + Programmatically use SSH, SCP or SFTP. + GitHub stars + Last commit TLS Channel - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - GitHub stars - Last commit + Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. + GitHub stars + Last commit Undertow - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) - - - - + Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) + - + - urnlib - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) - GitHub stars - Last commit + Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) + GitHub stars + Last commit Fluency - High throughput data ingestion logger to Fluentd and Fluent Bit. - GitHub stars - Last commit + High throughput data ingestion logger to Fluentd and Fluent Bit. + GitHub stars + Last commit @@ -4435,81 +4435,81 @@ _APIs that handle the persistence of objects._ Apache Cayenne - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. - - - - + Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. + - + - Doma - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. - GitHub stars - Last commit + Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. + GitHub stars + Last commit Ebean - Provides simple and fast data access. - - - - + Provides simple and fast data access. + - + - EclipseLink - Supports a number of persistence standards: JPA, JAXB, JCA and SDO. - - - - + Supports a number of persistence standards: JPA, JAXB, JCA and SDO. + - + - Hibernate - Robust and widely used, with an active community. (LGPL-2.1-only) - - - - + Robust and widely used, with an active community. (LGPL-2.1-only) + - + - MyBatis - Couples objects with stored procedures or SQL statements. - GitHub stars - Last commit + Couples objects with stored procedures or SQL statements. + GitHub stars + Last commit MyBatis-Plus - A powerful enhanced toolkit of MyBatis for simplifying development. - GitHub stars - Last commit + A powerful enhanced toolkit of MyBatis for simplifying development. + GitHub stars + Last commit ObjectiveSql - ActiveRecord ORM for rapid development and convention over configuration. - GitHub stars - Last commit + ActiveRecord ORM for rapid development and convention over configuration. + GitHub stars + Last commit Permazen - Language-natural persistence layer. - GitHub stars - Last commit + Language-natural persistence layer. + GitHub stars + Last commit SimpleFlatMapper - Simple database and CSV mapper. - GitHub stars - Last commit + Simple database and CSV mapper. + GitHub stars + Last commit @@ -4531,9 +4531,9 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. Pathetic - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. - GitHub stars - Last commit + A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. + GitHub stars + Last commit @@ -4551,81 +4551,81 @@ _Tools to help with PDF files._ Apache FOP - Creates PDFs from XSL-FO. - - - - + Creates PDFs from XSL-FO. + - + - Apache PDFBox - Toolbox for creating and manipulating PDFs. - - - - + Toolbox for creating and manipulating PDFs. + - + - Dynamic Jasper - Abstraction layer to JasperReports. (LGPL-3.0-only) - - - - + Abstraction layer to JasperReports. (LGPL-3.0-only) + - + - DynamicReports - Simplifies JasperReports. (LGPL-3.0-only) - GitHub stars - Last commit + Simplifies JasperReports. (LGPL-3.0-only) + GitHub stars + Last commit Eclipse BIRT - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - - - - + Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. + - + - flyingsaucer - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - GitHub stars - Last commit + XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) + GitHub stars + Last commit JasperReports - Complex reporting engine. (LGPL-3.0-only) - - - - + Complex reporting engine. (LGPL-3.0-only) + - + - Open HTML to PDF - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - GitHub stars - Last commit + Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. + GitHub stars + Last commit OpenPDF - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - GitHub stars - Last commit + Open-source iText fork. (LGPL-3.0-only & MPL-2.0) + GitHub stars + Last commit Tabula - Extracts tables from PDF files. - GitHub stars - Last commit + Extracts tables from PDF files. + GitHub stars + Last commit @@ -4643,41 +4643,41 @@ _Tools for performance analysis, profiling and benchmarking._ honest-profiler - Low-overhead, bias-free sampling profiler. - GitHub stars - Last commit + Low-overhead, bias-free sampling profiler. + GitHub stars + Last commit jHiccup - Logs and records platform JVM stalls. - GitHub stars - Last commit + Logs and records platform JVM stalls. + GitHub stars + Last commit JITWatch - Analyze the JIT compiler optimisations made by the HotSpot JVM. - GitHub stars - Last commit + Analyze the JIT compiler optimisations made by the HotSpot JVM. + GitHub stars + Last commit JMH - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - - - - + Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) + - + - LatencyUtils - Utilities for latency measurement and reporting. - GitHub stars - Last commit + Utilities for latency measurement and reporting. + GitHub stars + Last commit @@ -4697,433 +4697,433 @@ _Frameworks that are suites of multiple libraries encompassing several categorie BCEL - Byte Code Engineering Library - analyze, create, and manipulate Java class files. - - - - + Byte Code Engineering Library - analyze, create, and manipulate Java class files. + - + - BeanUtils - Easy-to-use wrappers around the Java reflection and introspection APIs. - - - - + Easy-to-use wrappers around the Java reflection and introspection APIs. + - + - BeanUtils2 - Redesign of Commons BeanUtils. - - - - + Redesign of Commons BeanUtils. + - + - BSF - Bean Scripting Framework - interface to scripting languages, including JSR-223. - - - - + Bean Scripting Framework - interface to scripting languages, including JSR-223. + - + - Chain - Chain of Responsibility pattern implementation. - - - - + Chain of Responsibility pattern implementation. + - + - ClassScan - Find Class interfaces, methods, fields, and annotations without loading. - - - - + Find Class interfaces, methods, fields, and annotations without loading. + - + - CLI - Command-line arguments parser. - - - - + Command-line arguments parser. + - + - CLI2 - Redesign of Commons CLI. - - - - + Redesign of Commons CLI. + - + - Codec - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. - - - - + General encoding/decoding algorithms, e.g. phonetic, base64 or URL. + - + - Collections - Extends or augments the Java Collections Framework. - - - - + Extends or augments the Java Collections Framework. + - + - Compress - Defines an API for working with tar, zip and bzip2 files. - - - - + Defines an API for working with tar, zip and bzip2 files. + - + - Configuration - Reading of configuration/preferences files in various formats. - - - - + Reading of configuration/preferences files in various formats. + - + - Convert - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. - - - - + Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. + - + - CSV - Component for reading and writing comma separated value files. - - - - + Component for reading and writing comma separated value files. + - + - Daemon - Alternative invocation mechanism for unix-daemon-like java code. - - - - + Alternative invocation mechanism for unix-daemon-like java code. + - + - DBCP - Database connection pooling services. - - - - + Database connection pooling services. + - + - DbUtils - JDBC helper library. - - - - + JDBC helper library. + - + - Digester - XML-to-Java-object mapping utility. - - - - + XML-to-Java-object mapping utility. + - + - Email - Library for sending e-mail from Java. - - - - + Library for sending e-mail from Java. + - + - Exec - API for dealing with external process execution and environment management in Java. - - - - + API for dealing with external process execution and environment management in Java. + - + - FileUpload - File upload capability for your servlets and web applications. - - - - + File upload capability for your servlets and web applications. + - + - Finder - Java library inspired by the UNIX find command. - - - - + Java library inspired by the UNIX find command. + - + - Flatfile - Java library for working with flat data structures. - - - - + Java library for working with flat data structures. + - + - Functor - Function that can be manipulated as an object, or an object representing a single, generic function. - - - - + Function that can be manipulated as an object, or an object representing a single, generic function. + - + - Graph - General purpose graph APIs and algorithms. - - - - + General purpose graph APIs and algorithms. + - + - I18n - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. - - - - + Adds the feature of localized message bundles that consist of one or many localized texts that belong together. + - + - Id - Id is a component used to generate identifiers. - - - - + Id is a component used to generate identifiers. + - + - Imaging - Image library. - - - - + Image library. + - + - IO - Collection of I/O utilities. - - - - + Collection of I/O utilities. + - + - Javaflow - Continuation implementation to capture the state of the application. - - - - + Continuation implementation to capture the state of the application. + - + - JCI - Java Compiler Interface. - - - - + Java Compiler Interface. + - + - JCS - Java Caching System. - - - - + Java Caching System. + - + - Jelly - XML based scripting and processing engine. - - - - + XML based scripting and processing engine. + - + - Jexl - Expression language which extends the Expression Language of the JSTL. - - - - + Expression language which extends the Expression Language of the JSTL. + - + - JNet - JNet allows to use dynamically register url stream handlers through the java.net API. - - - - + JNet allows to use dynamically register url stream handlers through the java.net API. + - + - JXPath - Utilities for manipulating Java Beans using the XPath syntax. - - - - + Utilities for manipulating Java Beans using the XPath syntax. + - + - Lang - Provides extra functionality for classes in java.lang. - - - - + Provides extra functionality for classes in java.lang. + - + - Logging - Wrapper around a variety of logging API implementations. - - - - + Wrapper around a variety of logging API implementations. + - + - Math - Lightweight, self-contained mathematics and statistics components. - - - - + Lightweight, self-contained mathematics and statistics components. + - + - Monitoring - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. - - - - + Monitoring aims to provide a simple but extensible monitoring solution for Java applications. + - + - Nabla - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. - - - - + Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. + - + - Net - Collection of network utilities and protocol implementations. - - - - + Collection of network utilities and protocol implementations. + - + - OGNL - Object-graph navigation language. - - - - + Object-graph navigation language. + - + - OpenPGP - Interface to signing and verifying data using OpenPGP. - - - - + Interface to signing and verifying data using OpenPGP. + - + - Performance - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. - - - - + Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. + - + - Pipeline - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. - - - - + Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. + - + - Pool - Generic object pooling component. - - - - + Generic object pooling component. + - + - Proxy - Library for creating dynamic proxies. - - - - + Library for creating dynamic proxies. + - + - RDF - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. - - - - + Common implementation of RDF 1.1 that could be implemented by systems on the JVM. + - + - RNG - Commons Rng provides implementations of pseudo-random numbers generators. - - - - + Commons Rng provides implementations of pseudo-random numbers generators. + - + - SCXML - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. - - - - + Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. + - + - Validator - Framework to define validators and validation rules in an xml file. - - - - + Framework to define validators and validation rules in an xml file. + - + - VFS - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. - - - - + Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. + - + - Weaver - Provides an easy way to enhance (weave) compiled bytecode. - - - - + Provides an easy way to enhance (weave) compiled bytecode. + - + - @@ -5139,33 +5139,33 @@ _Frameworks that are suites of multiple libraries encompassing several categorie CUBA Platform - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. - - - - + High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. + - + - Light-4J - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). - GitHub stars - Last commit + Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). + GitHub stars + Last commit Orienteer - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - GitHub stars - Last commit + Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. + GitHub stars + Last commit Spring - Provides many packages for dependency injection, aspect-oriented programming, security, etc. - - - - + Provides many packages for dependency injection, aspect-oriented programming, security, etc. + - + - @@ -5183,25 +5183,25 @@ _Libraries that help the management of operating system processes._ ch.vorburger.exec - Convenient API around Apache Commons Exec. - GitHub stars - Last commit + Convenient API around Apache Commons Exec. + GitHub stars + Last commit zt-exec - Provides a unified API to Apache Commons Exec and ProcessBuilder. - GitHub stars - Last commit + Provides a unified API to Apache Commons Exec and ProcessBuilder. + GitHub stars + Last commit zt-process-killer - Stops processes started from Java or the system processes via PID. - GitHub stars - Last commit + Stops processes started from Java or the system processes via PID. + GitHub stars + Last commit @@ -5219,41 +5219,41 @@ _Libraries for developing reactive applications._ Akka - Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. - - - - + Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. + - + - Reactive Streams - Provides a standard for asynchronous stream processing with non-blocking backpressure. - GitHub stars - Last commit + Provides a standard for asynchronous stream processing with non-blocking backpressure. + GitHub stars + Last commit Reactor - A framework for building non-blocking applications on the JVM, providing support for reactive programming. - GitHub stars - Last commit + A framework for building non-blocking applications on the JVM, providing support for reactive programming. + GitHub stars + Last commit RxJava - Allows for composing asynchronous and event-based programs using observable sequences. - GitHub stars - Last commit + Allows for composing asynchronous and event-based programs using observable sequences. + GitHub stars + Last commit vert.x - Polyglot event-driven application framework. - - - - + Polyglot event-driven application framework. + - + - @@ -5271,105 +5271,105 @@ _Frameworks specifically for creating RESTful services._ Dropwizard - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - GitHub stars - Last commit + Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. + GitHub stars + Last commit Elide - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - - - - + Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. + - + - Jersey - JAX-RS reference implementation. - - - - + JAX-RS reference implementation. + - + - Microserver - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Rapidoid - Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. - - - - + Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. + - + - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit RESTEasy - Fully certified and portable implementation of the JAX-RS specification. - - - - + Fully certified and portable implementation of the JAX-RS specification. + - + - RestExpress - Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. - GitHub stars - Last commit + Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. + GitHub stars + Last commit Restlet Framework - Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. - GitHub stars - Last commit + Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. + GitHub stars + Last commit Spark - Sinatra inspired framework. - - - - + Sinatra inspired framework. + - + - Crnk - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - - - - + Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. + - + - springdoc-openapi - Automates the generation of API documentation using Spring Boot projects. - GitHub stars - Last commit + Automates the generation of API documentation using Spring Boot projects. + GitHub stars + Last commit Swagger - Standard, language-agnostic interface to REST APIs. - - - - + Standard, language-agnostic interface to REST APIs. + - + - @@ -5387,121 +5387,121 @@ _Libraries for scientific computing, analysis and visualization._ BioJava - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. - - - - + Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. + - + - Chart-FX - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - GitHub stars - Last commit + Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. + GitHub stars + Last commit DataMelt - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - - - - + Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) + - + - Erdos - Modular, light and easy graph framework for theoretic algorithms. - GitHub stars - Last commit + Modular, light and easy graph framework for theoretic algorithms. + GitHub stars + Last commit GraphStream - Library for modeling and analyzing dynamic graphs. - - - - + Library for modeling and analyzing dynamic graphs. + - + - JFreeChart - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - - - - + 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) + - + - JGraphT - Graph library that provides mathematical graph-theory objects and algorithms. - GitHub stars - Last commit + Graph library that provides mathematical graph-theory objects and algorithms. + GitHub stars + Last commit JGraphX - Library for visualizing (mainly Swing) and interacting with node-edge graphs. - GitHub stars - Last commit + Library for visualizing (mainly Swing) and interacting with node-edge graphs. + GitHub stars + Last commit LogicNG - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - GitHub stars - Last commit + Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. + GitHub stars + Last commit Mines Java Toolkit - Library for geophysical scientific computation, visualization and digital signal analysis. - GitHub stars - Last commit + Library for geophysical scientific computation, visualization and digital signal analysis. + GitHub stars + Last commit Morpheus - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - GitHub stars - Last commit + Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. + GitHub stars + Last commit Orekit - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. - - - - + A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. + - + - Orson-Charts - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) - GitHub stars - Last commit + Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) + GitHub stars + Last commit Tablesaw - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - GitHub stars - Last commit + Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. + GitHub stars + Last commit XChart - Light-weight library for plotting data. Many customizable chart types are available. - GitHub stars - Last commit + Light-weight library for plotting data. Many customizable chart types are available. + GitHub stars + Last commit @@ -5519,33 +5519,33 @@ _Engines that index documents for search and analysis._ Apache Lucene - High-performance, full-featured, cross-platform, text search engine library. - - - - + High-performance, full-featured, cross-platform, text search engine library. + - + - Apache Solr - Enterprise search engine optimized for high-volume traffic. - - - - + Enterprise search engine optimized for high-volume traffic. + - + - Elasticsearch - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. - - - - + Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. + - + - Indexer4j - Simple and light full text indexing and searching library. - GitHub stars - Last commit + Simple and light full text indexing and searching library. + GitHub stars + Last commit @@ -5563,185 +5563,185 @@ _Libraries that handle security, authentication, authorization or session manage Apache Shiro - Performs authentication, authorization, cryptography and session management. - - - - + Performs authentication, authorization, cryptography and session management. + - + - Ayza - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. - GitHub stars - Last commit + High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. + GitHub stars + Last commit Bouncy Castle - All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. - - - - + 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. - GitHub stars - Last commit + Detects publicly disclosed vulnerabilities contained within a project's dependencies. + GitHub stars + Last commit Cryptomator - Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) - - - - + Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) + - + - 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit jjwt - JSON web token for Java and Android. - GitHub stars - Last commit + JSON web token for Java and Android. + GitHub stars + Last commit jwt-java - Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. - GitHub stars - Last commit + Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. + GitHub stars + Last commit Jwks RSA - JSON Web Key Set parser. - GitHub stars - Last commit + JSON Web Key Set parser. + GitHub stars + Last commit Kalium - Binding for the Networking and Cryptography (NaCl) library. - GitHub stars - Last commit + Binding for the Networking and Cryptography (NaCl) library. + GitHub stars + Last commit Keycloak - Integrated SSO and IDM for browser apps and RESTful web services. - - - - + Integrated SSO and IDM for browser apps and RESTful web services. + - + - Keywhiz - System for distributing and managing secrets. - GitHub stars - Last commit + System for distributing and managing secrets. + GitHub stars + Last commit Nbvcxz - Advanced password strength estimation. - GitHub stars - Last commit + Advanced password strength estimation. + GitHub stars + Last commit OACC - Provides permission-based authorization services. - - - - + Provides permission-based authorization services. + - + - OpenAM - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. - GitHub stars - Last commit + Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. + GitHub stars + Last commit OTP-Java - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - GitHub stars - Last commit + One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). + GitHub stars + Last commit pac4j - Security engine. - GitHub stars - Last commit + Security engine. + GitHub stars + Last commit Passay - Enforce password policy by validating candidate passwords against a configurable rule set. - - - - + Enforce password policy by validating candidate passwords against a configurable rule set. + - + - Password4j - User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. - GitHub stars - Last commit + User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. + GitHub stars + Last commit SecurityBuilder - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. - GitHub stars - Last commit + Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. + GitHub stars + Last commit 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. - GitHub stars - Last commit + 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. + GitHub stars + Last commit Tink - Provides a simple and misuse-proof API for common cryptographic tasks. - GitHub stars - Last commit + Provides a simple and misuse-proof API for common cryptographic tasks. + GitHub stars + Last commit Topaz - Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. - - - - + Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. + - + - @@ -5759,49 +5759,49 @@ _Libraries that handle serialization with high efficiency._ FlatBuffers - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. - GitHub stars - Last commit + Memory-efficient serialization library that can access serialized data without unpacking and parsing it. + GitHub stars + Last commit FST - JDK-compatible, high-performance object graph serialization. - GitHub stars - Last commit + JDK-compatible, high-performance object graph serialization. + GitHub stars + Last commit Fury - Blazing fast object graph serialization framework powered by JIT and zero-copy. - GitHub stars - Last commit + Blazing fast object graph serialization framework powered by JIT and zero-copy. + GitHub stars + Last commit Kryo - Fast and efficient object graph serialization framework. - GitHub stars - Last commit + Fast and efficient object graph serialization framework. + GitHub stars + Last commit MessagePack - Efficient binary serialization format. - GitHub stars - Last commit + Efficient binary serialization format. + GitHub stars + Last commit PHP Serializer - Serializing objects in the PHP serialization format. - GitHub stars - Last commit + Serializing objects in the PHP serialization format. + GitHub stars + Last commit @@ -5819,41 +5819,41 @@ _Servers specifically used to deploy applications._ Apache Tomcat - Robust, all-round server for Servlet and JSP. - - - - + Robust, all-round server for Servlet and JSP. + - + - Apache TomEE - Tomcat plus Java EE. - - - - + Tomcat plus Java EE. + - + - Jetty - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - - - - + Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. + - + - nanohttpd - Tiny, easily embeddable HTTP server. - GitHub stars - Last commit + Tiny, easily embeddable HTTP server. + GitHub stars + Last commit WildFly - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) - - - - + Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) + - + - @@ -5871,89 +5871,89 @@ _Tools that substitute expressions in a template._ Freemarker - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - - - - + Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. + - + - Handlebars.java - Logicless and semantic Mustache templates. - - - - + Logicless and semantic Mustache templates. + - + - Jade4J - Implementation of Pug (formerly known as Jade). - GitHub stars - Last commit + Implementation of Pug (formerly known as Jade). + GitHub stars + Last commit Jamal - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. - GitHub stars - Last commit + Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. + GitHub stars + Last commit jstachio - Typesafe Mustache templating engine. - GitHub stars - Last commit + Typesafe Mustache templating engine. + GitHub stars + Last commit jte - Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. - GitHub stars - Last commit + Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. + GitHub stars + Last commit Jtwig - Modular, configurable and fully tested template engine. - GitHub stars - Last commit + Modular, configurable and fully tested template engine. + GitHub stars + Last commit Pebble - 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. - - - - + 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 - Optimized, memory efficient and speedy template engine producing statically typed, plain objects. - GitHub stars - Last commit + Optimized, memory efficient and speedy template engine producing statically typed, plain objects. + GitHub stars + Last commit StringTemplate - Template engine for generating source code, web pages, emails, or any other formatted text output. - GitHub stars - Last commit + Template engine for generating source code, web pages, emails, or any other formatted text output. + GitHub stars + Last commit Thymeleaf - Aims to be a substitute for JSP and works for XML files. - - - - + Aims to be a substitute for JSP and works for XML files. + - + - @@ -5975,57 +5975,57 @@ _Tools that simplify testing asynchronous services._ Awaitility - DSL for synchronizing asynchronous operations. - GitHub stars - Last commit + DSL for synchronizing asynchronous operations. + GitHub stars + Last commit ConcurrentUnit - Toolkit for testing multi-threaded and asynchronous applications. - GitHub stars - Last commit + Toolkit for testing multi-threaded and asynchronous applications. + GitHub stars + Last commit GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - - - - + In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) + - + - Hoverfly Java - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - GitHub stars - Last commit + Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. + GitHub stars + Last commit Karate - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - GitHub stars - Last commit + DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. + GitHub stars + Last commit REST Assured - DSL for easy testing of REST/HTTP services. - GitHub stars - Last commit + DSL for easy testing of REST/HTTP services. + GitHub stars + Last commit WebTau - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - GitHub stars - Last commit + Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. + GitHub stars + Last commit @@ -6043,57 +6043,57 @@ _Testing for the software development process that emerged from TDD and was heav Cucumber - Provides a way to describe features in a plain language which customers can understand. - GitHub stars - Last commit + Provides a way to describe features in a plain language which customers can understand. + GitHub stars + Last commit Cukes-REST - Collection of Gherkin steps for REST-service testing using Cucumber. - GitHub stars - Last commit + Collection of Gherkin steps for REST-service testing using Cucumber. + GitHub stars + Last commit J8Spec - Follows a Jasmine-like syntax. - GitHub stars - Last commit + Follows a Jasmine-like syntax. + GitHub stars + Last commit JBehave - Extensively configurable framework that describes stories. - - - - + Extensively configurable framework that describes stories. + - + - JGiven - Provides a fluent API which allows for simpler composition. - - - - + Provides a fluent API which allows for simpler composition. + - + - Lamdba Behave - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - GitHub stars - Last commit + Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. + GitHub stars + Last commit Serenity BDD - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. - GitHub stars - Last commit + Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. + GitHub stars + Last commit @@ -6111,81 +6111,81 @@ _Everything related to the creation and handling of random data._ AutoParams - Supports generating test data or combining scenarios for parameterized tests. - GitHub stars - Last commit + Supports generating test data or combining scenarios for parameterized tests. + GitHub stars + Last commit Beanmother - Sets up beans from YAML fixtures. - GitHub stars - Last commit + Sets up beans from YAML fixtures. + GitHub stars + Last commit Datafaker - Modern fake data generator forked from Java Faker. - GitHub stars - Last commit + Modern fake data generator forked from Java Faker. + GitHub stars + Last commit Fixture Factory - Generates fake objects from a template. - GitHub stars - Last commit + Generates fake objects from a template. + GitHub stars + Last commit jFairy - Fake data generator. - GitHub stars - Last commit + Fake data generator. + GitHub stars + Last commit Instancio - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. - GitHub stars - Last commit + Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. + GitHub stars + Last commit Randomized Testing - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - GitHub stars - Last commit + JUnit test runner and plugins for running JUnit tests with pseudo-randomness. + GitHub stars + Last commit Java Faker - Port of Ruby's fake data generator. - GitHub stars - Last commit + Port of Ruby's fake data generator. + GitHub stars + Last commit Mockneat - Another fake data generator. - GitHub stars - Last commit + Another fake data generator. + GitHub stars + Last commit JMock - JMock is a high-performance data generation and simulation component library implemented in Java. - GitHub stars - Last commit + JMock is a high-performance data generation and simulation component library implemented in Java. + GitHub stars + Last commit @@ -6203,89 +6203,89 @@ _Provide environments to run tests for a specific use case._ Apache JMeter - Functional testing and performance measurements. - - - - + Functional testing and performance measurements. + - + - JMeter DSL.java - Load tests with JMeter as simple as a JUnit test. - - - - + Load tests with JMeter as simple as a JUnit test. + - + - Arquillian - Integration and functional testing platform for Java EE containers. - - - - + Integration and functional testing platform for Java EE containers. + - + - cdi-test - JUnit extension for easy and efficient testing of CDI components. - GitHub stars - Last commit + JUnit extension for easy and efficient testing of CDI components. + GitHub stars + Last commit Citrus - Integration testing framework that focuses on both client- and server-side messaging. - - - - + Integration testing framework that focuses on both client- and server-side messaging. + - + - Gatling - Load testing tool designed for ease of use, maintainability and high performance. - - - - + Load testing tool designed for ease of use, maintainability and high performance. + - + - JUnit - Common testing framework. - - - - + Common testing framework. + - + - jqwik - Engine for property-based testing built on JUnit 5. - - - - + Engine for property-based testing built on JUnit 5. + - + - Pact JVM - Consumer-driven contract testing. - GitHub stars - Last commit + Consumer-driven contract testing. + GitHub stars + Last commit PIT - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. - - - - + Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. + - + - weld-testing - Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. - GitHub stars - Last commit + Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. + GitHub stars + Last commit @@ -6303,49 +6303,49 @@ _Libraries that provide custom matchers._ AssertJ - Fluent assertions that improve readability. - - - - + Fluent assertions that improve readability. + - + - Hamcrest - Matchers that can be combined to create flexible expressions of intent. - - - - + Matchers that can be combined to create flexible expressions of intent. + - + - JSONAssert - Simplifies testing JSON strings. - - - - + Simplifies testing JSON strings. + - + - JsonUnit - Library that simplifies JSON comparison in tests. - GitHub stars - Last commit + Library that simplifies JSON comparison in tests. + GitHub stars + Last commit Truth - Google's fluent assertion and proposition framework. - - - - + Google's fluent assertion and proposition framework. + - + - XMLUnit - Simplifies testing for XML output. - GitHub stars - Last commit + Simplifies testing for XML output. + GitHub stars + Last commit @@ -6363,89 +6363,89 @@ _Other stuff related to testing._ ConsoleCaptor - Captures console output for unit testing purposes. - GitHub stars - Last commit + Captures console output for unit testing purposes. + GitHub stars + Last commit junit-dataprovider - TestNG-like data provider/runner for JUnit. - GitHub stars - Last commit + TestNG-like data provider/runner for JUnit. + GitHub stars + Last commit junit-pioneer - JUnit 5 extension pack, pushing the frontiers on Jupiter. - - - - + JUnit 5 extension pack, pushing the frontiers on Jupiter. + - + - LogCaptor - Captures log entries for unit testing purposes. - GitHub stars - Last commit + Captures log entries for unit testing purposes. + GitHub stars + Last commit log-capture - Captures log entries and provides assertions for unit and integration testing. - GitHub stars - Last commit + Captures log entries and provides assertions for unit and integration testing. + GitHub stars + Last commit Mutability Detector - Reports whether instances of a given class are immutable. - GitHub stars - Last commit + Reports whether instances of a given class are immutable. + GitHub stars + Last commit pojo-tester - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) - - - - + Automatically performs tests on basic POJO methods. (LGPL-3.0-only) + - + - raml-tester - Tests if a request/response matches a given RAML definition. - GitHub stars - Last commit + Tests if a request/response matches a given RAML definition. + GitHub stars + Last commit Selfie - Snapshot testing (inline and on disk). - GitHub stars - Last commit + Snapshot testing (inline and on disk). + GitHub stars + Last commit Stebz - Multi-approach framework for test steps managing. - GitHub stars - Last commit + Multi-approach framework for test steps managing. + GitHub stars + Last commit Testcontainers - Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. - GitHub stars - Last commit + Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. + GitHub stars + Last commit @@ -6463,57 +6463,57 @@ _Tools which mock collaborators to help testing single, isolated units._ JMockit - Integration testing, API mocking and faking, and code coverage. - - - - + Integration testing, API mocking and faking, and code coverage. + - + - Mockito - Mocking framework that lets you write tests with a clean and simple API. - GitHub stars - Last commit + Mocking framework that lets you write tests with a clean and simple API. + GitHub stars + Last commit MockServer - Allows mocking of systems integrated with HTTPS. - - - - + Allows mocking of systems integrated with HTTPS. + - + - Moco - Concise web services for stubs and mocks. - GitHub stars - Last commit + Concise web services for stubs and mocks. + GitHub stars + Last commit PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - GitHub stars - Last commit + Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. + GitHub stars + Last commit WireMock - Stubs and mocks web services. - - - - + Stubs and mocks web services. + - + - EasyMock - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. - GitHub stars - Last commit + EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. + GitHub stars + Last commit @@ -6531,169 +6531,169 @@ _Libraries which provide general utility functions._ Arthas - Allows to troubleshoot production issues for applications without modifying code or restarting servers. - GitHub stars - Last commit + Allows to troubleshoot production issues for applications without modifying code or restarting servers. + GitHub stars + Last commit bucket4j - Rate limiting library based on token-bucket algorithm. - GitHub stars - Last commit + Rate limiting library based on token-bucket algorithm. + GitHub stars + Last commit cactoos - Collection of object-oriented primitives. - GitHub stars - Last commit + Collection of object-oriented primitives. + GitHub stars + Last commit Chocotea - Generates postman collection, environment and integration tests from java code. - GitHub stars - Last commit + Generates postman collection, environment and integration tests from java code. + GitHub stars + Last commit CRaSH - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - - - - + Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) + - + - Dex - Java/JavaFX tool capable of powerful ETL and data visualization. - GitHub stars - Last commit + Java/JavaFX tool capable of powerful ETL and data visualization. + GitHub stars + Last commit dregex - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - GitHub stars - Last commit + Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. + GitHub stars + Last commit Embulk - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - GitHub stars - Last commit + Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. + GitHub stars + Last commit fswatch - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - GitHub stars - Last commit + Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. + GitHub stars + Last commit Gephi - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) - GitHub stars - Last commit + Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) + GitHub stars + Last commit Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - GitHub stars - Last commit + Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. + GitHub stars + Last commit JADE - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - - - - + Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) + - + - Javadoc Publisher - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - GitHub stars - Last commit + Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. + GitHub stars + Last commit Java Diff Utils - Utilities for text or data comparison and patching. - - - - + Utilities for text or data comparison and patching. + - + - JavaVerbalExpressions - Library that helps with constructing difficult regular expressions. - GitHub stars - Last commit + Library that helps with constructing difficult regular expressions. + GitHub stars + Last commit JGit - Lightweight, pure Java library implementing the Git version control system. - - - - + Lightweight, pure Java library implementing the Git version control system. + - + - JKScope - Java scope functions inspired by Kotlin. - GitHub stars - Last commit + Java scope functions inspired by Kotlin. + GitHub stars + Last commit minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server. - GitHub stars - Last commit + Provides simple APIs to access any Amazon S3-compatible object storage server. + GitHub stars + Last commit Protégé - Provides an ontology editor and a framework to build knowledge-based systems. - - - - + Provides an ontology editor and a framework to build knowledge-based systems. + - + - Semver4j - Lightweight library that helps you handling semantic versioning with different modes. - GitHub stars - Last commit + Lightweight library that helps you handling semantic versioning with different modes. + GitHub stars + Last commit Underscore-java - Port of Underscore.js functions. - GitHub stars - Last commit + Port of Underscore.js functions. + GitHub stars + Last commit @@ -6711,25 +6711,25 @@ _Utilities that help create the development shell environment and switch between jabba - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. - GitHub stars - Last commit + Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. + GitHub stars + Last commit jenv - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. - GitHub stars - Last commit + Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. + GitHub stars + Last commit SDKMan - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. - GitHub stars - Last commit + Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. + GitHub stars + Last commit @@ -6747,41 +6747,41 @@ _Libraries that analyze the content of websites._ Apache Nutch - Highly extensible, highly scalable web crawler for production environments. - - - - + Highly extensible, highly scalable web crawler for production environments. + - + - Crawler4j - Simple and lightweight web crawler. - GitHub stars - Last commit + Simple and lightweight web crawler. + GitHub stars + Last commit jsoup - Scrapes, parses, manipulates and cleans HTML. - - - - + Scrapes, parses, manipulates and cleans HTML. + - + - StormCrawler - SDK for building low-latency and scalable web crawlers. - - - - + SDK for building low-latency and scalable web crawlers. + - + - webmagic - Scalable crawler with downloading, url management, content extraction and persistent. - GitHub stars - Last commit + Scalable crawler with downloading, url management, content extraction and persistent. + GitHub stars + Last commit @@ -6799,129 +6799,129 @@ _Frameworks that handle the communication between the layers of a web applicatio ActiveJ - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. - - - - + Lightweight asynchronous framework built from the ground up for developing high-performance web applications. + - + - Apache Tapestry - Component-oriented framework for creating dynamic, robust, highly scalable web applications. - - - - + Component-oriented framework for creating dynamic, robust, highly scalable web applications. + - + - Apache Wicket - Component-based web application framework similar to Tapestry, with a stateful GUI. - - - - + Component-based web application framework similar to Tapestry, with a stateful GUI. + - + - Blade - Lightweight, modular framework that aims to be elegant and simple. - GitHub stars - Last commit + Lightweight, modular framework that aims to be elegant and simple. + GitHub stars + Last commit Bootique - Minimally opinionated framework for runnable apps. - - - - + Minimally opinionated framework for runnable apps. + - + - Firefly - Asynchronous framework for rapid development of high-performance web application. - - - - + Asynchronous framework for rapid development of high-performance web application. + - + - Javalin - Microframework for web applications. - - - - + Microframework for web applications. + - + - Jooby - Scalable, fast and modular micro-framework that offers multiple programming models. - - - - + Scalable, fast and modular micro-framework that offers multiple programming models. + - + - Ninja - Full-stack web framework. - - - - + Full-stack web framework. + - + - Pippo - Small, highly modularized, Sinatra-like framework. - - - - + Small, highly modularized, Sinatra-like framework. + - + - Play - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. - - - - + Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. + - + - PrimeFaces - JSF framework with both free and commercial/support versions and frontend components. - - - - + JSF framework with both free and commercial/support versions and frontend components. + - + - Ratpack - Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. - - - - + Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. + - + - Takes - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. - GitHub stars - Last commit + Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. + GitHub stars + Last commit Vaadin - 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. - - - - + 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. + - + - WebForms Core - A technology for managing HTML tags from the server. - - - - + A technology for managing HTML tags from the server. + - + - @@ -6939,25 +6939,25 @@ _Platforms and frameworks for orchestrating workflows and business processes._ Cadence - Stateful code platform from Uber. - - - - + Stateful code platform from Uber. + - + - flowable - Compact and efficient workflow and business process management platform. - GitHub stars - Last commit + Compact and efficient workflow and business process management platform. + GitHub stars + Last commit Temporal - Microservice orchestration platform, forked from Cadence but gRPC based. - - - - + Microservice orchestration platform, forked from Cadence but gRPC based. + - + - diff --git a/scripts/Constants.java b/scripts/Constants.java index c668c2d0..8cf67b2f 100644 --- a/scripts/Constants.java +++ b/scripts/Constants.java @@ -44,8 +44,8 @@ private Constants() {} // HTML and styling public static final String TABLE_STYLE = "width:100%;table-layout:fixed;border-collapse:collapse;"; public static final String NAME_CELL_STYLE = "width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"; - public static final String DESC_CELL_STYLE = "width:60%;word-wrap:break-word;"; - public static final String BADGE_CELL_STYLE = "width:10%;text-align:center;vertical-align:middle;min-height:40px;padding:0;"; + public static final String DESC_CELL_STYLE = "width:58%;word-wrap:break-word;"; + public static final String BADGE_CELL_STYLE = "width:12%;text-align:center;vertical-align:middle;min-height:40px;padding:0;"; // Badge URLs - Updated to remove labels public static final String GITHUB_STARS_BADGE_URL = "https://img.shields.io/github/stars/%s?style=for-the-badge&label="; From 50086aa20cc9a772a7af342c18b5232039b4de45 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:41:28 +0200 Subject: [PATCH 389/533] Improve badge size --- README.md | 7783 +++---------------- scripts/step_4_generate_tables.java | 30 +- scripts/step_6_validate_transformation.java | 55 +- 3 files changed, 1318 insertions(+), 6550 deletions(-) diff --git a/README.md b/README.md index 0e4eb3de..c3a1bd25 100644 --- a/README.md +++ b/README.md @@ -93,4427 +93,1502 @@ A curated list of awesome Java frameworks, libraries and software. _Frameworks and libraries that help implementing and verifying design and architecture concepts._ - - - - - - - - - - - - - - - -
- ArchUnit - Test library for specifying and asserting architecture rules.GitHub starsLast commit
- jMolecules - Annotations and interfaces to express design and architecture concepts in code.GitHub starsLast commit
-### Artificial Intelligence +### Architecture -_Frameworks that help you to leverage LLMs and AI._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | GitHub stars | Last commit | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | GitHub stars | Last commit | + +### Artificial Intelligence - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- LangChain4j - Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.GitHub starsLast commit
- MCP 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.GitHub starsLast commit
- simple-openai - Library to use the OpenAI API (and compatible ones) in the simplest possible way.GitHub starsLast commit
- Spring AI - Application framework for AI engineering for Spring.--
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | GitHub stars | Last commit | +| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | + + ### Bean Mapping -_Frameworks that ease bean mapping._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | GitHub stars | Last commit | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | GitHub stars | Last commit | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | GitHub stars | Last commit | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | GitHub stars | Last commit | +| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | GitHub stars | Last commit | +| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | GitHub stars | Last commit | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | GitHub stars | Last commit | + +### Build - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- dOOv - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy.GitHub starsLast commit
- JMapper - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.GitHub starsLast commit
- MapStruct - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.GitHub starsLast commit
- ModelMapper - Intelligent object mapping library that automatically maps objects to each other.GitHub starsLast commit
- Orika - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.GitHub starsLast commit
- reMap - Lambda and method handle-based mapping which requires code and not annotations if objects have different names.GitHub starsLast commit
- Selma - Annotation processor-based bean mapper.GitHub starsLast commit
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | - | - | +| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | GitHub stars | Last commit | +| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | -### Build + -_Tools that handle the build cycle and dependencies of an application._ +### Bytecode Manipulation +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | +| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | GitHub stars | Last commit | +| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | +| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | GitHub stars | Last commit | +| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | GitHub stars | Last commit | +| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | GitHub stars | Last commit | +| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | GitHub stars | Last commit | +| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | GitHub stars | Last commit | +| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Maven - 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 - Tool from Google that builds code quickly and reliably.--
- Buck2 - Encourages the creation of small, reusable modules consisting of code and resources.GitHub starsLast commit
- Gradle - Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.--
+### Caching -### Bytecode Manipulation +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | GitHub stars | Last commit | +| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | +| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | -_Libraries to manipulate bytecode programmatically._ + +### CLI > Argument Parsing +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | +| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | GitHub stars | Last commit | +| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | GitHub stars | Last commit | +| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ASM - All-purpose, low-level bytecode manipulation and analysis.--
- Byte Buddy - Further simplifies bytecode generation with a fluent API.--
- bytecode-viewer - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)GitHub starsLast commit
- Byteman - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)--
- cglib - Bytecode generation library.GitHub starsLast commit
- Javassist - Tries to simplify bytecode editing.GitHub starsLast commit
- Maker - Provides low level bytecode generation.GitHub starsLast commit
- Mixin - Manipulate bytecode at runtime using real Java code.GitHub starsLast commit
- Perses - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering.GitHub starsLast commit
- Recaf - JVM reverse engineering toolkit, essentially an IDE for Java bytecode.--
+ -### Caching +### CLI > Text-Based User Interfaces -_Libraries that provide caching facilities._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | GitHub stars | Last commit | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | GitHub stars | Last commit | +| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | GitHub stars | Last commit | + +### Cloud - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- cache2k - In-memory high performance caching library.--
- Caffeine - High-performance, near-optimal caching library.GitHub starsLast commit
- Ehcache - Distributed general-purpose cache.--
- Infinispan - Highly concurrent key/value datastore used for caching.--
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | GitHub stars | Last commit | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | GitHub stars | Last commit | -### CLI + -_Libraries for everything related to the CLI._ +### Code Analysis -#### Argument Parsing +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | GitHub stars | Last commit | +| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | GitHub stars | Last commit | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | GitHub stars | Last commit | +| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | GitHub stars | Last commit | +| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | +| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | GitHub stars | Last commit | +| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | GitHub stars | Last commit | +| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | GitHub stars | Last commit | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | GitHub stars | Last commit | +| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | GitHub stars | Last commit | +| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | GitHub stars | Last commit | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | GitHub stars | Last commit | -_Libraries to assist with parsing command line arguments._ + +### Code Coverage +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Airline - Annotation-based framework for parsing Git-like command-line arguments.--
- JCommander - Command-line argument-parsing framework with custom types and validation via implementing interfaces.--
- jbock - Reflectionless command line parser.GitHub starsLast commit
- JLine - Includes features from modern shells like completion or history.GitHub starsLast commit
- picocli - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.--
+ -#### Text-Based User Interfaces +### Code Generators -_Libraries that provide TUI frameworks, or building blocks related functions._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | GitHub stars | Last commit | +| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | GitHub stars | Last commit | +| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | GitHub stars | Last commit | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | GitHub stars | Last commit | +| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | GitHub stars | Last commit | +| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | +| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | GitHub stars | Last commit | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | GitHub stars | Last commit | +| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | + +### Compiler-compiler - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Jansi - ANSI escape codes to format console output.GitHub starsLast commit
- Jexer - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision).--
- Text-IO - Aids the creation of full console-based applications.GitHub starsLast commit
- Lanterna - Easy console text-GUI library, similar to curses. (LGPL-3.0-only)GitHub starsLast commit
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | +| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | -### Cloud + -_Libraries to integrate or use cloud-specific features._ +### Computer Vision +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | GitHub stars | Last commit | + - - - - - - - - - - - - - - - - -
- AWS SDK for Java - Provides Java APIs for interacting with Amazon Web Services.GitHub starsLast commit
- Google Cloud Client Libraries - Client libraries for accessing Google Cloud services from Java applications.GitHub starsLast commit
+### Configuration -### Code Analysis +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | GitHub stars | Last commit | +| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | GitHub stars | Last commit | +| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | -_Tools that provide metrics and quality measurements._ + +### Constraint Satisfaction Problem Solver +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | GitHub stars | Last commit | +| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | +| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Checkstyle - Static analysis of coding conventions and standards. (LGPL-2.1-or-later)GitHub starsLast commit
- Error Prone - Catches common programming mistakes as compile-time errors.GitHub starsLast commit
- Error Prone Support - Error Prone extensions: extra bug checkers and a large battery of Refaster templates.GitHub starsLast commit
- Infer - Modern static analysis tool for verifying the correctness of code.GitHub starsLast commit
- jQAssistant - Static code analysis with Neo4J-based query language. (GPL-3.0-only)--
- NullAway - Eliminates NullPointerExceptions with low build-time overhead.GitHub starsLast commit
- PMD - Source code analysis for finding bad coding practices.GitHub starsLast commit
- p3c - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse.GitHub starsLast commit
- RefactorFirst - Identifies and prioritizes God Classes and Highly Coupled classes.GitHub starsLast commit
- SonarJava - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only)GitHub starsLast commit
- Spoon - Library for analyzing and transforming Java source code.GitHub starsLast commit
- Spotbugs - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only)GitHub starsLast commit
+ -### Code Coverage +### CSV -_Frameworks and tools that enable code coverage metrics collection for test suites._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | GitHub stars | Last commit | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | GitHub stars | Last commit | +| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | GitHub stars | Last commit | + +### Data Structures - - - - - - - - - - - - - - - - - - - - - - -
- Clover - Relies on source-code instrumentation instead of bytecode instrumentation.--
- Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)--
- JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.--
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | +| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | +| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | GitHub stars | Last commit | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | GitHub stars | Last commit | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | GitHub stars | Last commit | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | GitHub stars | Last commit | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | GitHub stars | Last commit | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | GitHub stars | Last commit | +| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | GitHub stars | Last commit | +| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | GitHub stars | Last commit | -### Code Generators + -_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ +### Database +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | +| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | GitHub stars | Last commit | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | GitHub stars | Last commit | +| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | +| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | +| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | GitHub stars | Last commit | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | GitHub stars | Last commit | +| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | +| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | GitHub stars | Last commit | +| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | +| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | GitHub stars | Last commit | +| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | GitHub stars | Last commit | +| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | GitHub stars | Last commit | +| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | GitHub stars | Last commit | +| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | GitHub stars | Last commit | +| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | +| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | +| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | GitHub stars | Last commit | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | GitHub stars | Last commit | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | GitHub stars | Last commit | +| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | GitHub stars | Last commit | +| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | GitHub stars | Last commit | +| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | GitHub stars | Last commit | +| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | GitHub stars | Last commit | +| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | GitHub stars | Last commit | +| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | GitHub stars | Last commit | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | GitHub stars | Last commit | +| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | GitHub stars | Last commit | +| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | GitHub stars | Last commit | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ADT4J - JSR-269 code generator for algebraic data types.GitHub starsLast commit
- Auto - Generates factory, service, and value classes.GitHub starsLast commit
- Avaje Http Server - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.--
- EasyEntityToDTO - Annotation processor for automatic DTO and Mapper generation with zero boilerplate.GitHub starsLast commit
- FreeBuilder - Automatically generates the Builder pattern.GitHub starsLast commit
- Geci - Discovers files that need generated code, updates automatically and writes to the source with a convenient API.GitHub starsLast commit
- Immutables - Annotation processors to generate simple, safe and consistent value objects.--
- JavaPoet - API to generate source files.GitHub starsLast commit
- JHipster - Yeoman source code generator for Spring Boot and AngularJS.GitHub starsLast commit
- Joda-Beans - Small framework that adds queryable properties to Java, enhancing JavaBeans.--
- JSpecify Package-Info Generator - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate.GitHub starsLast commit
- Lombok - Code generator that aims to reduce verbosity.--
- Record-Builder - Companion builder class, withers and templates for Java records.GitHub starsLast commit
- Telosys - Simple and light code generator available as an Eclipse Plugin and also as a CLI.--
+### Date and Time -### Compiler-compiler +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | GitHub stars | Last commit | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | GitHub stars | Last commit | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | GitHub stars | Last commit | +| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | GitHub stars | Last commit | -_Frameworks that help to create parsers, interpreters or compilers._ + +### Dependency Injection +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | +| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | GitHub stars | Last commit | +| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | GitHub stars | Last commit | +| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | GitHub stars | Last commit | +| [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) | GitHub stars | Last commit | - - - - - - - - - - - - - - - - - - - - - - -
- ANTLR - Complex full-featured framework for top-down parsing.--
- JavaCC - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.--
- JFlex - Lexical analyzer generator.--
+ -### Computer Vision +### Development -_Libraries which seek to gain high level information from images and videos._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | +| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | GitHub stars | Last commit | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | GitHub stars | Last commit | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | GitHub stars | Last commit | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | GitHub stars | Last commit | +| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | GitHub stars | Last commit | +| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | GitHub stars | Last commit | +| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | + +### Distributed Applications - - - - - - - - - - - - - - - - - - - - - - -
- BoofCV - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more.--
- ImageJ - Medical image processing application with an API.--
- JavaCV - Java interface to OpenCV, FFmpeg, and much more.GitHub starsLast commit
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | +| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | +| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | +| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | GitHub stars | Last commit | +| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | GitHub stars | Last commit | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | GitHub stars | Last commit | +| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | GitHub stars | Last commit | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | GitHub stars | Last commit | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | GitHub stars | Last commit | +| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | GitHub stars | Last commit | -### Configuration + -_Libraries that provide external configuration._ +### Distributed Transactions +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | GitHub stars | Last commit | +| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | +| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | GitHub stars | Last commit | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- avaje config - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.--
- centraldogma - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.GitHub starsLast commit
- config - Configuration library supporting Java properties, JSON or its human optimized superset HOCON.GitHub starsLast commit
- Configurate - Configuration library with support for various configuration formats and transformations.GitHub starsLast commit
- Curator Framework - High-level API for Apache ZooKeeper.--
- dotenv - Twelve-factor configuration library which uses environment-specific files.GitHub starsLast commit
- Externalized Properties - Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism.GitHub starsLast commit
- 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.GitHub starsLast commit
- ini4j - Provides an API for handling Windows' INI files.--
- KAConf - Annotation-based configuration system for Java and Kotlin.GitHub starsLast commit
- microconfig - 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 - Reduces boilerplate of properties.GitHub starsLast commit
+### Distribution -### Constraint Satisfaction Problem Solver +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | GitHub stars | Last commit | +| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | GitHub stars | Last commit | +| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | +| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | GitHub stars | Last commit | +| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | GitHub stars | Last commit | +| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | GitHub stars | Last commit | +| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | GitHub stars | Last commit | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | GitHub stars | Last commit | -_Libraries that help with implementing optimization and satisfiability problems._ + +### Document Processing +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | +| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | GitHub stars | Last commit | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | GitHub stars | Last commit | - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Choco - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.--
- JaCoP - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0)GitHub starsLast commit
- OptaPlanner - Business planning and resource scheduling optimization solver.--
- Timefold - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.--
+ -### CSV +### Financial -_Frameworks and libraries that simplify reading/writing CSV data._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | GitHub stars | Last commit | +| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | GitHub stars | Last commit | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | GitHub stars | Last commit | +| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | GitHub stars | Last commit | +| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | GitHub stars | Last commit | +| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | GitHub stars | Last commit | + +### Formal Verification - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- FastCSV - Performance-optimized, dependency-free and RFC 4180 compliant.GitHub starsLast commit
- jackson-dataformat-csv - Jackson extension for reading and writing CSV.GitHub starsLast commit
- opencsv - Simple CSV parser.--
- Super CSV - Powerful CSV parser with support for Dozer, Joda-Time and Java 8.--
- uniVocity-parsers - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.GitHub starsLast commit
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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) | - | - | -### Data Structures + -_Efficient and specific data structures._ +### Functional Programming +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | GitHub stars | Last commit | +| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | GitHub stars | Last commit | +| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | GitHub stars | Last commit | +| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | GitHub stars | Last commit | +| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Avro - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.--
- Apache Orc - Fast and efficient columnar storage format for Hadoop-based workloads.--
- Apache Parquet - Columnar storage format based on assembly algorithms from Google's paper on Dremel.--
- Apache Thrift - Data interchange format that originated at Facebook.--
- Big Queue - Fast and persistent queue based on memory-mapped files.GitHub starsLast commit
- HyperMinHash-java - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space.GitHub starsLast commit
- Persistent Collection - Persistent and immutable analogue of the Java Collections Framework.GitHub starsLast commit
- Protobuf - Google's data interchange format.GitHub starsLast commit
- RoaringBitmap - Fast and efficient compressed bitmap.GitHub starsLast commit
- SBE - Simple Binary Encoding, one of the fastest message formats around.GitHub starsLast commit
- Tape - Lightning-fast, transactional, file-based FIFO.GitHub starsLast commit
- Wire - Clean, lightweight protocol buffers.GitHub starsLast commit
+### Game Development -### Database +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | +| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | +| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | +| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | +| [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. | GitHub stars | Last commit | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | GitHub stars | Last commit | -_Everything that simplifies interactions with the database._ + +### Geospatial +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | +| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | GitHub stars | Last commit | +| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | GitHub stars | Last commit | +| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | GitHub stars | Last commit | +| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | GitHub stars | Last commit | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Calcite - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system.--
- Apache Drill - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration.--
- Apache Phoenix - High-performance relational database layer over HBase for low-latency applications.--
- ArangoDB - ArangoDB Java driver.GitHub starsLast commit
- Chronicle Map - Efficient, in-memory (opt. persisted to disk), off-heap key-value store.GitHub starsLast commit
- Debezium - Low latency data streaming platform for change data capture.--
- druid - High-performance, column-oriented, distributed data store.--
- eXist - NoSQL document database and application platform. (LGPL-2.1-only)GitHub starsLast commit
- FlexyPool - Brings metrics and failover strategies to the most common connection pooling solutions.GitHub starsLast commit
- Flyway - Simple database migration tool.--
- H2 - Small SQL database notable for its in-memory functionality.--
- HikariCP - High-performance JDBC connection pool.GitHub starsLast commit
- HSQLDB - HyperSQL 100% Java database.--
- JDBI - Convenient abstraction of JDBC.--
- Jedis - Small client for interaction with Redis, with methods for commands.GitHub starsLast commit
- Jest - Client for the Elasticsearch REST API.GitHub starsLast commit
- jetcd - Client library for etcd.GitHub starsLast commit
- Jinq - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).GitHub starsLast commit
- jOOQ - Generates typesafe code based on SQL schema.--
- Leaf - Distributed ID generate service.GitHub starsLast commit
- Lettuce - Lettuce is a scalable Redis client for building non-blocking Reactive applications.--
- Liquibase - Database-independent library for tracking, managing and applying database schema changes.--
- MapDB - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory.--
- MariaDB4j - Launcher for MariaDB that requires no installation or external dependencies.GitHub starsLast commit
- Modality - Lightweight ORM with database reverse engineering features.GitHub starsLast commit
- OpenDJ - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities.GitHub starsLast commit
- Querydsl - Typesafe unified queries.--
- QueryStream - Build JPA Criteria queries using a Stream-like API.GitHub starsLast commit
- QuestDB - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.GitHub starsLast commit
- Realm - Mobile database to run directly inside phones, tablets or wearables.GitHub starsLast commit
- Redisson - Allows for distributed and scalable data structures on top of a Redis server.GitHub starsLast commit
- requery - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.GitHub starsLast commit
- Speedment - Database access library that utilizes Java 8's Stream API for querying.GitHub starsLast commit
- Spring Data JPA MongoDB Expressions - Allows you to use MongoDB query language to query your relational database.GitHub starsLast commit
- Trino - Distributed SQL query engine for big data.--
- Vibur DBCP - JDBC connection pool library with advanced performance monitoring capabilities.--
- Xodus - Highly concurrent transactional schema-less and ACID-compliant embedded database.GitHub starsLast commit
- CosId - Universal, flexible, high-performance distributed ID generator.GitHub starsLast commit
+ -### Date and Time +### GUI -_Libraries related to handling date and time._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | GitHub stars | Last commit | +| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | + +### High Performance - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- iCal4j - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models.GitHub starsLast commit
- Jollyday - Determines the holidays for a given year, country/name and eventually state/region.GitHub starsLast commit
- ThreeTen-Extra - Additional date-time classes that complement those in JDK 8.GitHub starsLast commit
- Time4J - Advanced date and time library. (LGPL-2.1-only)GitHub starsLast commit
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | GitHub stars | Last commit | +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | GitHub stars | Last commit | +| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | GitHub stars | Last commit | +| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | GitHub stars | Last commit | -### Dependency Injection + -_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ +### HTTP Clients +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | GitHub stars | Last commit | +| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | GitHub stars | Last commit | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache DeltaSpike - CDI extension framework.--
- Avaje Inject - Microservice-focused compile-time injection framework without reflection.--
- Dagger - Compile-time injection framework without reflection.--
- Feather - Ultra-lightweight, JSR-330-compliant dependency injection library.GitHub starsLast commit
- Governator - Extensions and utilities that enhance Google Guice.GitHub starsLast commit
- Guice - Lightweight and opinionated framework that completes Dagger.GitHub starsLast commit
- HK2 - Lightweight and dynamic dependency injection framework.--
- JayWire - Lightweight dependency injection framework. (LGPL-3.0-only)GitHub starsLast commit
+### Hypermedia Types -### Development +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | GitHub stars | Last commit | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | GitHub stars | Last commit | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | -_Augmentation of the development process at a fundamental level._ + +### IDE +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | +| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | +| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- AspectJ - Seamless aspect-oriented programming extension.--
- DCEVM - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only)--
- Faux Pas - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions.GitHub starsLast commit
- HotswapAgent - Unlimited runtime class and resource redefinition. (GPL-2.0-only)GitHub starsLast commit
- JavaParser - Parse, modify and generate Java code.GitHub starsLast commit
- JavaSymbolSolver - Symbol solver.GitHub starsLast commit
- Manifold - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.GitHub starsLast commit
- NoException - Allows checked exceptions in functional interfaces and converts exceptions to Optional return.--
- SneakyThrow - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations.GitHub starsLast commit
- Tail - Enable infinite recursion using tail call optimization.--
+ -### Distributed Applications +### Imagery -_Libraries and frameworks for writing distributed and fault-tolerant applications._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | GitHub stars | Last commit | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | GitHub stars | Last commit | +| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | GitHub stars | Last commit | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | GitHub stars | Last commit | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | GitHub stars | Last commit | +| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | GitHub stars | Last commit | +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | + +### Introspection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Geode - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.--
- Apache Storm - Realtime computation system.--
- Apache ZooKeeper - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems.--
- Atomix - Fault-tolerant distributed coordination framework.--
- Axon - Framework for creating CQRS applications.--
- Dropwizard Circuit Breaker - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only)GitHub starsLast commit
- Failsafe - Simple failure handling with retries and circuit breakers.GitHub starsLast commit
- Hazelcast - Highly scalable in-memory datagrid with a free open-source version.GitHub starsLast commit
- JGroups - Toolkit for reliable messaging and cluster creation.--
- Quasar - Lightweight threads and actors for the JVM.--
- resilience4j - Functional fault tolerance library.GitHub starsLast commit
- OpenIG - High-performance reverse proxy server with specialized session management and credential replay functionality.GitHub starsLast commit
- ScaleCube Services - Embeddable Cluster-Membership library based on SWIM and gossip protocol.GitHub starsLast commit
- Zuul - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more.GitHub starsLast commit
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | GitHub stars | Last commit | +| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | GitHub stars | Last commit | +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | +| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | GitHub stars | Last commit | +| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | GitHub stars | Last commit | -### Distributed Transactions + -_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ +### Job Scheduling +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | GitHub stars | Last commit | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | GitHub stars | Last commit | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | GitHub stars | Last commit | +| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | GitHub stars | Last commit | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Atomikos - Provides transactions for REST, SOA and microservices with support for JTA and XA.--
- Bitronix - Simple but complete implementation of the JTA 1.1 API.GitHub starsLast commit
- Narayana - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only)--
- Seata - Delivers high performance and easy to use distributed transaction services under a microservices architecture.GitHub starsLast commit
+### JSON -### Distribution +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | GitHub stars | Last commit | +| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | +| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | GitHub stars | Last commit | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | GitHub stars | Last commit | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | GitHub stars | Last commit | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | GitHub stars | Last commit | +| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | GitHub stars | Last commit | +| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | GitHub stars | Last commit | +| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | GitHub stars | Last commit | +| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | GitHub stars | Last commit | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | GitHub stars | Last commit | +| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | GitHub stars | Last commit | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | GitHub stars | Last commit | +| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | GitHub stars | Last commit | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | GitHub stars | Last commit | -_Tools that handle the distribution of applications in native formats._ + +### JVM and JDK +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | - | - | +| [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. | GitHub stars | Last commit | +| [Graal](https://github.com/oracle/graal) | Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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) | GitHub stars | Last commit | +| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | GitHub stars | Last commit | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Artipie - Binary artifact management toolkit which hosts them on the file system or S3.GitHub starsLast commit
- Capsule - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.GitHub starsLast commit
- Central Repository - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools.--
- Getdown - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start.GitHub starsLast commit
- IzPack - Setup authoring tool for cross-platform deployments.--
- JavaPackager - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them.GitHub starsLast commit
- jDeploy - Deploy desktop apps as native Mac, Windows or Linux bundles.--
- jlink.online - Builds optimized runtimes over HTTP.GitHub starsLast commit
- packr - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS.GitHub starsLast commit
- really-executable-jars-maven-plugin - Maven plugin for making self-executing JARs.GitHub starsLast commit
+ -### Document Processing +### Logging -_Libraries that assist with processing office document formats._ +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | GitHub stars | Last commit | +| [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. | - | - | +| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | GitHub stars | Last commit | +| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache POI - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT).--
- documents4j - API for document format conversion using third-party converters such as MS Word.--
- docx4j - Create and manipulate Microsoft Open XML files.--
- fastexcel - High performance library to read and write large Excel (XLSX) worksheets.GitHub starsLast commit
- zerocell - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.GitHub starsLast commit
+| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | +| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | +| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | +| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | GitHub stars | Last commit | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | GitHub stars | Last commit | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | GitHub stars | Last commit | +| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | GitHub stars | Last commit | +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | GitHub stars | Last commit | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | GitHub stars | Last commit | +| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | GitHub stars | Last commit | +| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | -### Financial + -_Libraries related to the financial domain._ +### Messaging +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | GitHub stars | Last commit | +| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | +| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | +| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | +| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | GitHub stars | Last commit | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | GitHub stars | Last commit | +| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | GitHub stars | Last commit | +| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | GitHub stars | Last commit | +| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | GitHub stars | Last commit | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | GitHub stars | Last commit | +| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | GitHub stars | Last commit | +| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | GitHub stars | Last commit | + + +### Microservice + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | +| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | GitHub stars | Last commit | +| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | GitHub stars | Last commit | +| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | GitHub stars | Last commit | +| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | GitHub stars | Last commit | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | GitHub stars | Last commit | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | GitHub stars | Last commit | +| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | +| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | GitHub stars | Last commit | +| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | GitHub stars | Last commit | + + + +### Miscellaneous + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | GitHub stars | Last commit | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | GitHub stars | Last commit | +| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | GitHub stars | Last commit | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | GitHub stars | Last commit | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | GitHub stars | Last commit | +| [JBake](https://jbake.org) | Static website generator. | - | - | +| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | GitHub stars | Last commit | +| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | GitHub stars | Last commit | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | GitHub stars | Last commit | +| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | +| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | GitHub stars | Last commit | +| [JPad](http://jpad.io) | Snippet runner. | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | GitHub stars | Last commit | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | GitHub stars | Last commit | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | GitHub stars | Last commit | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | GitHub stars | Last commit | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | GitHub stars | Last commit | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | GitHub stars | Last commit | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | GitHub stars | Last commit | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | GitHub stars | Last commit | +| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | GitHub stars | Last commit | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | GitHub stars | Last commit | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | GitHub stars | Last commit | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | GitHub stars | Last commit | +| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | GitHub stars | Last commit | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | GitHub stars | Last commit | +| [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | +| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | GitHub stars | Last commit | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | GitHub stars | Last commit | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | GitHub stars | Last commit | +| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | GitHub stars | Last commit | +| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | GitHub stars | Last commit | + + + +### Mobile Development + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | + + + +### Monitoring + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | GitHub stars | Last commit | +| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | GitHub stars | Last commit | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | GitHub stars | Last commit | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | GitHub stars | Last commit | +| [Glowroot](https://glowroot.org) | Open-source Java APM. | - | - | +| [HertzBeat](https://github.com/dromara/hertzbeat) | Real-time monitoring system with custom-monitor and agentless. | GitHub stars | Last commit | +| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic and observable thread pool framework. | GitHub stars | Last commit | +| [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. | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | GitHub stars | Last commit | +| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | GitHub stars | Last commit | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | GitHub stars | Last commit | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | GitHub stars | Last commit | +| [Pinpoint](https://github.com/naver/pinpoint) | Open-source APM tool. | GitHub stars | Last commit | +| [Prometheus](https://github.com/prometheus/client_java) | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. | GitHub stars | Last commit | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | GitHub stars | Last commit | +| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | GitHub stars | Last commit | +| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | + + + +### Native + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | GitHub stars | Last commit | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | GitHub stars | Last commit | +| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | GitHub stars | Last commit | +| [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). | GitHub stars | Last commit | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | GitHub stars | Last commit | + + + +### Natural Language Processing + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | GitHub stars | Last commit | +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | +| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | GitHub stars | Last commit | +| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | + + + +### Networking + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | GitHub stars | Last commit | +| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | GitHub stars | Last commit | +| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | GitHub stars | Last commit | +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | +| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | GitHub stars | Last commit | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | GitHub stars | Last commit | +| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | +| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | +| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | GitHub stars | Last commit | +| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | GitHub stars | Last commit | +| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | GitHub stars | Last commit | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | GitHub stars | Last commit | +| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | +| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | GitHub stars | Last commit | +| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | GitHub stars | Last commit | + + + +### ORM + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | +| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | GitHub stars | Last commit | +| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | +| [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. | GitHub stars | Last commit | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | GitHub stars | Last commit | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | GitHub stars | Last commit | +| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | GitHub stars | Last commit | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | GitHub stars | Last commit | + + + +### Pathfinding + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | GitHub stars | Last commit | + + + +### PDF + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | GitHub stars | Last commit | +| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | GitHub stars | Last commit | +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | GitHub stars | Last commit | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | GitHub stars | Last commit | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | GitHub stars | Last commit | + + + +### Performance analysis + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | GitHub stars | Last commit | +| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | GitHub stars | Last commit | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | GitHub stars | Last commit | +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | GitHub stars | Last commit | + + + +### Platform > Apache Commons + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | + + + +### Platform > Other + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | GitHub stars | Last commit | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | GitHub stars | Last commit | +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | + + + +### Processes + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | GitHub stars | Last commit | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | GitHub stars | Last commit | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | GitHub stars | Last commit | + + + +### Reactive libraries + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | GitHub stars | Last commit | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | GitHub stars | Last commit | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | GitHub stars | Last commit | +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | + + + +### REST Frameworks + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | GitHub stars | Last commit | +| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | GitHub stars | Last commit | +| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | +| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | GitHub stars | Last commit | +| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | + + + +### Science + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | GitHub stars | Last commit | +| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | GitHub stars | Last commit | +| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | GitHub stars | Last commit | +| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | GitHub stars | Last commit | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | GitHub stars | Last commit | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | GitHub stars | Last commit | +| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | GitHub stars | Last commit | +| [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | GitHub stars | Last commit | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | GitHub stars | Last commit | +| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | GitHub stars | Last commit | + + + +### Search + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | GitHub stars | Last commit | + + + +### Security + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | GitHub stars | Last commit | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | GitHub stars | Last commit | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | GitHub stars | Last commit | +| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | GitHub stars | Last commit | +| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | GitHub stars | Last commit | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | GitHub stars | Last commit | +| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | GitHub stars | Last commit | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | GitHub stars | Last commit | +| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | GitHub stars | Last commit | +| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | +| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | GitHub stars | Last commit | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Tink](https://github.com/google/tink) | Provides a simple and misuse-proof API for common cryptographic tasks. | GitHub stars | Last commit | +| [Topaz](https://www.topaz.sh) | Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. | - | - | + + + +### Serialization + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | GitHub stars | Last commit | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | GitHub stars | Last commit | +| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | GitHub stars | Last commit | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | GitHub stars | Last commit | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | GitHub stars | Last commit | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | GitHub stars | Last commit | + + + +### Server + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | GitHub stars | Last commit | +| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | + + + +### Template Engine + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | GitHub stars | Last commit | +| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | GitHub stars | Last commit | +| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | GitHub stars | Last commit | +| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | + + + +### Testing > Asynchronous + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | GitHub stars | Last commit | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | GitHub stars | Last commit | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | GitHub stars | Last commit | +| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | GitHub stars | Last commit | +| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | GitHub stars | Last commit | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | GitHub stars | Last commit | + + + +### Testing > BDD + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | GitHub stars | Last commit | +| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | GitHub stars | Last commit | +| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | GitHub stars | Last commit | +| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | +| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | GitHub stars | Last commit | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | GitHub stars | Last commit | + + + +### Testing > Fixtures + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | GitHub stars | Last commit | +| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | GitHub stars | Last commit | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | GitHub stars | Last commit | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | GitHub stars | Last commit | +| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | GitHub stars | Last commit | +| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | GitHub stars | Last commit | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | GitHub stars | Last commit | +| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | GitHub stars | Last commit | +| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | GitHub stars | Last commit | +| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | GitHub stars | Last commit | + + + +### Testing > Frameworks + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | + + + +### Testing > Matchers + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | GitHub stars | Last commit | +| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | GitHub stars | Last commit | + + + +### Testing > Miscellaneous + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | GitHub stars | Last commit | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | GitHub stars | Last commit | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | GitHub stars | Last commit | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | GitHub stars | Last commit | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | GitHub stars | Last commit | +| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | + + + +### Testing > Mocking + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | +| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | GitHub stars | Last commit | +| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | +| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | GitHub stars | Last commit | +| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | GitHub stars | Last commit | +| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | +| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | GitHub stars | Last commit | + + + +### Utility + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | GitHub stars | Last commit | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | GitHub stars | Last commit | +| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | GitHub stars | Last commit | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | GitHub stars | Last commit | +| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | GitHub stars | Last commit | +| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | GitHub stars | Last commit | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | GitHub stars | Last commit | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | GitHub stars | Last commit | +| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | GitHub stars | Last commit | +| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | GitHub stars | Last commit | +| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | GitHub stars | Last commit | +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | GitHub stars | Last commit | +| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | GitHub stars | Last commit | +| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | GitHub stars | Last commit | +| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | GitHub stars | Last commit | +| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | GitHub stars | Last commit | + + + +### Version Managers + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | GitHub stars | Last commit | +| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | GitHub stars | Last commit | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | GitHub stars | Last commit | + + + +### Web Crawling + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | GitHub stars | Last commit | +| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | +| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | GitHub stars | Last commit | + + + +### Web Frameworks + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | +| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | GitHub stars | Last commit | +| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | +| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | +| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | +| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | +| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | +| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | +| [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. | GitHub stars | Last commit | +| [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. | - | - | +| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | + + + +### Workflow Orchestration Engines + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | GitHub stars | Last commit | +| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Cassandre - Trading bot framework.GitHub starsLast commit
- Parity - Platform for trading venues.GitHub starsLast commit
- Philadelphia - Low-latency financial information exchange.GitHub starsLast commit
- Square - Integration with the Square API.GitHub starsLast commit
- Stripe - Integration with the Stripe API.GitHub starsLast commit
- ta4j - Library for technical analysis.GitHub starsLast commit
+### Artificial Intelligence + +_Frameworks that help you to leverage LLMs and AI._ + +### Bean Mapping + +_Frameworks that ease bean mapping._ + +### Build + +_Tools that handle the build cycle and dependencies of an application._ + +### Bytecode Manipulation + +_Libraries to manipulate bytecode programmatically._ + +### Caching + +_Libraries that provide caching facilities._ + +### CLI + +_Libraries for everything related to the CLI._ + +#### Argument Parsing + +_Libraries to assist with parsing command line arguments._ + +#### Text-Based User Interfaces + +_Libraries that provide TUI frameworks, or building blocks related functions._ + +### Cloud + +_Libraries to integrate or use cloud-specific features._ + +### Code Analysis + +_Tools that provide metrics and quality measurements._ + +### Code Coverage + +_Frameworks and tools that enable code coverage metrics collection for test suites._ + +### Code Generators + +_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ + +### Compiler-compiler + +_Frameworks that help to create parsers, interpreters or compilers._ + +### Computer Vision + +_Libraries which seek to gain high level information from images and videos._ + +### Configuration + +_Libraries that provide external configuration._ + +### Constraint Satisfaction Problem Solver + +_Libraries that help with implementing optimization and satisfiability problems._ + +### CSV + +_Frameworks and libraries that simplify reading/writing CSV data._ + +### Data Structures + +_Efficient and specific data structures._ + +### Database + +_Everything that simplifies interactions with the database._ + +### Date and Time + +_Libraries related to handling date and time._ + +### Dependency Injection + +_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ + +### Development + +_Augmentation of the development process at a fundamental level._ + +### Distributed Applications + +_Libraries and frameworks for writing distributed and fault-tolerant applications._ + +### Distributed Transactions + +_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ + +### Distribution + +_Tools that handle the distribution of applications in native formats._ + +### Document Processing + +_Libraries that assist with processing office document formats._ + +### Financial + +_Libraries related to the financial domain._ + ### Formal Verification _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- CATG - Concolic unit testing engine. Automatically generates unit tests using formal methods.GitHub starsLast commit
- Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)--
- Daikon - Detects likely program invariants and generates JML specs based on those invariants.--
- Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA.GitHub starsLast commit
- JMLOK 2.0 - 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 - 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 - 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 _Libraries that facilitate functional programming._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Cyclops - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.GitHub starsLast commit
- derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only)GitHub starsLast commit
- Fugue - Functional extensions to Guava.--
- Functional Java - Implements numerous basic and advanced programming abstractions that assist composition-oriented development.--
- jOOλ - 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.GitHub starsLast commit
- Packrat - Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.GitHub starsLast commit
- protonpack - Collection of stream utilities.GitHub starsLast commit
- StreamEx - Enhances Java 8 Streams.GitHub starsLast commit
- Vavr - Functional component library that provides persistent data types and functional control structures.--
- ### Game Development _Frameworks that support the development of games._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- FXGL - JavaFX Game Development Framework.--
- JBox2D - Port of the renowned C++ 2D physics engine.--
- jMonkeyEngine - Game engine for modern 3D development.--
- libGDX - All-round cross-platform, high-level framework.--
- Litiengine - AWT-based, lightweight 2D game engine.--
- LWJGL - Robust framework that abstracts libraries like OpenGL/CL/AL.--
- Mini2Dx - Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games.--
- Void2D - High-level 2D game engine with built-in physics based on Swing.GitHub starsLast commit
- vulkan4j - Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.GitHub starsLast commit
- ### Geospatial _Libraries for working with geospatial data and algorithms._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache SIS - Library for developing geospatial applications.--
- Geo - GeoHash utilities in Java.GitHub starsLast commit
- GeoTools - Library that provides tools for geospatial data. (LGPL-2.1-only)--
- GraphHopper - Road-routing engine. Used as a Java library or standalone web service.GitHub starsLast commit
- H2GIS - Spatial extension of the H2 database. (LGPL-3.0-only)--
- Jgeohash - Library for using the GeoHash algorithm.--
- Mapsforge - Map rendering based on OpenStreetMap data. (LGPL-3.0-only)GitHub starsLast commit
- Spatial4j - General-purpose spatial/geospatial library.GitHub starsLast commit
- ### GUI _Libraries to create modern graphical user interfaces._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- JavaFX - Successor of Swing.--
- Scene Builder - Visual layout tool for JavaFX applications.--
- SnapKit - Modern Java UI library for both desktop and web.GitHub starsLast commit
- SWT - Graphical widget toolkit.--
- ### High Performance _Everything about high-performance computation, from collections to specific libraries._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Agrona - Data structures and utility methods that are common in high-performance applications.GitHub starsLast commit
- Disruptor - Inter-thread messaging library.--
- Eclipse Collections - Collections framework inspired by Smalltalk.GitHub starsLast commit
- fastutil - Fast and compact type-specific collections.--
- HPPC - Primitive collections.--
- JCTools - Concurrency tools currently missing from the JDK.GitHub starsLast commit
- Koloboke - Carefully designed extension of the Java Collections Framework with primitive specializations and more.GitHub starsLast commit
- ### HTTP Clients _Libraries that assist with creating HTTP requests and/or binding responses._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache HttpComponents - Toolset of low-level Java components focused on HTTP and associated protocols.--
- Async Http Client - Asynchronous HTTP and WebSocket client library.GitHub starsLast commit
- Avaje Http Client - Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements.--
- Feign - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.GitHub starsLast commit
- Google HTTP Client - Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.GitHub starsLast commit
- methanol - HTTP client extensions library.GitHub starsLast commit
- Retrofit - Typesafe REST client.--
- Ribbon - Client-side IPC library that is battle-tested in the cloud.GitHub starsLast commit
- Riptide - Client-side response routing for Spring's RestTemplate.GitHub starsLast commit
- unirest-java - Simplified, lightweight HTTP client library.GitHub starsLast commit
- ### Hypermedia Types _Libraries that handle serialization to hypermedia types._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- hate - Builds hypermedia-friendly objects according to HAL specification.GitHub starsLast commit
- JSON-LD - JSON-LD implementation.GitHub starsLast commit
- Siren4J - Library for the Siren specification.GitHub starsLast commit
- Spring HATEOAS - Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.GitHub starsLast commit
- ### IDE _Integrated development environments that try to simplify several aspects of development._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Eclipse - Established open-source project with support for lots of plugins and languages.--
- jGRASP - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer.--
- NetBeans - Provides integration for several Java SE and EE features, from database access to HTML5.--
- SnapCode - Modern IDE for Java running in the browser, focused on education.--
- Visual Studio Code - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace.--
- ### Imagery _Libraries that assist with the creation, evaluation or manipulation of graphical images._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Barcode-Lib4J - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support.GitHub starsLast commit
- Imgscalr - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.GitHub starsLast commit
- Tess4J - JNA wrapper for Tesseract OCR API.GitHub starsLast commit
- Thumbnailator - High-quality thumbnail generation library.GitHub starsLast commit
- TwelveMonkeys - Collection of plugins that extend the number of supported image file formats.GitHub starsLast commit
- ZXing - Multi-format 1D/2D barcode image processing library.GitHub starsLast commit
- 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.GitHub starsLast commit
- vips-ffm - Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.GitHub starsLast commit
- scrimage - Immutable, functional, and performant JVM library for manipulation of images.--
- ### Introspection _Libraries that help make the Java introspection and reflection API easier and faster to use._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ClassGraph - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.GitHub starsLast commit
- jOOR - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.GitHub starsLast commit
- Mirror - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks.--
- Objenesis - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions.--
- ReflectASM - ReflectASM is a very small Java library that provides high performance reflection by using code generation.GitHub starsLast commit
- Reflections - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.GitHub starsLast commit
- ### Job Scheduling _Libraries for scheduling background jobs._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 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.GitHub starsLast commit
- Quartz - Feature-rich, open source job scheduling library that can be integrated within virtually any Java application.GitHub starsLast commit
- Sundial - Lightweight framework to simply define jobs, define triggers and start the scheduler.GitHub starsLast commit
- Wisp - Simple library with minimal footprint and straightforward API.GitHub starsLast commit
- db-scheduler - Persistent and cluster-friendly scheduler.GitHub starsLast commit
- 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.GitHub starsLast commit
- 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.GitHub starsLast commit
- ### JSON _Libraries for serializing and deserializing JSON to and from Java objects._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Avaje Jsonb - Reflection-free Json binding via source code generation with Jackson-like annotations.--
- DSL-JSON - JSON library with advanced compile time databinding.GitHub starsLast commit
- Genson - Powerful and easy-to-use Java-to-JSON conversion library.--
- Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage.GitHub starsLast commit
- HikariJSON - High-performance JSON parser, 2x faster than Jackson.GitHub starsLast commit
- jackson-modules-java8 - Set of Jackson modules for Java 8 datatypes and features.GitHub starsLast commit
- Jackson-datatype-money - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.GitHub starsLast commit
- Jackson - Similar to GSON, but offers performance gains if you need to instantiate the library more often.GitHub starsLast commit
- JSON-io - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.GitHub starsLast commit
- jsoniter - Fast and flexible library with iterator and lazy parsing API.--
- LoganSquare - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library.GitHub starsLast commit
- Moshi - Modern JSON library, less opinionated and uses built-in types like List and Map.GitHub starsLast commit
- Yasson - Binding layer between classes and JSON documents similar to JAXB.GitHub starsLast commit
- fastjson - Very fast processor with no additional dependencies and full data binding.GitHub starsLast commit
- Jolt - JSON to JSON transformation tool.GitHub starsLast commit
- JsonPath - Extract data from JSON using XPATH-like syntax.GitHub starsLast commit
- JsonSurfer - Streaming JsonPath processor dedicated to processing big and complicated JSON data.GitHub starsLast commit
- ### JVM and JDK _Current implementations of the JVM/JDK._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Which JDK - Overview of common JVMs with pros and cons.--
- Adopt Open JDK - Community-driven OpenJDK builds, including both HotSpot and OpenJ9.--
- Corretto - No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)--
- Dragonwell8 - Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.GitHub starsLast commit
- Graal - Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
- Liberica JDK - Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)--
- 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.GitHub starsLast commit
- Open JDK - Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)--
- ParparVM - VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
- RedHat Open JDK - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)--
- SAP Machine - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0)--
- Zulu - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)--
- Microsoft JDK - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed!GitHub starsLast commit
- ### Logging _Libraries that log the behavior of an application._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Log4j 2 - Complete rewrite with a powerful plugin and configuration architecture.--
- 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.GitHub starsLast commit
- 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.GitHub starsLast commit
- Logstash - Tool for managing log files.--
- p6spy - Enables logging for all JDBC transactions without changes to the code.GitHub starsLast commit
- 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.GitHub starsLast commit
- 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 _Tools that provide specific statistical algorithms for learning from data._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Flink - Fast, reliable, large-scale data processing engine.--
- Apache Mahout - Scalable algorithms focused on collaborative filtering, clustering and classification.--
- DatumBox - Provides several algorithms and pre-trained models for natural language processing.--
- Deeplearning4j - Distributed and multi-threaded deep learning library.--
- DJL - High-level and engine-agnostic framework for deep learning.--
- Intelligent java - Seamlessly integrate with remote deep learning and language models programmatically.GitHub starsLast commit
- JSAT - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only)GitHub starsLast commit
- m2cgen - CLI tool to transpile models into native code.GitHub starsLast commit
- Neureka - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library.GitHub starsLast commit
- oj! Algorithms - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing.--
- Oryx 2 - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering.GitHub starsLast commit
- Siddhi - Cloud native streaming and complex event processing engine.GitHub starsLast commit
- Smile - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.GitHub starsLast commit
- Tribuo - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow.--
- Weka - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)--
- ### Messaging _Tools that help send messages between clients to ensure protocol independency._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Aeron - Efficient, reliable, unicast and multicast message transport.GitHub starsLast commit
- Apache ActiveMQ - Message broker that implements JMS and converts synchronous to asynchronous communication.--
- Apache Camel - Glues together different transport APIs via Enterprise Integration Patterns.--
- Apache Kafka - High-throughput distributed messaging system.--
- Apache Pulsar - Distributed pub/sub-messaging system.--
- Apache RocketMQ - Fast, reliable, and scalable distributed messaging platform.--
- Apache Qpid - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms.--
- AutoMQ - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective.GitHub starsLast commit
- Deezpatch - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers.GitHub starsLast commit
- EventBus - Simple publish/subscribe event bus.GitHub starsLast commit
- Hermes - Fast and reliable message broker built on top of Kafka.--
- JeroMQ - Implementation of ZeroMQ.GitHub starsLast commit
- Nakadi - Provides a RESTful API on top of Kafka.GitHub starsLast commit
- RabbitMQ Java client - RabbitMQ client.GitHub starsLast commit
- Smack - Cross-platform XMPP client library.GitHub starsLast commit
- NATS client - NATS client.GitHub starsLast commit
- ### Microservice _Tools for creating and managing microservices._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ActiveRPC - Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions.--
- Armeria - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.GitHub starsLast commit
- consul-api - Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.GitHub starsLast commit
- Eureka - REST-based service registry for resilient load balancing and failover.GitHub starsLast commit
- Helidon - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile.--
- JDA - Wrapping of the Discord REST API and its WebSocket events.GitHub starsLast commit
- KeenType - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX.GitHub starsLast commit
- kubernetes-client - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.GitHub starsLast commit
- Micronaut - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time.--
- Nacos - Dynamic service discovery, configuration and service management platform for building cloud native applications.--
- OpenAI-Java - Java libraries for using OpenAI's GPT-3 API.GitHub starsLast commit
- Quarkus - Kubernetes stack tailored for the HotSpot and Graal VM.--
- Sentinel - Flow control component enabling reliability, resilience and monitoring for microservices.GitHub starsLast commit
- ### Miscellaneous _Everything else._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- CQEngine - Ultra-fast, SQL-like queries on Java collections.GitHub starsLast commit
- Design Patterns - Implementation and explanation of the most common design patterns.GitHub starsLast commit
- FF4J - Feature Flags for Java.GitHub starsLast commit
- FizzBuzz Enterprise Edition - No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)GitHub starsLast commit
- IP2Location.io Java SDK - Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.GitHub starsLast commit
- ISBN core - A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.GitHub starsLast commit
- J2ObjC - Java-to-Objective-C translator for porting Android libraries to iOS.GitHub starsLast commit
- JBake - Static website generator.--
- JBot - Framework for building chatbots. (GPL-3.0-only)GitHub starsLast commit
- JCuda - JCuda offers Java bindings for CUDA and CUDA-related libraries.--
- JEmoji - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.GitHub starsLast commit
- Jimfs - In-memory file system.GitHub starsLast commit
- Joda-Money - Basic currency and money classes and algorithms not provided by the JDK.--
- jOOX - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery.GitHub starsLast commit
- JPad - Snippet runner.--
- jsweet - Source transpiler to TypeScript/JavaScript.GitHub starsLast commit
- Maven Wrapper - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven.GitHub starsLast commit
- Membrane Service Proxy - Open-source, reverse-proxy framework.GitHub starsLast commit
- MinimalFTP - Lightweight, small and customizable FTP server.GitHub starsLast commit
- LittleProxy - High performance HTTP proxy atop Netty's event-based networking library.GitHub starsLast commit
- Modern Java - A Guide to Java 8 - Popular Java 8 guide.GitHub starsLast commit
- Modernizer - Detect uses of legacy Java APIs.GitHub starsLast commit
- OctoLinker - Browser extension which allows to navigate through code on GitHub more efficiently.GitHub starsLast commit
- OpenRefine - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases.--
- PipelinR - Small utility library for using handlers and commands with pipelines.GitHub starsLast commit
- Polyglot for Maven - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.GitHub starsLast commit
- RR4J - RR4J is a tool that records java bytecode execution and later allows developers to replay locally.GitHub starsLast commit
- Simple Java Mail - Mailing with a clean and fluent API.GitHub starsLast commit
- Smooks - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)GitHub starsLast commit
- Svix - Library for the Svix API to send webhooks and verify signatures.GitHub starsLast commit
- Togglz - Implementation of the Feature Toggles pattern.--
- TypeTools - Tools for resolving generic types.GitHub starsLast commit
- webcam-capture - Library for using built-in and external webcams directly in Java.GitHub starsLast commit
- XMLBeam - Processes XML by using annotations or XPath within code.GitHub starsLast commit
- yGuard - Obfuscation via renaming and shrinking.GitHub starsLast commit
- JBang - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly.GitHub starsLast commit
- ### Mobile Development _Tools for creating or managing mobile applications._ - - - - - - - - - - - - - - - - - - - - - - - - -
- Codename One - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0)--
- MobileUI - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin.--
- Multi-OS Engine - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.--
- ### Monitoring _Tools that observe/monitor applications in production by providing telemetry._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apitally - Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.GitHub starsLast commit
- Automon - Combines the power of AOP with monitoring and/or logging tools.GitHub starsLast commit
- Dropwizard Metrics - Expose metrics via JMX or HTTP and send them to a database.GitHub starsLast commit
- Failsafe Actuator - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.GitHub starsLast commit
- Glowroot - Open-source Java APM.--
- HertzBeat - Real-time monitoring system with custom-monitor and agentless.GitHub starsLast commit
- hippo4j - Dynamic and observable thread pool framework.GitHub starsLast commit
- inspectIT - 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.--
- Jaeger client - Jaeger client.GitHub starsLast commit
- JavaMelody - Performance monitoring and profiling.GitHub starsLast commit
- 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.GitHub starsLast commit
- Jolokia - JMX over REST.--
- Micrometer - Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries.GitHub starsLast commit
- Micrometer Tracing - Vendor-neutral distributed tracing facade for the most popular tracer libraries.GitHub starsLast commit
- nudge4j - Remote developer console from the browser for Java 8 via bytecode injection.GitHub starsLast commit
- OpenTelemetry - Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.GitHub starsLast commit
- Pinpoint - Open-source APM tool.GitHub starsLast commit
- Prometheus - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.GitHub starsLast commit
- Stagemonitor - Open-source performance monitoring and transaction tracing for JVM apps.GitHub starsLast commit
- Sysmon - Lightweight platform monitoring tool for Java VMs.GitHub starsLast commit
- zipkin - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.--
- ### Native _For working with platform-specific native libraries._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Aparapi - Converts bytecode to OpenCL which allows execution on GPUs.GitHub starsLast commit
- JavaCPP - Provides efficient and easy access to native C++.GitHub starsLast commit
- JNA - Work with native libraries without writing JNI. Also provides interfaces to common system libraries.GitHub starsLast commit
- JNR - 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).GitHub starsLast commit
- native-lib-loader - Native library loader for extracting and loading native libraries from Java.GitHub starsLast commit
- ### Natural Language Processing _Libraries that specialize in processing text._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- CogCompNLP - Provides common annotators for plain text input. (Research and Academic Use License)GitHub starsLast commit
- CoreNLP - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later)--
- DKPro - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.--
- Hypherator - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in.GitHub starsLast commit
- LingPipe - Toolkit for tasks ranging from POS tagging to sentiment analysis.--
- ### Networking _Libraries for building network servers._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Commons-networking - Client for server-sent events (SSE).GitHub starsLast commit
- Comsat - Integrates standard Java web-related APIs with Quasar fibers and actors.GitHub starsLast commit
- Dubbo - High-performance RPC framework.GitHub starsLast commit
- Grizzly - NIO framework. Used as a network layer in Glassfish.--
- gRPC - RPC framework based on protobuf and HTTP/2.GitHub starsLast commit
- KryoNet - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo.GitHub starsLast commit
- MINA - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO.--
- Netty - Framework for building high-performance network applications.--
- Drift - Easy-to-use, annotation-based library for creating Thrift clients and serializable types.GitHub starsLast commit
- ServiceTalk - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.GitHub starsLast commit
- sshj - Programmatically use SSH, SCP or SFTP.GitHub starsLast commit
- TLS Channel - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS.GitHub starsLast commit
- Undertow - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only)--
- urnlib - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only)GitHub starsLast commit
- Fluency - High throughput data ingestion logger to Fluentd and Fluent Bit.GitHub starsLast commit
- ### ORM _APIs that handle the persistence of objects._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Cayenne - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation.--
- Doma - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.GitHub starsLast commit
- Ebean - Provides simple and fast data access.--
- EclipseLink - Supports a number of persistence standards: JPA, JAXB, JCA and SDO.--
- Hibernate - Robust and widely used, with an active community. (LGPL-2.1-only)--
- MyBatis - Couples objects with stored procedures or SQL statements.GitHub starsLast commit
- MyBatis-Plus - A powerful enhanced toolkit of MyBatis for simplifying development.GitHub starsLast commit
- ObjectiveSql - ActiveRecord ORM for rapid development and convention over configuration.GitHub starsLast commit
- Permazen - Language-natural persistence layer.GitHub starsLast commit
- SimpleFlatMapper - Simple database and CSV mapper.GitHub starsLast commit
- ### PaaS _Java platform as a service._ @@ -4522,1442 +1597,58 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ - - - - - - - - - - - - -
- Pathetic - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance.GitHub starsLast commit
- ### PDF _Tools to help with PDF files._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache FOP - Creates PDFs from XSL-FO.--
- Apache PDFBox - Toolbox for creating and manipulating PDFs.--
- Dynamic Jasper - Abstraction layer to JasperReports. (LGPL-3.0-only)--
- DynamicReports - Simplifies JasperReports. (LGPL-3.0-only)GitHub starsLast commit
- Eclipse BIRT - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor.--
- flyingsaucer - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later)GitHub starsLast commit
- JasperReports - Complex reporting engine. (LGPL-3.0-only)--
- Open HTML to PDF - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox.GitHub starsLast commit
- OpenPDF - Open-source iText fork. (LGPL-3.0-only & MPL-2.0)GitHub starsLast commit
- Tabula - Extracts tables from PDF files.GitHub starsLast commit
- ### Performance analysis _Tools for performance analysis, profiling and benchmarking._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- honest-profiler - Low-overhead, bias-free sampling profiler.GitHub starsLast commit
- jHiccup - Logs and records platform JVM stalls.GitHub starsLast commit
- JITWatch - Analyze the JIT compiler optimisations made by the HotSpot JVM.GitHub starsLast commit
- JMH - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0)--
- LatencyUtils - Utilities for latency measurement and reporting.GitHub starsLast commit
- ### Platform _Frameworks that are suites of multiple libraries encompassing several categories._ #### Apache Commons - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- BCEL - Byte Code Engineering Library - analyze, create, and manipulate Java class files.--
- BeanUtils - Easy-to-use wrappers around the Java reflection and introspection APIs.--
- BeanUtils2 - Redesign of Commons BeanUtils.--
- BSF - Bean Scripting Framework - interface to scripting languages, including JSR-223.--
- Chain - Chain of Responsibility pattern implementation.--
- ClassScan - Find Class interfaces, methods, fields, and annotations without loading.--
- CLI - Command-line arguments parser.--
- CLI2 - Redesign of Commons CLI.--
- Codec - General encoding/decoding algorithms, e.g. phonetic, base64 or URL.--
- Collections - Extends or augments the Java Collections Framework.--
- Compress - Defines an API for working with tar, zip and bzip2 files.--
- Configuration - Reading of configuration/preferences files in various formats.--
- Convert - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.--
- CSV - Component for reading and writing comma separated value files.--
- Daemon - Alternative invocation mechanism for unix-daemon-like java code.--
- DBCP - Database connection pooling services.--
- DbUtils - JDBC helper library.--
- Digester - XML-to-Java-object mapping utility.--
- Email - Library for sending e-mail from Java.--
- Exec - API for dealing with external process execution and environment management in Java.--
- FileUpload - File upload capability for your servlets and web applications.--
- Finder - Java library inspired by the UNIX find command.--
- Flatfile - Java library for working with flat data structures.--
- Functor - Function that can be manipulated as an object, or an object representing a single, generic function.--
- Graph - General purpose graph APIs and algorithms.--
- I18n - Adds the feature of localized message bundles that consist of one or many localized texts that belong together.--
- Id - Id is a component used to generate identifiers.--
- Imaging - Image library.--
- IO - Collection of I/O utilities.--
- Javaflow - Continuation implementation to capture the state of the application.--
- JCI - Java Compiler Interface.--
- JCS - Java Caching System.--
- Jelly - XML based scripting and processing engine.--
- Jexl - Expression language which extends the Expression Language of the JSTL.--
- JNet - JNet allows to use dynamically register url stream handlers through the java.net API.--
- JXPath - Utilities for manipulating Java Beans using the XPath syntax.--
- Lang - Provides extra functionality for classes in java.lang.--
- Logging - Wrapper around a variety of logging API implementations.--
- Math - Lightweight, self-contained mathematics and statistics components.--
- Monitoring - Monitoring aims to provide a simple but extensible monitoring solution for Java applications.--
- Nabla - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.--
- Net - Collection of network utilities and protocol implementations.--
- OGNL - Object-graph navigation language.--
- OpenPGP - Interface to signing and verifying data using OpenPGP.--
- Performance - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool.--
- Pipeline - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.--
- Pool - Generic object pooling component.--
- Proxy - Library for creating dynamic proxies.--
- RDF - Common implementation of RDF 1.1 that could be implemented by systems on the JVM.--
- RNG - Commons Rng provides implementations of pseudo-random numbers generators.--
- SCXML - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.--
- Validator - Framework to define validators and validation rules in an xml file.--
- VFS - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.--
- Weaver - Provides an easy way to enhance (weave) compiled bytecode.--
- #### Other - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- CUBA Platform - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin.--
- Light-4J - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/).GitHub starsLast commit
- Orienteer - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications.GitHub starsLast commit
- Spring - Provides many packages for dependency injection, aspect-oriented programming, security, etc.--
- ### Processes _Libraries that help the management of operating system processes._ - - - - - - - - - - - - - - - - - - - - - - - - -
- ch.vorburger.exec - Convenient API around Apache Commons Exec.GitHub starsLast commit
- zt-exec - Provides a unified API to Apache Commons Exec and ProcessBuilder.GitHub starsLast commit
- zt-process-killer - Stops processes started from Java or the system processes via PID.GitHub starsLast commit
- ### Reactive libraries _Libraries for developing reactive applications._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Akka - Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications.--
- Reactive Streams - Provides a standard for asynchronous stream processing with non-blocking backpressure.GitHub starsLast commit
- Reactor - A framework for building non-blocking applications on the JVM, providing support for reactive programming.GitHub starsLast commit
- RxJava - Allows for composing asynchronous and event-based programs using observable sequences.GitHub starsLast commit
- vert.x - Polyglot event-driven application framework.--
- ### REST Frameworks _Frameworks specifically for creating RESTful services._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Dropwizard - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.GitHub starsLast commit
- Elide - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model.--
- Jersey - JAX-RS reference implementation.--
- Microserver - 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.GitHub starsLast commit
- Rapidoid - Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection.--
- 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.GitHub starsLast commit
- RESTEasy - Fully certified and portable implementation of the JAX-RS specification.--
- RestExpress - Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance.GitHub starsLast commit
- Restlet Framework - Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API.GitHub starsLast commit
- Spark - Sinatra inspired framework.--
- Crnk - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more.--
- springdoc-openapi - Automates the generation of API documentation using Spring Boot projects.GitHub starsLast commit
- Swagger - Standard, language-agnostic interface to REST APIs.--
- ### Science _Libraries for scientific computing, analysis and visualization._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- BioJava - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics.--
- Chart-FX - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.GitHub starsLast commit
- DataMelt - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later)--
- Erdos - Modular, light and easy graph framework for theoretic algorithms.GitHub starsLast commit
- GraphStream - Library for modeling and analyzing dynamic graphs.--
- JFreeChart - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)--
- JGraphT - Graph library that provides mathematical graph-theory objects and algorithms.GitHub starsLast commit
- JGraphX - Library for visualizing (mainly Swing) and interacting with node-edge graphs.GitHub starsLast commit
- LogicNG - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.GitHub starsLast commit
- Mines Java Toolkit - Library for geophysical scientific computation, visualization and digital signal analysis.GitHub starsLast commit
- Morpheus - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.GitHub starsLast commit
- Orekit - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them.--
- Orson-Charts - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only)GitHub starsLast commit
- Tablesaw - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.GitHub starsLast commit
- XChart - Light-weight library for plotting data. Many customizable chart types are available.GitHub starsLast commit
- ### Search _Engines that index documents for search and analysis._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Lucene - High-performance, full-featured, cross-platform, text search engine library.--
- Apache Solr - Enterprise search engine optimized for high-volume traffic.--
- Elasticsearch - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents.--
- Indexer4j - Simple and light full text indexing and searching library.GitHub starsLast commit
- ### Security _Libraries that handle security, authentication, authorization or session management._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Shiro - Performs authentication, authorization, cryptography and session management.--
- Ayza - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.GitHub starsLast commit
- 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.GitHub starsLast commit
- Cryptomator - Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only)--
- 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.GitHub starsLast commit
- jjwt - JSON web token for Java and Android.GitHub starsLast commit
- jwt-java - Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.GitHub starsLast commit
- Jwks RSA - JSON Web Key Set parser.GitHub starsLast commit
- Kalium - Binding for the Networking and Cryptography (NaCl) library.GitHub starsLast commit
- Keycloak - Integrated SSO and IDM for browser apps and RESTful web services.--
- Keywhiz - System for distributing and managing secrets.GitHub starsLast commit
- Nbvcxz - Advanced password strength estimation.GitHub starsLast commit
- OACC - Provides permission-based authorization services.--
- OpenAM - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.GitHub starsLast commit
- OTP-Java - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).GitHub starsLast commit
- pac4j - Security engine.GitHub starsLast commit
- Passay - Enforce password policy by validating candidate passwords against a configurable rule set.--
- Password4j - User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.GitHub starsLast commit
- SecurityBuilder - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.GitHub starsLast commit
- 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.GitHub starsLast commit
- Tink - Provides a simple and misuse-proof API for common cryptographic tasks.GitHub starsLast commit
- Topaz - Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.--
- ### Serialization _Libraries that handle serialization with high efficiency._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- FlatBuffers - Memory-efficient serialization library that can access serialized data without unpacking and parsing it.GitHub starsLast commit
- FST - JDK-compatible, high-performance object graph serialization.GitHub starsLast commit
- Fury - Blazing fast object graph serialization framework powered by JIT and zero-copy.GitHub starsLast commit
- Kryo - Fast and efficient object graph serialization framework.GitHub starsLast commit
- MessagePack - Efficient binary serialization format.GitHub starsLast commit
- PHP Serializer - Serializing objects in the PHP serialization format.GitHub starsLast commit
- ### Server _Servers specifically used to deploy applications._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Tomcat - Robust, all-round server for Servlet and JSP.--
- Apache TomEE - Tomcat plus Java EE.--
- Jetty - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.--
- nanohttpd - Tiny, easily embeddable HTTP server.GitHub starsLast commit
- WildFly - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)--
- ### Template Engine _Tools that substitute expressions in a template._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Freemarker - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.--
- Handlebars.java - Logicless and semantic Mustache templates.--
- Jade4J - Implementation of Pug (formerly known as Jade).GitHub starsLast commit
- Jamal - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.GitHub starsLast commit
- jstachio - Typesafe Mustache templating engine.GitHub starsLast commit
- jte - Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.GitHub starsLast commit
- Jtwig - Modular, configurable and fully tested template engine.GitHub starsLast commit
- Pebble - 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 - Optimized, memory efficient and speedy template engine producing statically typed, plain objects.GitHub starsLast commit
- StringTemplate - Template engine for generating source code, web pages, emails, or any other formatted text output.GitHub starsLast commit
- Thymeleaf - Aims to be a substitute for JSP and works for XML files.--
- ### Testing _Tools that test from model to the view._ @@ -5966,1002 +1657,50 @@ _Tools that test from model to the view._ _Tools that simplify testing asynchronous services._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Awaitility - DSL for synchronizing asynchronous operations.GitHub starsLast commit
- ConcurrentUnit - Toolkit for testing multi-threaded and asynchronous applications.GitHub starsLast commit
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)--
- Hoverfly Java - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services.GitHub starsLast commit
- Karate - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.GitHub starsLast commit
- REST Assured - DSL for easy testing of REST/HTTP services.GitHub starsLast commit
- WebTau - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.GitHub starsLast commit
- #### BDD _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Cucumber - Provides a way to describe features in a plain language which customers can understand.GitHub starsLast commit
- Cukes-REST - Collection of Gherkin steps for REST-service testing using Cucumber.GitHub starsLast commit
- J8Spec - Follows a Jasmine-like syntax.GitHub starsLast commit
- JBehave - Extensively configurable framework that describes stories.--
- JGiven - Provides a fluent API which allows for simpler composition.--
- Lamdba Behave - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.GitHub starsLast commit
- Serenity BDD - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.GitHub starsLast commit
- #### Fixtures _Everything related to the creation and handling of random data._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- AutoParams - Supports generating test data or combining scenarios for parameterized tests.GitHub starsLast commit
- Beanmother - Sets up beans from YAML fixtures.GitHub starsLast commit
- Datafaker - Modern fake data generator forked from Java Faker.GitHub starsLast commit
- Fixture Factory - Generates fake objects from a template.GitHub starsLast commit
- jFairy - Fake data generator.GitHub starsLast commit
- Instancio - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.GitHub starsLast commit
- Randomized Testing - JUnit test runner and plugins for running JUnit tests with pseudo-randomness.GitHub starsLast commit
- Java Faker - Port of Ruby's fake data generator.GitHub starsLast commit
- Mockneat - Another fake data generator.GitHub starsLast commit
- JMock - JMock is a high-performance data generation and simulation component library implemented in Java.GitHub starsLast commit
- #### Frameworks _Provide environments to run tests for a specific use case._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache JMeter - Functional testing and performance measurements.--
- JMeter DSL.java - Load tests with JMeter as simple as a JUnit test.--
- Arquillian - Integration and functional testing platform for Java EE containers.--
- cdi-test - JUnit extension for easy and efficient testing of CDI components.GitHub starsLast commit
- Citrus - Integration testing framework that focuses on both client- and server-side messaging.--
- Gatling - Load testing tool designed for ease of use, maintainability and high performance.--
- JUnit - Common testing framework.--
- jqwik - Engine for property-based testing built on JUnit 5.--
- Pact JVM - Consumer-driven contract testing.GitHub starsLast commit
- PIT - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites.--
- weld-testing - Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.GitHub starsLast commit
- #### Matchers _Libraries that provide custom matchers._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- AssertJ - Fluent assertions that improve readability.--
- Hamcrest - Matchers that can be combined to create flexible expressions of intent.--
- JSONAssert - Simplifies testing JSON strings.--
- JsonUnit - Library that simplifies JSON comparison in tests.GitHub starsLast commit
- Truth - Google's fluent assertion and proposition framework.--
- XMLUnit - Simplifies testing for XML output.GitHub starsLast commit
- #### Miscellaneous _Other stuff related to testing._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ConsoleCaptor - Captures console output for unit testing purposes.GitHub starsLast commit
- junit-dataprovider - TestNG-like data provider/runner for JUnit.GitHub starsLast commit
- junit-pioneer - JUnit 5 extension pack, pushing the frontiers on Jupiter.--
- LogCaptor - Captures log entries for unit testing purposes.GitHub starsLast commit
- log-capture - Captures log entries and provides assertions for unit and integration testing.GitHub starsLast commit
- Mutability Detector - Reports whether instances of a given class are immutable.GitHub starsLast commit
- pojo-tester - Automatically performs tests on basic POJO methods. (LGPL-3.0-only)--
- raml-tester - Tests if a request/response matches a given RAML definition.GitHub starsLast commit
- Selfie - Snapshot testing (inline and on disk).GitHub starsLast commit
- Stebz - Multi-approach framework for test steps managing.GitHub starsLast commit
- Testcontainers - Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.GitHub starsLast commit
- #### Mocking _Tools which mock collaborators to help testing single, isolated units._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- JMockit - Integration testing, API mocking and faking, and code coverage.--
- Mockito - Mocking framework that lets you write tests with a clean and simple API.GitHub starsLast commit
- MockServer - Allows mocking of systems integrated with HTTPS.--
- Moco - Concise web services for stubs and mocks.GitHub starsLast commit
- PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.GitHub starsLast commit
- WireMock - Stubs and mocks web services.--
- EasyMock - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.GitHub starsLast commit
- ### Utility _Libraries which provide general utility functions._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Arthas - Allows to troubleshoot production issues for applications without modifying code or restarting servers.GitHub starsLast commit
- bucket4j - Rate limiting library based on token-bucket algorithm.GitHub starsLast commit
- cactoos - Collection of object-oriented primitives.GitHub starsLast commit
- Chocotea - Generates postman collection, environment and integration tests from java code.GitHub starsLast commit
- CRaSH - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)--
- Dex - Java/JavaFX tool capable of powerful ETL and data visualization.GitHub starsLast commit
- dregex - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.GitHub starsLast commit
- Embulk - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.GitHub starsLast commit
- fswatch - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.GitHub starsLast commit
- Gephi - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)GitHub starsLast commit
- Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.GitHub starsLast commit
- JADE - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)--
- Javadoc Publisher - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.GitHub starsLast commit
- Java Diff Utils - Utilities for text or data comparison and patching.--
- JavaVerbalExpressions - Library that helps with constructing difficult regular expressions.GitHub starsLast commit
- JGit - Lightweight, pure Java library implementing the Git version control system.--
- JKScope - Java scope functions inspired by Kotlin.GitHub starsLast commit
- minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server.GitHub starsLast commit
- Protégé - Provides an ontology editor and a framework to build knowledge-based systems.--
- Semver4j - Lightweight library that helps you handling semantic versioning with different modes.GitHub starsLast commit
- Underscore-java - Port of Underscore.js functions.GitHub starsLast commit
- ### Version Managers _Utilities that help create the development shell environment and switch between different Java versions._ - - - - - - - - - - - - - - - - - - - - - - - - -
- jabba - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows.GitHub starsLast commit
- jenv - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.GitHub starsLast commit
- SDKMan - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.GitHub starsLast commit
- ### Web Crawling _Libraries that analyze the content of websites._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Apache Nutch - Highly extensible, highly scalable web crawler for production environments.--
- Crawler4j - Simple and lightweight web crawler.GitHub starsLast commit
- jsoup - Scrapes, parses, manipulates and cleans HTML.--
- StormCrawler - SDK for building low-latency and scalable web crawlers.--
- webmagic - Scalable crawler with downloading, url management, content extraction and persistent.GitHub starsLast commit
- ### Web Frameworks _Frameworks that handle the communication between the layers of a web application._ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ActiveJ - Lightweight asynchronous framework built from the ground up for developing high-performance web applications.--
- Apache Tapestry - Component-oriented framework for creating dynamic, robust, highly scalable web applications.--
- Apache Wicket - Component-based web application framework similar to Tapestry, with a stateful GUI.--
- Blade - Lightweight, modular framework that aims to be elegant and simple.GitHub starsLast commit
- Bootique - Minimally opinionated framework for runnable apps.--
- Firefly - Asynchronous framework for rapid development of high-performance web application.--
- Javalin - Microframework for web applications.--
- Jooby - Scalable, fast and modular micro-framework that offers multiple programming models.--
- Ninja - Full-stack web framework.--
- Pippo - Small, highly modularized, Sinatra-like framework.--
- Play - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.--
- PrimeFaces - JSF framework with both free and commercial/support versions and frontend components.--
- Ratpack - Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications.--
- Takes - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.GitHub starsLast commit
- Vaadin - 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.--
- WebForms Core - A technology for managing HTML tags from the server.--
- ### Workflow Orchestration Engines _Platforms and frameworks for orchestrating workflows and business processes._ - - - - - - - - - - - - - - - - - - - - - - - - -
- Cadence - Stateful code platform from Uber.--
- flowable - Compact and efficient workflow and business process management platform.GitHub starsLast commit
- Temporal - Microservice orchestration platform, forked from Cadence but gRPC based.--
- ## Resources diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 26fd01c9..008f7e69 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -149,9 +149,12 @@ String createHtmlTable(List entries, Map bad var sectionName = entries.get(0).section(); var table = new StringBuilder(""" %s%s --> - - -""".formatted(Constants.SECTION_COMMENT_PREFIX, sectionName, Constants.TABLE_STYLE)); + +### %s + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +""".formatted(Constants.SECTION_COMMENT_PREFIX, sectionName, sectionName)); for (var entry : entries) { var desc = entry.description().isEmpty() ? Constants.NO_DESCRIPTION : entry.description(); @@ -159,27 +162,12 @@ String createHtmlTable(List entries, Map bad var stars = badge != null ? badge.starsBadge() : Constants.NO_BADGE; var commit = badge != null ? badge.lastCommitBadge() : Constants.NO_BADGE; - table.append(""" - - - - - - -""".formatted( - Constants.NAME_CELL_STYLE, entry.url(), entry.name(), - Constants.DESC_CELL_STYLE, desc, - Constants.BADGE_CELL_STYLE, stars, - Constants.BADGE_CELL_STYLE, commit + table.append("| [%s](%s) | %s | %s | %s |\n".formatted( + entry.name(), entry.url(), desc, stars, commit )); } - table.append(""" - -
- %s - %s%s%s
-"""); + table.append("\n"); return table.toString(); } diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index 5fb10712..f4a247b1 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -172,26 +172,34 @@ List extractProjectEntriesFromTables(String content) { continue; } - // Track subsection changes + // Track section changes (both main sections and subsections) if (line.startsWith(Constants.SUBSECTION)) { currentSection = line.substring(Constants.SUBSECTION.length()); continue; } + if (line.startsWith(Constants.SECTION) && !line.equals(Constants.PROJECTS_SECTION)) { + currentSection = line.substring(Constants.SECTION.length()); + continue; + } - // Track table boundaries - if (line.contains("")) { + if (inTable && line.startsWith("|") && line.contains("| :--- |")) { + // Skip the separator row + continue; + } + if (inTable && !line.startsWith("|") && !line.trim().isEmpty()) { inTable = false; continue; } - // Extract entries from table rows - if (inTable && line.contains("")) { - var entry = extractEntryFromTableRow(lines, i, tableSection); + // Extract entries from Markdown table rows + if (inTable && line.startsWith("|") && !line.contains("| Name |") && !line.contains("| :--- |")) { + var entry = extractEntryFromMarkdownTableRow(line, tableSection); if (entry != null) { entries.add(entry); } @@ -243,6 +251,39 @@ ProjectEntry extractEntryFromTableRow(String[] lines, int startIndex, String sec return null; } +/** + * Extracts a project entry from a Markdown table row. + */ +ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { + // Split by | and clean up + var parts = line.split("\\|"); + if (parts.length < 5) { + return null; + } + + // Extract name and URL from [Name](URL) format + var nameUrlPart = parts[1].trim(); + var nameUrlMatch = Pattern.compile("\\[([^\\]]+)\\]\\(([^)]+)\\)").matcher(nameUrlPart); + if (!nameUrlMatch.find()) { + return null; + } + + var name = nameUrlMatch.group(1); + var url = nameUrlMatch.group(2); + var description = parts[2].trim(); + + if (!name.isEmpty() && !url.isEmpty()) { + return new ProjectEntry( + name, + url, + description, + 1, + section + ); + } + return null; +} + /** * Parses a single project entry from the original markdown format. */ From 25e1d061a90676586628a91f988bdc9ceca87e9c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:43:14 +0200 Subject: [PATCH 390/533] Improve badge size --- README.md | 846 ++++++++++---------- scripts/Constants.java | 2 +- scripts/step_3_generate_badges.java | 4 +- scripts/step_6_validate_transformation.java | 13 +- 4 files changed, 438 insertions(+), 427 deletions(-) diff --git a/README.md b/README.md index c3a1bd25..18c5238c 100644 --- a/README.md +++ b/README.md @@ -98,8 +98,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | GitHub stars | Last commit | -| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | GitHub stars | Last commit | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | ![GitHub stars](https://img.shields.io/github/stars/TNG/ArchUnit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/TNG/ArchUnit?style=for-the-badge&label=) | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | ![GitHub stars](https://img.shields.io/github/stars/xmolecules/jmolecules?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xmolecules/jmolecules?style=for-the-badge&label=) | @@ -107,9 +107,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | GitHub stars | Last commit | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | ![GitHub stars](https://img.shields.io/github/stars/langchain4j/langchain4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/langchain4j/langchain4j?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/modelcontextprotocol/java-sdk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/modelcontextprotocol/java-sdk?style=for-the-badge&label=) | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | ![GitHub stars](https://img.shields.io/github/stars/sashirestela/simple-openai?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sashirestela/simple-openai?style=for-the-badge&label=) | | [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | @@ -118,13 +118,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | GitHub stars | Last commit | -| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | GitHub stars | Last commit | -| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | GitHub stars | Last commit | -| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | GitHub stars | Last commit | -| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | GitHub stars | Last commit | -| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | GitHub stars | Last commit | -| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | GitHub stars | Last commit | +| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | ![GitHub stars](https://img.shields.io/github/stars/doov-io/doov?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/doov-io/doov?style=for-the-badge&label=) | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | ![GitHub stars](https://img.shields.io/github/stars/jmapper-framework/jmapper-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jmapper-framework/jmapper-core?style=for-the-badge&label=) | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | ![GitHub stars](https://img.shields.io/github/stars/mapstruct/mapstruct?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mapstruct/mapstruct?style=for-the-badge&label=) | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | ![GitHub stars](https://img.shields.io/github/stars/modelmapper/modelmapper?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/modelmapper/modelmapper?style=for-the-badge&label=) | +| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | ![GitHub stars](https://img.shields.io/github/stars/orika-mapper/orika?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/orika-mapper/orika?style=for-the-badge&label=) | +| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | ![GitHub stars](https://img.shields.io/github/stars/remondis-it/remap?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/remondis-it/remap?style=for-the-badge&label=) | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | ![GitHub stars](https://img.shields.io/github/stars/xebia-france/selma?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xebia-france/selma?style=for-the-badge&label=) | @@ -134,7 +134,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [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. | - | - | -| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | GitHub stars | Last commit | +| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | ![GitHub stars](https://img.shields.io/github/stars/facebook/buck2?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/facebook/buck2?style=for-the-badge&label=) | | [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | @@ -145,13 +145,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | | [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | -| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | GitHub stars | Last commit | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/Konloch/bytecode-viewer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Konloch/bytecode-viewer?style=for-the-badge&label=) | | [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | -| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | GitHub stars | Last commit | -| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | GitHub stars | Last commit | -| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | GitHub stars | Last commit | -| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | GitHub stars | Last commit | -| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | GitHub stars | Last commit | +| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | ![GitHub stars](https://img.shields.io/github/stars/cglib/cglib?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cglib/cglib?style=for-the-badge&label=) | +| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | ![GitHub stars](https://img.shields.io/github/stars/jboss-javassist/javassist?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jboss-javassist/javassist?style=for-the-badge&label=) | +| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | ![GitHub stars](https://img.shields.io/github/stars/cojen/maker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cojen/maker?style=for-the-badge&label=) | +| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | ![GitHub stars](https://img.shields.io/github/stars/SpongePowered/Mixin?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SpongePowered/Mixin?style=for-the-badge&label=) | +| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | ![GitHub stars](https://img.shields.io/github/stars/nicolasmanic/perses?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nicolasmanic/perses?style=for-the-badge&label=) | | [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | @@ -161,7 +161,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | -| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | GitHub stars | Last commit | +| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | ![GitHub stars](https://img.shields.io/github/stars/ben-manes/caffeine?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ben-manes/caffeine?style=for-the-badge&label=) | | [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | | [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | @@ -173,8 +173,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | | [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | GitHub stars | Last commit | -| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | GitHub stars | Last commit | +| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | ![GitHub stars](https://img.shields.io/github/stars/jbock-java/jbock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jbock-java/jbock?style=for-the-badge&label=) | +| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | ![GitHub stars](https://img.shields.io/github/stars/jline/jline3?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jline/jline3?style=for-the-badge&label=) | | [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | @@ -183,10 +183,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | GitHub stars | Last commit | +| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | ![GitHub stars](https://img.shields.io/github/stars/fusesource/jansi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/fusesource/jansi?style=for-the-badge&label=) | | [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | GitHub stars | Last commit | -| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | GitHub stars | Last commit | +| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | ![GitHub stars](https://img.shields.io/github/stars/beryx/text-io?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/beryx/text-io?style=for-the-badge&label=) | +| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/mabe02/lanterna?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mabe02/lanterna?style=for-the-badge&label=) | @@ -194,8 +194,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | GitHub stars | Last commit | -| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | GitHub stars | Last commit | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | ![GitHub stars](https://img.shields.io/github/stars/aws/aws-sdk-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/aws/aws-sdk-java?style=for-the-badge&label=) | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | ![GitHub stars](https://img.shields.io/github/stars/googleapis/google-cloud-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/googleapis/google-cloud-java?style=for-the-badge&label=) | @@ -203,18 +203,18 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | GitHub stars | Last commit | -| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | GitHub stars | Last commit | -| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | GitHub stars | Last commit | -| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | GitHub stars | Last commit | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | ![GitHub stars](https://img.shields.io/github/stars/checkstyle/checkstyle?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/checkstyle/checkstyle?style=for-the-badge&label=) | +| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | ![GitHub stars](https://img.shields.io/github/stars/google/error-prone?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/error-prone?style=for-the-badge&label=) | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | ![GitHub stars](https://img.shields.io/github/stars/PicnicSupermarket/error-prone-support?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/PicnicSupermarket/error-prone-support?style=for-the-badge&label=) | +| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | ![GitHub stars](https://img.shields.io/github/stars/facebook/infer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/facebook/infer?style=for-the-badge&label=) | | [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | -| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | GitHub stars | Last commit | -| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | GitHub stars | Last commit | -| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | GitHub stars | Last commit | -| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | GitHub stars | Last commit | -| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | GitHub stars | Last commit | -| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | GitHub stars | Last commit | -| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | GitHub stars | Last commit | +| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | ![GitHub stars](https://img.shields.io/github/stars/uber/NullAway?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/uber/NullAway?style=for-the-badge&label=) | +| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | ![GitHub stars](https://img.shields.io/github/stars/pmd/pmd?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/pmd/pmd?style=for-the-badge&label=) | +| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/p3c?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/p3c?style=for-the-badge&label=) | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | ![GitHub stars](https://img.shields.io/github/stars/jimbethancourt/RefactorFirst?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jimbethancourt/RefactorFirst?style=for-the-badge&label=) | +| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/SonarSource/sonar-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SonarSource/sonar-java?style=for-the-badge&label=) | +| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | ![GitHub stars](https://img.shields.io/github/stars/INRIA/spoon?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/INRIA/spoon?style=for-the-badge&label=) | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | ![GitHub stars](https://img.shields.io/github/stars/spotbugs/spotbugs?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/spotbugs/spotbugs?style=for-the-badge&label=) | @@ -232,19 +232,19 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | GitHub stars | Last commit | -| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | GitHub stars | Last commit | +| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | ![GitHub stars](https://img.shields.io/github/stars/sviperll/adt4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sviperll/adt4j?style=for-the-badge&label=) | +| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | ![GitHub stars](https://img.shields.io/github/stars/google/auto?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/auto?style=for-the-badge&label=) | | [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | -| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | GitHub stars | Last commit | -| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | GitHub stars | Last commit | -| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | GitHub stars | Last commit | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | ![GitHub stars](https://img.shields.io/github/stars/Marcel091004/EasyEntityToDTO?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Marcel091004/EasyEntityToDTO?style=for-the-badge&label=) | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | ![GitHub stars](https://img.shields.io/github/stars/inferred/FreeBuilder?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/inferred/FreeBuilder?style=for-the-badge&label=) | +| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | ![GitHub stars](https://img.shields.io/github/stars/verhas/javageci?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/verhas/javageci?style=for-the-badge&label=) | | [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | -| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | GitHub stars | Last commit | -| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | GitHub stars | Last commit | +| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | ![GitHub stars](https://img.shields.io/github/stars/square/javapoet?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/javapoet?style=for-the-badge&label=) | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | ![GitHub stars](https://img.shields.io/github/stars/jhipster/generator-jhipster?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhipster/generator-jhipster?style=for-the-badge&label=) | | [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | -| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | GitHub stars | Last commit | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | ![GitHub stars](https://img.shields.io/github/stars/bcaillard/jspecify-packageinfo-generator?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bcaillard/jspecify-packageinfo-generator?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [Record-Builder](https://github.com/Randgalt/record-builder) | Companion builder class, withers and templates for Java records. | ![GitHub stars](https://img.shields.io/github/stars/Randgalt/record-builder?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Randgalt/record-builder?style=for-the-badge&label=) | | [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | @@ -265,7 +265,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | | [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | -| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | GitHub stars | Last commit | +| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | ![GitHub stars](https://img.shields.io/github/stars/bytedeco/javacv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bytedeco/javacv?style=for-the-badge&label=) | @@ -274,17 +274,17 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | -| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | GitHub stars | Last commit | -| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | GitHub stars | Last commit | -| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | GitHub stars | Last commit | +| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | ![GitHub stars](https://img.shields.io/github/stars/line/centraldogma?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/line/centraldogma?style=for-the-badge&label=) | +| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | ![GitHub stars](https://img.shields.io/github/stars/lightbend/config?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lightbend/config?style=for-the-badge&label=) | +| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | ![GitHub stars](https://img.shields.io/github/stars/SpongePowered/Configurate?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SpongePowered/Configurate?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | +| [dotenv](https://github.com/shyiko/dotenv) | Twelve-factor configuration library which uses environment-specific files. | ![GitHub stars](https://img.shields.io/github/stars/shyiko/dotenv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/shyiko/dotenv?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/joel-jeremy/externalized-properties?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/joel-jeremy/externalized-properties?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/gestalt-config/gestalt?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/gestalt-config/gestalt?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [KAConf](https://github.com/mariomac/kaconf) | Annotation-based configuration system for Java and Kotlin. | ![GitHub stars](https://img.shields.io/github/stars/mariomac/kaconf?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mariomac/kaconf?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [owner](https://github.com/lviggiano/owner) | Reduces boilerplate of properties. | ![GitHub stars](https://img.shields.io/github/stars/lviggiano/owner?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lviggiano/owner?style=for-the-badge&label=) | @@ -293,7 +293,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | -| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | GitHub stars | Last commit | +| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | ![GitHub stars](https://img.shields.io/github/stars/radsz/jacop?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/radsz/jacop?style=for-the-badge&label=) | | [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | | [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | @@ -303,11 +303,11 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | GitHub stars | Last commit | -| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | GitHub stars | Last commit | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | ![GitHub stars](https://img.shields.io/github/stars/osiegmar/FastCSV?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/osiegmar/FastCSV?style=for-the-badge&label=) | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | ![GitHub stars](https://img.shields.io/github/stars/FasterXML/jackson-dataformat-csv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/FasterXML/jackson-dataformat-csv?style=for-the-badge&label=) | | [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | | [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | -| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | GitHub stars | Last commit | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | ![GitHub stars](https://img.shields.io/github/stars/uniVocity/univocity-parsers?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/uniVocity/univocity-parsers?style=for-the-badge&label=) | @@ -319,14 +319,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | | [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | | [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | -| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | GitHub stars | Last commit | -| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | GitHub stars | Last commit | -| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | GitHub stars | Last commit | -| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | GitHub stars | Last commit | -| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | GitHub stars | Last commit | -| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | GitHub stars | Last commit | -| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | GitHub stars | Last commit | -| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | GitHub stars | Last commit | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | ![GitHub stars](https://img.shields.io/github/stars/bulldog2011/bigqueue?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bulldog2011/bigqueue?style=for-the-badge&label=) | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | ![GitHub stars](https://img.shields.io/github/stars/LiveRamp/HyperMinHash-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/LiveRamp/HyperMinHash-java?style=for-the-badge&label=) | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | ![GitHub stars](https://img.shields.io/github/stars/hrldcpr/pcollections?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/hrldcpr/pcollections?style=for-the-badge&label=) | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | ![GitHub stars](https://img.shields.io/github/stars/protocolbuffers/protobuf?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/protocolbuffers/protobuf?style=for-the-badge&label=) | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | ![GitHub stars](https://img.shields.io/github/stars/RoaringBitmap/RoaringBitmap?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/RoaringBitmap/RoaringBitmap?style=for-the-badge&label=) | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | ![GitHub stars](https://img.shields.io/github/stars/real-logic/simple-binary-encoding?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/real-logic/simple-binary-encoding?style=for-the-badge&label=) | +| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | ![GitHub stars](https://img.shields.io/github/stars/square/tape?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/tape?style=for-the-badge&label=) | +| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | ![GitHub stars](https://img.shields.io/github/stars/square/wire?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/wire?style=for-the-badge&label=) | @@ -337,41 +337,41 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | | [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | | [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | -| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | GitHub stars | Last commit | -| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | GitHub stars | Last commit | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | ![GitHub stars](https://img.shields.io/github/stars/arangodb/arangodb-java-driver?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/arangodb/arangodb-java-driver?style=for-the-badge&label=) | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | ![GitHub stars](https://img.shields.io/github/stars/OpenHFT/Chronicle-Map?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenHFT/Chronicle-Map?style=for-the-badge&label=) | | [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | | [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | -| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | GitHub stars | Last commit | -| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | GitHub stars | Last commit | +| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | ![GitHub stars](https://img.shields.io/github/stars/eXist-db/exist?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eXist-db/exist?style=for-the-badge&label=) | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | ![GitHub stars](https://img.shields.io/github/stars/vladmihalcea/flexy-pool?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vladmihalcea/flexy-pool?style=for-the-badge&label=) | | [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | | [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | -| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | GitHub stars | Last commit | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | ![GitHub stars](https://img.shields.io/github/stars/brettwooldridge/HikariCP?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/brettwooldridge/HikariCP?style=for-the-badge&label=) | | [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | | [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | -| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | GitHub stars | Last commit | -| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | GitHub stars | Last commit | -| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | GitHub stars | Last commit | -| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | GitHub stars | Last commit | +| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | ![GitHub stars](https://img.shields.io/github/stars/xetorthio/jedis?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xetorthio/jedis?style=for-the-badge&label=) | +| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | ![GitHub stars](https://img.shields.io/github/stars/searchbox-io/Jest?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/searchbox-io/Jest?style=for-the-badge&label=) | +| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | ![GitHub stars](https://img.shields.io/github/stars/justinsb/jetcd?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/justinsb/jetcd?style=for-the-badge&label=) | +| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | ![GitHub stars](https://img.shields.io/github/stars/my2iu/Jinq?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/my2iu/Jinq?style=for-the-badge&label=) | | [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | -| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | GitHub stars | Last commit | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | ![GitHub stars](https://img.shields.io/github/stars/Meituan-Dianping/Leaf?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Meituan-Dianping/Leaf?style=for-the-badge&label=) | | [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | | [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | | [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | -| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | GitHub stars | Last commit | -| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | GitHub stars | Last commit | -| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | GitHub stars | Last commit | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | ![GitHub stars](https://img.shields.io/github/stars/vorburger/MariaDB4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vorburger/MariaDB4j?style=for-the-badge&label=) | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | ![GitHub stars](https://img.shields.io/github/stars/arkanovicz/modality?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/arkanovicz/modality?style=for-the-badge&label=) | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | ![GitHub stars](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenDJ?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenDJ?style=for-the-badge&label=) | | [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | -| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | GitHub stars | Last commit | -| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | GitHub stars | Last commit | -| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | GitHub stars | Last commit | -| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | GitHub stars | Last commit | -| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | GitHub stars | Last commit | -| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | GitHub stars | Last commit | -| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | GitHub stars | Last commit | +| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | ![GitHub stars](https://img.shields.io/github/stars/querystream/querystream?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/querystream/querystream?style=for-the-badge&label=) | +| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | ![GitHub stars](https://img.shields.io/github/stars/questdb/questdb?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/questdb/questdb?style=for-the-badge&label=) | +| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | ![GitHub stars](https://img.shields.io/github/stars/realm/realm-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/realm/realm-java?style=for-the-badge&label=) | +| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | ![GitHub stars](https://img.shields.io/github/stars/redisson/redisson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/redisson/redisson?style=for-the-badge&label=) | +| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | ![GitHub stars](https://img.shields.io/github/stars/requery/requery?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/requery/requery?style=for-the-badge&label=) | +| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | ![GitHub stars](https://img.shields.io/github/stars/speedment/speedment?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/speedment/speedment?style=for-the-badge&label=) | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | ![GitHub stars](https://img.shields.io/github/stars/mhewedy/spring-data-jpa-mongodb-expressions?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mhewedy/spring-data-jpa-mongodb-expressions?style=for-the-badge&label=) | | [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | | [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | -| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | GitHub stars | Last commit | -| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | GitHub stars | Last commit | +| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | ![GitHub stars](https://img.shields.io/github/stars/JetBrains/xodus?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/JetBrains/xodus?style=for-the-badge&label=) | +| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | ![GitHub stars](https://img.shields.io/github/stars/Ahoo-Wang/CosId?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Ahoo-Wang/CosId?style=for-the-badge&label=) | @@ -379,10 +379,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | GitHub stars | Last commit | -| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | GitHub stars | Last commit | -| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | GitHub stars | Last commit | -| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | GitHub stars | Last commit | +| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | ![GitHub stars](https://img.shields.io/github/stars/ical4j/ical4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ical4j/ical4j?style=for-the-badge&label=) | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | ![GitHub stars](https://img.shields.io/github/stars/svendiedrichsen/jollyday?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/svendiedrichsen/jollyday?style=for-the-badge&label=) | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | ![GitHub stars](https://img.shields.io/github/stars/ThreeTen/threeten-extra?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ThreeTen/threeten-extra?style=for-the-badge&label=) | +| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | ![GitHub stars](https://img.shields.io/github/stars/MenoData/Time4J?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/MenoData/Time4J?style=for-the-badge&label=) | @@ -393,11 +393,11 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | | [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | | [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | -| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | GitHub stars | Last commit | -| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | GitHub stars | Last commit | -| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | GitHub stars | Last commit | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | ![GitHub stars](https://img.shields.io/github/stars/zsoltherpai/feather?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zsoltherpai/feather?style=for-the-badge&label=) | +| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | ![GitHub stars](https://img.shields.io/github/stars/Netflix/governator?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Netflix/governator?style=for-the-badge&label=) | +| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | ![GitHub stars](https://img.shields.io/github/stars/google/guice?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/guice?style=for-the-badge&label=) | | [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) | GitHub stars | Last commit | +| [JayWire](https://github.com/vanillasource/jaywire) | Lightweight dependency injection framework. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/vanillasource/jaywire?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vanillasource/jaywire?style=for-the-badge&label=) | @@ -407,13 +407,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | | [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | -| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | GitHub stars | Last commit | -| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | GitHub stars | Last commit | -| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | GitHub stars | Last commit | -| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | GitHub stars | Last commit | -| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | GitHub stars | Last commit | +| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | ![GitHub stars](https://img.shields.io/github/stars/zalando/faux-pas?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/faux-pas?style=for-the-badge&label=) | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | ![GitHub stars](https://img.shields.io/github/stars/HotswapProjects/HotswapAgent?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/HotswapProjects/HotswapAgent?style=for-the-badge&label=) | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | ![GitHub stars](https://img.shields.io/github/stars/javaparser/javaparser?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javaparser/javaparser?style=for-the-badge&label=) | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | ![GitHub stars](https://img.shields.io/github/stars/javaparser/javasymbolsolver?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javaparser/javasymbolsolver?style=for-the-badge&label=) | +| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | ![GitHub stars](https://img.shields.io/github/stars/manifold-systems/manifold?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/manifold-systems/manifold?style=for-the-badge&label=) | | [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | -| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | GitHub stars | Last commit | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | ![GitHub stars](https://img.shields.io/github/stars/rainerhahnekamp/sneakythrow?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rainerhahnekamp/sneakythrow?style=for-the-badge&label=) | | [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | @@ -427,15 +427,15 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | | [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | | [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | -| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | GitHub stars | Last commit | -| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | GitHub stars | Last commit | -| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | GitHub stars | Last commit | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | ![GitHub stars](https://img.shields.io/github/stars/mtakaki/dropwizard-circuitbreaker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mtakaki/dropwizard-circuitbreaker?style=for-the-badge&label=) | +| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | ![GitHub stars](https://img.shields.io/github/stars/jhalterman/failsafe?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhalterman/failsafe?style=for-the-badge&label=) | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | ![GitHub stars](https://img.shields.io/github/stars/hazelcast/hazelcast?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/hazelcast/hazelcast?style=for-the-badge&label=) | | [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | | [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | -| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | GitHub stars | Last commit | -| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | GitHub stars | Last commit | -| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | GitHub stars | Last commit | -| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | GitHub stars | Last commit | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | ![GitHub stars](https://img.shields.io/github/stars/resilience4j/resilience4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/resilience4j/resilience4j?style=for-the-badge&label=) | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | ![GitHub stars](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenIG?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenIG?style=for-the-badge&label=) | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | ![GitHub stars](https://img.shields.io/github/stars/scalecube/scalecube-services?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/scalecube/scalecube-services?style=for-the-badge&label=) | +| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | ![GitHub stars](https://img.shields.io/github/stars/Netflix/zuul?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Netflix/zuul?style=for-the-badge&label=) | @@ -444,9 +444,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | -| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | GitHub stars | Last commit | +| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | ![GitHub stars](https://img.shields.io/github/stars/bitronix/btm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bitronix/btm?style=for-the-badge&label=) | | [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | -| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | GitHub stars | Last commit | +| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | ![GitHub stars](https://img.shields.io/github/stars/seata/seata?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/seata/seata?style=for-the-badge&label=) | @@ -454,16 +454,16 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | GitHub stars | Last commit | -| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | GitHub stars | Last commit | +| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | ![GitHub stars](https://img.shields.io/github/stars/artipie/artipie?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/artipie/artipie?style=for-the-badge&label=) | +| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | ![GitHub stars](https://img.shields.io/github/stars/puniverse/capsule?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/puniverse/capsule?style=for-the-badge&label=) | | [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | -| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | GitHub stars | Last commit | +| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | ![GitHub stars](https://img.shields.io/github/stars/threerings/getdown?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/threerings/getdown?style=for-the-badge&label=) | | [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | -| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | GitHub stars | Last commit | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | ![GitHub stars](https://img.shields.io/github/stars/fvarrui/JavaPackager?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/fvarrui/JavaPackager?style=for-the-badge&label=) | | [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | -| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | GitHub stars | Last commit | -| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | GitHub stars | Last commit | -| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | GitHub stars | Last commit | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | ![GitHub stars](https://img.shields.io/github/stars/AdoptOpenJDK/jlink.online?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AdoptOpenJDK/jlink.online?style=for-the-badge&label=) | +| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | ![GitHub stars](https://img.shields.io/github/stars/libgdx/packr?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/libgdx/packr?style=for-the-badge&label=) | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | ![GitHub stars](https://img.shields.io/github/stars/brianm/really-executable-jars-maven-plugin?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/brianm/really-executable-jars-maven-plugin?style=for-the-badge&label=) | @@ -474,8 +474,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | | [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | | [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | -| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | GitHub stars | Last commit | -| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | GitHub stars | Last commit | +| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | ![GitHub stars](https://img.shields.io/github/stars/dhatim/fastexcel?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dhatim/fastexcel?style=for-the-badge&label=) | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | ![GitHub stars](https://img.shields.io/github/stars/creditdatamw/zerocell?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/creditdatamw/zerocell?style=for-the-badge&label=) | @@ -483,12 +483,12 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | GitHub stars | Last commit | -| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | GitHub stars | Last commit | -| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | GitHub stars | Last commit | -| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | GitHub stars | Last commit | -| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | GitHub stars | Last commit | -| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | GitHub stars | Last commit | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | ![GitHub stars](https://img.shields.io/github/stars/cassandre-tech/cassandre-trading-bot?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cassandre-tech/cassandre-trading-bot?style=for-the-badge&label=) | +| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | ![GitHub stars](https://img.shields.io/github/stars/paritytrading/parity?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/paritytrading/parity?style=for-the-badge&label=) | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | ![GitHub stars](https://img.shields.io/github/stars/paritytrading/philadelphia?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/paritytrading/philadelphia?style=for-the-badge&label=) | +| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | ![GitHub stars](https://img.shields.io/github/stars/square/connect-java-sdk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/connect-java-sdk?style=for-the-badge&label=) | +| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | ![GitHub stars](https://img.shields.io/github/stars/stripe/stripe-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/stripe/stripe-java?style=for-the-badge&label=) | +| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | ![GitHub stars](https://img.shields.io/github/stars/ta4j/ta4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ta4j/ta4j?style=for-the-badge&label=) | @@ -496,10 +496,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | GitHub stars | Last commit | +| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | ![GitHub stars](https://img.shields.io/github/stars/ksen007/janala2?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ksen007/janala2?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) | JVM formal verification tool containing a model checker and more. Created by NASA. | ![GitHub stars](https://img.shields.io/github/stars/javapathfinder/jpf-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javapathfinder/jpf-core?style=for-the-badge&label=) | | [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) | - | - | @@ -510,14 +510,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | GitHub stars | Last commit | -| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | GitHub stars | Last commit | +| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | ![GitHub stars](https://img.shields.io/github/stars/aol/cyclops?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/aol/cyclops?style=for-the-badge&label=) | +| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/derive4j/derive4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/derive4j/derive4j?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | GitHub stars | Last commit | -| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | GitHub stars | Last commit | -| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/jOOQ/jOOL?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jOOQ/jOOL?style=for-the-badge&label=) | +| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | ![GitHub stars](https://img.shields.io/github/stars/jhspetersson/packrat?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhspetersson/packrat?style=for-the-badge&label=) | +| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | ![GitHub stars](https://img.shields.io/github/stars/poetix/protonpack?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/poetix/protonpack?style=for-the-badge&label=) | +| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | ![GitHub stars](https://img.shields.io/github/stars/amaembo/streamex?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/amaembo/streamex?style=for-the-badge&label=) | | [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | @@ -533,8 +533,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | | [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. | GitHub stars | Last commit | -| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | GitHub stars | Last commit | +| [Void2D](https://github.com/xzripper/Void2D) | High-level 2D game engine with built-in physics based on Swing. | ![GitHub stars](https://img.shields.io/github/stars/xzripper/Void2D?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xzripper/Void2D?style=for-the-badge&label=) | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | ![GitHub stars](https://img.shields.io/github/stars/chuigda/vulkan4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/chuigda/vulkan4j?style=for-the-badge&label=) | @@ -543,13 +543,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | -| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | GitHub stars | Last commit | +| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | ![GitHub stars](https://img.shields.io/github/stars/davidmoten/geo?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/davidmoten/geo?style=for-the-badge&label=) | | [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | GitHub stars | Last commit | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | ![GitHub stars](https://img.shields.io/github/stars/graphhopper/graphhopper?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/graphhopper/graphhopper?style=for-the-badge&label=) | | [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | | [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | -| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | GitHub stars | Last commit | -| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | GitHub stars | Last commit | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/mapsforge/mapsforge?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mapsforge/mapsforge?style=for-the-badge&label=) | +| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | ![GitHub stars](https://img.shields.io/github/stars/locationtech/spatial4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/locationtech/spatial4j?style=for-the-badge&label=) | @@ -559,7 +559,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | | [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | -| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | GitHub stars | Last commit | +| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | ![GitHub stars](https://img.shields.io/github/stars/reportmill/SnapKit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/reportmill/SnapKit?style=for-the-badge&label=) | | [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | @@ -568,13 +568,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | GitHub stars | Last commit | +| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | ![GitHub stars](https://img.shields.io/github/stars/real-logic/Agrona?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/real-logic/Agrona?style=for-the-badge&label=) | | [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | -| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | GitHub stars | Last commit | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | ![GitHub stars](https://img.shields.io/github/stars/eclipse/eclipse-collections?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eclipse/eclipse-collections?style=for-the-badge&label=) | | [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | | [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | -| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | GitHub stars | Last commit | -| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | GitHub stars | Last commit | +| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | ![GitHub stars](https://img.shields.io/github/stars/JCTools/JCTools?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/JCTools/JCTools?style=for-the-badge&label=) | +| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | ![GitHub stars](https://img.shields.io/github/stars/leventov/Koloboke?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/leventov/Koloboke?style=for-the-badge&label=) | @@ -583,15 +583,15 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | -| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | GitHub stars | Last commit | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | ![GitHub stars](https://img.shields.io/github/stars/AsyncHttpClient/async-http-client?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AsyncHttpClient/async-http-client?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | GitHub stars | Last commit | +| [Feign](https://github.com/OpenFeign/feign) | HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. | ![GitHub stars](https://img.shields.io/github/stars/OpenFeign/feign?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenFeign/feign?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/googleapis/google-http-java-client?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/googleapis/google-http-java-client?style=for-the-badge&label=) | +| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | ![GitHub stars](https://img.shields.io/github/stars/mizosoft/methanol?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mizosoft/methanol?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | GitHub stars | Last commit | -| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | GitHub stars | Last commit | +| [Ribbon](https://github.com/Netflix/ribbon) | Client-side IPC library that is battle-tested in the cloud. | ![GitHub stars](https://img.shields.io/github/stars/Netflix/ribbon?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Netflix/ribbon?style=for-the-badge&label=) | +| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | ![GitHub stars](https://img.shields.io/github/stars/zalando/riptide?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/riptide?style=for-the-badge&label=) | +| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | ![GitHub stars](https://img.shields.io/github/stars/Kong/unirest-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Kong/unirest-java?style=for-the-badge&label=) | @@ -599,10 +599,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | GitHub stars | Last commit | -| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | GitHub stars | Last commit | -| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | +| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | ![GitHub stars](https://img.shields.io/github/stars/blackdoor/hate?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/blackdoor/hate?style=for-the-badge&label=) | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | ![GitHub stars](https://img.shields.io/github/stars/jsonld-java/jsonld-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jsonld-java/jsonld-java?style=for-the-badge&label=) | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | ![GitHub stars](https://img.shields.io/github/stars/eserating-chwy/siren4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eserating-chwy/siren4j?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/spring-projects/spring-hateoas?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/spring-projects/spring-hateoas?style=for-the-badge&label=) | @@ -622,14 +622,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | GitHub stars | Last commit | -| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | GitHub stars | Last commit | -| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | GitHub stars | Last commit | -| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | GitHub stars | Last commit | -| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | GitHub stars | Last commit | -| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | GitHub stars | Last commit | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | ![GitHub stars](https://img.shields.io/github/stars/vws-java/Barcode-Lib4J?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vws-java/Barcode-Lib4J?style=for-the-badge&label=) | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | ![GitHub stars](https://img.shields.io/github/stars/rkalla/imgscalr?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rkalla/imgscalr?style=for-the-badge&label=) | +| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | ![GitHub stars](https://img.shields.io/github/stars/nguyenq/tess4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nguyenq/tess4j?style=for-the-badge&label=) | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | ![GitHub stars](https://img.shields.io/github/stars/coobird/thumbnailator?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/coobird/thumbnailator?style=for-the-badge&label=) | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | ![GitHub stars](https://img.shields.io/github/stars/haraldk/TwelveMonkeys?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/haraldk/TwelveMonkeys?style=for-the-badge&label=) | +| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | ![GitHub stars](https://img.shields.io/github/stars/zxing/zxing?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zxing/zxing?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/romankh3/image-comparison?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/romankh3/image-comparison?style=for-the-badge&label=) | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | ![GitHub stars](https://img.shields.io/github/stars/lopcode/vips-ffm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lopcode/vips-ffm?style=for-the-badge&label=) | | [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | @@ -638,12 +638,12 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | GitHub stars | Last commit | -| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | GitHub stars | Last commit | +| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | ![GitHub stars](https://img.shields.io/github/stars/classgraph/classgraph?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/classgraph/classgraph?style=for-the-badge&label=) | +| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | ![GitHub stars](https://img.shields.io/github/stars/jOOQ/jOOR?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jOOQ/jOOR?style=for-the-badge&label=) | | [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | | [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | -| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | GitHub stars | Last commit | -| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | GitHub stars | Last commit | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | ![GitHub stars](https://img.shields.io/github/stars/EsotericSoftware/reflectasm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EsotericSoftware/reflectasm?style=for-the-badge&label=) | +| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | ![GitHub stars](https://img.shields.io/github/stars/ronmamo/reflections?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ronmamo/reflections?style=for-the-badge&label=) | @@ -651,13 +651,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [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. | GitHub stars | Last commit | -| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | GitHub stars | Last commit | -| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | GitHub stars | Last commit | -| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | GitHub stars | Last commit | -| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/jobrunr/jobrunr?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jobrunr/jobrunr?style=for-the-badge&label=) | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | ![GitHub stars](https://img.shields.io/github/stars/quartz-scheduler/quartz?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/quartz-scheduler/quartz?style=for-the-badge&label=) | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | ![GitHub stars](https://img.shields.io/github/stars/knowm/Sundial?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/knowm/Sundial?style=for-the-badge&label=) | +| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | ![GitHub stars](https://img.shields.io/github/stars/Coreoz/Wisp?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Coreoz/Wisp?style=for-the-badge&label=) | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | ![GitHub stars](https://img.shields.io/github/stars/kagkarlsson/db-scheduler?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/kagkarlsson/db-scheduler?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/j-easy/easy-batch?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/j-easy/easy-batch?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/lukas-krecan/ShedLock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lukas-krecan/ShedLock?style=for-the-badge&label=) | @@ -666,22 +666,22 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | -| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | GitHub stars | Last commit | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | ![GitHub stars](https://img.shields.io/github/stars/ngs-doo/dsl-json?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ngs-doo/dsl-json?style=for-the-badge&label=) | | [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | -| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | GitHub stars | Last commit | -| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | GitHub stars | Last commit | -| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | GitHub stars | Last commit | -| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | GitHub stars | Last commit | -| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | GitHub stars | Last commit | -| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | GitHub stars | Last commit | +| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | ![GitHub stars](https://img.shields.io/github/stars/google/gson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/gson?style=for-the-badge&label=) | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | ![GitHub stars](https://img.shields.io/github/stars/brettwooldridge/HikariJSON?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/brettwooldridge/HikariJSON?style=for-the-badge&label=) | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | ![GitHub stars](https://img.shields.io/github/stars/FasterXML/jackson-modules-java8?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/FasterXML/jackson-modules-java8?style=for-the-badge&label=) | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | ![GitHub stars](https://img.shields.io/github/stars/zalando/jackson-datatype-money?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/jackson-datatype-money?style=for-the-badge&label=) | +| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | ![GitHub stars](https://img.shields.io/github/stars/FasterXML/jackson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/FasterXML/jackson?style=for-the-badge&label=) | +| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | ![GitHub stars](https://img.shields.io/github/stars/jdereg/json-io?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jdereg/json-io?style=for-the-badge&label=) | | [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | -| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | GitHub stars | Last commit | -| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | GitHub stars | Last commit | -| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | GitHub stars | Last commit | -| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | GitHub stars | Last commit | -| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | GitHub stars | Last commit | -| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | GitHub stars | Last commit | -| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | GitHub stars | Last commit | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | ![GitHub stars](https://img.shields.io/github/stars/bluelinelabs/LoganSquare?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bluelinelabs/LoganSquare?style=for-the-badge&label=) | +| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | ![GitHub stars](https://img.shields.io/github/stars/square/moshi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/moshi?style=for-the-badge&label=) | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | ![GitHub stars](https://img.shields.io/github/stars/eclipse-ee4j/yasson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eclipse-ee4j/yasson?style=for-the-badge&label=) | +| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/fastjson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/fastjson?style=for-the-badge&label=) | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | ![GitHub stars](https://img.shields.io/github/stars/bazaarvoice/jolt?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bazaarvoice/jolt?style=for-the-badge&label=) | +| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | ![GitHub stars](https://img.shields.io/github/stars/json-path/JsonPath?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/json-path/JsonPath?style=for-the-badge&label=) | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | ![GitHub stars](https://img.shields.io/github/stars/jsurfer/JsonSurfer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jsurfer/JsonSurfer?style=for-the-badge&label=) | @@ -692,16 +692,16 @@ _Frameworks and libraries that help implementing and verifying design and archit | [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. | - | - | | [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. | GitHub stars | Last commit | -| [Graal](https://github.com/oracle/graal) | Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) | GitHub stars | Last commit | +| [Dragonwell8](https://github.com/alibaba/dragonwell8) | Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/dragonwell8?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/dragonwell8?style=for-the-badge&label=) | +| [Graal](https://github.com/oracle/graal) | Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) | ![GitHub stars](https://img.shields.io/github/stars/oracle/graal?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/oracle/graal?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/eclipse/openj9?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eclipse/openj9?style=for-the-badge&label=) | | [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) | GitHub stars | Last commit | +| [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) | ![GitHub stars](https://img.shields.io/github/stars/codenameone/CodenameOne/tree/master/vm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/codenameone/CodenameOne/tree/master/vm?style=for-the-badge&label=) | | [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | GitHub stars | Last commit | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | ![GitHub stars](https://img.shields.io/github/stars/microsoft/openjdk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/microsoft/openjdk?style=for-the-badge&label=) | @@ -710,16 +710,16 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [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. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/tersesystems/echopraxia?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/tersesystems/echopraxia?style=for-the-badge&label=) | | [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. | - | - | -| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | GitHub stars | Last commit | +| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | ![GitHub stars](https://img.shields.io/github/stars/zalando/logbook?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/logbook?style=for-the-badge&label=) | | [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | -| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | GitHub stars | Last commit | +| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | ![GitHub stars](https://img.shields.io/github/stars/p6spy/p6spy?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/p6spy/p6spy?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/zalando/opentracing-toolbox?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/opentracing-toolbox?style=for-the-badge&label=) | | [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. | - | - | @@ -733,14 +733,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | | [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | | [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | -| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | GitHub stars | Last commit | -| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | GitHub stars | Last commit | -| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | GitHub stars | Last commit | -| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | GitHub stars | Last commit | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | ![GitHub stars](https://img.shields.io/github/stars/Barqawiz/IntelliJava?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Barqawiz/IntelliJava?style=for-the-badge&label=) | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/EdwardRaff/JSAT?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EdwardRaff/JSAT?style=for-the-badge&label=) | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | ![GitHub stars](https://img.shields.io/github/stars/BayesWitnesses/m2cgen?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/BayesWitnesses/m2cgen?style=for-the-badge&label=) | +| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | ![GitHub stars](https://img.shields.io/github/stars/Gleethos/neureka?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Gleethos/neureka?style=for-the-badge&label=) | | [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | -| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | GitHub stars | Last commit | -| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | GitHub stars | Last commit | -| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | GitHub stars | Last commit | +| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | ![GitHub stars](https://img.shields.io/github/stars/OryxProject/oryx?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OryxProject/oryx?style=for-the-badge&label=) | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | ![GitHub stars](https://img.shields.io/github/stars/siddhi-io/siddhi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/siddhi-io/siddhi?style=for-the-badge&label=) | +| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | ![GitHub stars](https://img.shields.io/github/stars/haifengl/smile?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/haifengl/smile?style=for-the-badge&label=) | | [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | | [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | @@ -750,22 +750,22 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | GitHub stars | Last commit | +| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | ![GitHub stars](https://img.shields.io/github/stars/real-logic/Aeron?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/real-logic/Aeron?style=for-the-badge&label=) | | [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | | [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | | [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | | [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | | [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | | [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | -| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | GitHub stars | Last commit | -| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | GitHub stars | Last commit | -| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | GitHub stars | Last commit | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | ![GitHub stars](https://img.shields.io/github/stars/AutoMQ/automq-for-kafka?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AutoMQ/automq-for-kafka?style=for-the-badge&label=) | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | ![GitHub stars](https://img.shields.io/github/stars/joel-jeremy/deezpatch?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/joel-jeremy/deezpatch?style=for-the-badge&label=) | +| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | ![GitHub stars](https://img.shields.io/github/stars/greenrobot/EventBus?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/greenrobot/EventBus?style=for-the-badge&label=) | | [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | -| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | GitHub stars | Last commit | -| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | GitHub stars | Last commit | -| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | GitHub stars | Last commit | -| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | GitHub stars | Last commit | -| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | GitHub stars | Last commit | +| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | ![GitHub stars](https://img.shields.io/github/stars/zeromq/jeromq?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zeromq/jeromq?style=for-the-badge&label=) | +| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | ![GitHub stars](https://img.shields.io/github/stars/zalando/nakadi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/nakadi?style=for-the-badge&label=) | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | ![GitHub stars](https://img.shields.io/github/stars/rabbitmq/rabbitmq-java-client?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rabbitmq/rabbitmq-java-client?style=for-the-badge&label=) | +| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | ![GitHub stars](https://img.shields.io/github/stars/igniterealtime/Smack?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/igniterealtime/Smack?style=for-the-badge&label=) | +| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | ![GitHub stars](https://img.shields.io/github/stars/nats-io/nats.java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nats-io/nats.java?style=for-the-badge&label=) | @@ -774,18 +774,18 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | -| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | GitHub stars | Last commit | -| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | GitHub stars | Last commit | -| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | GitHub stars | Last commit | +| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | ![GitHub stars](https://img.shields.io/github/stars/line/armeria?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/line/armeria?style=for-the-badge&label=) | +| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | ![GitHub stars](https://img.shields.io/github/stars/Ecwid/consul-api?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Ecwid/consul-api?style=for-the-badge&label=) | +| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | ![GitHub stars](https://img.shields.io/github/stars/Netflix/eureka?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Netflix/eureka?style=for-the-badge&label=) | | [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | -| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | GitHub stars | Last commit | -| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | GitHub stars | Last commit | -| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | GitHub stars | Last commit | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | ![GitHub stars](https://img.shields.io/github/stars/DV8FromTheWorld/JDA?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/DV8FromTheWorld/JDA?style=for-the-badge&label=) | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | ![GitHub stars](https://img.shields.io/github/stars/DaveJarvis/KeenType?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/DaveJarvis/KeenType?style=for-the-badge&label=) | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | ![GitHub stars](https://img.shields.io/github/stars/fabric8io/kubernetes-client?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/fabric8io/kubernetes-client?style=for-the-badge&label=) | | [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | | [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | -| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | GitHub stars | Last commit | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | ![GitHub stars](https://img.shields.io/github/stars/TheoKanning/openai-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/TheoKanning/openai-java?style=for-the-badge&label=) | | [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | -| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | GitHub stars | Last commit | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/Sentinel?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/Sentinel?style=for-the-badge&label=) | @@ -793,42 +793,42 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | GitHub stars | Last commit | -| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | GitHub stars | Last commit | -| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | GitHub stars | Last commit | -| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | GitHub stars | Last commit | -| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | GitHub stars | Last commit | +| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | ![GitHub stars](https://img.shields.io/github/stars/npgall/cqengine?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/npgall/cqengine?style=for-the-badge&label=) | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | ![GitHub stars](https://img.shields.io/github/stars/iluwatar/java-design-patterns?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/iluwatar/java-design-patterns?style=for-the-badge&label=) | +| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | ![GitHub stars](https://img.shields.io/github/stars/ff4j/ff4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ff4j/ff4j?style=for-the-badge&label=) | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | ![GitHub stars](https://img.shields.io/github/stars/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?style=for-the-badge&label=) | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | ![GitHub stars](https://img.shields.io/github/stars/ip2location/ip2location-io-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ip2location/ip2location-io-java?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/ladutsko/isbn-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ladutsko/isbn-core?style=for-the-badge&label=) | +| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | ![GitHub stars](https://img.shields.io/github/stars/google/j2objc?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/j2objc?style=for-the-badge&label=) | | [JBake](https://jbake.org) | Static website generator. | - | - | -| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | GitHub stars | Last commit | +| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/rampatra/jbot?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rampatra/jbot?style=for-the-badge&label=) | | [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | -| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | GitHub stars | Last commit | -| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | GitHub stars | Last commit | +| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | ![GitHub stars](https://img.shields.io/github/stars/felldo/JEmoji?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/felldo/JEmoji?style=for-the-badge&label=) | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | ![GitHub stars](https://img.shields.io/github/stars/google/jimfs?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/jimfs?style=for-the-badge&label=) | | [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | -| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | GitHub stars | Last commit | +| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | ![GitHub stars](https://img.shields.io/github/stars/jooq/joox?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jooq/joox?style=for-the-badge&label=) | | [JPad](http://jpad.io) | Snippet runner. | - | - | -| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | GitHub stars | Last commit | -| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | GitHub stars | Last commit | -| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | GitHub stars | Last commit | -| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | GitHub stars | Last commit | -| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | GitHub stars | Last commit | -| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | GitHub stars | Last commit | -| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | GitHub stars | Last commit | -| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | GitHub stars | Last commit | +| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | ![GitHub stars](https://img.shields.io/github/stars/cincheo/jsweet?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cincheo/jsweet?style=for-the-badge&label=) | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | ![GitHub stars](https://img.shields.io/github/stars/takari/maven-wrapper?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/takari/maven-wrapper?style=for-the-badge&label=) | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | ![GitHub stars](https://img.shields.io/github/stars/membrane/service-proxy?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/membrane/service-proxy?style=for-the-badge&label=) | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | ![GitHub stars](https://img.shields.io/github/stars/Guichaguri/MinimalFTP?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Guichaguri/MinimalFTP?style=for-the-badge&label=) | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | ![GitHub stars](https://img.shields.io/github/stars/adamfisk/LittleProxy?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/adamfisk/LittleProxy?style=for-the-badge&label=) | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | ![GitHub stars](https://img.shields.io/github/stars/winterbe/java8-tutorial?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/winterbe/java8-tutorial?style=for-the-badge&label=) | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | ![GitHub stars](https://img.shields.io/github/stars/gaul/modernizer-maven-plugin?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/gaul/modernizer-maven-plugin?style=for-the-badge&label=) | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | ![GitHub stars](https://img.shields.io/github/stars/OctoLinker/OctoLinker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OctoLinker/OctoLinker?style=for-the-badge&label=) | | [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | -| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | GitHub stars | Last commit | -| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | GitHub stars | Last commit | -| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | GitHub stars | Last commit | -| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | GitHub stars | Last commit | -| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | GitHub stars | Last commit | -| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | GitHub stars | Last commit | +| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | ![GitHub stars](https://img.shields.io/github/stars/sizovs/pipelinr?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sizovs/pipelinr?style=for-the-badge&label=) | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | ![GitHub stars](https://img.shields.io/github/stars/takari/polyglot-maven?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/takari/polyglot-maven?style=for-the-badge&label=) | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | ![GitHub stars](https://img.shields.io/github/stars/Kartikvk1996/RR4J?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Kartikvk1996/RR4J?style=for-the-badge&label=) | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | ![GitHub stars](https://img.shields.io/github/stars/bbottema/simple-java-mail?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bbottema/simple-java-mail?style=for-the-badge&label=) | +| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | ![GitHub stars](https://img.shields.io/github/stars/smooks/smooks?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/smooks/smooks?style=for-the-badge&label=) | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | ![GitHub stars](https://img.shields.io/github/stars/svix/svix-webhooks/tree/main/java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/svix/svix-webhooks/tree/main/java?style=for-the-badge&label=) | | [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | -| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | GitHub stars | Last commit | -| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | GitHub stars | Last commit | -| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | GitHub stars | Last commit | -| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | GitHub stars | Last commit | -| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | GitHub stars | Last commit | +| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | ![GitHub stars](https://img.shields.io/github/stars/jhalterman/typetools?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhalterman/typetools?style=for-the-badge&label=) | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | ![GitHub stars](https://img.shields.io/github/stars/sarxos/webcam-capture?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sarxos/webcam-capture?style=for-the-badge&label=) | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | ![GitHub stars](https://img.shields.io/github/stars/SvenEwald/xmlbeam?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SvenEwald/xmlbeam?style=for-the-badge&label=) | +| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | ![GitHub stars](https://img.shields.io/github/stars/yWorks/yGuard?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/yWorks/yGuard?style=for-the-badge&label=) | +| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | ![GitHub stars](https://img.shields.io/github/stars/maxandersen/jbang/?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/maxandersen/jbang/?style=for-the-badge&label=) | @@ -846,26 +846,26 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | GitHub stars | Last commit | -| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | GitHub stars | Last commit | -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | GitHub stars | Last commit | -| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | GitHub stars | Last commit | +| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | ![GitHub stars](https://img.shields.io/github/stars/apitally/apitally-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/apitally/apitally-java?style=for-the-badge&label=) | +| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | ![GitHub stars](https://img.shields.io/github/stars/stevensouza/automon?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/stevensouza/automon?style=for-the-badge&label=) | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | ![GitHub stars](https://img.shields.io/github/stars/dropwizard/metrics?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dropwizard/metrics?style=for-the-badge&label=) | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | ![GitHub stars](https://img.shields.io/github/stars/zalando/failsafe-actuator?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/failsafe-actuator?style=for-the-badge&label=) | | [Glowroot](https://glowroot.org) | Open-source Java APM. | - | - | -| [HertzBeat](https://github.com/dromara/hertzbeat) | Real-time monitoring system with custom-monitor and agentless. | GitHub stars | Last commit | -| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic and observable thread pool framework. | GitHub stars | Last commit | +| [HertzBeat](https://github.com/dromara/hertzbeat) | Real-time monitoring system with custom-monitor and agentless. | ![GitHub stars](https://img.shields.io/github/stars/dromara/hertzbeat?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dromara/hertzbeat?style=for-the-badge&label=) | +| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic and observable thread pool framework. | ![GitHub stars](https://img.shields.io/github/stars/opengoofy/hippo4j/blob/develop/README-EN.md?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/opengoofy/hippo4j/blob/develop/README-EN.md?style=for-the-badge&label=) | | [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. | - | - | -| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | GitHub stars | Last commit | -| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | ![GitHub stars](https://img.shields.io/github/stars/jaegertracing/jaeger-client-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jaegertracing/jaeger-client-java?style=for-the-badge&label=) | +| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | ![GitHub stars](https://img.shields.io/github/stars/javamelody/javamelody?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javamelody/javamelody?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/jmxtrans/jmxtrans?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jmxtrans/jmxtrans?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | GitHub stars | Last commit | -| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | GitHub stars | Last commit | -| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | GitHub stars | Last commit | -| [Pinpoint](https://github.com/naver/pinpoint) | Open-source APM tool. | GitHub stars | Last commit | -| [Prometheus](https://github.com/prometheus/client_java) | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. | GitHub stars | Last commit | -| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | GitHub stars | Last commit | -| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | GitHub stars | Last commit | +| [Micrometer](https://github.com/micrometer-metrics/micrometer) | Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. | ![GitHub stars](https://img.shields.io/github/stars/micrometer-metrics/micrometer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/micrometer-metrics/micrometer?style=for-the-badge&label=) | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | ![GitHub stars](https://img.shields.io/github/stars/micrometer-metrics/tracing?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/micrometer-metrics/tracing?style=for-the-badge&label=) | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | ![GitHub stars](https://img.shields.io/github/stars/lorenzoongithub/nudge4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lorenzoongithub/nudge4j?style=for-the-badge&label=) | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | ![GitHub stars](https://img.shields.io/github/stars/open-telemetry/opentelemetry-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/open-telemetry/opentelemetry-java?style=for-the-badge&label=) | +| [Pinpoint](https://github.com/naver/pinpoint) | Open-source APM tool. | ![GitHub stars](https://img.shields.io/github/stars/naver/pinpoint?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/naver/pinpoint?style=for-the-badge&label=) | +| [Prometheus](https://github.com/prometheus/client_java) | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. | ![GitHub stars](https://img.shields.io/github/stars/prometheus/client_java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/prometheus/client_java?style=for-the-badge&label=) | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | ![GitHub stars](https://img.shields.io/github/stars/stagemonitor/stagemonitor?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/stagemonitor/stagemonitor?style=for-the-badge&label=) | +| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | ![GitHub stars](https://img.shields.io/github/stars/palantir/Sysmon?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/palantir/Sysmon?style=for-the-badge&label=) | | [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | @@ -874,11 +874,11 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | GitHub stars | Last commit | -| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | GitHub stars | Last commit | -| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | GitHub stars | Last commit | -| [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). | GitHub stars | Last commit | -| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | GitHub stars | Last commit | +| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | ![GitHub stars](https://img.shields.io/github/stars/Syncleus/aparapi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Syncleus/aparapi?style=for-the-badge&label=) | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | ![GitHub stars](https://img.shields.io/github/stars/bytedeco/javacpp?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bytedeco/javacpp?style=for-the-badge&label=) | +| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | ![GitHub stars](https://img.shields.io/github/stars/java-native-access/jna?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/java-native-access/jna?style=for-the-badge&label=) | +| [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). | ![GitHub stars](https://img.shields.io/github/stars/jnr/jnr-ffi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jnr/jnr-ffi?style=for-the-badge&label=) | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | ![GitHub stars](https://img.shields.io/github/stars/scijava/native-lib-loader?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/scijava/native-lib-loader?style=for-the-badge&label=) | @@ -886,10 +886,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | GitHub stars | Last commit | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | ![GitHub stars](https://img.shields.io/github/stars/CogComp/cogcomp-nlp?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/CogComp/cogcomp-nlp?style=for-the-badge&label=) | | [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | | [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | -| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | GitHub stars | Last commit | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | ![GitHub stars](https://img.shields.io/github/stars/ejossev/hypherator-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ejossev/hypherator-java?style=for-the-badge&label=) | | [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | @@ -898,21 +898,21 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | GitHub stars | Last commit | -| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | GitHub stars | Last commit | -| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | GitHub stars | Last commit | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | ![GitHub stars](https://img.shields.io/github/stars/CiscoSE/commons-networking?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/CiscoSE/commons-networking?style=for-the-badge&label=) | +| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | ![GitHub stars](https://img.shields.io/github/stars/puniverse/comsat?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/puniverse/comsat?style=for-the-badge&label=) | +| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | ![GitHub stars](https://img.shields.io/github/stars/apache/dubbo?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/apache/dubbo?style=for-the-badge&label=) | | [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | -| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | GitHub stars | Last commit | -| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | GitHub stars | Last commit | +| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | ![GitHub stars](https://img.shields.io/github/stars/grpc/grpc-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/grpc/grpc-java?style=for-the-badge&label=) | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | ![GitHub stars](https://img.shields.io/github/stars/EsotericSoftware/kryonet?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EsotericSoftware/kryonet?style=for-the-badge&label=) | | [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | | [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | -| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | GitHub stars | Last commit | -| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | GitHub stars | Last commit | -| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | GitHub stars | Last commit | -| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | GitHub stars | Last commit | +| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | ![GitHub stars](https://img.shields.io/github/stars/airlift/drift?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/airlift/drift?style=for-the-badge&label=) | +| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | ![GitHub stars](https://img.shields.io/github/stars/apple/servicetalk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/apple/servicetalk?style=for-the-badge&label=) | +| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | ![GitHub stars](https://img.shields.io/github/stars/hierynomus/sshj?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/hierynomus/sshj?style=for-the-badge&label=) | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | ![GitHub stars](https://img.shields.io/github/stars/marianobarrios/tls-channel?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/marianobarrios/tls-channel?style=for-the-badge&label=) | | [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | -| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | GitHub stars | Last commit | -| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | GitHub stars | Last commit | +| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/slub/urnlib?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/slub/urnlib?style=for-the-badge&label=) | +| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | ![GitHub stars](https://img.shields.io/github/stars/komamitsu/fluency?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/komamitsu/fluency?style=for-the-badge&label=) | @@ -921,15 +921,15 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | -| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | GitHub stars | Last commit | +| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | ![GitHub stars](https://img.shields.io/github/stars/domaframework/doma?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/domaframework/doma?style=for-the-badge&label=) | | [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | | [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. | GitHub stars | Last commit | -| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | GitHub stars | Last commit | -| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | GitHub stars | Last commit | -| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | GitHub stars | Last commit | -| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | GitHub stars | Last commit | +| [MyBatis](https://github.com/mybatis/mybatis-3) | Couples objects with stored procedures or SQL statements. | ![GitHub stars](https://img.shields.io/github/stars/mybatis/mybatis-3?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mybatis/mybatis-3?style=for-the-badge&label=) | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | ![GitHub stars](https://img.shields.io/github/stars/baomidou/mybatis-plus?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/baomidou/mybatis-plus?style=for-the-badge&label=) | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | ![GitHub stars](https://img.shields.io/github/stars/braisdom/ObjectiveSql?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/braisdom/ObjectiveSql?style=for-the-badge&label=) | +| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | ![GitHub stars](https://img.shields.io/github/stars/permazen/permazen?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/permazen/permazen?style=for-the-badge&label=) | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | ![GitHub stars](https://img.shields.io/github/stars/arnaudroger/SimpleFlatMapper?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/arnaudroger/SimpleFlatMapper?style=for-the-badge&label=) | @@ -937,7 +937,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | GitHub stars | Last commit | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | ![GitHub stars](https://img.shields.io/github/stars/bsommerfeld/pathetic?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bsommerfeld/pathetic?style=for-the-badge&label=) | @@ -948,13 +948,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | | [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | | [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | -| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | GitHub stars | Last commit | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/dynamicreports/dynamicreports?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dynamicreports/dynamicreports?style=for-the-badge&label=) | | [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | -| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | GitHub stars | Last commit | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | ![GitHub stars](https://img.shields.io/github/stars/flyingsaucerproject/flyingsaucer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/flyingsaucerproject/flyingsaucer?style=for-the-badge&label=) | | [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | -| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | GitHub stars | Last commit | -| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | GitHub stars | Last commit | -| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | GitHub stars | Last commit | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | ![GitHub stars](https://img.shields.io/github/stars/danfickle/openhtmltopdf?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/danfickle/openhtmltopdf?style=for-the-badge&label=) | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | ![GitHub stars](https://img.shields.io/github/stars/LibrePDF/OpenPDF?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/LibrePDF/OpenPDF?style=for-the-badge&label=) | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | ![GitHub stars](https://img.shields.io/github/stars/tabulapdf/tabula-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/tabulapdf/tabula-java?style=for-the-badge&label=) | @@ -962,11 +962,11 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | GitHub stars | Last commit | -| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | GitHub stars | Last commit | -| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | GitHub stars | Last commit | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | ![GitHub stars](https://img.shields.io/github/stars/jvm-profiling-tools/honest-profiler?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jvm-profiling-tools/honest-profiler?style=for-the-badge&label=) | +| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | ![GitHub stars](https://img.shields.io/github/stars/giltene/jHiccup?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/giltene/jHiccup?style=for-the-badge&label=) | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | ![GitHub stars](https://img.shields.io/github/stars/AdoptOpenJDK/jitwatch?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AdoptOpenJDK/jitwatch?style=for-the-badge&label=) | | [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | -| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | GitHub stars | Last commit | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | ![GitHub stars](https://img.shields.io/github/stars/LatencyUtils/LatencyUtils?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/LatencyUtils/LatencyUtils?style=for-the-badge&label=) | @@ -1036,8 +1036,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | -| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | GitHub stars | Last commit | -| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | GitHub stars | Last commit | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | ![GitHub stars](https://img.shields.io/github/stars/networknt/light-4j/?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/networknt/light-4j/?style=for-the-badge&label=) | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | ![GitHub stars](https://img.shields.io/github/stars/OrienteerBAP/Orienteer/?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OrienteerBAP/Orienteer/?style=for-the-badge&label=) | | [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | @@ -1046,9 +1046,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | GitHub stars | Last commit | -| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | GitHub stars | Last commit | -| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | GitHub stars | Last commit | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | ![GitHub stars](https://img.shields.io/github/stars/vorburger/ch.vorburger.exec?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.exec?style=for-the-badge&label=) | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | ![GitHub stars](https://img.shields.io/github/stars/zeroturnaround/zt-exec?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zeroturnaround/zt-exec?style=for-the-badge&label=) | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | ![GitHub stars](https://img.shields.io/github/stars/zeroturnaround/zt-process-killer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zeroturnaround/zt-process-killer?style=for-the-badge&label=) | @@ -1057,9 +1057,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [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. | GitHub stars | Last commit | -| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | GitHub stars | Last commit | -| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | GitHub stars | Last commit | +| [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm) | Provides a standard for asynchronous stream processing with non-blocking backpressure. | ![GitHub stars](https://img.shields.io/github/stars/reactive-streams/reactive-streams-jvm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/reactive-streams/reactive-streams-jvm?style=for-the-badge&label=) | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | ![GitHub stars](https://img.shields.io/github/stars/reactor/reactor?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/reactor/reactor?style=for-the-badge&label=) | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | ![GitHub stars](https://img.shields.io/github/stars/ReactiveX/RxJava?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ReactiveX/RxJava?style=for-the-badge&label=) | | [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | @@ -1068,18 +1068,18 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | GitHub stars | Last commit | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | ![GitHub stars](https://img.shields.io/github/stars/dropwizard/dropwizard?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dropwizard/dropwizard?style=for-the-badge&label=) | | [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | | [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. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/aol/micro-server?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/aol/micro-server?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/linkedin/rest.li?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/linkedin/rest.li?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | GitHub stars | Last commit | +| [RestExpress](https://github.com/RestExpress/RestExpress) | Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. | ![GitHub stars](https://img.shields.io/github/stars/RestExpress/RestExpress?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/RestExpress/RestExpress?style=for-the-badge&label=) | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | ![GitHub stars](https://img.shields.io/github/stars/restlet/restlet-framework-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/restlet/restlet-framework-java?style=for-the-badge&label=) | | [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | | [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | -| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | GitHub stars | Last commit | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | ![GitHub stars](https://img.shields.io/github/stars/springdoc/springdoc-openapi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/springdoc/springdoc-openapi?style=for-the-badge&label=) | | [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | @@ -1089,20 +1089,20 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | -| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | GitHub stars | Last commit | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | ![GitHub stars](https://img.shields.io/github/stars/GSI-CS-CO/chart-fx?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/GSI-CS-CO/chart-fx?style=for-the-badge&label=) | | [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | -| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | GitHub stars | Last commit | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | ![GitHub stars](https://img.shields.io/github/stars/Erdos-Graph-Framework/Erdos?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Erdos-Graph-Framework/Erdos?style=for-the-badge&label=) | | [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | | [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | -| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | GitHub stars | Last commit | -| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | GitHub stars | Last commit | -| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | GitHub stars | Last commit | -| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | GitHub stars | Last commit | -| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | GitHub stars | Last commit | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | ![GitHub stars](https://img.shields.io/github/stars/jgrapht/jgrapht?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jgrapht/jgrapht?style=for-the-badge&label=) | +| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | ![GitHub stars](https://img.shields.io/github/stars/jgraph/jgraphx?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jgraph/jgraphx?style=for-the-badge&label=) | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | ![GitHub stars](https://img.shields.io/github/stars/logic-ng/LogicNG?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/logic-ng/LogicNG?style=for-the-badge&label=) | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | ![GitHub stars](https://img.shields.io/github/stars/MinesJTK/jtk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/MinesJTK/jtk?style=for-the-badge&label=) | +| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | ![GitHub stars](https://img.shields.io/github/stars/zavtech/morpheus-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zavtech/morpheus-core?style=for-the-badge&label=) | | [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | -| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | GitHub stars | Last commit | -| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | GitHub stars | Last commit | -| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | GitHub stars | Last commit | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/jfree/orson-charts?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jfree/orson-charts?style=for-the-badge&label=) | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | ![GitHub stars](https://img.shields.io/github/stars/jtablesaw/tablesaw?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jtablesaw/tablesaw?style=for-the-badge&label=) | +| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | ![GitHub stars](https://img.shields.io/github/stars/knowm/XChart?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/knowm/XChart?style=for-the-badge&label=) | @@ -1113,7 +1113,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | | [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | | [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | -| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | GitHub stars | Last commit | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | ![GitHub stars](https://img.shields.io/github/stars/haeungun/indexer4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/haeungun/indexer4j?style=for-the-badge&label=) | @@ -1122,27 +1122,27 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | -| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | GitHub stars | Last commit | +| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | ![GitHub stars](https://img.shields.io/github/stars/Hakky54/ayza?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Hakky54/ayza?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [DependencyCheck](https://github.com/jeremylong/DependencyCheck) | Detects publicly disclosed vulnerabilities contained within a project's dependencies. | ![GitHub stars](https://img.shields.io/github/stars/jeremylong/DependencyCheck?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jeremylong/DependencyCheck?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | GitHub stars | Last commit | -| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | GitHub stars | Last commit | -| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | GitHub stars | Last commit | -| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/hdiv/hdiv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/hdiv/hdiv?style=for-the-badge&label=) | +| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | ![GitHub stars](https://img.shields.io/github/stars/jwtk/jjwt?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jwtk/jjwt?style=for-the-badge&label=) | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | ![GitHub stars](https://img.shields.io/github/stars/BastiaanJansen/jwt-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/BastiaanJansen/jwt-java?style=for-the-badge&label=) | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | ![GitHub stars](https://img.shields.io/github/stars/auth0/jwks-rsa-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/auth0/jwks-rsa-java?style=for-the-badge&label=) | +| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | ![GitHub stars](https://img.shields.io/github/stars/abstractj/kalium?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/abstractj/kalium?style=for-the-badge&label=) | | [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | -| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | GitHub stars | Last commit | -| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | GitHub stars | Last commit | +| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | ![GitHub stars](https://img.shields.io/github/stars/square/keywhiz?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/keywhiz?style=for-the-badge&label=) | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | ![GitHub stars](https://img.shields.io/github/stars/GoSimpleLLC/nbvcxz?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/GoSimpleLLC/nbvcxz?style=for-the-badge&label=) | | [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | -| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | GitHub stars | Last commit | -| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | GitHub stars | Last commit | -| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | GitHub stars | Last commit | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | ![GitHub stars](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenAM?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenAM?style=for-the-badge&label=) | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | ![GitHub stars](https://img.shields.io/github/stars/BastiaanJansen/OTP-Java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/BastiaanJansen/OTP-Java?style=for-the-badge&label=) | +| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | ![GitHub stars](https://img.shields.io/github/stars/pac4j/pac4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/pac4j/pac4j?style=for-the-badge&label=) | | [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | -| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | GitHub stars | Last commit | -| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Tink](https://github.com/google/tink) | Provides a simple and misuse-proof API for common cryptographic tasks. | GitHub stars | Last commit | +| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | ![GitHub stars](https://img.shields.io/github/stars/Password4j/password4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Password4j/password4j?style=for-the-badge&label=) | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | ![GitHub stars](https://img.shields.io/github/stars/tersesystems/securitybuilder?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/tersesystems/securitybuilder?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/cossacklabs/themis?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cossacklabs/themis?style=for-the-badge&label=) | +| [Tink](https://github.com/google/tink) | Provides a simple and misuse-proof API for common cryptographic tasks. | ![GitHub stars](https://img.shields.io/github/stars/google/tink?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/tink?style=for-the-badge&label=) | | [Topaz](https://www.topaz.sh) | Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. | - | - | @@ -1151,12 +1151,12 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | GitHub stars | Last commit | -| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | GitHub stars | Last commit | -| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | GitHub stars | Last commit | -| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | GitHub stars | Last commit | -| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | GitHub stars | Last commit | -| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | GitHub stars | Last commit | +| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | ![GitHub stars](https://img.shields.io/github/stars/google/flatbuffers?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/flatbuffers?style=for-the-badge&label=) | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | ![GitHub stars](https://img.shields.io/github/stars/RuedigerMoeller/fast-serialization?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/RuedigerMoeller/fast-serialization?style=for-the-badge&label=) | +| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | ![GitHub stars](https://img.shields.io/github/stars/alipay/fury?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alipay/fury?style=for-the-badge&label=) | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | ![GitHub stars](https://img.shields.io/github/stars/EsotericSoftware/kryo?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EsotericSoftware/kryo?style=for-the-badge&label=) | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | ![GitHub stars](https://img.shields.io/github/stars/msgpack/msgpack-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/msgpack/msgpack-java?style=for-the-badge&label=) | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | ![GitHub stars](https://img.shields.io/github/stars/marcospassos/java-php-serializer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/marcospassos/java-php-serializer?style=for-the-badge&label=) | @@ -1167,7 +1167,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | | [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | | [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | -| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | GitHub stars | Last commit | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | ![GitHub stars](https://img.shields.io/github/stars/NanoHttpd/nanohttpd?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/NanoHttpd/nanohttpd?style=for-the-badge&label=) | | [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | @@ -1178,14 +1178,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | | [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | -| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | GitHub stars | Last commit | -| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | GitHub stars | Last commit | -| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | GitHub stars | Last commit | +| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | ![GitHub stars](https://img.shields.io/github/stars/neuland/jade4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/neuland/jade4j?style=for-the-badge&label=) | +| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | ![GitHub stars](https://img.shields.io/github/stars/verhas/jamal?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/verhas/jamal?style=for-the-badge&label=) | +| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | ![GitHub stars](https://img.shields.io/github/stars/jstachio/jstachio?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jstachio/jstachio?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/casid/jte?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/casid/jte?style=for-the-badge&label=) | +| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | ![GitHub stars](https://img.shields.io/github/stars/jtwig/jtwig?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jtwig/jtwig?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | GitHub stars | Last commit | +| [Rocker](https://github.com/fizzed/rocker) | Optimized, memory efficient and speedy template engine producing statically typed, plain objects. | ![GitHub stars](https://img.shields.io/github/stars/fizzed/rocker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/fizzed/rocker?style=for-the-badge&label=) | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | ![GitHub stars](https://img.shields.io/github/stars/antlr/stringtemplate4?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/antlr/stringtemplate4?style=for-the-badge&label=) | | [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | @@ -1194,13 +1194,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | GitHub stars | Last commit | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | GitHub stars | Last commit | +| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | ![GitHub stars](https://img.shields.io/github/stars/awaitility/awaitility?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/awaitility/awaitility?style=for-the-badge&label=) | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | ![GitHub stars](https://img.shields.io/github/stars/jhalterman/concurrentunit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhalterman/concurrentunit?style=for-the-badge&label=) | | [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | GitHub stars | Last commit | -| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | GitHub stars | Last commit | -| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | GitHub stars | Last commit | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | GitHub stars | Last commit | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | ![GitHub stars](https://img.shields.io/github/stars/SpectoLabs/hoverfly-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SpectoLabs/hoverfly-java?style=for-the-badge&label=) | +| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | ![GitHub stars](https://img.shields.io/github/stars/intuit/karate?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/intuit/karate?style=for-the-badge&label=) | +| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | ![GitHub stars](https://img.shields.io/github/stars/rest-assured/rest-assured?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rest-assured/rest-assured?style=for-the-badge&label=) | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | ![GitHub stars](https://img.shields.io/github/stars/testingisdocumenting/webtau?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/testingisdocumenting/webtau?style=for-the-badge&label=) | @@ -1208,13 +1208,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | GitHub stars | Last commit | -| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | GitHub stars | Last commit | -| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | GitHub stars | Last commit | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | ![GitHub stars](https://img.shields.io/github/stars/cucumber/cucumber-jvm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cucumber/cucumber-jvm?style=for-the-badge&label=) | +| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | ![GitHub stars](https://img.shields.io/github/stars/ctco/cukes?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ctco/cukes?style=for-the-badge&label=) | +| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | ![GitHub stars](https://img.shields.io/github/stars/j8spec/j8spec?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/j8spec/j8spec?style=for-the-badge&label=) | | [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | | [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | GitHub stars | Last commit | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | GitHub stars | Last commit | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | ![GitHub stars](https://img.shields.io/github/stars/RichardWarburton/lambda-behave?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/RichardWarburton/lambda-behave?style=for-the-badge&label=) | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | ![GitHub stars](https://img.shields.io/github/stars/serenity-bdd/serenity-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/serenity-bdd/serenity-core?style=for-the-badge&label=) | @@ -1222,16 +1222,16 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | GitHub stars | Last commit | -| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | GitHub stars | Last commit | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | GitHub stars | Last commit | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | GitHub stars | Last commit | -| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | GitHub stars | Last commit | -| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | GitHub stars | Last commit | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | GitHub stars | Last commit | -| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | GitHub stars | Last commit | -| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | GitHub stars | Last commit | -| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | GitHub stars | Last commit | +| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | ![GitHub stars](https://img.shields.io/github/stars/AutoParams/AutoParams?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AutoParams/AutoParams?style=for-the-badge&label=) | +| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | ![GitHub stars](https://img.shields.io/github/stars/keepcosmos/beanmother?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/keepcosmos/beanmother?style=for-the-badge&label=) | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | ![GitHub stars](https://img.shields.io/github/stars/datafaker-net/datafaker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/datafaker-net/datafaker?style=for-the-badge&label=) | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | ![GitHub stars](https://img.shields.io/github/stars/six2six/fixture-factory?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/six2six/fixture-factory?style=for-the-badge&label=) | +| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | ![GitHub stars](https://img.shields.io/github/stars/Devskiller/jfairy?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Devskiller/jfairy?style=for-the-badge&label=) | +| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | ![GitHub stars](https://img.shields.io/github/stars/instancio/instancio?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/instancio/instancio?style=for-the-badge&label=) | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | ![GitHub stars](https://img.shields.io/github/stars/randomizedtesting/randomizedtesting?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/randomizedtesting/randomizedtesting?style=for-the-badge&label=) | +| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | ![GitHub stars](https://img.shields.io/github/stars/DiUS/java-faker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/DiUS/java-faker?style=for-the-badge&label=) | +| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | ![GitHub stars](https://img.shields.io/github/stars/nomemory/mockneat?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nomemory/mockneat?style=for-the-badge&label=) | +| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | ![GitHub stars](https://img.shields.io/github/stars/xcancloud/JMock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xcancloud/JMock?style=for-the-badge&label=) | @@ -1242,14 +1242,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | [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. | GitHub stars | Last commit | +| [cdi-test](https://github.com/guhilling/cdi-test) | JUnit extension for easy and efficient testing of CDI components. | ![GitHub stars](https://img.shields.io/github/stars/guhilling/cdi-test?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/guhilling/cdi-test?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [Pact JVM](https://github.com/DiUS/pact-jvm) | Consumer-driven contract testing. | ![GitHub stars](https://img.shields.io/github/stars/DiUS/pact-jvm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/DiUS/pact-jvm?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/weld/weld-testing?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/weld/weld-testing?style=for-the-badge&label=) | @@ -1260,9 +1260,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | | [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | | [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | GitHub stars | Last commit | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | ![GitHub stars](https://img.shields.io/github/stars/lukas-krecan/JsonUnit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lukas-krecan/JsonUnit?style=for-the-badge&label=) | | [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | GitHub stars | Last commit | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | ![GitHub stars](https://img.shields.io/github/stars/xmlunit/xmlunit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xmlunit/xmlunit?style=for-the-badge&label=) | @@ -1270,17 +1270,17 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | GitHub stars | Last commit | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | GitHub stars | Last commit | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | ![GitHub stars](https://img.shields.io/github/stars/Hakky54/console-captor?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Hakky54/console-captor?style=for-the-badge&label=) | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | ![GitHub stars](https://img.shields.io/github/stars/TNG/junit-dataprovider?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/TNG/junit-dataprovider?style=for-the-badge&label=) | | [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | GitHub stars | Last commit | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | GitHub stars | Last commit | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | GitHub stars | Last commit | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | ![GitHub stars](https://img.shields.io/github/stars/Hakky54/log-captor?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Hakky54/log-captor?style=for-the-badge&label=) | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | ![GitHub stars](https://img.shields.io/github/stars/dm-drogeriemarkt/log-capture?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dm-drogeriemarkt/log-capture?style=for-the-badge&label=) | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | ![GitHub stars](https://img.shields.io/github/stars/MutabilityDetector/MutabilityDetector?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/MutabilityDetector/MutabilityDetector?style=for-the-badge&label=) | | [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. | GitHub stars | Last commit | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | GitHub stars | Last commit | -| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | +| [raml-tester](https://github.com/nidi3/raml-tester) | Tests if a request/response matches a given RAML definition. | ![GitHub stars](https://img.shields.io/github/stars/nidi3/raml-tester?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nidi3/raml-tester?style=for-the-badge&label=) | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | ![GitHub stars](https://img.shields.io/github/stars/diffplug/selfie?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/diffplug/selfie?style=for-the-badge&label=) | +| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | ![GitHub stars](https://img.shields.io/github/stars/stebz/stebz?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/stebz/stebz?style=for-the-badge&label=) | +| [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. | ![GitHub stars](https://img.shields.io/github/stars/testcontainers/testcontainers-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/testcontainers/testcontainers-java?style=for-the-badge&label=) | @@ -1289,12 +1289,12 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | -| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | GitHub stars | Last commit | +| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | ![GitHub stars](https://img.shields.io/github/stars/mockito/mockito?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mockito/mockito?style=for-the-badge&label=) | | [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | -| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | GitHub stars | Last commit | -| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | GitHub stars | Last commit | +| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | ![GitHub stars](https://img.shields.io/github/stars/dreamhead/moco?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dreamhead/moco?style=for-the-badge&label=) | +| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | ![GitHub stars](https://img.shields.io/github/stars/powermock/powermock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/powermock/powermock?style=for-the-badge&label=) | | [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | -| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | GitHub stars | Last commit | +| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | ![GitHub stars](https://img.shields.io/github/stars/easymock/easymock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/easymock/easymock?style=for-the-badge&label=) | @@ -1302,27 +1302,27 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | GitHub stars | Last commit | -| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | GitHub stars | Last commit | -| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | GitHub stars | Last commit | -| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | GitHub stars | Last commit | +| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/arthas?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/arthas?style=for-the-badge&label=) | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | ![GitHub stars](https://img.shields.io/github/stars/vladimir-bukhtoyarov/bucket4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vladimir-bukhtoyarov/bucket4j?style=for-the-badge&label=) | +| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | ![GitHub stars](https://img.shields.io/github/stars/yegor256/cactoos?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/yegor256/cactoos?style=for-the-badge&label=) | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | ![GitHub stars](https://img.shields.io/github/stars/cleopatra27/chocotea?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cleopatra27/chocotea?style=for-the-badge&label=) | | [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | -| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | GitHub stars | Last commit | -| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | GitHub stars | Last commit | -| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | GitHub stars | Last commit | -| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | GitHub stars | Last commit | -| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | GitHub stars | Last commit | -| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | GitHub stars | Last commit | +| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | ![GitHub stars](https://img.shields.io/github/stars/PatMartin/Dex?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/PatMartin/Dex?style=for-the-badge&label=) | +| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | ![GitHub stars](https://img.shields.io/github/stars/marianobarrios/dregex?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/marianobarrios/dregex?style=for-the-badge&label=) | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | ![GitHub stars](https://img.shields.io/github/stars/embulk/embulk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/embulk/embulk?style=for-the-badge&label=) | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | ![GitHub stars](https://img.shields.io/github/stars/vorburger/ch.vorburger.fswatch?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.fswatch?style=for-the-badge&label=) | +| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/gephi/gephi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/gephi/gephi?style=for-the-badge&label=) | +| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | ![GitHub stars](https://img.shields.io/github/stars/google/guava?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/guava?style=for-the-badge&label=) | | [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | -| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | GitHub stars | Last commit | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | ![GitHub stars](https://img.shields.io/github/stars/MathieuSoysal/Javadoc-publisher.yml?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/MathieuSoysal/Javadoc-publisher.yml?style=for-the-badge&label=) | | [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | -| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | GitHub stars | Last commit | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | ![GitHub stars](https://img.shields.io/github/stars/VerbalExpressions/JavaVerbalExpressions?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/VerbalExpressions/JavaVerbalExpressions?style=for-the-badge&label=) | | [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | -| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | GitHub stars | Last commit | -| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | GitHub stars | Last commit | +| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | ![GitHub stars](https://img.shields.io/github/stars/evpl/jkscope?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/evpl/jkscope?style=for-the-badge&label=) | +| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | ![GitHub stars](https://img.shields.io/github/stars/minio/minio-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/minio/minio-java?style=for-the-badge&label=) | | [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | -| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | GitHub stars | Last commit | -| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | GitHub stars | Last commit | +| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | ![GitHub stars](https://img.shields.io/github/stars/semver4j/semver4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/semver4j/semver4j?style=for-the-badge&label=) | +| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | ![GitHub stars](https://img.shields.io/github/stars/javadev/underscore-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javadev/underscore-java?style=for-the-badge&label=) | @@ -1330,9 +1330,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | GitHub stars | Last commit | -| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | GitHub stars | Last commit | -| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | GitHub stars | Last commit | +| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | ![GitHub stars](https://img.shields.io/github/stars/shyiko/jabba?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/shyiko/jabba?style=for-the-badge&label=) | +| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | ![GitHub stars](https://img.shields.io/github/stars/jenv/jenv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jenv/jenv?style=for-the-badge&label=) | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | ![GitHub stars](https://img.shields.io/github/stars/sdkman/sdkman-cli?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sdkman/sdkman-cli?style=for-the-badge&label=) | @@ -1341,10 +1341,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | -| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | GitHub stars | Last commit | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | ![GitHub stars](https://img.shields.io/github/stars/yasserg/crawler4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/yasserg/crawler4j?style=for-the-badge&label=) | | [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | | [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | -| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | GitHub stars | Last commit | +| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | ![GitHub stars](https://img.shields.io/github/stars/code4craft/webmagic?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/code4craft/webmagic?style=for-the-badge&label=) | @@ -1355,7 +1355,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | | [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | | [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | -| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | GitHub stars | Last commit | +| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | ![GitHub stars](https://img.shields.io/github/stars/lets-blade/blade?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lets-blade/blade?style=for-the-badge&label=) | | [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | | [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | | [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | @@ -1365,7 +1365,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | | [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. | GitHub stars | Last commit | +| [Takes](https://github.com/yegor256/takes) | Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. | ![GitHub stars](https://img.shields.io/github/stars/yegor256/takes?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/yegor256/takes?style=for-the-badge&label=) | | [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. | - | - | | [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | @@ -1376,7 +1376,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | -| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | GitHub stars | Last commit | +| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | ![GitHub stars](https://img.shields.io/github/stars/flowable/flowable-engine?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/flowable/flowable-engine?style=for-the-badge&label=) | | [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | diff --git a/scripts/Constants.java b/scripts/Constants.java index 8cf67b2f..b296511d 100644 --- a/scripts/Constants.java +++ b/scripts/Constants.java @@ -45,7 +45,7 @@ private Constants() {} public static final String TABLE_STYLE = "width:100%;table-layout:fixed;border-collapse:collapse;"; public static final String NAME_CELL_STYLE = "width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"; public static final String DESC_CELL_STYLE = "width:58%;word-wrap:break-word;"; - public static final String BADGE_CELL_STYLE = "width:12%;text-align:center;vertical-align:middle;min-height:40px;padding:0;"; + public static final String BADGE_CELL_STYLE = ""; // Badge URLs - Updated to remove labels public static final String GITHUB_STARS_BADGE_URL = "https://img.shields.io/github/stars/%s?style=for-the-badge&label="; diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java index 1a7c394b..da858054 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_badges.java @@ -91,9 +91,9 @@ List generateBadgeMappings(List entries) { continue; } - var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); + var starsBadge = String.format("![GitHub stars](%s)", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); - var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); + var lastCommitBadge = String.format("![Last commit](%s)", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); mappings.add(new BadgeMapping( entry.name(), diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index f4a247b1..7909570b 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -419,8 +419,19 @@ ValidationResult validateTransformation(List original, List "); + if (!originalSectionMap.containsKey(key)) { - extraSections.add(transformedSection); + // For subsections, check if the parent section exists + if (isSubsection) { + var parentSection = key.split(" > ")[0]; + if (!originalSectionMap.containsKey(parentSection)) { + extraSections.add(transformedSection); + } + // Skip subsections as they are valid if parent exists + } else { + extraSections.add(transformedSection); + } } } From ca22c211b954e50d17ed518b0172908006112d83 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:45:02 +0200 Subject: [PATCH 391/533] Improve badge size --- README.md | 846 ++++++++++---------- scripts/step_3_generate_badges.java | 4 +- scripts/step_6_validate_transformation.java | 2 +- 3 files changed, 426 insertions(+), 426 deletions(-) diff --git a/README.md b/README.md index 18c5238c..7d422858 100644 --- a/README.md +++ b/README.md @@ -98,8 +98,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | ![GitHub stars](https://img.shields.io/github/stars/TNG/ArchUnit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/TNG/ArchUnit?style=for-the-badge&label=) | -| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | ![GitHub stars](https://img.shields.io/github/stars/xmolecules/jmolecules?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xmolecules/jmolecules?style=for-the-badge&label=) | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | GitHub stars | Last commit | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | GitHub stars | Last commit | @@ -107,9 +107,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | ![GitHub stars](https://img.shields.io/github/stars/langchain4j/langchain4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/langchain4j/langchain4j?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/modelcontextprotocol/java-sdk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/modelcontextprotocol/java-sdk?style=for-the-badge&label=) | -| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | ![GitHub stars](https://img.shields.io/github/stars/sashirestela/simple-openai?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sashirestela/simple-openai?style=for-the-badge&label=) | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | GitHub stars | Last commit | | [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | @@ -118,13 +118,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | ![GitHub stars](https://img.shields.io/github/stars/doov-io/doov?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/doov-io/doov?style=for-the-badge&label=) | -| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | ![GitHub stars](https://img.shields.io/github/stars/jmapper-framework/jmapper-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jmapper-framework/jmapper-core?style=for-the-badge&label=) | -| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | ![GitHub stars](https://img.shields.io/github/stars/mapstruct/mapstruct?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mapstruct/mapstruct?style=for-the-badge&label=) | -| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | ![GitHub stars](https://img.shields.io/github/stars/modelmapper/modelmapper?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/modelmapper/modelmapper?style=for-the-badge&label=) | -| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | ![GitHub stars](https://img.shields.io/github/stars/orika-mapper/orika?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/orika-mapper/orika?style=for-the-badge&label=) | -| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | ![GitHub stars](https://img.shields.io/github/stars/remondis-it/remap?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/remondis-it/remap?style=for-the-badge&label=) | -| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | ![GitHub stars](https://img.shields.io/github/stars/xebia-france/selma?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xebia-france/selma?style=for-the-badge&label=) | +| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | GitHub stars | Last commit | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | GitHub stars | Last commit | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | GitHub stars | Last commit | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | GitHub stars | Last commit | +| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | GitHub stars | Last commit | +| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | GitHub stars | Last commit | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | GitHub stars | Last commit | @@ -134,7 +134,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [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. | - | - | -| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | ![GitHub stars](https://img.shields.io/github/stars/facebook/buck2?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/facebook/buck2?style=for-the-badge&label=) | +| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | GitHub stars | Last commit | | [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | @@ -145,13 +145,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | | [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | -| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/Konloch/bytecode-viewer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Konloch/bytecode-viewer?style=for-the-badge&label=) | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | GitHub stars | Last commit | | [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | -| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | ![GitHub stars](https://img.shields.io/github/stars/cglib/cglib?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cglib/cglib?style=for-the-badge&label=) | -| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | ![GitHub stars](https://img.shields.io/github/stars/jboss-javassist/javassist?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jboss-javassist/javassist?style=for-the-badge&label=) | -| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | ![GitHub stars](https://img.shields.io/github/stars/cojen/maker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cojen/maker?style=for-the-badge&label=) | -| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | ![GitHub stars](https://img.shields.io/github/stars/SpongePowered/Mixin?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SpongePowered/Mixin?style=for-the-badge&label=) | -| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | ![GitHub stars](https://img.shields.io/github/stars/nicolasmanic/perses?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nicolasmanic/perses?style=for-the-badge&label=) | +| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | GitHub stars | Last commit | +| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | GitHub stars | Last commit | +| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | GitHub stars | Last commit | +| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | GitHub stars | Last commit | +| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | GitHub stars | Last commit | | [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | @@ -161,7 +161,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | -| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | ![GitHub stars](https://img.shields.io/github/stars/ben-manes/caffeine?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ben-manes/caffeine?style=for-the-badge&label=) | +| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | GitHub stars | Last commit | | [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | | [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | @@ -173,8 +173,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | | [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | ![GitHub stars](https://img.shields.io/github/stars/jbock-java/jbock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jbock-java/jbock?style=for-the-badge&label=) | -| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | ![GitHub stars](https://img.shields.io/github/stars/jline/jline3?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jline/jline3?style=for-the-badge&label=) | +| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | GitHub stars | Last commit | +| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | GitHub stars | Last commit | | [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | @@ -183,10 +183,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | ![GitHub stars](https://img.shields.io/github/stars/fusesource/jansi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/fusesource/jansi?style=for-the-badge&label=) | +| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | GitHub stars | Last commit | | [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | ![GitHub stars](https://img.shields.io/github/stars/beryx/text-io?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/beryx/text-io?style=for-the-badge&label=) | -| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/mabe02/lanterna?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mabe02/lanterna?style=for-the-badge&label=) | +| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | GitHub stars | Last commit | +| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | GitHub stars | Last commit | @@ -194,8 +194,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | ![GitHub stars](https://img.shields.io/github/stars/aws/aws-sdk-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/aws/aws-sdk-java?style=for-the-badge&label=) | -| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | ![GitHub stars](https://img.shields.io/github/stars/googleapis/google-cloud-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/googleapis/google-cloud-java?style=for-the-badge&label=) | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | GitHub stars | Last commit | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | GitHub stars | Last commit | @@ -203,18 +203,18 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | ![GitHub stars](https://img.shields.io/github/stars/checkstyle/checkstyle?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/checkstyle/checkstyle?style=for-the-badge&label=) | -| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | ![GitHub stars](https://img.shields.io/github/stars/google/error-prone?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/error-prone?style=for-the-badge&label=) | -| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | ![GitHub stars](https://img.shields.io/github/stars/PicnicSupermarket/error-prone-support?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/PicnicSupermarket/error-prone-support?style=for-the-badge&label=) | -| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | ![GitHub stars](https://img.shields.io/github/stars/facebook/infer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/facebook/infer?style=for-the-badge&label=) | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | GitHub stars | Last commit | +| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | GitHub stars | Last commit | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | GitHub stars | Last commit | +| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | GitHub stars | Last commit | | [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | -| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | ![GitHub stars](https://img.shields.io/github/stars/uber/NullAway?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/uber/NullAway?style=for-the-badge&label=) | -| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | ![GitHub stars](https://img.shields.io/github/stars/pmd/pmd?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/pmd/pmd?style=for-the-badge&label=) | -| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/p3c?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/p3c?style=for-the-badge&label=) | -| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | ![GitHub stars](https://img.shields.io/github/stars/jimbethancourt/RefactorFirst?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jimbethancourt/RefactorFirst?style=for-the-badge&label=) | -| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/SonarSource/sonar-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SonarSource/sonar-java?style=for-the-badge&label=) | -| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | ![GitHub stars](https://img.shields.io/github/stars/INRIA/spoon?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/INRIA/spoon?style=for-the-badge&label=) | -| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | ![GitHub stars](https://img.shields.io/github/stars/spotbugs/spotbugs?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/spotbugs/spotbugs?style=for-the-badge&label=) | +| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | GitHub stars | Last commit | +| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | GitHub stars | Last commit | +| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | GitHub stars | Last commit | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | GitHub stars | Last commit | +| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | GitHub stars | Last commit | +| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | GitHub stars | Last commit | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | GitHub stars | Last commit | @@ -232,19 +232,19 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | ![GitHub stars](https://img.shields.io/github/stars/sviperll/adt4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sviperll/adt4j?style=for-the-badge&label=) | -| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | ![GitHub stars](https://img.shields.io/github/stars/google/auto?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/auto?style=for-the-badge&label=) | +| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | GitHub stars | Last commit | +| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | GitHub stars | Last commit | | [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | -| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | ![GitHub stars](https://img.shields.io/github/stars/Marcel091004/EasyEntityToDTO?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Marcel091004/EasyEntityToDTO?style=for-the-badge&label=) | -| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | ![GitHub stars](https://img.shields.io/github/stars/inferred/FreeBuilder?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/inferred/FreeBuilder?style=for-the-badge&label=) | -| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | ![GitHub stars](https://img.shields.io/github/stars/verhas/javageci?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/verhas/javageci?style=for-the-badge&label=) | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | GitHub stars | Last commit | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | GitHub stars | Last commit | +| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | GitHub stars | Last commit | | [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | -| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | ![GitHub stars](https://img.shields.io/github/stars/square/javapoet?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/javapoet?style=for-the-badge&label=) | -| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | ![GitHub stars](https://img.shields.io/github/stars/jhipster/generator-jhipster?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhipster/generator-jhipster?style=for-the-badge&label=) | +| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | GitHub stars | Last commit | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | GitHub stars | Last commit | | [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | -| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | ![GitHub stars](https://img.shields.io/github/stars/bcaillard/jspecify-packageinfo-generator?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bcaillard/jspecify-packageinfo-generator?style=for-the-badge&label=) | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/Randgalt/record-builder?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Randgalt/record-builder?style=for-the-badge&label=) | +| [Record-Builder](https://github.com/Randgalt/record-builder) | Companion builder class, withers and templates for Java records. | GitHub stars | Last commit | | [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | @@ -265,7 +265,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | | [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | -| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | ![GitHub stars](https://img.shields.io/github/stars/bytedeco/javacv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bytedeco/javacv?style=for-the-badge&label=) | +| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | GitHub stars | Last commit | @@ -274,17 +274,17 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | -| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | ![GitHub stars](https://img.shields.io/github/stars/line/centraldogma?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/line/centraldogma?style=for-the-badge&label=) | -| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | ![GitHub stars](https://img.shields.io/github/stars/lightbend/config?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lightbend/config?style=for-the-badge&label=) | -| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | ![GitHub stars](https://img.shields.io/github/stars/SpongePowered/Configurate?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SpongePowered/Configurate?style=for-the-badge&label=) | +| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | GitHub stars | Last commit | +| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | GitHub stars | Last commit | +| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/shyiko/dotenv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/shyiko/dotenv?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/joel-jeremy/externalized-properties?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/joel-jeremy/externalized-properties?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/gestalt-config/gestalt?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/gestalt-config/gestalt?style=for-the-badge&label=) | +| [dotenv](https://github.com/shyiko/dotenv) | Twelve-factor configuration library which uses environment-specific files. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/mariomac/kaconf?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mariomac/kaconf?style=for-the-badge&label=) | +| [KAConf](https://github.com/mariomac/kaconf) | Annotation-based configuration system for Java and Kotlin. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/lviggiano/owner?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lviggiano/owner?style=for-the-badge&label=) | +| [owner](https://github.com/lviggiano/owner) | Reduces boilerplate of properties. | GitHub stars | Last commit | @@ -293,7 +293,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | -| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | ![GitHub stars](https://img.shields.io/github/stars/radsz/jacop?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/radsz/jacop?style=for-the-badge&label=) | +| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | GitHub stars | Last commit | | [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | | [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | @@ -303,11 +303,11 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | ![GitHub stars](https://img.shields.io/github/stars/osiegmar/FastCSV?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/osiegmar/FastCSV?style=for-the-badge&label=) | -| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | ![GitHub stars](https://img.shields.io/github/stars/FasterXML/jackson-dataformat-csv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/FasterXML/jackson-dataformat-csv?style=for-the-badge&label=) | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | GitHub stars | Last commit | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | GitHub stars | Last commit | | [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | | [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | -| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | ![GitHub stars](https://img.shields.io/github/stars/uniVocity/univocity-parsers?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/uniVocity/univocity-parsers?style=for-the-badge&label=) | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | GitHub stars | Last commit | @@ -319,14 +319,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | | [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | | [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | -| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | ![GitHub stars](https://img.shields.io/github/stars/bulldog2011/bigqueue?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bulldog2011/bigqueue?style=for-the-badge&label=) | -| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | ![GitHub stars](https://img.shields.io/github/stars/LiveRamp/HyperMinHash-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/LiveRamp/HyperMinHash-java?style=for-the-badge&label=) | -| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | ![GitHub stars](https://img.shields.io/github/stars/hrldcpr/pcollections?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/hrldcpr/pcollections?style=for-the-badge&label=) | -| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | ![GitHub stars](https://img.shields.io/github/stars/protocolbuffers/protobuf?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/protocolbuffers/protobuf?style=for-the-badge&label=) | -| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | ![GitHub stars](https://img.shields.io/github/stars/RoaringBitmap/RoaringBitmap?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/RoaringBitmap/RoaringBitmap?style=for-the-badge&label=) | -| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | ![GitHub stars](https://img.shields.io/github/stars/real-logic/simple-binary-encoding?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/real-logic/simple-binary-encoding?style=for-the-badge&label=) | -| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | ![GitHub stars](https://img.shields.io/github/stars/square/tape?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/tape?style=for-the-badge&label=) | -| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | ![GitHub stars](https://img.shields.io/github/stars/square/wire?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/wire?style=for-the-badge&label=) | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | GitHub stars | Last commit | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | GitHub stars | Last commit | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | GitHub stars | Last commit | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | GitHub stars | Last commit | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | GitHub stars | Last commit | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | GitHub stars | Last commit | +| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | GitHub stars | Last commit | +| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | GitHub stars | Last commit | @@ -337,41 +337,41 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | | [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | | [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | -| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | ![GitHub stars](https://img.shields.io/github/stars/arangodb/arangodb-java-driver?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/arangodb/arangodb-java-driver?style=for-the-badge&label=) | -| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | ![GitHub stars](https://img.shields.io/github/stars/OpenHFT/Chronicle-Map?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenHFT/Chronicle-Map?style=for-the-badge&label=) | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | GitHub stars | Last commit | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | GitHub stars | Last commit | | [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | | [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | -| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | ![GitHub stars](https://img.shields.io/github/stars/eXist-db/exist?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eXist-db/exist?style=for-the-badge&label=) | -| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | ![GitHub stars](https://img.shields.io/github/stars/vladmihalcea/flexy-pool?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vladmihalcea/flexy-pool?style=for-the-badge&label=) | +| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | GitHub stars | Last commit | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | GitHub stars | Last commit | | [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | | [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | -| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | ![GitHub stars](https://img.shields.io/github/stars/brettwooldridge/HikariCP?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/brettwooldridge/HikariCP?style=for-the-badge&label=) | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | GitHub stars | Last commit | | [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | | [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | -| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | ![GitHub stars](https://img.shields.io/github/stars/xetorthio/jedis?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xetorthio/jedis?style=for-the-badge&label=) | -| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | ![GitHub stars](https://img.shields.io/github/stars/searchbox-io/Jest?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/searchbox-io/Jest?style=for-the-badge&label=) | -| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | ![GitHub stars](https://img.shields.io/github/stars/justinsb/jetcd?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/justinsb/jetcd?style=for-the-badge&label=) | -| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | ![GitHub stars](https://img.shields.io/github/stars/my2iu/Jinq?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/my2iu/Jinq?style=for-the-badge&label=) | +| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | GitHub stars | Last commit | +| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | GitHub stars | Last commit | +| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | GitHub stars | Last commit | +| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | GitHub stars | Last commit | | [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | -| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | ![GitHub stars](https://img.shields.io/github/stars/Meituan-Dianping/Leaf?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Meituan-Dianping/Leaf?style=for-the-badge&label=) | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | GitHub stars | Last commit | | [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | | [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | | [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | -| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | ![GitHub stars](https://img.shields.io/github/stars/vorburger/MariaDB4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vorburger/MariaDB4j?style=for-the-badge&label=) | -| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | ![GitHub stars](https://img.shields.io/github/stars/arkanovicz/modality?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/arkanovicz/modality?style=for-the-badge&label=) | -| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | ![GitHub stars](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenDJ?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenDJ?style=for-the-badge&label=) | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | GitHub stars | Last commit | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | GitHub stars | Last commit | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | GitHub stars | Last commit | | [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | -| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | ![GitHub stars](https://img.shields.io/github/stars/querystream/querystream?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/querystream/querystream?style=for-the-badge&label=) | -| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | ![GitHub stars](https://img.shields.io/github/stars/questdb/questdb?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/questdb/questdb?style=for-the-badge&label=) | -| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | ![GitHub stars](https://img.shields.io/github/stars/realm/realm-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/realm/realm-java?style=for-the-badge&label=) | -| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | ![GitHub stars](https://img.shields.io/github/stars/redisson/redisson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/redisson/redisson?style=for-the-badge&label=) | -| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | ![GitHub stars](https://img.shields.io/github/stars/requery/requery?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/requery/requery?style=for-the-badge&label=) | -| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | ![GitHub stars](https://img.shields.io/github/stars/speedment/speedment?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/speedment/speedment?style=for-the-badge&label=) | -| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | ![GitHub stars](https://img.shields.io/github/stars/mhewedy/spring-data-jpa-mongodb-expressions?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mhewedy/spring-data-jpa-mongodb-expressions?style=for-the-badge&label=) | +| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | GitHub stars | Last commit | +| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | GitHub stars | Last commit | +| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | GitHub stars | Last commit | +| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | GitHub stars | Last commit | +| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | GitHub stars | Last commit | +| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | GitHub stars | Last commit | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | GitHub stars | Last commit | | [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | | [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | -| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | ![GitHub stars](https://img.shields.io/github/stars/JetBrains/xodus?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/JetBrains/xodus?style=for-the-badge&label=) | -| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | ![GitHub stars](https://img.shields.io/github/stars/Ahoo-Wang/CosId?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Ahoo-Wang/CosId?style=for-the-badge&label=) | +| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | GitHub stars | Last commit | +| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | GitHub stars | Last commit | @@ -379,10 +379,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | ![GitHub stars](https://img.shields.io/github/stars/ical4j/ical4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ical4j/ical4j?style=for-the-badge&label=) | -| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | ![GitHub stars](https://img.shields.io/github/stars/svendiedrichsen/jollyday?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/svendiedrichsen/jollyday?style=for-the-badge&label=) | -| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | ![GitHub stars](https://img.shields.io/github/stars/ThreeTen/threeten-extra?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ThreeTen/threeten-extra?style=for-the-badge&label=) | -| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | ![GitHub stars](https://img.shields.io/github/stars/MenoData/Time4J?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/MenoData/Time4J?style=for-the-badge&label=) | +| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | GitHub stars | Last commit | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | GitHub stars | Last commit | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | GitHub stars | Last commit | +| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | GitHub stars | Last commit | @@ -393,11 +393,11 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | | [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | | [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | -| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | ![GitHub stars](https://img.shields.io/github/stars/zsoltherpai/feather?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zsoltherpai/feather?style=for-the-badge&label=) | -| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | ![GitHub stars](https://img.shields.io/github/stars/Netflix/governator?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Netflix/governator?style=for-the-badge&label=) | -| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | ![GitHub stars](https://img.shields.io/github/stars/google/guice?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/guice?style=for-the-badge&label=) | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | GitHub stars | Last commit | +| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | GitHub stars | Last commit | +| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | GitHub stars | Last commit | | [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) | ![GitHub stars](https://img.shields.io/github/stars/vanillasource/jaywire?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vanillasource/jaywire?style=for-the-badge&label=) | +| [JayWire](https://github.com/vanillasource/jaywire) | Lightweight dependency injection framework. (LGPL-3.0-only) | GitHub stars | Last commit | @@ -407,13 +407,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | | [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | -| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | ![GitHub stars](https://img.shields.io/github/stars/zalando/faux-pas?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/faux-pas?style=for-the-badge&label=) | -| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | ![GitHub stars](https://img.shields.io/github/stars/HotswapProjects/HotswapAgent?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/HotswapProjects/HotswapAgent?style=for-the-badge&label=) | -| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | ![GitHub stars](https://img.shields.io/github/stars/javaparser/javaparser?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javaparser/javaparser?style=for-the-badge&label=) | -| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | ![GitHub stars](https://img.shields.io/github/stars/javaparser/javasymbolsolver?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javaparser/javasymbolsolver?style=for-the-badge&label=) | -| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | ![GitHub stars](https://img.shields.io/github/stars/manifold-systems/manifold?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/manifold-systems/manifold?style=for-the-badge&label=) | +| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | GitHub stars | Last commit | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | GitHub stars | Last commit | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | GitHub stars | Last commit | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | GitHub stars | Last commit | +| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | GitHub stars | Last commit | | [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | -| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | ![GitHub stars](https://img.shields.io/github/stars/rainerhahnekamp/sneakythrow?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rainerhahnekamp/sneakythrow?style=for-the-badge&label=) | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | GitHub stars | Last commit | | [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | @@ -427,15 +427,15 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | | [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | | [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | -| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | ![GitHub stars](https://img.shields.io/github/stars/mtakaki/dropwizard-circuitbreaker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mtakaki/dropwizard-circuitbreaker?style=for-the-badge&label=) | -| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | ![GitHub stars](https://img.shields.io/github/stars/jhalterman/failsafe?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhalterman/failsafe?style=for-the-badge&label=) | -| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | ![GitHub stars](https://img.shields.io/github/stars/hazelcast/hazelcast?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/hazelcast/hazelcast?style=for-the-badge&label=) | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | GitHub stars | Last commit | +| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | GitHub stars | Last commit | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | GitHub stars | Last commit | | [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | | [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | -| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | ![GitHub stars](https://img.shields.io/github/stars/resilience4j/resilience4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/resilience4j/resilience4j?style=for-the-badge&label=) | -| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | ![GitHub stars](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenIG?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenIG?style=for-the-badge&label=) | -| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | ![GitHub stars](https://img.shields.io/github/stars/scalecube/scalecube-services?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/scalecube/scalecube-services?style=for-the-badge&label=) | -| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | ![GitHub stars](https://img.shields.io/github/stars/Netflix/zuul?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Netflix/zuul?style=for-the-badge&label=) | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | GitHub stars | Last commit | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | GitHub stars | Last commit | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | GitHub stars | Last commit | +| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | GitHub stars | Last commit | @@ -444,9 +444,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | -| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | ![GitHub stars](https://img.shields.io/github/stars/bitronix/btm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bitronix/btm?style=for-the-badge&label=) | +| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | GitHub stars | Last commit | | [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | -| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | ![GitHub stars](https://img.shields.io/github/stars/seata/seata?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/seata/seata?style=for-the-badge&label=) | +| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | GitHub stars | Last commit | @@ -454,16 +454,16 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | ![GitHub stars](https://img.shields.io/github/stars/artipie/artipie?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/artipie/artipie?style=for-the-badge&label=) | -| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | ![GitHub stars](https://img.shields.io/github/stars/puniverse/capsule?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/puniverse/capsule?style=for-the-badge&label=) | +| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | GitHub stars | Last commit | +| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | GitHub stars | Last commit | | [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | -| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | ![GitHub stars](https://img.shields.io/github/stars/threerings/getdown?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/threerings/getdown?style=for-the-badge&label=) | +| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | GitHub stars | Last commit | | [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | -| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | ![GitHub stars](https://img.shields.io/github/stars/fvarrui/JavaPackager?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/fvarrui/JavaPackager?style=for-the-badge&label=) | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | GitHub stars | Last commit | | [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | -| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | ![GitHub stars](https://img.shields.io/github/stars/AdoptOpenJDK/jlink.online?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AdoptOpenJDK/jlink.online?style=for-the-badge&label=) | -| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | ![GitHub stars](https://img.shields.io/github/stars/libgdx/packr?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/libgdx/packr?style=for-the-badge&label=) | -| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | ![GitHub stars](https://img.shields.io/github/stars/brianm/really-executable-jars-maven-plugin?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/brianm/really-executable-jars-maven-plugin?style=for-the-badge&label=) | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | GitHub stars | Last commit | +| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | GitHub stars | Last commit | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | GitHub stars | Last commit | @@ -474,8 +474,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | | [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | | [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | -| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | ![GitHub stars](https://img.shields.io/github/stars/dhatim/fastexcel?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dhatim/fastexcel?style=for-the-badge&label=) | -| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | ![GitHub stars](https://img.shields.io/github/stars/creditdatamw/zerocell?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/creditdatamw/zerocell?style=for-the-badge&label=) | +| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | GitHub stars | Last commit | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | GitHub stars | Last commit | @@ -483,12 +483,12 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | ![GitHub stars](https://img.shields.io/github/stars/cassandre-tech/cassandre-trading-bot?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cassandre-tech/cassandre-trading-bot?style=for-the-badge&label=) | -| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | ![GitHub stars](https://img.shields.io/github/stars/paritytrading/parity?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/paritytrading/parity?style=for-the-badge&label=) | -| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | ![GitHub stars](https://img.shields.io/github/stars/paritytrading/philadelphia?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/paritytrading/philadelphia?style=for-the-badge&label=) | -| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | ![GitHub stars](https://img.shields.io/github/stars/square/connect-java-sdk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/connect-java-sdk?style=for-the-badge&label=) | -| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | ![GitHub stars](https://img.shields.io/github/stars/stripe/stripe-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/stripe/stripe-java?style=for-the-badge&label=) | -| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | ![GitHub stars](https://img.shields.io/github/stars/ta4j/ta4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ta4j/ta4j?style=for-the-badge&label=) | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | GitHub stars | Last commit | +| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | GitHub stars | Last commit | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | GitHub stars | Last commit | +| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | GitHub stars | Last commit | +| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | GitHub stars | Last commit | +| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | GitHub stars | Last commit | @@ -496,10 +496,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | ![GitHub stars](https://img.shields.io/github/stars/ksen007/janala2?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ksen007/janala2?style=for-the-badge&label=) | +| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/javapathfinder/jpf-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javapathfinder/jpf-core?style=for-the-badge&label=) | +| [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) | JVM formal verification tool containing a model checker and more. Created by NASA. | GitHub stars | Last commit | | [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) | - | - | @@ -510,14 +510,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | ![GitHub stars](https://img.shields.io/github/stars/aol/cyclops?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/aol/cyclops?style=for-the-badge&label=) | -| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/derive4j/derive4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/derive4j/derive4j?style=for-the-badge&label=) | +| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | GitHub stars | Last commit | +| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/jOOQ/jOOL?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jOOQ/jOOL?style=for-the-badge&label=) | -| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | ![GitHub stars](https://img.shields.io/github/stars/jhspetersson/packrat?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhspetersson/packrat?style=for-the-badge&label=) | -| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | ![GitHub stars](https://img.shields.io/github/stars/poetix/protonpack?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/poetix/protonpack?style=for-the-badge&label=) | -| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | ![GitHub stars](https://img.shields.io/github/stars/amaembo/streamex?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/amaembo/streamex?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | +| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | GitHub stars | Last commit | +| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | GitHub stars | Last commit | +| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | GitHub stars | Last commit | | [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | @@ -533,8 +533,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | | [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. | ![GitHub stars](https://img.shields.io/github/stars/xzripper/Void2D?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xzripper/Void2D?style=for-the-badge&label=) | -| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | ![GitHub stars](https://img.shields.io/github/stars/chuigda/vulkan4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/chuigda/vulkan4j?style=for-the-badge&label=) | +| [Void2D](https://github.com/xzripper/Void2D) | High-level 2D game engine with built-in physics based on Swing. | GitHub stars | Last commit | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | GitHub stars | Last commit | @@ -543,13 +543,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | -| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | ![GitHub stars](https://img.shields.io/github/stars/davidmoten/geo?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/davidmoten/geo?style=for-the-badge&label=) | +| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | GitHub stars | Last commit | | [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | ![GitHub stars](https://img.shields.io/github/stars/graphhopper/graphhopper?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/graphhopper/graphhopper?style=for-the-badge&label=) | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | GitHub stars | Last commit | | [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | | [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | -| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/mapsforge/mapsforge?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mapsforge/mapsforge?style=for-the-badge&label=) | -| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | ![GitHub stars](https://img.shields.io/github/stars/locationtech/spatial4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/locationtech/spatial4j?style=for-the-badge&label=) | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | GitHub stars | Last commit | +| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | GitHub stars | Last commit | @@ -559,7 +559,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | | [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | -| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | ![GitHub stars](https://img.shields.io/github/stars/reportmill/SnapKit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/reportmill/SnapKit?style=for-the-badge&label=) | +| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | GitHub stars | Last commit | | [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | @@ -568,13 +568,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | ![GitHub stars](https://img.shields.io/github/stars/real-logic/Agrona?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/real-logic/Agrona?style=for-the-badge&label=) | +| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | GitHub stars | Last commit | | [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | -| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | ![GitHub stars](https://img.shields.io/github/stars/eclipse/eclipse-collections?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eclipse/eclipse-collections?style=for-the-badge&label=) | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | GitHub stars | Last commit | | [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | | [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | -| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | ![GitHub stars](https://img.shields.io/github/stars/JCTools/JCTools?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/JCTools/JCTools?style=for-the-badge&label=) | -| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | ![GitHub stars](https://img.shields.io/github/stars/leventov/Koloboke?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/leventov/Koloboke?style=for-the-badge&label=) | +| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | GitHub stars | Last commit | +| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | GitHub stars | Last commit | @@ -583,15 +583,15 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | -| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | ![GitHub stars](https://img.shields.io/github/stars/AsyncHttpClient/async-http-client?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AsyncHttpClient/async-http-client?style=for-the-badge&label=) | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/OpenFeign/feign?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenFeign/feign?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/googleapis/google-http-java-client?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/googleapis/google-http-java-client?style=for-the-badge&label=) | -| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | ![GitHub stars](https://img.shields.io/github/stars/mizosoft/methanol?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mizosoft/methanol?style=for-the-badge&label=) | +| [Feign](https://github.com/OpenFeign/feign) | HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/Netflix/ribbon?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Netflix/ribbon?style=for-the-badge&label=) | -| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | ![GitHub stars](https://img.shields.io/github/stars/zalando/riptide?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/riptide?style=for-the-badge&label=) | -| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | ![GitHub stars](https://img.shields.io/github/stars/Kong/unirest-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Kong/unirest-java?style=for-the-badge&label=) | +| [Ribbon](https://github.com/Netflix/ribbon) | Client-side IPC library that is battle-tested in the cloud. | GitHub stars | Last commit | +| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | GitHub stars | Last commit | +| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | GitHub stars | Last commit | @@ -599,10 +599,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | ![GitHub stars](https://img.shields.io/github/stars/blackdoor/hate?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/blackdoor/hate?style=for-the-badge&label=) | -| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | ![GitHub stars](https://img.shields.io/github/stars/jsonld-java/jsonld-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jsonld-java/jsonld-java?style=for-the-badge&label=) | -| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | ![GitHub stars](https://img.shields.io/github/stars/eserating-chwy/siren4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eserating-chwy/siren4j?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/spring-projects/spring-hateoas?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/spring-projects/spring-hateoas?style=for-the-badge&label=) | +| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | GitHub stars | Last commit | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | GitHub stars | Last commit | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | @@ -622,14 +622,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | ![GitHub stars](https://img.shields.io/github/stars/vws-java/Barcode-Lib4J?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vws-java/Barcode-Lib4J?style=for-the-badge&label=) | -| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | ![GitHub stars](https://img.shields.io/github/stars/rkalla/imgscalr?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rkalla/imgscalr?style=for-the-badge&label=) | -| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | ![GitHub stars](https://img.shields.io/github/stars/nguyenq/tess4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nguyenq/tess4j?style=for-the-badge&label=) | -| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | ![GitHub stars](https://img.shields.io/github/stars/coobird/thumbnailator?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/coobird/thumbnailator?style=for-the-badge&label=) | -| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | ![GitHub stars](https://img.shields.io/github/stars/haraldk/TwelveMonkeys?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/haraldk/TwelveMonkeys?style=for-the-badge&label=) | -| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | ![GitHub stars](https://img.shields.io/github/stars/zxing/zxing?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zxing/zxing?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/romankh3/image-comparison?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/romankh3/image-comparison?style=for-the-badge&label=) | -| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | ![GitHub stars](https://img.shields.io/github/stars/lopcode/vips-ffm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lopcode/vips-ffm?style=for-the-badge&label=) | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | GitHub stars | Last commit | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | GitHub stars | Last commit | +| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | GitHub stars | Last commit | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | GitHub stars | Last commit | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | GitHub stars | Last commit | +| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | GitHub stars | Last commit | | [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | @@ -638,12 +638,12 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | ![GitHub stars](https://img.shields.io/github/stars/classgraph/classgraph?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/classgraph/classgraph?style=for-the-badge&label=) | -| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | ![GitHub stars](https://img.shields.io/github/stars/jOOQ/jOOR?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jOOQ/jOOR?style=for-the-badge&label=) | +| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | GitHub stars | Last commit | +| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | GitHub stars | Last commit | | [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | | [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | -| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | ![GitHub stars](https://img.shields.io/github/stars/EsotericSoftware/reflectasm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EsotericSoftware/reflectasm?style=for-the-badge&label=) | -| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | ![GitHub stars](https://img.shields.io/github/stars/ronmamo/reflections?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ronmamo/reflections?style=for-the-badge&label=) | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | GitHub stars | Last commit | +| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | GitHub stars | Last commit | @@ -651,13 +651,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/jobrunr/jobrunr?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jobrunr/jobrunr?style=for-the-badge&label=) | -| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | ![GitHub stars](https://img.shields.io/github/stars/quartz-scheduler/quartz?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/quartz-scheduler/quartz?style=for-the-badge&label=) | -| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | ![GitHub stars](https://img.shields.io/github/stars/knowm/Sundial?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/knowm/Sundial?style=for-the-badge&label=) | -| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | ![GitHub stars](https://img.shields.io/github/stars/Coreoz/Wisp?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Coreoz/Wisp?style=for-the-badge&label=) | -| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | ![GitHub stars](https://img.shields.io/github/stars/kagkarlsson/db-scheduler?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/kagkarlsson/db-scheduler?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/j-easy/easy-batch?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/j-easy/easy-batch?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/lukas-krecan/ShedLock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lukas-krecan/ShedLock?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | GitHub stars | Last commit | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | GitHub stars | Last commit | +| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | GitHub stars | Last commit | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | @@ -666,22 +666,22 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | -| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | ![GitHub stars](https://img.shields.io/github/stars/ngs-doo/dsl-json?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ngs-doo/dsl-json?style=for-the-badge&label=) | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | GitHub stars | Last commit | | [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | -| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | ![GitHub stars](https://img.shields.io/github/stars/google/gson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/gson?style=for-the-badge&label=) | -| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | ![GitHub stars](https://img.shields.io/github/stars/brettwooldridge/HikariJSON?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/brettwooldridge/HikariJSON?style=for-the-badge&label=) | -| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | ![GitHub stars](https://img.shields.io/github/stars/FasterXML/jackson-modules-java8?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/FasterXML/jackson-modules-java8?style=for-the-badge&label=) | -| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | ![GitHub stars](https://img.shields.io/github/stars/zalando/jackson-datatype-money?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/jackson-datatype-money?style=for-the-badge&label=) | -| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | ![GitHub stars](https://img.shields.io/github/stars/FasterXML/jackson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/FasterXML/jackson?style=for-the-badge&label=) | -| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | ![GitHub stars](https://img.shields.io/github/stars/jdereg/json-io?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jdereg/json-io?style=for-the-badge&label=) | +| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | GitHub stars | Last commit | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | GitHub stars | Last commit | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | GitHub stars | Last commit | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | GitHub stars | Last commit | +| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | GitHub stars | Last commit | +| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | GitHub stars | Last commit | | [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | -| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | ![GitHub stars](https://img.shields.io/github/stars/bluelinelabs/LoganSquare?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bluelinelabs/LoganSquare?style=for-the-badge&label=) | -| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | ![GitHub stars](https://img.shields.io/github/stars/square/moshi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/moshi?style=for-the-badge&label=) | -| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | ![GitHub stars](https://img.shields.io/github/stars/eclipse-ee4j/yasson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eclipse-ee4j/yasson?style=for-the-badge&label=) | -| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/fastjson?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/fastjson?style=for-the-badge&label=) | -| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | ![GitHub stars](https://img.shields.io/github/stars/bazaarvoice/jolt?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bazaarvoice/jolt?style=for-the-badge&label=) | -| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | ![GitHub stars](https://img.shields.io/github/stars/json-path/JsonPath?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/json-path/JsonPath?style=for-the-badge&label=) | -| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | ![GitHub stars](https://img.shields.io/github/stars/jsurfer/JsonSurfer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jsurfer/JsonSurfer?style=for-the-badge&label=) | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | GitHub stars | Last commit | +| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | GitHub stars | Last commit | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | GitHub stars | Last commit | +| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | GitHub stars | Last commit | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | GitHub stars | Last commit | +| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | GitHub stars | Last commit | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | GitHub stars | Last commit | @@ -692,16 +692,16 @@ _Frameworks and libraries that help implementing and verifying design and archit | [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. | - | - | | [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. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/dragonwell8?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/dragonwell8?style=for-the-badge&label=) | -| [Graal](https://github.com/oracle/graal) | Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) | ![GitHub stars](https://img.shields.io/github/stars/oracle/graal?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/oracle/graal?style=for-the-badge&label=) | +| [Dragonwell8](https://github.com/alibaba/dragonwell8) | Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. | GitHub stars | Last commit | +| [Graal](https://github.com/oracle/graal) | Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/eclipse/openj9?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/eclipse/openj9?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | | [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) | ![GitHub stars](https://img.shields.io/github/stars/codenameone/CodenameOne/tree/master/vm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/codenameone/CodenameOne/tree/master/vm?style=for-the-badge&label=) | +| [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) | GitHub stars | Last commit | | [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | ![GitHub stars](https://img.shields.io/github/stars/microsoft/openjdk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/microsoft/openjdk?style=for-the-badge&label=) | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | GitHub stars | Last commit | @@ -710,16 +710,16 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [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. | ![GitHub stars](https://img.shields.io/github/stars/tersesystems/echopraxia?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/tersesystems/echopraxia?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | | [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. | - | - | -| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | ![GitHub stars](https://img.shields.io/github/stars/zalando/logbook?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/logbook?style=for-the-badge&label=) | +| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | GitHub stars | Last commit | | [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | -| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | ![GitHub stars](https://img.shields.io/github/stars/p6spy/p6spy?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/p6spy/p6spy?style=for-the-badge&label=) | +| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/zalando/opentracing-toolbox?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/opentracing-toolbox?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | | [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. | - | - | @@ -733,14 +733,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | | [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | | [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | -| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | ![GitHub stars](https://img.shields.io/github/stars/Barqawiz/IntelliJava?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Barqawiz/IntelliJava?style=for-the-badge&label=) | -| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/EdwardRaff/JSAT?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EdwardRaff/JSAT?style=for-the-badge&label=) | -| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | ![GitHub stars](https://img.shields.io/github/stars/BayesWitnesses/m2cgen?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/BayesWitnesses/m2cgen?style=for-the-badge&label=) | -| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | ![GitHub stars](https://img.shields.io/github/stars/Gleethos/neureka?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Gleethos/neureka?style=for-the-badge&label=) | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | GitHub stars | Last commit | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | GitHub stars | Last commit | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | GitHub stars | Last commit | +| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | GitHub stars | Last commit | | [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | -| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | ![GitHub stars](https://img.shields.io/github/stars/OryxProject/oryx?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OryxProject/oryx?style=for-the-badge&label=) | -| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | ![GitHub stars](https://img.shields.io/github/stars/siddhi-io/siddhi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/siddhi-io/siddhi?style=for-the-badge&label=) | -| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | ![GitHub stars](https://img.shields.io/github/stars/haifengl/smile?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/haifengl/smile?style=for-the-badge&label=) | +| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | GitHub stars | Last commit | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | GitHub stars | Last commit | +| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | GitHub stars | Last commit | | [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | | [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | @@ -750,22 +750,22 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | ![GitHub stars](https://img.shields.io/github/stars/real-logic/Aeron?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/real-logic/Aeron?style=for-the-badge&label=) | +| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | GitHub stars | Last commit | | [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | | [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | | [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | | [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | | [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | | [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | -| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | ![GitHub stars](https://img.shields.io/github/stars/AutoMQ/automq-for-kafka?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AutoMQ/automq-for-kafka?style=for-the-badge&label=) | -| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | ![GitHub stars](https://img.shields.io/github/stars/joel-jeremy/deezpatch?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/joel-jeremy/deezpatch?style=for-the-badge&label=) | -| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | ![GitHub stars](https://img.shields.io/github/stars/greenrobot/EventBus?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/greenrobot/EventBus?style=for-the-badge&label=) | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | GitHub stars | Last commit | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | GitHub stars | Last commit | +| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | GitHub stars | Last commit | | [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | -| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | ![GitHub stars](https://img.shields.io/github/stars/zeromq/jeromq?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zeromq/jeromq?style=for-the-badge&label=) | -| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | ![GitHub stars](https://img.shields.io/github/stars/zalando/nakadi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/nakadi?style=for-the-badge&label=) | -| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | ![GitHub stars](https://img.shields.io/github/stars/rabbitmq/rabbitmq-java-client?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rabbitmq/rabbitmq-java-client?style=for-the-badge&label=) | -| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | ![GitHub stars](https://img.shields.io/github/stars/igniterealtime/Smack?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/igniterealtime/Smack?style=for-the-badge&label=) | -| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | ![GitHub stars](https://img.shields.io/github/stars/nats-io/nats.java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nats-io/nats.java?style=for-the-badge&label=) | +| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | GitHub stars | Last commit | +| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | GitHub stars | Last commit | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | GitHub stars | Last commit | +| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | GitHub stars | Last commit | +| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | GitHub stars | Last commit | @@ -774,18 +774,18 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | -| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | ![GitHub stars](https://img.shields.io/github/stars/line/armeria?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/line/armeria?style=for-the-badge&label=) | -| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | ![GitHub stars](https://img.shields.io/github/stars/Ecwid/consul-api?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Ecwid/consul-api?style=for-the-badge&label=) | -| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | ![GitHub stars](https://img.shields.io/github/stars/Netflix/eureka?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Netflix/eureka?style=for-the-badge&label=) | +| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | GitHub stars | Last commit | +| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | GitHub stars | Last commit | +| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | GitHub stars | Last commit | | [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | -| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | ![GitHub stars](https://img.shields.io/github/stars/DV8FromTheWorld/JDA?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/DV8FromTheWorld/JDA?style=for-the-badge&label=) | -| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | ![GitHub stars](https://img.shields.io/github/stars/DaveJarvis/KeenType?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/DaveJarvis/KeenType?style=for-the-badge&label=) | -| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | ![GitHub stars](https://img.shields.io/github/stars/fabric8io/kubernetes-client?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/fabric8io/kubernetes-client?style=for-the-badge&label=) | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | GitHub stars | Last commit | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | GitHub stars | Last commit | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | GitHub stars | Last commit | | [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | | [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | -| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | ![GitHub stars](https://img.shields.io/github/stars/TheoKanning/openai-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/TheoKanning/openai-java?style=for-the-badge&label=) | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | GitHub stars | Last commit | | [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | -| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/Sentinel?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/Sentinel?style=for-the-badge&label=) | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | GitHub stars | Last commit | @@ -793,42 +793,42 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | ![GitHub stars](https://img.shields.io/github/stars/npgall/cqengine?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/npgall/cqengine?style=for-the-badge&label=) | -| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | ![GitHub stars](https://img.shields.io/github/stars/iluwatar/java-design-patterns?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/iluwatar/java-design-patterns?style=for-the-badge&label=) | -| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | ![GitHub stars](https://img.shields.io/github/stars/ff4j/ff4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ff4j/ff4j?style=for-the-badge&label=) | -| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | ![GitHub stars](https://img.shields.io/github/stars/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?style=for-the-badge&label=) | -| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | ![GitHub stars](https://img.shields.io/github/stars/ip2location/ip2location-io-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ip2location/ip2location-io-java?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/ladutsko/isbn-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ladutsko/isbn-core?style=for-the-badge&label=) | -| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | ![GitHub stars](https://img.shields.io/github/stars/google/j2objc?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/j2objc?style=for-the-badge&label=) | +| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | GitHub stars | Last commit | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | GitHub stars | Last commit | +| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | GitHub stars | Last commit | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | GitHub stars | Last commit | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | GitHub stars | Last commit | | [JBake](https://jbake.org) | Static website generator. | - | - | -| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/rampatra/jbot?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rampatra/jbot?style=for-the-badge&label=) | +| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | GitHub stars | Last commit | | [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | -| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | ![GitHub stars](https://img.shields.io/github/stars/felldo/JEmoji?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/felldo/JEmoji?style=for-the-badge&label=) | -| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | ![GitHub stars](https://img.shields.io/github/stars/google/jimfs?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/jimfs?style=for-the-badge&label=) | +| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | GitHub stars | Last commit | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | GitHub stars | Last commit | | [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | -| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | ![GitHub stars](https://img.shields.io/github/stars/jooq/joox?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jooq/joox?style=for-the-badge&label=) | +| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | GitHub stars | Last commit | | [JPad](http://jpad.io) | Snippet runner. | - | - | -| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | ![GitHub stars](https://img.shields.io/github/stars/cincheo/jsweet?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cincheo/jsweet?style=for-the-badge&label=) | -| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | ![GitHub stars](https://img.shields.io/github/stars/takari/maven-wrapper?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/takari/maven-wrapper?style=for-the-badge&label=) | -| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | ![GitHub stars](https://img.shields.io/github/stars/membrane/service-proxy?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/membrane/service-proxy?style=for-the-badge&label=) | -| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | ![GitHub stars](https://img.shields.io/github/stars/Guichaguri/MinimalFTP?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Guichaguri/MinimalFTP?style=for-the-badge&label=) | -| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | ![GitHub stars](https://img.shields.io/github/stars/adamfisk/LittleProxy?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/adamfisk/LittleProxy?style=for-the-badge&label=) | -| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | ![GitHub stars](https://img.shields.io/github/stars/winterbe/java8-tutorial?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/winterbe/java8-tutorial?style=for-the-badge&label=) | -| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | ![GitHub stars](https://img.shields.io/github/stars/gaul/modernizer-maven-plugin?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/gaul/modernizer-maven-plugin?style=for-the-badge&label=) | -| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | ![GitHub stars](https://img.shields.io/github/stars/OctoLinker/OctoLinker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OctoLinker/OctoLinker?style=for-the-badge&label=) | +| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | GitHub stars | Last commit | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | GitHub stars | Last commit | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | GitHub stars | Last commit | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | GitHub stars | Last commit | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | GitHub stars | Last commit | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | GitHub stars | Last commit | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | GitHub stars | Last commit | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | GitHub stars | Last commit | | [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | -| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | ![GitHub stars](https://img.shields.io/github/stars/sizovs/pipelinr?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sizovs/pipelinr?style=for-the-badge&label=) | -| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | ![GitHub stars](https://img.shields.io/github/stars/takari/polyglot-maven?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/takari/polyglot-maven?style=for-the-badge&label=) | -| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | ![GitHub stars](https://img.shields.io/github/stars/Kartikvk1996/RR4J?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Kartikvk1996/RR4J?style=for-the-badge&label=) | -| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | ![GitHub stars](https://img.shields.io/github/stars/bbottema/simple-java-mail?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bbottema/simple-java-mail?style=for-the-badge&label=) | -| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | ![GitHub stars](https://img.shields.io/github/stars/smooks/smooks?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/smooks/smooks?style=for-the-badge&label=) | -| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | ![GitHub stars](https://img.shields.io/github/stars/svix/svix-webhooks/tree/main/java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/svix/svix-webhooks/tree/main/java?style=for-the-badge&label=) | +| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | GitHub stars | Last commit | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | GitHub stars | Last commit | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | GitHub stars | Last commit | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | GitHub stars | Last commit | +| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | GitHub stars | Last commit | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | GitHub stars | Last commit | | [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | -| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | ![GitHub stars](https://img.shields.io/github/stars/jhalterman/typetools?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhalterman/typetools?style=for-the-badge&label=) | -| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | ![GitHub stars](https://img.shields.io/github/stars/sarxos/webcam-capture?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sarxos/webcam-capture?style=for-the-badge&label=) | -| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | ![GitHub stars](https://img.shields.io/github/stars/SvenEwald/xmlbeam?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SvenEwald/xmlbeam?style=for-the-badge&label=) | -| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | ![GitHub stars](https://img.shields.io/github/stars/yWorks/yGuard?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/yWorks/yGuard?style=for-the-badge&label=) | -| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | ![GitHub stars](https://img.shields.io/github/stars/maxandersen/jbang/?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/maxandersen/jbang/?style=for-the-badge&label=) | +| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | GitHub stars | Last commit | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | GitHub stars | Last commit | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | GitHub stars | Last commit | +| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | GitHub stars | Last commit | +| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | GitHub stars | Last commit | @@ -846,26 +846,26 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | ![GitHub stars](https://img.shields.io/github/stars/apitally/apitally-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/apitally/apitally-java?style=for-the-badge&label=) | -| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | ![GitHub stars](https://img.shields.io/github/stars/stevensouza/automon?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/stevensouza/automon?style=for-the-badge&label=) | -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | ![GitHub stars](https://img.shields.io/github/stars/dropwizard/metrics?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dropwizard/metrics?style=for-the-badge&label=) | -| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | ![GitHub stars](https://img.shields.io/github/stars/zalando/failsafe-actuator?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zalando/failsafe-actuator?style=for-the-badge&label=) | +| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | GitHub stars | Last commit | +| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | GitHub stars | Last commit | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | GitHub stars | Last commit | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | GitHub stars | Last commit | | [Glowroot](https://glowroot.org) | Open-source Java APM. | - | - | -| [HertzBeat](https://github.com/dromara/hertzbeat) | Real-time monitoring system with custom-monitor and agentless. | ![GitHub stars](https://img.shields.io/github/stars/dromara/hertzbeat?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dromara/hertzbeat?style=for-the-badge&label=) | -| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic and observable thread pool framework. | ![GitHub stars](https://img.shields.io/github/stars/opengoofy/hippo4j/blob/develop/README-EN.md?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/opengoofy/hippo4j/blob/develop/README-EN.md?style=for-the-badge&label=) | +| [HertzBeat](https://github.com/dromara/hertzbeat) | Real-time monitoring system with custom-monitor and agentless. | GitHub stars | Last commit | +| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic and observable thread pool framework. | GitHub stars | Last commit | | [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. | - | - | -| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | ![GitHub stars](https://img.shields.io/github/stars/jaegertracing/jaeger-client-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jaegertracing/jaeger-client-java?style=for-the-badge&label=) | -| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | ![GitHub stars](https://img.shields.io/github/stars/javamelody/javamelody?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javamelody/javamelody?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/jmxtrans/jmxtrans?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jmxtrans/jmxtrans?style=for-the-badge&label=) | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | GitHub stars | Last commit | +| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/micrometer-metrics/micrometer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/micrometer-metrics/micrometer?style=for-the-badge&label=) | -| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | ![GitHub stars](https://img.shields.io/github/stars/micrometer-metrics/tracing?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/micrometer-metrics/tracing?style=for-the-badge&label=) | -| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | ![GitHub stars](https://img.shields.io/github/stars/lorenzoongithub/nudge4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lorenzoongithub/nudge4j?style=for-the-badge&label=) | -| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | ![GitHub stars](https://img.shields.io/github/stars/open-telemetry/opentelemetry-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/open-telemetry/opentelemetry-java?style=for-the-badge&label=) | -| [Pinpoint](https://github.com/naver/pinpoint) | Open-source APM tool. | ![GitHub stars](https://img.shields.io/github/stars/naver/pinpoint?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/naver/pinpoint?style=for-the-badge&label=) | -| [Prometheus](https://github.com/prometheus/client_java) | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. | ![GitHub stars](https://img.shields.io/github/stars/prometheus/client_java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/prometheus/client_java?style=for-the-badge&label=) | -| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | ![GitHub stars](https://img.shields.io/github/stars/stagemonitor/stagemonitor?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/stagemonitor/stagemonitor?style=for-the-badge&label=) | -| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | ![GitHub stars](https://img.shields.io/github/stars/palantir/Sysmon?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/palantir/Sysmon?style=for-the-badge&label=) | +| [Micrometer](https://github.com/micrometer-metrics/micrometer) | Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. | GitHub stars | Last commit | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | GitHub stars | Last commit | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | GitHub stars | Last commit | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | GitHub stars | Last commit | +| [Pinpoint](https://github.com/naver/pinpoint) | Open-source APM tool. | GitHub stars | Last commit | +| [Prometheus](https://github.com/prometheus/client_java) | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. | GitHub stars | Last commit | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | GitHub stars | Last commit | +| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | GitHub stars | Last commit | | [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | @@ -874,11 +874,11 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | ![GitHub stars](https://img.shields.io/github/stars/Syncleus/aparapi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Syncleus/aparapi?style=for-the-badge&label=) | -| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | ![GitHub stars](https://img.shields.io/github/stars/bytedeco/javacpp?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bytedeco/javacpp?style=for-the-badge&label=) | -| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | ![GitHub stars](https://img.shields.io/github/stars/java-native-access/jna?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/java-native-access/jna?style=for-the-badge&label=) | -| [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). | ![GitHub stars](https://img.shields.io/github/stars/jnr/jnr-ffi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jnr/jnr-ffi?style=for-the-badge&label=) | -| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | ![GitHub stars](https://img.shields.io/github/stars/scijava/native-lib-loader?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/scijava/native-lib-loader?style=for-the-badge&label=) | +| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | GitHub stars | Last commit | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | GitHub stars | Last commit | +| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | GitHub stars | Last commit | +| [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). | GitHub stars | Last commit | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | GitHub stars | Last commit | @@ -886,10 +886,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | ![GitHub stars](https://img.shields.io/github/stars/CogComp/cogcomp-nlp?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/CogComp/cogcomp-nlp?style=for-the-badge&label=) | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | GitHub stars | Last commit | | [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | | [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | -| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | ![GitHub stars](https://img.shields.io/github/stars/ejossev/hypherator-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ejossev/hypherator-java?style=for-the-badge&label=) | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | GitHub stars | Last commit | | [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | @@ -898,21 +898,21 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | ![GitHub stars](https://img.shields.io/github/stars/CiscoSE/commons-networking?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/CiscoSE/commons-networking?style=for-the-badge&label=) | -| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | ![GitHub stars](https://img.shields.io/github/stars/puniverse/comsat?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/puniverse/comsat?style=for-the-badge&label=) | -| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | ![GitHub stars](https://img.shields.io/github/stars/apache/dubbo?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/apache/dubbo?style=for-the-badge&label=) | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | GitHub stars | Last commit | +| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | GitHub stars | Last commit | +| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | GitHub stars | Last commit | | [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | -| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | ![GitHub stars](https://img.shields.io/github/stars/grpc/grpc-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/grpc/grpc-java?style=for-the-badge&label=) | -| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | ![GitHub stars](https://img.shields.io/github/stars/EsotericSoftware/kryonet?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EsotericSoftware/kryonet?style=for-the-badge&label=) | +| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | GitHub stars | Last commit | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | GitHub stars | Last commit | | [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | | [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | -| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | ![GitHub stars](https://img.shields.io/github/stars/airlift/drift?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/airlift/drift?style=for-the-badge&label=) | -| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | ![GitHub stars](https://img.shields.io/github/stars/apple/servicetalk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/apple/servicetalk?style=for-the-badge&label=) | -| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | ![GitHub stars](https://img.shields.io/github/stars/hierynomus/sshj?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/hierynomus/sshj?style=for-the-badge&label=) | -| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | ![GitHub stars](https://img.shields.io/github/stars/marianobarrios/tls-channel?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/marianobarrios/tls-channel?style=for-the-badge&label=) | +| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | GitHub stars | Last commit | +| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | GitHub stars | Last commit | +| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | GitHub stars | Last commit | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | GitHub stars | Last commit | | [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | -| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/slub/urnlib?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/slub/urnlib?style=for-the-badge&label=) | -| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | ![GitHub stars](https://img.shields.io/github/stars/komamitsu/fluency?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/komamitsu/fluency?style=for-the-badge&label=) | +| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | GitHub stars | Last commit | +| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | GitHub stars | Last commit | @@ -921,15 +921,15 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | -| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | ![GitHub stars](https://img.shields.io/github/stars/domaframework/doma?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/domaframework/doma?style=for-the-badge&label=) | +| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | GitHub stars | Last commit | | [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | | [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. | ![GitHub stars](https://img.shields.io/github/stars/mybatis/mybatis-3?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mybatis/mybatis-3?style=for-the-badge&label=) | -| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | ![GitHub stars](https://img.shields.io/github/stars/baomidou/mybatis-plus?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/baomidou/mybatis-plus?style=for-the-badge&label=) | -| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | ![GitHub stars](https://img.shields.io/github/stars/braisdom/ObjectiveSql?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/braisdom/ObjectiveSql?style=for-the-badge&label=) | -| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | ![GitHub stars](https://img.shields.io/github/stars/permazen/permazen?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/permazen/permazen?style=for-the-badge&label=) | -| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | ![GitHub stars](https://img.shields.io/github/stars/arnaudroger/SimpleFlatMapper?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/arnaudroger/SimpleFlatMapper?style=for-the-badge&label=) | +| [MyBatis](https://github.com/mybatis/mybatis-3) | Couples objects with stored procedures or SQL statements. | GitHub stars | Last commit | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | GitHub stars | Last commit | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | GitHub stars | Last commit | +| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | GitHub stars | Last commit | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | GitHub stars | Last commit | @@ -937,7 +937,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | ![GitHub stars](https://img.shields.io/github/stars/bsommerfeld/pathetic?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/bsommerfeld/pathetic?style=for-the-badge&label=) | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | GitHub stars | Last commit | @@ -948,13 +948,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | | [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | | [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | -| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/dynamicreports/dynamicreports?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dynamicreports/dynamicreports?style=for-the-badge&label=) | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | GitHub stars | Last commit | | [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | -| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | ![GitHub stars](https://img.shields.io/github/stars/flyingsaucerproject/flyingsaucer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/flyingsaucerproject/flyingsaucer?style=for-the-badge&label=) | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | GitHub stars | Last commit | | [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | -| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | ![GitHub stars](https://img.shields.io/github/stars/danfickle/openhtmltopdf?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/danfickle/openhtmltopdf?style=for-the-badge&label=) | -| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | ![GitHub stars](https://img.shields.io/github/stars/LibrePDF/OpenPDF?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/LibrePDF/OpenPDF?style=for-the-badge&label=) | -| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | ![GitHub stars](https://img.shields.io/github/stars/tabulapdf/tabula-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/tabulapdf/tabula-java?style=for-the-badge&label=) | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | GitHub stars | Last commit | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | GitHub stars | Last commit | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | GitHub stars | Last commit | @@ -962,11 +962,11 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | ![GitHub stars](https://img.shields.io/github/stars/jvm-profiling-tools/honest-profiler?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jvm-profiling-tools/honest-profiler?style=for-the-badge&label=) | -| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | ![GitHub stars](https://img.shields.io/github/stars/giltene/jHiccup?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/giltene/jHiccup?style=for-the-badge&label=) | -| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | ![GitHub stars](https://img.shields.io/github/stars/AdoptOpenJDK/jitwatch?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AdoptOpenJDK/jitwatch?style=for-the-badge&label=) | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | GitHub stars | Last commit | +| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | GitHub stars | Last commit | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | GitHub stars | Last commit | | [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | -| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | ![GitHub stars](https://img.shields.io/github/stars/LatencyUtils/LatencyUtils?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/LatencyUtils/LatencyUtils?style=for-the-badge&label=) | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | GitHub stars | Last commit | @@ -1036,8 +1036,8 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | -| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | ![GitHub stars](https://img.shields.io/github/stars/networknt/light-4j/?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/networknt/light-4j/?style=for-the-badge&label=) | -| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | ![GitHub stars](https://img.shields.io/github/stars/OrienteerBAP/Orienteer/?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OrienteerBAP/Orienteer/?style=for-the-badge&label=) | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | GitHub stars | Last commit | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | GitHub stars | Last commit | | [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | @@ -1046,9 +1046,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | ![GitHub stars](https://img.shields.io/github/stars/vorburger/ch.vorburger.exec?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.exec?style=for-the-badge&label=) | -| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | ![GitHub stars](https://img.shields.io/github/stars/zeroturnaround/zt-exec?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zeroturnaround/zt-exec?style=for-the-badge&label=) | -| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | ![GitHub stars](https://img.shields.io/github/stars/zeroturnaround/zt-process-killer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zeroturnaround/zt-process-killer?style=for-the-badge&label=) | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | GitHub stars | Last commit | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | GitHub stars | Last commit | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | GitHub stars | Last commit | @@ -1057,9 +1057,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [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. | ![GitHub stars](https://img.shields.io/github/stars/reactive-streams/reactive-streams-jvm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/reactive-streams/reactive-streams-jvm?style=for-the-badge&label=) | -| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | ![GitHub stars](https://img.shields.io/github/stars/reactor/reactor?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/reactor/reactor?style=for-the-badge&label=) | -| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | ![GitHub stars](https://img.shields.io/github/stars/ReactiveX/RxJava?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ReactiveX/RxJava?style=for-the-badge&label=) | +| [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm) | Provides a standard for asynchronous stream processing with non-blocking backpressure. | GitHub stars | Last commit | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | GitHub stars | Last commit | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | GitHub stars | Last commit | | [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | @@ -1068,18 +1068,18 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | ![GitHub stars](https://img.shields.io/github/stars/dropwizard/dropwizard?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dropwizard/dropwizard?style=for-the-badge&label=) | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | GitHub stars | Last commit | | [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | | [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. | ![GitHub stars](https://img.shields.io/github/stars/aol/micro-server?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/aol/micro-server?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/linkedin/rest.li?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/linkedin/rest.li?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/RestExpress/RestExpress?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/RestExpress/RestExpress?style=for-the-badge&label=) | -| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | ![GitHub stars](https://img.shields.io/github/stars/restlet/restlet-framework-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/restlet/restlet-framework-java?style=for-the-badge&label=) | +| [RestExpress](https://github.com/RestExpress/RestExpress) | Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. | GitHub stars | Last commit | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | GitHub stars | Last commit | | [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | | [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | -| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | ![GitHub stars](https://img.shields.io/github/stars/springdoc/springdoc-openapi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/springdoc/springdoc-openapi?style=for-the-badge&label=) | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | GitHub stars | Last commit | | [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | @@ -1089,20 +1089,20 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | -| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | ![GitHub stars](https://img.shields.io/github/stars/GSI-CS-CO/chart-fx?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/GSI-CS-CO/chart-fx?style=for-the-badge&label=) | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | GitHub stars | Last commit | | [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | -| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | ![GitHub stars](https://img.shields.io/github/stars/Erdos-Graph-Framework/Erdos?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Erdos-Graph-Framework/Erdos?style=for-the-badge&label=) | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | GitHub stars | Last commit | | [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | | [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | -| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | ![GitHub stars](https://img.shields.io/github/stars/jgrapht/jgrapht?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jgrapht/jgrapht?style=for-the-badge&label=) | -| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | ![GitHub stars](https://img.shields.io/github/stars/jgraph/jgraphx?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jgraph/jgraphx?style=for-the-badge&label=) | -| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | ![GitHub stars](https://img.shields.io/github/stars/logic-ng/LogicNG?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/logic-ng/LogicNG?style=for-the-badge&label=) | -| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | ![GitHub stars](https://img.shields.io/github/stars/MinesJTK/jtk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/MinesJTK/jtk?style=for-the-badge&label=) | -| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | ![GitHub stars](https://img.shields.io/github/stars/zavtech/morpheus-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/zavtech/morpheus-core?style=for-the-badge&label=) | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | GitHub stars | Last commit | +| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | GitHub stars | Last commit | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | GitHub stars | Last commit | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | GitHub stars | Last commit | +| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | GitHub stars | Last commit | | [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | -| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/jfree/orson-charts?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jfree/orson-charts?style=for-the-badge&label=) | -| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | ![GitHub stars](https://img.shields.io/github/stars/jtablesaw/tablesaw?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jtablesaw/tablesaw?style=for-the-badge&label=) | -| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | ![GitHub stars](https://img.shields.io/github/stars/knowm/XChart?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/knowm/XChart?style=for-the-badge&label=) | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | GitHub stars | Last commit | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | GitHub stars | Last commit | +| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | GitHub stars | Last commit | @@ -1113,7 +1113,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | | [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | | [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | -| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | ![GitHub stars](https://img.shields.io/github/stars/haeungun/indexer4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/haeungun/indexer4j?style=for-the-badge&label=) | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | GitHub stars | Last commit | @@ -1122,27 +1122,27 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | -| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | ![GitHub stars](https://img.shields.io/github/stars/Hakky54/ayza?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Hakky54/ayza?style=for-the-badge&label=) | +| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/jeremylong/DependencyCheck?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jeremylong/DependencyCheck?style=for-the-badge&label=) | +| [DependencyCheck](https://github.com/jeremylong/DependencyCheck) | Detects publicly disclosed vulnerabilities contained within a project's dependencies. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/hdiv/hdiv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/hdiv/hdiv?style=for-the-badge&label=) | -| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | ![GitHub stars](https://img.shields.io/github/stars/jwtk/jjwt?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jwtk/jjwt?style=for-the-badge&label=) | -| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | ![GitHub stars](https://img.shields.io/github/stars/BastiaanJansen/jwt-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/BastiaanJansen/jwt-java?style=for-the-badge&label=) | -| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | ![GitHub stars](https://img.shields.io/github/stars/auth0/jwks-rsa-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/auth0/jwks-rsa-java?style=for-the-badge&label=) | -| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | ![GitHub stars](https://img.shields.io/github/stars/abstractj/kalium?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/abstractj/kalium?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | +| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | GitHub stars | Last commit | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | GitHub stars | Last commit | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | GitHub stars | Last commit | +| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | GitHub stars | Last commit | | [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | -| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | ![GitHub stars](https://img.shields.io/github/stars/square/keywhiz?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/square/keywhiz?style=for-the-badge&label=) | -| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | ![GitHub stars](https://img.shields.io/github/stars/GoSimpleLLC/nbvcxz?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/GoSimpleLLC/nbvcxz?style=for-the-badge&label=) | +| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | GitHub stars | Last commit | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | GitHub stars | Last commit | | [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | -| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | ![GitHub stars](https://img.shields.io/github/stars/OpenIdentityPlatform/OpenAM?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenAM?style=for-the-badge&label=) | -| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | ![GitHub stars](https://img.shields.io/github/stars/BastiaanJansen/OTP-Java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/BastiaanJansen/OTP-Java?style=for-the-badge&label=) | -| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | ![GitHub stars](https://img.shields.io/github/stars/pac4j/pac4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/pac4j/pac4j?style=for-the-badge&label=) | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | GitHub stars | Last commit | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | GitHub stars | Last commit | +| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | GitHub stars | Last commit | | [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | -| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | ![GitHub stars](https://img.shields.io/github/stars/Password4j/password4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Password4j/password4j?style=for-the-badge&label=) | -| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | ![GitHub stars](https://img.shields.io/github/stars/tersesystems/securitybuilder?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/tersesystems/securitybuilder?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/cossacklabs/themis?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cossacklabs/themis?style=for-the-badge&label=) | -| [Tink](https://github.com/google/tink) | Provides a simple and misuse-proof API for common cryptographic tasks. | ![GitHub stars](https://img.shields.io/github/stars/google/tink?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/tink?style=for-the-badge&label=) | +| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | GitHub stars | Last commit | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Tink](https://github.com/google/tink) | Provides a simple and misuse-proof API for common cryptographic tasks. | GitHub stars | Last commit | | [Topaz](https://www.topaz.sh) | Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. | - | - | @@ -1151,12 +1151,12 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | ![GitHub stars](https://img.shields.io/github/stars/google/flatbuffers?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/flatbuffers?style=for-the-badge&label=) | -| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | ![GitHub stars](https://img.shields.io/github/stars/RuedigerMoeller/fast-serialization?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/RuedigerMoeller/fast-serialization?style=for-the-badge&label=) | -| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | ![GitHub stars](https://img.shields.io/github/stars/alipay/fury?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alipay/fury?style=for-the-badge&label=) | -| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | ![GitHub stars](https://img.shields.io/github/stars/EsotericSoftware/kryo?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/EsotericSoftware/kryo?style=for-the-badge&label=) | -| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | ![GitHub stars](https://img.shields.io/github/stars/msgpack/msgpack-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/msgpack/msgpack-java?style=for-the-badge&label=) | -| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | ![GitHub stars](https://img.shields.io/github/stars/marcospassos/java-php-serializer?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/marcospassos/java-php-serializer?style=for-the-badge&label=) | +| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | GitHub stars | Last commit | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | GitHub stars | Last commit | +| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | GitHub stars | Last commit | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | GitHub stars | Last commit | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | GitHub stars | Last commit | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | GitHub stars | Last commit | @@ -1167,7 +1167,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | | [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | | [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | -| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | ![GitHub stars](https://img.shields.io/github/stars/NanoHttpd/nanohttpd?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/NanoHttpd/nanohttpd?style=for-the-badge&label=) | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | GitHub stars | Last commit | | [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | @@ -1178,14 +1178,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | | [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | -| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | ![GitHub stars](https://img.shields.io/github/stars/neuland/jade4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/neuland/jade4j?style=for-the-badge&label=) | -| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | ![GitHub stars](https://img.shields.io/github/stars/verhas/jamal?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/verhas/jamal?style=for-the-badge&label=) | -| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | ![GitHub stars](https://img.shields.io/github/stars/jstachio/jstachio?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jstachio/jstachio?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/casid/jte?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/casid/jte?style=for-the-badge&label=) | -| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | ![GitHub stars](https://img.shields.io/github/stars/jtwig/jtwig?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jtwig/jtwig?style=for-the-badge&label=) | +| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | GitHub stars | Last commit | +| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | GitHub stars | Last commit | +| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | +| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/fizzed/rocker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/fizzed/rocker?style=for-the-badge&label=) | -| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | ![GitHub stars](https://img.shields.io/github/stars/antlr/stringtemplate4?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/antlr/stringtemplate4?style=for-the-badge&label=) | +| [Rocker](https://github.com/fizzed/rocker) | Optimized, memory efficient and speedy template engine producing statically typed, plain objects. | GitHub stars | Last commit | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | GitHub stars | Last commit | | [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | @@ -1194,13 +1194,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | ![GitHub stars](https://img.shields.io/github/stars/awaitility/awaitility?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/awaitility/awaitility?style=for-the-badge&label=) | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | ![GitHub stars](https://img.shields.io/github/stars/jhalterman/concurrentunit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jhalterman/concurrentunit?style=for-the-badge&label=) | +| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | GitHub stars | Last commit | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | GitHub stars | Last commit | | [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | ![GitHub stars](https://img.shields.io/github/stars/SpectoLabs/hoverfly-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/SpectoLabs/hoverfly-java?style=for-the-badge&label=) | -| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | ![GitHub stars](https://img.shields.io/github/stars/intuit/karate?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/intuit/karate?style=for-the-badge&label=) | -| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | ![GitHub stars](https://img.shields.io/github/stars/rest-assured/rest-assured?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/rest-assured/rest-assured?style=for-the-badge&label=) | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | ![GitHub stars](https://img.shields.io/github/stars/testingisdocumenting/webtau?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/testingisdocumenting/webtau?style=for-the-badge&label=) | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | GitHub stars | Last commit | +| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | GitHub stars | Last commit | +| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | GitHub stars | Last commit | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | GitHub stars | Last commit | @@ -1208,13 +1208,13 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | ![GitHub stars](https://img.shields.io/github/stars/cucumber/cucumber-jvm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cucumber/cucumber-jvm?style=for-the-badge&label=) | -| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | ![GitHub stars](https://img.shields.io/github/stars/ctco/cukes?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/ctco/cukes?style=for-the-badge&label=) | -| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | ![GitHub stars](https://img.shields.io/github/stars/j8spec/j8spec?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/j8spec/j8spec?style=for-the-badge&label=) | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | GitHub stars | Last commit | +| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | GitHub stars | Last commit | +| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | GitHub stars | Last commit | | [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | | [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | ![GitHub stars](https://img.shields.io/github/stars/RichardWarburton/lambda-behave?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/RichardWarburton/lambda-behave?style=for-the-badge&label=) | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | ![GitHub stars](https://img.shields.io/github/stars/serenity-bdd/serenity-core?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/serenity-bdd/serenity-core?style=for-the-badge&label=) | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | GitHub stars | Last commit | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | GitHub stars | Last commit | @@ -1222,16 +1222,16 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | ![GitHub stars](https://img.shields.io/github/stars/AutoParams/AutoParams?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/AutoParams/AutoParams?style=for-the-badge&label=) | -| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | ![GitHub stars](https://img.shields.io/github/stars/keepcosmos/beanmother?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/keepcosmos/beanmother?style=for-the-badge&label=) | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | ![GitHub stars](https://img.shields.io/github/stars/datafaker-net/datafaker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/datafaker-net/datafaker?style=for-the-badge&label=) | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | ![GitHub stars](https://img.shields.io/github/stars/six2six/fixture-factory?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/six2six/fixture-factory?style=for-the-badge&label=) | -| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | ![GitHub stars](https://img.shields.io/github/stars/Devskiller/jfairy?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Devskiller/jfairy?style=for-the-badge&label=) | -| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | ![GitHub stars](https://img.shields.io/github/stars/instancio/instancio?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/instancio/instancio?style=for-the-badge&label=) | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | ![GitHub stars](https://img.shields.io/github/stars/randomizedtesting/randomizedtesting?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/randomizedtesting/randomizedtesting?style=for-the-badge&label=) | -| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | ![GitHub stars](https://img.shields.io/github/stars/DiUS/java-faker?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/DiUS/java-faker?style=for-the-badge&label=) | -| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | ![GitHub stars](https://img.shields.io/github/stars/nomemory/mockneat?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nomemory/mockneat?style=for-the-badge&label=) | -| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | ![GitHub stars](https://img.shields.io/github/stars/xcancloud/JMock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xcancloud/JMock?style=for-the-badge&label=) | +| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | GitHub stars | Last commit | +| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | GitHub stars | Last commit | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | GitHub stars | Last commit | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | GitHub stars | Last commit | +| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | GitHub stars | Last commit | +| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | GitHub stars | Last commit | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | GitHub stars | Last commit | +| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | GitHub stars | Last commit | +| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | GitHub stars | Last commit | +| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | GitHub stars | Last commit | @@ -1242,14 +1242,14 @@ _Frameworks and libraries that help implementing and verifying design and archit | [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. | ![GitHub stars](https://img.shields.io/github/stars/guhilling/cdi-test?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/guhilling/cdi-test?style=for-the-badge&label=) | +| [cdi-test](https://github.com/guhilling/cdi-test) | JUnit extension for easy and efficient testing of CDI components. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/DiUS/pact-jvm?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/DiUS/pact-jvm?style=for-the-badge&label=) | +| [Pact JVM](https://github.com/DiUS/pact-jvm) | Consumer-driven contract testing. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/weld/weld-testing?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/weld/weld-testing?style=for-the-badge&label=) | +| [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. | GitHub stars | Last commit | @@ -1260,9 +1260,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | | [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | | [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | ![GitHub stars](https://img.shields.io/github/stars/lukas-krecan/JsonUnit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lukas-krecan/JsonUnit?style=for-the-badge&label=) | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | GitHub stars | Last commit | | [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | ![GitHub stars](https://img.shields.io/github/stars/xmlunit/xmlunit?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/xmlunit/xmlunit?style=for-the-badge&label=) | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | GitHub stars | Last commit | @@ -1270,17 +1270,17 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | ![GitHub stars](https://img.shields.io/github/stars/Hakky54/console-captor?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Hakky54/console-captor?style=for-the-badge&label=) | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | ![GitHub stars](https://img.shields.io/github/stars/TNG/junit-dataprovider?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/TNG/junit-dataprovider?style=for-the-badge&label=) | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | GitHub stars | Last commit | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | GitHub stars | Last commit | | [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | ![GitHub stars](https://img.shields.io/github/stars/Hakky54/log-captor?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/Hakky54/log-captor?style=for-the-badge&label=) | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | ![GitHub stars](https://img.shields.io/github/stars/dm-drogeriemarkt/log-capture?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dm-drogeriemarkt/log-capture?style=for-the-badge&label=) | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | ![GitHub stars](https://img.shields.io/github/stars/MutabilityDetector/MutabilityDetector?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/MutabilityDetector/MutabilityDetector?style=for-the-badge&label=) | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | GitHub stars | Last commit | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | GitHub stars | Last commit | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | GitHub stars | Last commit | | [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. | ![GitHub stars](https://img.shields.io/github/stars/nidi3/raml-tester?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/nidi3/raml-tester?style=for-the-badge&label=) | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | ![GitHub stars](https://img.shields.io/github/stars/diffplug/selfie?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/diffplug/selfie?style=for-the-badge&label=) | -| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | ![GitHub stars](https://img.shields.io/github/stars/stebz/stebz?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/stebz/stebz?style=for-the-badge&label=) | -| [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. | ![GitHub stars](https://img.shields.io/github/stars/testcontainers/testcontainers-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/testcontainers/testcontainers-java?style=for-the-badge&label=) | +| [raml-tester](https://github.com/nidi3/raml-tester) | Tests if a request/response matches a given RAML definition. | GitHub stars | Last commit | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | GitHub stars | Last commit | +| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | GitHub stars | Last commit | +| [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. | GitHub stars | Last commit | @@ -1289,12 +1289,12 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | -| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | ![GitHub stars](https://img.shields.io/github/stars/mockito/mockito?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/mockito/mockito?style=for-the-badge&label=) | +| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | GitHub stars | Last commit | | [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | -| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | ![GitHub stars](https://img.shields.io/github/stars/dreamhead/moco?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/dreamhead/moco?style=for-the-badge&label=) | -| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | ![GitHub stars](https://img.shields.io/github/stars/powermock/powermock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/powermock/powermock?style=for-the-badge&label=) | +| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | GitHub stars | Last commit | +| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | GitHub stars | Last commit | | [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | -| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | ![GitHub stars](https://img.shields.io/github/stars/easymock/easymock?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/easymock/easymock?style=for-the-badge&label=) | +| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | GitHub stars | Last commit | @@ -1302,27 +1302,27 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | ![GitHub stars](https://img.shields.io/github/stars/alibaba/arthas?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/alibaba/arthas?style=for-the-badge&label=) | -| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | ![GitHub stars](https://img.shields.io/github/stars/vladimir-bukhtoyarov/bucket4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vladimir-bukhtoyarov/bucket4j?style=for-the-badge&label=) | -| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | ![GitHub stars](https://img.shields.io/github/stars/yegor256/cactoos?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/yegor256/cactoos?style=for-the-badge&label=) | -| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | ![GitHub stars](https://img.shields.io/github/stars/cleopatra27/chocotea?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/cleopatra27/chocotea?style=for-the-badge&label=) | +| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | GitHub stars | Last commit | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | GitHub stars | Last commit | +| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | GitHub stars | Last commit | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | GitHub stars | Last commit | | [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | -| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | ![GitHub stars](https://img.shields.io/github/stars/PatMartin/Dex?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/PatMartin/Dex?style=for-the-badge&label=) | -| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | ![GitHub stars](https://img.shields.io/github/stars/marianobarrios/dregex?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/marianobarrios/dregex?style=for-the-badge&label=) | -| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | ![GitHub stars](https://img.shields.io/github/stars/embulk/embulk?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/embulk/embulk?style=for-the-badge&label=) | -| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | ![GitHub stars](https://img.shields.io/github/stars/vorburger/ch.vorburger.fswatch?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/vorburger/ch.vorburger.fswatch?style=for-the-badge&label=) | -| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | ![GitHub stars](https://img.shields.io/github/stars/gephi/gephi?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/gephi/gephi?style=for-the-badge&label=) | -| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | ![GitHub stars](https://img.shields.io/github/stars/google/guava?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/google/guava?style=for-the-badge&label=) | +| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | GitHub stars | Last commit | +| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | GitHub stars | Last commit | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | GitHub stars | Last commit | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | GitHub stars | Last commit | +| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | GitHub stars | Last commit | +| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | GitHub stars | Last commit | | [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | -| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | ![GitHub stars](https://img.shields.io/github/stars/MathieuSoysal/Javadoc-publisher.yml?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/MathieuSoysal/Javadoc-publisher.yml?style=for-the-badge&label=) | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | GitHub stars | Last commit | | [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | -| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | ![GitHub stars](https://img.shields.io/github/stars/VerbalExpressions/JavaVerbalExpressions?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/VerbalExpressions/JavaVerbalExpressions?style=for-the-badge&label=) | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | GitHub stars | Last commit | | [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | -| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | ![GitHub stars](https://img.shields.io/github/stars/evpl/jkscope?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/evpl/jkscope?style=for-the-badge&label=) | -| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | ![GitHub stars](https://img.shields.io/github/stars/minio/minio-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/minio/minio-java?style=for-the-badge&label=) | +| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | GitHub stars | Last commit | +| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | GitHub stars | Last commit | | [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | -| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | ![GitHub stars](https://img.shields.io/github/stars/semver4j/semver4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/semver4j/semver4j?style=for-the-badge&label=) | -| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | ![GitHub stars](https://img.shields.io/github/stars/javadev/underscore-java?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/javadev/underscore-java?style=for-the-badge&label=) | +| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | GitHub stars | Last commit | +| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | GitHub stars | Last commit | @@ -1330,9 +1330,9 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | ![GitHub stars](https://img.shields.io/github/stars/shyiko/jabba?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/shyiko/jabba?style=for-the-badge&label=) | -| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | ![GitHub stars](https://img.shields.io/github/stars/jenv/jenv?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/jenv/jenv?style=for-the-badge&label=) | -| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | ![GitHub stars](https://img.shields.io/github/stars/sdkman/sdkman-cli?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/sdkman/sdkman-cli?style=for-the-badge&label=) | +| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | GitHub stars | Last commit | +| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | GitHub stars | Last commit | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | GitHub stars | Last commit | @@ -1341,10 +1341,10 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | -| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | ![GitHub stars](https://img.shields.io/github/stars/yasserg/crawler4j?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/yasserg/crawler4j?style=for-the-badge&label=) | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | GitHub stars | Last commit | | [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | | [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | -| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | ![GitHub stars](https://img.shields.io/github/stars/code4craft/webmagic?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/code4craft/webmagic?style=for-the-badge&label=) | +| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | GitHub stars | Last commit | @@ -1355,7 +1355,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | | [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | | [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | -| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | ![GitHub stars](https://img.shields.io/github/stars/lets-blade/blade?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/lets-blade/blade?style=for-the-badge&label=) | +| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | GitHub stars | Last commit | | [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | | [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | | [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | @@ -1365,7 +1365,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | | [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. | ![GitHub stars](https://img.shields.io/github/stars/yegor256/takes?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/yegor256/takes?style=for-the-badge&label=) | +| [Takes](https://github.com/yegor256/takes) | Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. | GitHub stars | Last commit | | [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. | - | - | | [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | @@ -1376,7 +1376,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | -| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | ![GitHub stars](https://img.shields.io/github/stars/flowable/flowable-engine?style=for-the-badge&label=) | ![Last commit](https://img.shields.io/github/last-commit/flowable/flowable-engine?style=for-the-badge&label=) | +| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | GitHub stars | Last commit | | [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java index da858054..1f2951ae 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_badges.java @@ -91,9 +91,9 @@ List generateBadgeMappings(List entries) { continue; } - var starsBadge = String.format("![GitHub stars](%s)", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); + var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); - var lastCommitBadge = String.format("![Last commit](%s)", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); + var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); mappings.add(new BadgeMapping( entry.name(), diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index 7909570b..3051e0cd 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -420,7 +420,7 @@ ValidationResult validateTransformation(List original, List "); - + if (!originalSectionMap.containsKey(key)) { // For subsections, check if the parent section exists if (isSubsection) { From ccc3573f4387ae1c017b20d6b158bb064a89c425 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:47:43 +0200 Subject: [PATCH 392/533] Improve badge size --- README.md | 6929 ++++++++++++++++--- scripts/step_4_generate_tables.java | 36 +- scripts/step_6_validate_transformation.java | 16 +- 3 files changed, 5813 insertions(+), 1168 deletions(-) diff --git a/README.md b/README.md index 7d422858..365630c8 100644 --- a/README.md +++ b/README.md @@ -96,1499 +96,4046 @@ _Frameworks and libraries that help implementing and verifying design and archit ### Architecture -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | GitHub stars | Last commit | -| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | GitHub stars | Last commit | - - + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ArchUnitTest library for specifying and asserting architecture rules.GitHub starsLast commit
jMoleculesAnnotations and interfaces to express design and architecture concepts in code.GitHub starsLast commit
### Artificial Intelligence -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | GitHub stars | Last commit | -| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | +_Frameworks that help you to leverage LLMs and AI._ - -### Bean Mapping -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | GitHub stars | Last commit | -| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | GitHub stars | Last commit | -| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | GitHub stars | Last commit | -| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | GitHub stars | Last commit | -| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | GitHub stars | Last commit | -| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | GitHub stars | Last commit | -| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | GitHub stars | Last commit | + - +### Artificial Intelligence -### Build + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
LangChain4jSimplifies integration of LLMs with unified APIs and a comprehensive toolbox.GitHub starsLast commit
MCP Java SDKEnables applications to interact with AI models and tools through a standardized interface (i.e. Model Context Protocol), supporting both synchronous and asynchronous communication patterns.GitHub starsLast commit
simple-openaiLibrary to use the OpenAI API (and compatible ones) in the simplest possible way.GitHub starsLast commit
Spring AIApplication framework for AI engineering for Spring.--
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | - | - | -| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | GitHub stars | Last commit | -| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | +### Bean Mapping - +_Frameworks that ease bean mapping._ -### Bytecode Manipulation -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | -| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | -| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | GitHub stars | Last commit | -| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | -| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | GitHub stars | Last commit | -| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | GitHub stars | Last commit | -| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | GitHub stars | Last commit | -| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | GitHub stars | Last commit | -| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | GitHub stars | Last commit | -| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | - + -### Caching +### Bean Mapping -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | -| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | GitHub stars | Last commit | -| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | -| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
dOOvProvides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy.GitHub starsLast commit
JMapperUses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.GitHub starsLast commit
MapStructCode generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.GitHub starsLast commit
ModelMapperIntelligent object mapping library that automatically maps objects to each other.GitHub starsLast commit
OrikaJavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.GitHub starsLast commit
reMapLambda and method handle-based mapping which requires code and not annotations if objects have different names.GitHub starsLast commit
SelmaAnnotation processor-based bean mapper.GitHub starsLast commit
- +### Build -### CLI > Argument Parsing +_Tools that handle the build cycle and dependencies of an application._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | -| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | GitHub stars | Last commit | -| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | GitHub stars | Last commit | -| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | - -### CLI > Text-Based User Interfaces + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | GitHub stars | Last commit | -| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | GitHub stars | Last commit | -| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | GitHub stars | Last commit | +### Build - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache MavenDeclarative 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.--
BazelTool from Google that builds code quickly and reliably.--
Buck2Encourages the creation of small, reusable modules consisting of code and resources.GitHub starsLast commit
GradleIncremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.--
-### Cloud +### Bytecode Manipulation -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | GitHub stars | Last commit | -| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | GitHub stars | Last commit | +_Libraries to manipulate bytecode programmatically._ - -### Code Analysis -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | GitHub stars | Last commit | -| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | GitHub stars | Last commit | -| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | GitHub stars | Last commit | -| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | GitHub stars | Last commit | -| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | -| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | GitHub stars | Last commit | -| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | GitHub stars | Last commit | -| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | GitHub stars | Last commit | -| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | GitHub stars | Last commit | -| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | GitHub stars | Last commit | -| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | GitHub stars | Last commit | -| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | GitHub stars | Last commit | + - +### Bytecode Manipulation -### Code Coverage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ASMAll-purpose, low-level bytecode manipulation and analysis.--
Byte BuddyFurther simplifies bytecode generation with a fluent API.--
bytecode-viewerJava 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)GitHub starsLast commit
BytemanManipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)--
cglibBytecode generation library.GitHub starsLast commit
JavassistTries to simplify bytecode editing.GitHub starsLast commit
MakerProvides low level bytecode generation.GitHub starsLast commit
MixinManipulate bytecode at runtime using real Java code.GitHub starsLast commit
PersesDynamically injects failure/latency at the bytecode level according to principles of chaos engineering.GitHub starsLast commit
RecafJVM reverse engineering toolkit, essentially an IDE for Java bytecode.--
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | -| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | -| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | +### Caching - +_Libraries that provide caching facilities._ -### Code Generators -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | GitHub stars | Last commit | -| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | GitHub stars | Last commit | -| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | -| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | GitHub stars | Last commit | -| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | GitHub stars | Last commit | -| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | GitHub stars | Last commit | -| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | -| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | GitHub stars | Last commit | -| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | GitHub stars | Last commit | -| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | -| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | - + -### Compiler-compiler +### Caching -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | -| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | -| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
cache2kIn-memory high performance caching library.--
CaffeineHigh-performance, near-optimal caching library.GitHub starsLast commit
EhcacheDistributed general-purpose cache.--
InfinispanHighly concurrent key/value datastore used for caching.--
- +### CLI -### Computer Vision +_Libraries for everything related to the CLI._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | -| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | -| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | GitHub stars | Last commit | +#### Argument Parsing - +_Libraries to assist with parsing command line arguments._ -### Configuration -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | -| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | GitHub stars | Last commit | -| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | GitHub stars | Last commit | -| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | - + -### Constraint Satisfaction Problem Solver +### CLI > Argument Parsing -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | -| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | GitHub stars | Last commit | -| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | -| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AirlineAnnotation-based framework for parsing Git-like command-line arguments.--
JCommanderCommand-line argument-parsing framework with custom types and validation via implementing interfaces.--
jbockReflectionless command line parser.GitHub starsLast commit
JLineIncludes features from modern shells like completion or history.GitHub starsLast commit
picocliANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.--
- +#### Text-Based User Interfaces -### CSV +_Libraries that provide TUI frameworks, or building blocks related functions._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | GitHub stars | Last commit | -| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | GitHub stars | Last commit | -| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | -| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | -| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | GitHub stars | Last commit | - -### Data Structures + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | -| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | -| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | -| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | -| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | GitHub stars | Last commit | -| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | GitHub stars | Last commit | -| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | GitHub stars | Last commit | -| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | GitHub stars | Last commit | -| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | GitHub stars | Last commit | -| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | GitHub stars | Last commit | -| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | GitHub stars | Last commit | -| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | GitHub stars | Last commit | +### CLI > Text-Based User Interfaces - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
JansiANSI escape codes to format console output.GitHub starsLast commit
JexerAdvanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision).--
Text-IOAids the creation of full console-based applications.GitHub starsLast commit
LanternaEasy console text-GUI library, similar to curses. (LGPL-3.0-only)GitHub starsLast commit
-### Database +### Cloud -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | -| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | -| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | -| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | GitHub stars | Last commit | -| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | GitHub stars | Last commit | -| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | -| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | -| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | GitHub stars | Last commit | -| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | GitHub stars | Last commit | -| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | -| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | -| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | GitHub stars | Last commit | -| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | -| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | -| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | GitHub stars | Last commit | -| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | GitHub stars | Last commit | -| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | GitHub stars | Last commit | -| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | GitHub stars | Last commit | -| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | -| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | GitHub stars | Last commit | -| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | -| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | -| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | -| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | GitHub stars | Last commit | -| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | GitHub stars | Last commit | -| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | GitHub stars | Last commit | -| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | -| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | GitHub stars | Last commit | -| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | GitHub stars | Last commit | -| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | GitHub stars | Last commit | -| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | GitHub stars | Last commit | -| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | GitHub stars | Last commit | -| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | GitHub stars | Last commit | -| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | GitHub stars | Last commit | -| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | -| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | -| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | GitHub stars | Last commit | -| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | GitHub stars | Last commit | +_Libraries to integrate or use cloud-specific features._ - -### Date and Time -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | GitHub stars | Last commit | -| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | GitHub stars | Last commit | -| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | GitHub stars | Last commit | -| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | GitHub stars | Last commit | + - +### Cloud -### Dependency Injection + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AWS SDK for JavaProvides Java APIs for interacting with Amazon Web Services.GitHub starsLast commit
Google Cloud Client LibrariesClient libraries for accessing Google Cloud services from Java applications.GitHub starsLast commit
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | -| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | -| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | -| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | GitHub stars | Last commit | -| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | GitHub stars | Last commit | -| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | GitHub stars | Last commit | -| [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) | GitHub stars | Last commit | +### Code Analysis - +_Tools that provide metrics and quality measurements._ -### Development -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | -| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | -| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | GitHub stars | Last commit | -| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | GitHub stars | Last commit | -| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | GitHub stars | Last commit | -| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | GitHub stars | Last commit | -| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | GitHub stars | Last commit | -| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | -| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | GitHub stars | Last commit | -| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | - + -### Distributed Applications +### Code Analysis -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | -| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | -| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | -| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | -| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | -| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | GitHub stars | Last commit | -| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | GitHub stars | Last commit | -| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | GitHub stars | Last commit | -| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | -| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | -| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | GitHub stars | Last commit | -| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | GitHub stars | Last commit | -| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | GitHub stars | Last commit | -| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | GitHub stars | Last commit | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CheckstyleStatic analysis of coding conventions and standards. (LGPL-2.1-or-later)GitHub starsLast commit
Error ProneCatches common programming mistakes as compile-time errors.GitHub starsLast commit
Error Prone SupportError Prone extensions: extra bug checkers and a large battery of Refaster templates.GitHub starsLast commit
InferModern static analysis tool for verifying the correctness of code.GitHub starsLast commit
jQAssistantStatic code analysis with Neo4J-based query language. (GPL-3.0-only)--
NullAwayEliminates NullPointerExceptions with low build-time overhead.GitHub starsLast commit
PMDSource code analysis for finding bad coding practices.GitHub starsLast commit
p3cProvides Alibaba's coding guidelines for PMD, IDEA and Eclipse.GitHub starsLast commit
RefactorFirstIdentifies and prioritizes God Classes and Highly Coupled classes.GitHub starsLast commit
SonarJavaStatic analyzer for SonarQube & SonarLint. (LGPL-3.0-only)GitHub starsLast commit
SpoonLibrary for analyzing and transforming Java source code.GitHub starsLast commit
SpotbugsStatic analysis of bytecode to find potential bugs. (LGPL-2.1-only)GitHub starsLast commit
- +### Code Coverage -### Distributed Transactions +_Frameworks and tools that enable code coverage metrics collection for test suites._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | -| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | GitHub stars | Last commit | -| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | -| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | GitHub stars | Last commit | - -### Distribution + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | GitHub stars | Last commit | -| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | GitHub stars | Last commit | -| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | -| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | GitHub stars | Last commit | -| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | -| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | GitHub stars | Last commit | -| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | -| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | GitHub stars | Last commit | -| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | GitHub stars | Last commit | -| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | GitHub stars | Last commit | +### Code Coverage - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CloverRelies on source-code instrumentation instead of bytecode instrumentation.--
CoberturaRelies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)--
JaCoCoFramework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.--
-### Document Processing +### Code Generators -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | -| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | -| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | -| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | GitHub stars | Last commit | -| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | GitHub stars | Last commit | +_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ - -### Financial -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | GitHub stars | Last commit | -| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | GitHub stars | Last commit | -| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | GitHub stars | Last commit | -| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | GitHub stars | Last commit | -| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | GitHub stars | Last commit | -| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | GitHub stars | Last commit | + - +### Code Generators -### Formal Verification + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ADT4JJSR-269 code generator for algebraic data types.GitHub starsLast commit
AutoGenerates factory, service, and value classes.GitHub starsLast commit
Avaje Http ServerGenerates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.--
EasyEntityToDTOAnnotation processor for automatic DTO and Mapper generation with zero boilerplate.GitHub starsLast commit
FreeBuilderAutomatically generates the Builder pattern.GitHub starsLast commit
GeciDiscovers files that need generated code, updates automatically and writes to the source with a convenient API.GitHub starsLast commit
ImmutablesAnnotation processors to generate simple, safe and consistent value objects.--
JavaPoetAPI to generate source files.GitHub starsLast commit
JHipsterYeoman source code generator for Spring Boot and AngularJS.GitHub starsLast commit
Joda-BeansSmall framework that adds queryable properties to Java, enhancing JavaBeans.--
JSpecify Package-Info GeneratorMaven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate.GitHub starsLast commit
LombokCode generator that aims to reduce verbosity.--
Record-BuilderCompanion builder class, withers and templates for Java records.GitHub starsLast commit
TelosysSimple and light code generator available as an Eclipse Plugin and also as a CLI.--
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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) | - | - | +### Compiler-compiler - +_Frameworks that help to create parsers, interpreters or compilers._ -### Functional Programming -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | GitHub stars | Last commit | -| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | GitHub stars | Last commit | -| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | GitHub stars | Last commit | -| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | GitHub stars | Last commit | -| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | - + -### Game Development +### Compiler-compiler -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | -| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | -| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | -| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | -| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | -| [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. | GitHub stars | Last commit | -| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | GitHub stars | Last commit | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ANTLRComplex full-featured framework for top-down parsing.--
JavaCCParser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.--
JFlexLexical analyzer generator.--
- +### Computer Vision -### Geospatial +_Libraries which seek to gain high level information from images and videos._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | -| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | GitHub stars | Last commit | -| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | GitHub stars | Last commit | -| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | -| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | -| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | GitHub stars | Last commit | -| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | GitHub stars | Last commit | - -### GUI + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | -| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | -| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | GitHub stars | Last commit | -| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | +### Computer Vision - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
BoofCVLibrary for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more.--
ImageJMedical image processing application with an API.--
JavaCVJava interface to OpenCV, FFmpeg, and much more.GitHub starsLast commit
-### High Performance +### Configuration -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | GitHub stars | Last commit | -| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | -| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | GitHub stars | Last commit | -| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | -| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | -| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | GitHub stars | Last commit | -| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | GitHub stars | Last commit | +_Libraries that provide external configuration._ - -### HTTP Clients -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | -| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | GitHub stars | Last commit | -| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | GitHub stars | Last commit | + - +### Configuration -### Hypermedia Types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
avaje configLoads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.--
centraldogmaHighly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.GitHub starsLast commit
configConfiguration library supporting Java properties, JSON or its human optimized superset HOCON.GitHub starsLast commit
ConfigurateConfiguration library with support for various configuration formats and transformations.GitHub starsLast commit
Curator FrameworkHigh-level API for Apache ZooKeeper.--
dotenvTwelve-factor configuration library which uses environment-specific files.GitHub starsLast commit
Externalized PropertiesLightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism.GitHub starsLast commit
GestaltGestalt 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.GitHub starsLast commit
ini4jProvides an API for handling Windows' INI files.--
KAConfAnnotation-based configuration system for Java and Kotlin.GitHub starsLast commit
microconfigConfiguration 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.--
ownerReduces boilerplate of properties.GitHub starsLast commit
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | GitHub stars | Last commit | -| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | GitHub stars | Last commit | -| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | +### Constraint Satisfaction Problem Solver - +_Libraries that help with implementing optimization and satisfiability problems._ -### IDE -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | -| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | -| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | -| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | -| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | - + -### Imagery +### Constraint Satisfaction Problem Solver -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | GitHub stars | Last commit | -| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | GitHub stars | Last commit | -| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | GitHub stars | Last commit | -| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | GitHub stars | Last commit | -| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | GitHub stars | Last commit | -| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | GitHub stars | Last commit | -| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ChocoOff-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.--
JaCoPIncludes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0)GitHub starsLast commit
OptaPlannerBusiness planning and resource scheduling optimization solver.--
TimefoldFlexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.--
- +### CSV -### Introspection +_Frameworks and libraries that simplify reading/writing CSV data._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | GitHub stars | Last commit | -| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | GitHub stars | Last commit | -| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | -| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | -| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | GitHub stars | Last commit | -| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | GitHub stars | Last commit | - -### Job Scheduling + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | GitHub stars | Last commit | -| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | GitHub stars | Last commit | -| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | GitHub stars | Last commit | -| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | GitHub stars | Last commit | -| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | +### CSV - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
FastCSVPerformance-optimized, dependency-free and RFC 4180 compliant.GitHub starsLast commit
jackson-dataformat-csvJackson extension for reading and writing CSV.GitHub starsLast commit
opencsvSimple CSV parser.--
Super CSVPowerful CSV parser with support for Dozer, Joda-Time and Java 8.--
uniVocity-parsersOne of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.GitHub starsLast commit
-### JSON +### Data Structures -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | -| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | GitHub stars | Last commit | -| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | -| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | GitHub stars | Last commit | -| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | GitHub stars | Last commit | -| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | GitHub stars | Last commit | -| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | GitHub stars | Last commit | -| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | GitHub stars | Last commit | -| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | GitHub stars | Last commit | -| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | -| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | GitHub stars | Last commit | -| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | GitHub stars | Last commit | -| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | GitHub stars | Last commit | -| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | GitHub stars | Last commit | -| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | GitHub stars | Last commit | -| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | GitHub stars | Last commit | -| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | GitHub stars | Last commit | +_Efficient and specific data structures._ - -### JVM and JDK -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | - | - | -| [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. | GitHub stars | Last commit | -| [Graal](https://github.com/oracle/graal) | Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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) | GitHub stars | Last commit | -| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | GitHub stars | Last commit | + - +### Data Structures -### Logging + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache AvroData interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.--
Apache OrcFast and efficient columnar storage format for Hadoop-based workloads.--
Apache ParquetColumnar storage format based on assembly algorithms from Google's paper on Dremel.--
Apache ThriftData interchange format that originated at Facebook.--
Big QueueFast and persistent queue based on memory-mapped files.GitHub starsLast commit
HyperMinHash-javaProbabilistic data structure for computing union, intersection, and set cardinality in loglog space.GitHub starsLast commit
Persistent CollectionPersistent and immutable analogue of the Java Collections Framework.GitHub starsLast commit
ProtobufGoogle's data interchange format.GitHub starsLast commit
RoaringBitmapFast and efficient compressed bitmap.GitHub starsLast commit
SBESimple Binary Encoding, one of the fastest message formats around.GitHub starsLast commit
TapeLightning-fast, transactional, file-based FIFO.GitHub starsLast commit
WireClean, lightweight protocol buffers.GitHub starsLast commit
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | GitHub stars | Last commit | -| [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. | - | - | -| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | GitHub stars | Last commit | -| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | -| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | - | - | +### Database - +_Everything that simplifies interactions with the database._ -### Machine Learning -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | -| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | -| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | -| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | -| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | -| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | GitHub stars | Last commit | -| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | GitHub stars | Last commit | -| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | GitHub stars | Last commit | -| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | GitHub stars | Last commit | -| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | -| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | GitHub stars | Last commit | -| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | GitHub stars | Last commit | -| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | GitHub stars | Last commit | -| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | -| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | - + -### Messaging +### Database -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | GitHub stars | Last commit | -| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | -| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | -| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | -| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | -| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | -| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | -| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | GitHub stars | Last commit | -| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | GitHub stars | Last commit | -| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | GitHub stars | Last commit | -| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | -| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | GitHub stars | Last commit | -| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | GitHub stars | Last commit | -| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | GitHub stars | Last commit | -| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | GitHub stars | Last commit | -| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | GitHub stars | Last commit | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache CalciteDynamic data management framework. It contains many of the pieces that comprise a typical database management system.--
Apache DrillDistributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration.--
Apache PhoenixHigh-performance relational database layer over HBase for low-latency applications.--
ArangoDBArangoDB Java driver.GitHub starsLast commit
Chronicle MapEfficient, in-memory (opt. persisted to disk), off-heap key-value store.GitHub starsLast commit
DebeziumLow latency data streaming platform for change data capture.--
druidHigh-performance, column-oriented, distributed data store.--
eXistNoSQL document database and application platform. (LGPL-2.1-only)GitHub starsLast commit
FlexyPoolBrings metrics and failover strategies to the most common connection pooling solutions.GitHub starsLast commit
FlywaySimple database migration tool.--
H2Small SQL database notable for its in-memory functionality.--
HikariCPHigh-performance JDBC connection pool.GitHub starsLast commit
HSQLDBHyperSQL 100% Java database.--
JDBIConvenient abstraction of JDBC.--
JedisSmall client for interaction with Redis, with methods for commands.GitHub starsLast commit
JestClient for the Elasticsearch REST API.GitHub starsLast commit
jetcdClient library for etcd.GitHub starsLast commit
JinqTypesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).GitHub starsLast commit
jOOQGenerates typesafe code based on SQL schema.--
LeafDistributed ID generate service.GitHub starsLast commit
LettuceLettuce is a scalable Redis client for building non-blocking Reactive applications.--
LiquibaseDatabase-independent library for tracking, managing and applying database schema changes.--
MapDBEmbedded database engine that provides concurrent collections backed on disk or in off-heap memory.--
MariaDB4jLauncher for MariaDB that requires no installation or external dependencies.GitHub starsLast commit
ModalityLightweight ORM with database reverse engineering features.GitHub starsLast commit
OpenDJLDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities.GitHub starsLast commit
QuerydslTypesafe unified queries.--
QueryStreamBuild JPA Criteria queries using a Stream-like API.GitHub starsLast commit
QuestDBHigh-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.GitHub starsLast commit
RealmMobile database to run directly inside phones, tablets or wearables.GitHub starsLast commit
RedissonAllows for distributed and scalable data structures on top of a Redis server.GitHub starsLast commit
requeryModern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.GitHub starsLast commit
SpeedmentDatabase access library that utilizes Java 8's Stream API for querying.GitHub starsLast commit
Spring Data JPA MongoDB ExpressionsAllows you to use MongoDB query language to query your relational database.GitHub starsLast commit
TrinoDistributed SQL query engine for big data.--
Vibur DBCPJDBC connection pool library with advanced performance monitoring capabilities.--
XodusHighly concurrent transactional schema-less and ACID-compliant embedded database.GitHub starsLast commit
CosIdUniversal, flexible, high-performance distributed ID generator.GitHub starsLast commit
- +### Date and Time -### Microservice +_Libraries related to handling date and time._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | -| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | GitHub stars | Last commit | -| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | GitHub stars | Last commit | -| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | GitHub stars | Last commit | -| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | -| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | GitHub stars | Last commit | -| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | GitHub stars | Last commit | -| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | GitHub stars | Last commit | -| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | -| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | -| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | GitHub stars | Last commit | -| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | -| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | GitHub stars | Last commit | - -### Miscellaneous + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | GitHub stars | Last commit | -| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | GitHub stars | Last commit | -| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | GitHub stars | Last commit | -| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | GitHub stars | Last commit | -| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | GitHub stars | Last commit | -| [JBake](https://jbake.org) | Static website generator. | - | - | -| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | GitHub stars | Last commit | -| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | -| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | GitHub stars | Last commit | -| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | GitHub stars | Last commit | -| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | -| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | GitHub stars | Last commit | -| [JPad](http://jpad.io) | Snippet runner. | - | - | -| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | GitHub stars | Last commit | -| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | GitHub stars | Last commit | -| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | GitHub stars | Last commit | -| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | GitHub stars | Last commit | -| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | GitHub stars | Last commit | -| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | GitHub stars | Last commit | -| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | GitHub stars | Last commit | -| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | GitHub stars | Last commit | -| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | -| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | GitHub stars | Last commit | -| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | GitHub stars | Last commit | -| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | GitHub stars | Last commit | -| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | GitHub stars | Last commit | -| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | GitHub stars | Last commit | -| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | GitHub stars | Last commit | -| [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | -| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | GitHub stars | Last commit | -| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | GitHub stars | Last commit | -| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | GitHub stars | Last commit | -| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | GitHub stars | Last commit | -| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | GitHub stars | Last commit | +### Date and Time - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
iCal4jParse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models.GitHub starsLast commit
JollydayDetermines the holidays for a given year, country/name and eventually state/region.GitHub starsLast commit
ThreeTen-ExtraAdditional date-time classes that complement those in JDK 8.GitHub starsLast commit
Time4JAdvanced date and time library. (LGPL-2.1-only)GitHub starsLast commit
-### Mobile Development +### Dependency Injection -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | -| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | +_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ - -### Monitoring -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | GitHub stars | Last commit | -| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | GitHub stars | Last commit | -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | GitHub stars | Last commit | -| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | GitHub stars | Last commit | -| [Glowroot](https://glowroot.org) | Open-source Java APM. | - | - | -| [HertzBeat](https://github.com/dromara/hertzbeat) | Real-time monitoring system with custom-monitor and agentless. | GitHub stars | Last commit | -| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic and observable thread pool framework. | GitHub stars | Last commit | -| [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. | - | - | -| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | GitHub stars | Last commit | -| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | GitHub stars | Last commit | -| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | GitHub stars | Last commit | -| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | GitHub stars | Last commit | -| [Pinpoint](https://github.com/naver/pinpoint) | Open-source APM tool. | GitHub stars | Last commit | -| [Prometheus](https://github.com/prometheus/client_java) | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. | GitHub stars | Last commit | -| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | GitHub stars | Last commit | -| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | GitHub stars | Last commit | -| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | + - +### Dependency Injection -### Native + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache DeltaSpikeCDI extension framework.--
Avaje InjectMicroservice-focused compile-time injection framework without reflection.--
DaggerCompile-time injection framework without reflection.--
FeatherUltra-lightweight, JSR-330-compliant dependency injection library.GitHub starsLast commit
GovernatorExtensions and utilities that enhance Google Guice.GitHub starsLast commit
GuiceLightweight and opinionated framework that completes Dagger.GitHub starsLast commit
HK2Lightweight and dynamic dependency injection framework.--
JayWireLightweight dependency injection framework. (LGPL-3.0-only)GitHub starsLast commit
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | GitHub stars | Last commit | -| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | GitHub stars | Last commit | -| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | GitHub stars | Last commit | -| [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). | GitHub stars | Last commit | -| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | GitHub stars | Last commit | +### Development - +_Augmentation of the development process at a fundamental level._ -### Natural Language Processing -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | GitHub stars | Last commit | -| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | -| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | -| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | GitHub stars | Last commit | -| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | - + -### Networking +### Development -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | GitHub stars | Last commit | -| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | GitHub stars | Last commit | -| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | GitHub stars | Last commit | -| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | -| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | GitHub stars | Last commit | -| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | GitHub stars | Last commit | -| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | -| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | -| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | GitHub stars | Last commit | -| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | GitHub stars | Last commit | -| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | GitHub stars | Last commit | -| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | GitHub stars | Last commit | -| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | -| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | GitHub stars | Last commit | -| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | GitHub stars | Last commit | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AspectJSeamless aspect-oriented programming extension.--
DCEVMJVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only)--
Faux PasLibrary that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions.GitHub starsLast commit
HotswapAgentUnlimited runtime class and resource redefinition. (GPL-2.0-only)GitHub starsLast commit
JavaParserParse, modify and generate Java code.GitHub starsLast commit
JavaSymbolSolverSymbol solver.GitHub starsLast commit
ManifoldRe-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.GitHub starsLast commit
NoExceptionAllows checked exceptions in functional interfaces and converts exceptions to Optional return.--
SneakyThrowIgnores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations.GitHub starsLast commit
TailEnable infinite recursion using tail call optimization.--
- +### Distributed Applications -### ORM +_Libraries and frameworks for writing distributed and fault-tolerant applications._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | -| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | GitHub stars | Last commit | -| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | -| [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. | GitHub stars | Last commit | -| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | GitHub stars | Last commit | -| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | GitHub stars | Last commit | -| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | GitHub stars | Last commit | -| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | GitHub stars | Last commit | - -### Pathfinding + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | GitHub stars | Last commit | +### Distributed Applications - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache GeodeIn-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.--
Apache StormRealtime computation system.--
Apache ZooKeeperCoordination service with distributed configuration, synchronization, and naming registry for large distributed systems.--
AtomixFault-tolerant distributed coordination framework.--
AxonFramework for creating CQRS applications.--
Dropwizard Circuit BreakerCircuit breaker design pattern for Dropwizard. (GPL-2.0-only)GitHub starsLast commit
FailsafeSimple failure handling with retries and circuit breakers.GitHub starsLast commit
HazelcastHighly scalable in-memory datagrid with a free open-source version.GitHub starsLast commit
JGroupsToolkit for reliable messaging and cluster creation.--
QuasarLightweight threads and actors for the JVM.--
resilience4jFunctional fault tolerance library.GitHub starsLast commit
OpenIGHigh-performance reverse proxy server with specialized session management and credential replay functionality.GitHub starsLast commit
ScaleCube ServicesEmbeddable Cluster-Membership library based on SWIM and gossip protocol.GitHub starsLast commit
ZuulGateway service that provides dynamic routing, monitoring, resiliency, security, and more.GitHub starsLast commit
-### PDF +### Distributed Transactions -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | -| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | -| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | -| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | GitHub stars | Last commit | -| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | -| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | GitHub stars | Last commit | -| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | -| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | GitHub stars | Last commit | -| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | GitHub stars | Last commit | -| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | GitHub stars | Last commit | +_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ - -### Performance analysis -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | GitHub stars | Last commit | -| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | GitHub stars | Last commit | -| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | GitHub stars | Last commit | -| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | -| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | GitHub stars | Last commit | + - +### Distributed Transactions -### Platform > Apache Commons + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AtomikosProvides transactions for REST, SOA and microservices with support for JTA and XA.--
BitronixSimple but complete implementation of the JTA 1.1 API.GitHub starsLast commit
NarayanaProvides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only)--
SeataDelivers high performance and easy to use distributed transaction services under a microservices architecture.GitHub starsLast commit
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | -| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | -| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | -| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | -| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | -| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | -| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | -| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | -| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | -| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | -| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | -| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | -| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | -| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | -| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | -| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | -| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | -| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | -| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | -| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | -| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | -| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | -| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | -| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | -| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | -| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | -| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | -| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | -| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | -| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | -| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | -| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | -| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | -| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | -| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | -| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | -| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | -| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | -| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | -| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | -| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | -| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | -| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | -| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | -| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | -| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | -| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | -| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | -| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | -| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | -| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | -| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | -| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | -| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | +### Distribution - +_Tools that handle the distribution of applications in native formats._ -### Platform > Other -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | -| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | GitHub stars | Last commit | -| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | GitHub stars | Last commit | -| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | - + -### Processes +### Distribution -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | GitHub stars | Last commit | -| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | GitHub stars | Last commit | -| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | GitHub stars | Last commit | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ArtipieBinary artifact management toolkit which hosts them on the file system or S3.GitHub starsLast commit
CapsuleSimple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.GitHub starsLast commit
Central RepositoryLargest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools.--
GetdownSystem for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start.GitHub starsLast commit
IzPackSetup authoring tool for cross-platform deployments.--
JavaPackagerMaven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them.GitHub starsLast commit
jDeployDeploy desktop apps as native Mac, Windows or Linux bundles.--
jlink.onlineBuilds optimized runtimes over HTTP.GitHub starsLast commit
packrPacks JARs, assets and the JVM for native distribution on Windows, Linux and macOS.GitHub starsLast commit
really-executable-jars-maven-pluginMaven plugin for making self-executing JARs.GitHub starsLast commit
- +### Document Processing -### Reactive libraries +_Libraries that assist with processing office document formats._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | GitHub stars | Last commit | -| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | GitHub stars | Last commit | -| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | GitHub stars | Last commit | -| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | - -### REST Frameworks + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | GitHub stars | Last commit | -| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | GitHub stars | Last commit | -| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | -| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | -| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | GitHub stars | Last commit | -| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | +### Document Processing - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache POISupports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT).--
documents4jAPI for document format conversion using third-party converters such as MS Word.--
docx4jCreate and manipulate Microsoft Open XML files.--
fastexcelHigh performance library to read and write large Excel (XLSX) worksheets.GitHub starsLast commit
zerocellAnnotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.GitHub starsLast commit
-### Science +### Financial -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | -| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | GitHub stars | Last commit | -| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | -| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | GitHub stars | Last commit | -| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | -| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | -| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | GitHub stars | Last commit | -| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | GitHub stars | Last commit | -| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | GitHub stars | Last commit | -| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | GitHub stars | Last commit | -| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | GitHub stars | Last commit | -| [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | -| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | GitHub stars | Last commit | -| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | GitHub stars | Last commit | -| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | GitHub stars | Last commit | +_Libraries related to the financial domain._ - -### Search -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | -| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | -| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | -| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | GitHub stars | Last commit | + - +### Financial -### Security + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CassandreTrading bot framework.GitHub starsLast commit
ParityPlatform for trading venues.GitHub starsLast commit
PhiladelphiaLow-latency financial information exchange.GitHub starsLast commit
SquareIntegration with the Square API.GitHub starsLast commit
StripeIntegration with the Stripe API.GitHub starsLast commit
ta4jLibrary for technical analysis.GitHub starsLast commit
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | -| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | GitHub stars | Last commit | -| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | GitHub stars | Last commit | -| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | GitHub stars | Last commit | -| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | GitHub stars | Last commit | -| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | -| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | GitHub stars | Last commit | -| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | GitHub stars | Last commit | -| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | -| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | GitHub stars | Last commit | -| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | GitHub stars | Last commit | -| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | GitHub stars | Last commit | -| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | -| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | GitHub stars | Last commit | -| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Tink](https://github.com/google/tink) | Provides a simple and misuse-proof API for common cryptographic tasks. | GitHub stars | Last commit | -| [Topaz](https://www.topaz.sh) | Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. | - | - | - - +### Formal Verification -### Serialization +_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | GitHub stars | Last commit | -| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | GitHub stars | Last commit | -| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | GitHub stars | Last commit | -| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | GitHub stars | Last commit | -| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | GitHub stars | Last commit | -| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | GitHub stars | Last commit | - -### Server + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | -| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | -| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | -| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | GitHub stars | Last commit | -| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | +### Formal Verification - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CATGConcolic unit testing engine. Automatically generates unit tests using formal methods.GitHub starsLast commit
Checker FrameworkPluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)--
DaikonDetects likely program invariants and generates JML specs based on those invariants.--
Java Path Finder (JPF)JVM formal verification tool containing a model checker and more. Created by NASA.GitHub starsLast commit
JMLOK 2.0Detects 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)--
KeYFormal 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)--
OpenJMLTranslates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only)--
-### Template Engine +### Functional Programming -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | -| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | -| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | GitHub stars | Last commit | -| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | GitHub stars | Last commit | -| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | GitHub stars | Last commit | -| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | +_Libraries that facilitate functional programming._ - -### Testing > Asynchronous -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | GitHub stars | Last commit | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | GitHub stars | Last commit | -| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | GitHub stars | Last commit | -| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | GitHub stars | Last commit | -| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | GitHub stars | Last commit | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | GitHub stars | Last commit | + - +### Functional Programming -### Testing > BDD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CyclopsMonad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.GitHub starsLast commit
derive4jJava 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only)GitHub starsLast commit
FugueFunctional extensions to Guava.--
Functional JavaImplements numerous basic and advanced programming abstractions that assist composition-oriented development.--
jOOλ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.GitHub starsLast commit
PackratGatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.GitHub starsLast commit
protonpackCollection of stream utilities.GitHub starsLast commit
StreamExEnhances Java 8 Streams.GitHub starsLast commit
VavrFunctional component library that provides persistent data types and functional control structures.--
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | GitHub stars | Last commit | -| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | GitHub stars | Last commit | -| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | GitHub stars | Last commit | -| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | -| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | GitHub stars | Last commit | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | GitHub stars | Last commit | +### Game Development - +_Frameworks that support the development of games._ -### Testing > Fixtures -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | GitHub stars | Last commit | -| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | GitHub stars | Last commit | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | GitHub stars | Last commit | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | GitHub stars | Last commit | -| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | GitHub stars | Last commit | -| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | GitHub stars | Last commit | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | GitHub stars | Last commit | -| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | GitHub stars | Last commit | -| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | GitHub stars | Last commit | -| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | GitHub stars | Last commit | - + -### Testing > Frameworks +### Game Development -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
FXGLJavaFX Game Development Framework.--
JBox2DPort of the renowned C++ 2D physics engine.--
jMonkeyEngineGame engine for modern 3D development.--
libGDXAll-round cross-platform, high-level framework.--
LitiengineAWT-based, lightweight 2D game engine.--
LWJGLRobust framework that abstracts libraries like OpenGL/CL/AL.--
Mini2DxBeginner-friendly, master-ready framework for rapidly prototyping and building 2D games.--
Void2DHigh-level 2D game engine with built-in physics based on Swing.GitHub starsLast commit
vulkan4jVulkan, OpenGL ES2 and GLFW Memory Allocator bindings.GitHub starsLast commit
- +### Geospatial -### Testing > Matchers +_Libraries for working with geospatial data and algorithms._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | -| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | -| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | GitHub stars | Last commit | -| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | GitHub stars | Last commit | - -### Testing > Miscellaneous + -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | GitHub stars | Last commit | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | GitHub stars | Last commit | -| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | GitHub stars | Last commit | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | GitHub stars | Last commit | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | GitHub stars | Last commit | -| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | GitHub stars | Last commit | -| [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. | GitHub stars | Last commit | +### Geospatial - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache SISLibrary for developing geospatial applications.--
GeoGeoHash utilities in Java.GitHub starsLast commit
GeoToolsLibrary that provides tools for geospatial data. (LGPL-2.1-only)--
GraphHopperRoad-routing engine. Used as a Java library or standalone web service.GitHub starsLast commit
H2GISSpatial extension of the H2 database. (LGPL-3.0-only)--
JgeohashLibrary for using the GeoHash algorithm.--
MapsforgeMap rendering based on OpenStreetMap data. (LGPL-3.0-only)GitHub starsLast commit
Spatial4jGeneral-purpose spatial/geospatial library.GitHub starsLast commit
-### Testing > Mocking +### GUI -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | -| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | GitHub stars | Last commit | -| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | -| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | GitHub stars | Last commit | -| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | GitHub stars | Last commit | -| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | -| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | GitHub stars | Last commit | +_Libraries to create modern graphical user interfaces._ - -### Utility -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | GitHub stars | Last commit | -| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | GitHub stars | Last commit | -| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | GitHub stars | Last commit | -| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | GitHub stars | Last commit | -| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | -| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | GitHub stars | Last commit | -| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | GitHub stars | Last commit | -| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | GitHub stars | Last commit | -| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | GitHub stars | Last commit | -| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | GitHub stars | Last commit | -| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | GitHub stars | Last commit | -| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | -| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | GitHub stars | Last commit | -| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | -| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | GitHub stars | Last commit | -| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | -| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | GitHub stars | Last commit | -| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | GitHub stars | Last commit | -| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | -| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | GitHub stars | Last commit | -| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | GitHub stars | Last commit | + - +### GUI -### Version Managers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
JavaFXSuccessor of Swing.--
Scene BuilderVisual layout tool for JavaFX applications.--
SnapKitModern Java UI library for both desktop and web.GitHub starsLast commit
SWTGraphical widget toolkit.--
-| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | GitHub stars | Last commit | -| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | GitHub stars | Last commit | -| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | GitHub stars | Last commit | +### High Performance - +_Everything about high-performance computation, from collections to specific libraries._ -### Web Crawling -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | -| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | GitHub stars | Last commit | -| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | -| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | -| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | GitHub stars | Last commit | - + -### Web Frameworks +### High Performance -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | -| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | -| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | -| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | GitHub stars | Last commit | -| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | -| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | -| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | -| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | -| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | -| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | -| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | -| [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. | GitHub stars | Last commit | -| [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. | - | - | -| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AgronaData structures and utility methods that are common in high-performance applications.GitHub starsLast commit
DisruptorInter-thread messaging library.--
Eclipse CollectionsCollections framework inspired by Smalltalk.GitHub starsLast commit
fastutilFast and compact type-specific collections.--
HPPCPrimitive collections.--
JCToolsConcurrency tools currently missing from the JDK.GitHub starsLast commit
KolobokeCarefully designed extension of the Java Collections Framework with primitive specializations and more.GitHub starsLast commit
- +### HTTP Clients -### Workflow Orchestration Engines +_Libraries that assist with creating HTTP requests and/or binding responses._ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | -| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | GitHub stars | Last commit | -| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | - -### Artificial Intelligence + -_Frameworks that help you to leverage LLMs and AI._ +### HTTP Clients -### Bean Mapping + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache HttpComponentsToolset of low-level Java components focused on HTTP and associated protocols.--
Async Http ClientAsynchronous HTTP and WebSocket client library.GitHub starsLast commit
Avaje Http ClientWrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements.--
FeignHTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.GitHub starsLast commit
Google HTTP ClientPluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.GitHub starsLast commit
methanolHTTP client extensions library.GitHub starsLast commit
RetrofitTypesafe REST client.--
RibbonClient-side IPC library that is battle-tested in the cloud.GitHub starsLast commit
RiptideClient-side response routing for Spring's RestTemplate.GitHub starsLast commit
unirest-javaSimplified, lightweight HTTP client library.GitHub starsLast commit
-_Frameworks that ease bean mapping._ +### Hypermedia Types -### Build +_Libraries that handle serialization to hypermedia types._ -_Tools that handle the build cycle and dependencies of an application._ -### Bytecode Manipulation -_Libraries to manipulate bytecode programmatically._ + -### Caching +### Hypermedia Types -_Libraries that provide caching facilities._ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
hateBuilds hypermedia-friendly objects according to HAL specification.GitHub starsLast commit
JSON-LDJSON-LD implementation.GitHub starsLast commit
Siren4JLibrary for the Siren specification.GitHub starsLast commit
Spring HATEOASStandalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.GitHub starsLast commit
-### CLI +### IDE -_Libraries for everything related to the CLI._ +_Integrated development environments that try to simplify several aspects of development._ -#### Argument Parsing -_Libraries to assist with parsing command line arguments._ -#### Text-Based User Interfaces + -_Libraries that provide TUI frameworks, or building blocks related functions._ +### IDE -### Cloud + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
EclipseEstablished open-source project with support for lots of plugins and languages.--
jGRASPCreated to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer.--
NetBeansProvides integration for several Java SE and EE features, from database access to HTML5.--
SnapCodeModern IDE for Java running in the browser, focused on education.--
Visual Studio CodeProvides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace.--
-_Libraries to integrate or use cloud-specific features._ +### Imagery -### Code Analysis +_Libraries that assist with the creation, evaluation or manipulation of graphical images._ -_Tools that provide metrics and quality measurements._ -### Code Coverage -_Frameworks and tools that enable code coverage metrics collection for test suites._ + -### Code Generators +### Imagery -_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Barcode-Lib4JGenerates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support.GitHub starsLast commit
ImgscalrSimple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.GitHub starsLast commit
Tess4JJNA wrapper for Tesseract OCR API.GitHub starsLast commit
ThumbnailatorHigh-quality thumbnail generation library.GitHub starsLast commit
TwelveMonkeysCollection of plugins that extend the number of supported image file formats.GitHub starsLast commit
ZXingMulti-format 1D/2D barcode image processing library.GitHub starsLast commit
image-comparisonLibrary 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.GitHub starsLast commit
vips-ffmComprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.GitHub starsLast commit
scrimageImmutable, functional, and performant JVM library for manipulation of images.--
-### Compiler-compiler +### Introspection -_Frameworks that help to create parsers, interpreters or compilers._ +_Libraries that help make the Java introspection and reflection API easier and faster to use._ -### Computer Vision -_Libraries which seek to gain high level information from images and videos._ -### Configuration + -_Libraries that provide external configuration._ +### Introspection -### Constraint Satisfaction Problem Solver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ClassGraphClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.GitHub starsLast commit
jOORjOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.GitHub starsLast commit
MirrorMirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks.--
ObjenesisAllows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions.--
ReflectASMReflectASM is a very small Java library that provides high performance reflection by using code generation.GitHub starsLast commit
ReflectionsReflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.GitHub starsLast commit
-_Libraries that help with implementing optimization and satisfiability problems._ +### Job Scheduling -### CSV +_Libraries for scheduling background jobs._ -_Frameworks and libraries that simplify reading/writing CSV data._ -### Data Structures -_Efficient and specific data structures._ + -### Database +### Job Scheduling -_Everything that simplifies interactions with the database._ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
JobRunrJob 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.GitHub starsLast commit
QuartzFeature-rich, open source job scheduling library that can be integrated within virtually any Java application.GitHub starsLast commit
SundialLightweight framework to simply define jobs, define triggers and start the scheduler.GitHub starsLast commit
WispSimple library with minimal footprint and straightforward API.GitHub starsLast commit
db-schedulerPersistent and cluster-friendly scheduler.GitHub starsLast commit
easy-batchSet 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.GitHub starsLast commit
shedlockMakes 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.GitHub starsLast commit
-### Date and Time +### JSON -_Libraries related to handling date and time._ +_Libraries for serializing and deserializing JSON to and from Java objects._ -### Dependency Injection -_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ -### Development + -_Augmentation of the development process at a fundamental level._ +### JSON -### Distributed Applications + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Avaje JsonbReflection-free Json binding via source code generation with Jackson-like annotations.--
DSL-JSONJSON library with advanced compile time databinding.GitHub starsLast commit
GensonPowerful and easy-to-use Java-to-JSON conversion library.--
GsonSerializes objects to JSON and vice versa. Good performance with on-the-fly usage.GitHub starsLast commit
HikariJSONHigh-performance JSON parser, 2x faster than Jackson.GitHub starsLast commit
jackson-modules-java8Set of Jackson modules for Java 8 datatypes and features.GitHub starsLast commit
Jackson-datatype-moneyOpen-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.GitHub starsLast commit
JacksonSimilar to GSON, but offers performance gains if you need to instantiate the library more often.GitHub starsLast commit
JSON-ioConvert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.GitHub starsLast commit
jsoniterFast and flexible library with iterator and lazy parsing API.--
LoganSquareJSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library.GitHub starsLast commit
MoshiModern JSON library, less opinionated and uses built-in types like List and Map.GitHub starsLast commit
YassonBinding layer between classes and JSON documents similar to JAXB.GitHub starsLast commit
fastjsonVery fast processor with no additional dependencies and full data binding.GitHub starsLast commit
JoltJSON to JSON transformation tool.GitHub starsLast commit
JsonPathExtract data from JSON using XPATH-like syntax.GitHub starsLast commit
JsonSurferStreaming JsonPath processor dedicated to processing big and complicated JSON data.GitHub starsLast commit
-_Libraries and frameworks for writing distributed and fault-tolerant applications._ +### JVM and JDK -### Distributed Transactions +_Current implementations of the JVM/JDK._ -_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ -### Distribution -_Tools that handle the distribution of applications in native formats._ + -### Document Processing +### JVM and JDK -_Libraries that assist with processing office document formats._ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Which JDKOverview of common JVMs with pros and cons.--
Adopt Open JDKCommunity-driven OpenJDK builds, including both HotSpot and OpenJ9.--
CorrettoNo-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)--
Dragonwell8Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.GitHub starsLast commit
GraalPolyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
Liberica JDKBuilt from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)--
OpenJ9High performance, enterprise-calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project.GitHub starsLast commit
Open JDKOpen JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)--
ParparVMVM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
RedHat Open JDKRedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)--
SAP MachineSAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0)--
ZuluOpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)--
Microsoft JDKMicrosoft Build of OpenJDK, Free, Open Source, Freshly Brewed!GitHub starsLast commit
-### Financial +### Logging -_Libraries related to the financial domain._ +_Libraries that log the behavior of an application._ -### Formal Verification -_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -### Functional Programming + -_Libraries that facilitate functional programming._ +### Logging -### Game Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache Log4j 2Complete rewrite with a powerful plugin and configuration architecture.--
EchopraxiaAPI 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.GitHub starsLast commit
GraylogOpen-source aggregator suited for extended role and permission management. (GPL-3.0-only)--
KibanaAnalyzes and visualizes log files. Some features require payment.--
LogbackRobust logging library with interesting configuration options via Groovy.--
LogbookExtensible, open-source library for HTTP request and response logging.GitHub starsLast commit
LogstashTool for managing log files.--
p6spyEnables logging for all JDBC transactions without changes to the code.GitHub starsLast commit
SLF4JAbstraction layer/simple logging facade.--
tinylogLightweight logging framework with static logger class.--
OpenTracing ToolboxCollection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.GitHub starsLast commit
FloggerFlogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs.--
-_Frameworks that support the development of games._ +### Machine Learning -### Geospatial +_Tools that provide specific statistical algorithms for learning from data._ -_Libraries for working with geospatial data and algorithms._ -### GUI -_Libraries to create modern graphical user interfaces._ + -### High Performance +### Machine Learning -_Everything about high-performance computation, from collections to specific libraries._ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache FlinkFast, reliable, large-scale data processing engine.--
Apache MahoutScalable algorithms focused on collaborative filtering, clustering and classification.--
DatumBoxProvides several algorithms and pre-trained models for natural language processing.--
Deeplearning4jDistributed and multi-threaded deep learning library.--
DJLHigh-level and engine-agnostic framework for deep learning.--
Intelligent javaSeamlessly integrate with remote deep learning and language models programmatically.GitHub starsLast commit
JSATAlgorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only)GitHub starsLast commit
m2cgenCLI tool to transpile models into native code.GitHub starsLast commit
NeurekaA lightweight, platform independent, OpenCL accelerated nd-array/tensor library.GitHub starsLast commit
oj! AlgorithmsHigh-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing.--
Oryx 2Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering.GitHub starsLast commit
SiddhiCloud native streaming and complex event processing engine.GitHub starsLast commit
SmileStatistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.GitHub starsLast commit
TribuoProvides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow.--
WekaCollection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)--
-### HTTP Clients +### Messaging -_Libraries that assist with creating HTTP requests and/or binding responses._ +_Tools that help send messages between clients to ensure protocol independency._ -### Hypermedia Types -_Libraries that handle serialization to hypermedia types._ -### IDE + -_Integrated development environments that try to simplify several aspects of development._ +### Messaging -### Imagery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AeronEfficient, reliable, unicast and multicast message transport.GitHub starsLast commit
Apache ActiveMQMessage broker that implements JMS and converts synchronous to asynchronous communication.--
Apache CamelGlues together different transport APIs via Enterprise Integration Patterns.--
Apache KafkaHigh-throughput distributed messaging system.--
Apache PulsarDistributed pub/sub-messaging system.--
Apache RocketMQFast, reliable, and scalable distributed messaging platform.--
Apache QpidApache Qpid makes messaging tools that speak AMQP and support many languages and platforms.--
AutoMQAutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective.GitHub starsLast commit
DeezpatchSimple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers.GitHub starsLast commit
EventBusSimple publish/subscribe event bus.GitHub starsLast commit
HermesFast and reliable message broker built on top of Kafka.--
JeroMQImplementation of ZeroMQ.GitHub starsLast commit
NakadiProvides a RESTful API on top of Kafka.GitHub starsLast commit
RabbitMQ Java clientRabbitMQ client.GitHub starsLast commit
SmackCross-platform XMPP client library.GitHub starsLast commit
NATS clientNATS client.GitHub starsLast commit
-_Libraries that assist with the creation, evaluation or manipulation of graphical images._ +### Microservice -### Introspection +_Tools for creating and managing microservices._ -_Libraries that help make the Java introspection and reflection API easier and faster to use._ -### Job Scheduling -_Libraries for scheduling background jobs._ + -### JSON +### Microservice -_Libraries for serializing and deserializing JSON to and from Java objects._ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ActiveRPCLightweight and fast library for complex high-load distributed applications and Memcached-like solutions.--
ArmeriaAsynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.GitHub starsLast commit
consul-apiClient for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.GitHub starsLast commit
EurekaREST-based service registry for resilient load balancing and failover.GitHub starsLast commit
HelidonTwo-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile.--
JDAWrapping of the Discord REST API and its WebSocket events.GitHub starsLast commit
KeenTypeModernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX.GitHub starsLast commit
kubernetes-clientClient provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.GitHub starsLast commit
MicronautModern full-stack framework with focus on modularity, minimal memory footprint and startup time.--
NacosDynamic service discovery, configuration and service management platform for building cloud native applications.--
OpenAI-JavaJava libraries for using OpenAI's GPT-3 API.GitHub starsLast commit
QuarkusKubernetes stack tailored for the HotSpot and Graal VM.--
SentinelFlow control component enabling reliability, resilience and monitoring for microservices.GitHub starsLast commit
-### JVM and JDK +### Miscellaneous -_Current implementations of the JVM/JDK._ +_Everything else._ -### Logging -_Libraries that log the behavior of an application._ -### Machine Learning + -_Tools that provide specific statistical algorithms for learning from data._ +### Miscellaneous -### Messaging + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CQEngineUltra-fast, SQL-like queries on Java collections.GitHub starsLast commit
Design PatternsImplementation and explanation of the most common design patterns.GitHub starsLast commit
FF4JFeature Flags for Java.GitHub starsLast commit
FizzBuzz Enterprise EditionNo-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)GitHub starsLast commit
IP2Location.io Java SDKWrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.GitHub starsLast commit
ISBN coreA small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.GitHub starsLast commit
J2ObjCJava-to-Objective-C translator for porting Android libraries to iOS.GitHub starsLast commit
JBakeStatic website generator.--
JBotFramework for building chatbots. (GPL-3.0-only)GitHub starsLast commit
JCudaJCuda offers Java bindings for CUDA and CUDA-related libraries.--
JEmojiAn auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.GitHub starsLast commit
JimfsIn-memory file system.GitHub starsLast commit
Joda-MoneyBasic currency and money classes and algorithms not provided by the JDK.--
jOOXSimple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery.GitHub starsLast commit
JPadSnippet runner.--
jsweetSource transpiler to TypeScript/JavaScript.GitHub starsLast commit
Maven WrapperAnalogue of Gradle Wrapper for Maven, allows building projects without installing maven.GitHub starsLast commit
Membrane Service ProxyOpen-source, reverse-proxy framework.GitHub starsLast commit
MinimalFTPLightweight, small and customizable FTP server.GitHub starsLast commit
LittleProxyHigh performance HTTP proxy atop Netty's event-based networking library.GitHub starsLast commit
Modern Java - A Guide to Java 8Popular Java 8 guide.GitHub starsLast commit
ModernizerDetect uses of legacy Java APIs.GitHub starsLast commit
OctoLinkerBrowser extension which allows to navigate through code on GitHub more efficiently.GitHub starsLast commit
OpenRefineTool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases.--
PipelinRSmall utility library for using handlers and commands with pipelines.GitHub starsLast commit
Polyglot for MavenExtensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.GitHub starsLast commit
RR4JRR4J is a tool that records java bytecode execution and later allows developers to replay locally.GitHub starsLast commit
Simple Java MailMailing with a clean and fluent API.GitHub starsLast commit
SmooksFramework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)GitHub starsLast commit
SvixLibrary for the Svix API to send webhooks and verify signatures.GitHub starsLast commit
TogglzImplementation of the Feature Toggles pattern.--
TypeToolsTools for resolving generic types.GitHub starsLast commit
webcam-captureLibrary for using built-in and external webcams directly in Java.GitHub starsLast commit
XMLBeamProcesses XML by using annotations or XPath within code.GitHub starsLast commit
yGuardObfuscation via renaming and shrinking.GitHub starsLast commit
JBangJBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly.GitHub starsLast commit
-_Tools that help send messages between clients to ensure protocol independency._ +### Mobile Development -### Microservice +_Tools for creating or managing mobile applications._ -_Tools for creating and managing microservices._ -### Miscellaneous -_Everything else._ + ### Mobile Development -_Tools for creating or managing mobile applications._ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Codename OneCross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0)--
MobileUICross-platform framework for developing mobile apps with native UI in Java and Kotlin.--
Multi-OS EngineOpen-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.--
### Monitoring _Tools that observe/monitor applications in production by providing telemetry._ + + + + +### Monitoring + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ApitallySimple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.GitHub starsLast commit
AutomonCombines the power of AOP with monitoring and/or logging tools.GitHub starsLast commit
Dropwizard MetricsExpose metrics via JMX or HTTP and send them to a database.GitHub starsLast commit
Failsafe ActuatorOut of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.GitHub starsLast commit
GlowrootOpen-source Java APM.--
HertzBeatReal-time monitoring system with custom-monitor and agentless.GitHub starsLast commit
hippo4jDynamic and observable thread pool framework.GitHub starsLast commit
inspectITCaptures 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.--
Jaeger clientJaeger client.GitHub starsLast commit
JavaMelodyPerformance monitoring and profiling.GitHub starsLast commit
jmxtransConnect 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.GitHub starsLast commit
JolokiaJMX over REST.--
MicrometerVendor-neutral metrics/observability facade for the most popular metrics/observability libraries.GitHub starsLast commit
Micrometer TracingVendor-neutral distributed tracing facade for the most popular tracer libraries.GitHub starsLast commit
nudge4jRemote developer console from the browser for Java 8 via bytecode injection.GitHub starsLast commit
OpenTelemetryInstrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.GitHub starsLast commit
PinpointOpen-source APM tool.GitHub starsLast commit
PrometheusProvides a multi-dimensional data model, DSL, autonomous server nodes and much more.GitHub starsLast commit
StagemonitorOpen-source performance monitoring and transaction tracing for JVM apps.GitHub starsLast commit
SysmonLightweight platform monitoring tool for Java VMs.GitHub starsLast commit
zipkinDistributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.--
+ ### Native _For working with platform-specific native libraries._ + + + + +### Native + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AparapiConverts bytecode to OpenCL which allows execution on GPUs.GitHub starsLast commit
JavaCPPProvides efficient and easy access to native C++.GitHub starsLast commit
JNAWork with native libraries without writing JNI. Also provides interfaces to common system libraries.GitHub starsLast commit
JNRWork 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).GitHub starsLast commit
native-lib-loaderNative library loader for extracting and loading native libraries from Java.GitHub starsLast commit
+ ### Natural Language Processing _Libraries that specialize in processing text._ + + + + +### Natural Language Processing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CogCompNLPProvides common annotators for plain text input. (Research and Academic Use License)GitHub starsLast commit
CoreNLPProvides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later)--
DKProCollection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.--
HypheratorJava hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in.GitHub starsLast commit
LingPipeToolkit for tasks ranging from POS tagging to sentiment analysis.--
+ ### Networking _Libraries for building network servers._ + + + + +### Networking + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Commons-networkingClient for server-sent events (SSE).GitHub starsLast commit
ComsatIntegrates standard Java web-related APIs with Quasar fibers and actors.GitHub starsLast commit
DubboHigh-performance RPC framework.GitHub starsLast commit
GrizzlyNIO framework. Used as a network layer in Glassfish.--
gRPCRPC framework based on protobuf and HTTP/2.GitHub starsLast commit
KryoNetProvides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo.GitHub starsLast commit
MINAAbstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO.--
NettyFramework for building high-performance network applications.--
DriftEasy-to-use, annotation-based library for creating Thrift clients and serializable types.GitHub starsLast commit
ServiceTalkFramework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.GitHub starsLast commit
sshjProgrammatically use SSH, SCP or SFTP.GitHub starsLast commit
TLS ChannelImplements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS.GitHub starsLast commit
UndertowWeb server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only)--
urnlibRepresent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only)GitHub starsLast commit
FluencyHigh throughput data ingestion logger to Fluentd and Fluent Bit.GitHub starsLast commit
+ ### ORM _APIs that handle the persistence of objects._ + + + + +### ORM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache CayenneProvides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation.--
DomaDatabase access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.GitHub starsLast commit
EbeanProvides simple and fast data access.--
EclipseLinkSupports a number of persistence standards: JPA, JAXB, JCA and SDO.--
HibernateRobust and widely used, with an active community. (LGPL-2.1-only)--
MyBatisCouples objects with stored procedures or SQL statements.GitHub starsLast commit
MyBatis-PlusA powerful enhanced toolkit of MyBatis for simplifying development.GitHub starsLast commit
ObjectiveSqlActiveRecord ORM for rapid development and convention over configuration.GitHub starsLast commit
PermazenLanguage-natural persistence layer.GitHub starsLast commit
SimpleFlatMapperSimple database and CSV mapper.GitHub starsLast commit
+ ### PaaS _Java platform as a service._ @@ -1597,58 +4144,1278 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ + + + + +### Pathfinding + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
PatheticA highly configurable 3D A* pathfinding library that uses specific optimizations for high performance.GitHub starsLast commit
+ ### PDF _Tools to help with PDF files._ + + + + +### PDF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache FOPCreates PDFs from XSL-FO.--
Apache PDFBoxToolbox for creating and manipulating PDFs.--
Dynamic JasperAbstraction layer to JasperReports. (LGPL-3.0-only)--
DynamicReportsSimplifies JasperReports. (LGPL-3.0-only)GitHub starsLast commit
Eclipse BIRTReport engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor.--
flyingsaucerXML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later)GitHub starsLast commit
JasperReportsComplex reporting engine. (LGPL-3.0-only)--
Open HTML to PDFProperly supports modern PDF standards based on flyingsaucer and Apache PDFBox.GitHub starsLast commit
OpenPDFOpen-source iText fork. (LGPL-3.0-only & MPL-2.0)GitHub starsLast commit
TabulaExtracts tables from PDF files.GitHub starsLast commit
+ ### Performance analysis _Tools for performance analysis, profiling and benchmarking._ + + + + +### Performance analysis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
honest-profilerLow-overhead, bias-free sampling profiler.GitHub starsLast commit
jHiccupLogs and records platform JVM stalls.GitHub starsLast commit
JITWatchAnalyze the JIT compiler optimisations made by the HotSpot JVM.GitHub starsLast commit
JMHHarness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0)--
LatencyUtilsUtilities for latency measurement and reporting.GitHub starsLast commit
+ ### Platform _Frameworks that are suites of multiple libraries encompassing several categories._ #### Apache Commons + + + + +### Platform > Apache Commons + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
BCELByte Code Engineering Library - analyze, create, and manipulate Java class files.--
BeanUtilsEasy-to-use wrappers around the Java reflection and introspection APIs.--
BeanUtils2Redesign of Commons BeanUtils.--
BSFBean Scripting Framework - interface to scripting languages, including JSR-223.--
ChainChain of Responsibility pattern implementation.--
ClassScanFind Class interfaces, methods, fields, and annotations without loading.--
CLICommand-line arguments parser.--
CLI2Redesign of Commons CLI.--
CodecGeneral encoding/decoding algorithms, e.g. phonetic, base64 or URL.--
CollectionsExtends or augments the Java Collections Framework.--
CompressDefines an API for working with tar, zip and bzip2 files.--
ConfigurationReading of configuration/preferences files in various formats.--
ConvertCommons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.--
CSVComponent for reading and writing comma separated value files.--
DaemonAlternative invocation mechanism for unix-daemon-like java code.--
DBCPDatabase connection pooling services.--
DbUtilsJDBC helper library.--
DigesterXML-to-Java-object mapping utility.--
EmailLibrary for sending e-mail from Java.--
ExecAPI for dealing with external process execution and environment management in Java.--
FileUploadFile upload capability for your servlets and web applications.--
FinderJava library inspired by the UNIX find command.--
FlatfileJava library for working with flat data structures.--
FunctorFunction that can be manipulated as an object, or an object representing a single, generic function.--
GraphGeneral purpose graph APIs and algorithms.--
I18nAdds the feature of localized message bundles that consist of one or many localized texts that belong together.--
IdId is a component used to generate identifiers.--
ImagingImage library.--
IOCollection of I/O utilities.--
JavaflowContinuation implementation to capture the state of the application.--
JCIJava Compiler Interface.--
JCSJava Caching System.--
JellyXML based scripting and processing engine.--
JexlExpression language which extends the Expression Language of the JSTL.--
JNetJNet allows to use dynamically register url stream handlers through the java.net API.--
JXPathUtilities for manipulating Java Beans using the XPath syntax.--
LangProvides extra functionality for classes in java.lang.--
LoggingWrapper around a variety of logging API implementations.--
MathLightweight, self-contained mathematics and statistics components.--
MonitoringMonitoring aims to provide a simple but extensible monitoring solution for Java applications.--
NablaNabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.--
NetCollection of network utilities and protocol implementations.--
OGNLObject-graph navigation language.--
OpenPGPInterface to signing and verifying data using OpenPGP.--
PerformanceSmall framework for microbenchmark clients, with implementations for Commons DBCP and Pool.--
PipelineProvides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.--
PoolGeneric object pooling component.--
ProxyLibrary for creating dynamic proxies.--
RDFCommon implementation of RDF 1.1 that could be implemented by systems on the JVM.--
RNGCommons Rng provides implementations of pseudo-random numbers generators.--
SCXMLImplementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.--
ValidatorFramework to define validators and validation rules in an xml file.--
VFSVirtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.--
WeaverProvides an easy way to enhance (weave) compiled bytecode.--
+ #### Other + + + + +### Platform > Other + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CUBA PlatformHigh-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin.--
Light-4JFast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/).GitHub starsLast commit
OrienteerOpen-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications.GitHub starsLast commit
SpringProvides many packages for dependency injection, aspect-oriented programming, security, etc.--
+ ### Processes _Libraries that help the management of operating system processes._ + + + + +### Processes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ch.vorburger.execConvenient API around Apache Commons Exec.GitHub starsLast commit
zt-execProvides a unified API to Apache Commons Exec and ProcessBuilder.GitHub starsLast commit
zt-process-killerStops processes started from Java or the system processes via PID.GitHub starsLast commit
+ ### Reactive libraries _Libraries for developing reactive applications._ + + + + +### Reactive libraries + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AkkaToolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications.--
Reactive StreamsProvides a standard for asynchronous stream processing with non-blocking backpressure.GitHub starsLast commit
ReactorA framework for building non-blocking applications on the JVM, providing support for reactive programming.GitHub starsLast commit
RxJavaAllows for composing asynchronous and event-based programs using observable sequences.GitHub starsLast commit
vert.xPolyglot event-driven application framework.--
+ ### REST Frameworks _Frameworks specifically for creating RESTful services._ + + + + +### REST Frameworks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
DropwizardOpinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.GitHub starsLast commit
ElideOpinionated framework for JSON- or GraphQL-APIs based on a JPA data model.--
JerseyJAX-RS reference implementation.--
MicroserverConvenient, extensible microservices plugin system for Spring & Spring Boot. With more than 30 plugins and growing, it supports both micro-monolith and pure microservices styles.GitHub starsLast commit
RapidoidSimple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection.--
rest.liFramework 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.GitHub starsLast commit
RESTEasyFully certified and portable implementation of the JAX-RS specification.--
RestExpressThin wrapper on the JBoss Netty HTTP stack that provides scaling and performance.GitHub starsLast commit
Restlet FrameworkPioneering framework with powerful routing and filtering capabilities, and a unified client and server API.GitHub starsLast commit
SparkSinatra inspired framework.--
CrnkImplementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more.--
springdoc-openapiAutomates the generation of API documentation using Spring Boot projects.GitHub starsLast commit
SwaggerStandard, language-agnostic interface to REST APIs.--
+ ### Science _Libraries for scientific computing, analysis and visualization._ + + + + +### Science + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
BioJavaFacilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics.--
Chart-FXScientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.GitHub starsLast commit
DataMeltEnvironment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later)--
ErdosModular, light and easy graph framework for theoretic algorithms.GitHub starsLast commit
GraphStreamLibrary for modeling and analyzing dynamic graphs.--
JFreeChart2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)--
JGraphTGraph library that provides mathematical graph-theory objects and algorithms.GitHub starsLast commit
JGraphXLibrary for visualizing (mainly Swing) and interacting with node-edge graphs.GitHub starsLast commit
LogicNGLibrary for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.GitHub starsLast commit
Mines Java ToolkitLibrary for geophysical scientific computation, visualization and digital signal analysis.GitHub starsLast commit
MorpheusProvides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.GitHub starsLast commit
OrekitA low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them.--
Orson-ChartsGenerates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only)GitHub starsLast commit
TablesawIncludes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.GitHub starsLast commit
XChartLight-weight library for plotting data. Many customizable chart types are available.GitHub starsLast commit
+ ### Search _Engines that index documents for search and analysis._ + + + + +### Search + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache LuceneHigh-performance, full-featured, cross-platform, text search engine library.--
Apache SolrEnterprise search engine optimized for high-volume traffic.--
ElasticsearchDistributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents.--
Indexer4jSimple and light full text indexing and searching library.GitHub starsLast commit
+ ### Security _Libraries that handle security, authentication, authorization or session management._ + + + + +### Security + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache ShiroPerforms authentication, authorization, cryptography and session management.--
AyzaHigh-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.GitHub starsLast commit
Bouncy CastleAll-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations.--
DependencyCheckDetects publicly disclosed vulnerabilities contained within a project's dependencies.GitHub starsLast commit
CryptomatorMultiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only)--
HdivRuntime 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.GitHub starsLast commit
jjwtJSON web token for Java and Android.GitHub starsLast commit
jwt-javaEasily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.GitHub starsLast commit
Jwks RSAJSON Web Key Set parser.GitHub starsLast commit
KaliumBinding for the Networking and Cryptography (NaCl) library.GitHub starsLast commit
KeycloakIntegrated SSO and IDM for browser apps and RESTful web services.--
KeywhizSystem for distributing and managing secrets.GitHub starsLast commit
NbvcxzAdvanced password strength estimation.GitHub starsLast commit
OACCProvides permission-based authorization services.--
OpenAMAccess management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.GitHub starsLast commit
OTP-JavaOne-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).GitHub starsLast commit
pac4jSecurity engine.GitHub starsLast commit
PassayEnforce password policy by validating candidate passwords against a configurable rule set.--
Password4jUser-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.GitHub starsLast commit
SecurityBuilderFluent Builder API for JCA and JSSE classes and especially X.509 certificates.GitHub starsLast commit
ThemisMulti-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.GitHub starsLast commit
TinkProvides a simple and misuse-proof API for common cryptographic tasks.GitHub starsLast commit
TopazFine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.--
+ ### Serialization _Libraries that handle serialization with high efficiency._ + + + + +### Serialization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
FlatBuffersMemory-efficient serialization library that can access serialized data without unpacking and parsing it.GitHub starsLast commit
FSTJDK-compatible, high-performance object graph serialization.GitHub starsLast commit
FuryBlazing fast object graph serialization framework powered by JIT and zero-copy.GitHub starsLast commit
KryoFast and efficient object graph serialization framework.GitHub starsLast commit
MessagePackEfficient binary serialization format.GitHub starsLast commit
PHP SerializerSerializing objects in the PHP serialization format.GitHub starsLast commit
+ ### Server _Servers specifically used to deploy applications._ + + + + +### Server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache TomcatRobust, all-round server for Servlet and JSP.--
Apache TomEETomcat plus Java EE.--
JettyProvides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.--
nanohttpdTiny, easily embeddable HTTP server.GitHub starsLast commit
WildFlyFormerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)--
+ ### Template Engine _Tools that substitute expressions in a template._ + + + + +### Template Engine + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
FreemarkerLibrary to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.--
Handlebars.javaLogicless and semantic Mustache templates.--
Jade4JImplementation of Pug (formerly known as Jade).GitHub starsLast commit
JamalExtendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.GitHub starsLast commit
jstachioTypesafe Mustache templating engine.GitHub starsLast commit
jteCompiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.GitHub starsLast commit
JtwigModular, configurable and fully tested template engine.GitHub starsLast commit
PebbleInspired 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.--
RockerOptimized, memory efficient and speedy template engine producing statically typed, plain objects.GitHub starsLast commit
StringTemplateTemplate engine for generating source code, web pages, emails, or any other formatted text output.GitHub starsLast commit
ThymeleafAims to be a substitute for JSP and works for XML files.--
+ ### Testing _Tools that test from model to the view._ @@ -1657,50 +5424,920 @@ _Tools that test from model to the view._ _Tools that simplify testing asynchronous services._ + + + + +### Testing > Asynchronous + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AwaitilityDSL for synchronizing asynchronous operations.GitHub starsLast commit
ConcurrentUnitToolkit for testing multi-threaded and asynchronous applications.GitHub starsLast commit
GreenMailIn-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)--
Hoverfly JavaNative bindings for Hoverfly, a proxy which allows you to simulate HTTP services.GitHub starsLast commit
KarateDSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.GitHub starsLast commit
REST AssuredDSL for easy testing of REST/HTTP services.GitHub starsLast commit
WebTauTest across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.GitHub starsLast commit
+ #### BDD _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ + + + + +### Testing > BDD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CucumberProvides a way to describe features in a plain language which customers can understand.GitHub starsLast commit
Cukes-RESTCollection of Gherkin steps for REST-service testing using Cucumber.GitHub starsLast commit
J8SpecFollows a Jasmine-like syntax.GitHub starsLast commit
JBehaveExtensively configurable framework that describes stories.--
JGivenProvides a fluent API which allows for simpler composition.--
Lamdba BehaveAims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.GitHub starsLast commit
Serenity BDDAutomated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.GitHub starsLast commit
+ #### Fixtures _Everything related to the creation and handling of random data._ + + + + +### Testing > Fixtures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AutoParamsSupports generating test data or combining scenarios for parameterized tests.GitHub starsLast commit
BeanmotherSets up beans from YAML fixtures.GitHub starsLast commit
DatafakerModern fake data generator forked from Java Faker.GitHub starsLast commit
Fixture FactoryGenerates fake objects from a template.GitHub starsLast commit
jFairyFake data generator.GitHub starsLast commit
InstancioAutomates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.GitHub starsLast commit
Randomized TestingJUnit test runner and plugins for running JUnit tests with pseudo-randomness.GitHub starsLast commit
Java FakerPort of Ruby's fake data generator.GitHub starsLast commit
MockneatAnother fake data generator.GitHub starsLast commit
JMockJMock is a high-performance data generation and simulation component library implemented in Java.GitHub starsLast commit
+ #### Frameworks _Provide environments to run tests for a specific use case._ + + + + +### Testing > Frameworks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache JMeterFunctional testing and performance measurements.--
JMeter DSL.javaLoad tests with JMeter as simple as a JUnit test.--
ArquillianIntegration and functional testing platform for Java EE containers.--
cdi-testJUnit extension for easy and efficient testing of CDI components.GitHub starsLast commit
CitrusIntegration testing framework that focuses on both client- and server-side messaging.--
GatlingLoad testing tool designed for ease of use, maintainability and high performance.--
JUnitCommon testing framework.--
jqwikEngine for property-based testing built on JUnit 5.--
Pact JVMConsumer-driven contract testing.GitHub starsLast commit
PITFast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites.--
weld-testingSet of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.GitHub starsLast commit
+ #### Matchers _Libraries that provide custom matchers._ + + + + +### Testing > Matchers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
AssertJFluent assertions that improve readability.--
HamcrestMatchers that can be combined to create flexible expressions of intent.--
JSONAssertSimplifies testing JSON strings.--
JsonUnitLibrary that simplifies JSON comparison in tests.GitHub starsLast commit
TruthGoogle's fluent assertion and proposition framework.--
XMLUnitSimplifies testing for XML output.GitHub starsLast commit
+ #### Miscellaneous _Other stuff related to testing._ + + + + +### Testing > Miscellaneous + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ConsoleCaptorCaptures console output for unit testing purposes.GitHub starsLast commit
junit-dataproviderTestNG-like data provider/runner for JUnit.GitHub starsLast commit
junit-pioneerJUnit 5 extension pack, pushing the frontiers on Jupiter.--
LogCaptorCaptures log entries for unit testing purposes.GitHub starsLast commit
log-captureCaptures log entries and provides assertions for unit and integration testing.GitHub starsLast commit
Mutability DetectorReports whether instances of a given class are immutable.GitHub starsLast commit
pojo-testerAutomatically performs tests on basic POJO methods. (LGPL-3.0-only)--
raml-testerTests if a request/response matches a given RAML definition.GitHub starsLast commit
SelfieSnapshot testing (inline and on disk).GitHub starsLast commit
StebzMulti-approach framework for test steps managing.GitHub starsLast commit
TestcontainersProvides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.GitHub starsLast commit
+ #### Mocking _Tools which mock collaborators to help testing single, isolated units._ + + + + +### Testing > Mocking + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
JMockitIntegration testing, API mocking and faking, and code coverage.--
MockitoMocking framework that lets you write tests with a clean and simple API.GitHub starsLast commit
MockServerAllows mocking of systems integrated with HTTPS.--
MocoConcise web services for stubs and mocks.GitHub starsLast commit
PowerMockMocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.GitHub starsLast commit
WireMockStubs and mocks web services.--
EasyMockEasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.GitHub starsLast commit
+ ### Utility _Libraries which provide general utility functions._ + + + + +### Utility + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ArthasAllows to troubleshoot production issues for applications without modifying code or restarting servers.GitHub starsLast commit
bucket4jRate limiting library based on token-bucket algorithm.GitHub starsLast commit
cactoosCollection of object-oriented primitives.GitHub starsLast commit
ChocoteaGenerates postman collection, environment and integration tests from java code.GitHub starsLast commit
CRaSHProvides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)--
DexJava/JavaFX tool capable of powerful ETL and data visualization.GitHub starsLast commit
dregexRegular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.GitHub starsLast commit
EmbulkBulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.GitHub starsLast commit
fswatchMicro library to watch for directory file system changes, simplifying java.nio.file.WatchService.GitHub starsLast commit
GephiCross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)GitHub starsLast commit
GuavaCollections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.GitHub starsLast commit
JADEFramework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)--
Javadoc PublisherGenerate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.GitHub starsLast commit
Java Diff UtilsUtilities for text or data comparison and patching.--
JavaVerbalExpressionsLibrary that helps with constructing difficult regular expressions.GitHub starsLast commit
JGitLightweight, pure Java library implementing the Git version control system.--
JKScopeJava scope functions inspired by Kotlin.GitHub starsLast commit
minio-javaProvides simple APIs to access any Amazon S3-compatible object storage server.GitHub starsLast commit
ProtégéProvides an ontology editor and a framework to build knowledge-based systems.--
Semver4jLightweight library that helps you handling semantic versioning with different modes.GitHub starsLast commit
Underscore-javaPort of Underscore.js functions.GitHub starsLast commit
+ ### Version Managers _Utilities that help create the development shell environment and switch between different Java versions._ + + + + +### Version Managers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
jabbaJava Version Manager inspired by nvm. Supports macOS, Linux and Windows.GitHub starsLast commit
jenvJava Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.GitHub starsLast commit
SDKManJava Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.GitHub starsLast commit
+ ### Web Crawling _Libraries that analyze the content of websites._ + + + + +### Web Crawling + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
Apache NutchHighly extensible, highly scalable web crawler for production environments.--
Crawler4jSimple and lightweight web crawler.GitHub starsLast commit
jsoupScrapes, parses, manipulates and cleans HTML.--
StormCrawlerSDK for building low-latency and scalable web crawlers.--
webmagicScalable crawler with downloading, url management, content extraction and persistent.GitHub starsLast commit
+ ### Web Frameworks _Frameworks that handle the communication between the layers of a web application._ + + + + +### Web Frameworks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
ActiveJLightweight asynchronous framework built from the ground up for developing high-performance web applications.--
Apache TapestryComponent-oriented framework for creating dynamic, robust, highly scalable web applications.--
Apache WicketComponent-based web application framework similar to Tapestry, with a stateful GUI.--
BladeLightweight, modular framework that aims to be elegant and simple.GitHub starsLast commit
BootiqueMinimally opinionated framework for runnable apps.--
FireflyAsynchronous framework for rapid development of high-performance web application.--
JavalinMicroframework for web applications.--
JoobyScalable, fast and modular micro-framework that offers multiple programming models.--
NinjaFull-stack web framework.--
PippoSmall, highly modularized, Sinatra-like framework.--
PlayBuilt on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.--
PrimeFacesJSF framework with both free and commercial/support versions and frontend components.--
RatpackSet of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications.--
TakesOpinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.GitHub starsLast commit
VaadinFull-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.--
WebForms CoreA technology for managing HTML tags from the server.--
+ ### Workflow Orchestration Engines _Platforms and frameworks for orchestrating workflows and business processes._ + + + + +### Workflow Orchestration Engines + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescriptionStarsUpdated
CadenceStateful code platform from Uber.--
flowableCompact and efficient workflow and business process management platform.GitHub starsLast commit
TemporalMicroservice orchestration platform, forked from Cadence but gRPC based.--
+ ## Resources diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 008f7e69..ef637ff0 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -147,14 +147,19 @@ String createHtmlTable(List entries, Map bad return ""; } var sectionName = entries.get(0).section(); - var table = new StringBuilder(""" -%s%s --> - -### %s - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -""".formatted(Constants.SECTION_COMMENT_PREFIX, sectionName, sectionName)); + var table = new StringBuilder(); + table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); + table.append("### ").append(sectionName).append("\n\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); for (var entry : entries) { var desc = entry.description().isEmpty() ? Constants.NO_DESCRIPTION : entry.description(); @@ -162,12 +167,19 @@ String createHtmlTable(List entries, Map bad var stars = badge != null ? badge.starsBadge() : Constants.NO_BADGE; var commit = badge != null ? badge.lastCommitBadge() : Constants.NO_BADGE; - table.append("| [%s](%s) | %s | %s | %s |\n".formatted( - entry.name(), entry.url(), desc, stars, commit - )); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); } - table.append("\n"); + table.append(""" + +
NameDescriptionStarsUpdated
").append(entry.name()).append("").append(desc).append("").append(stars).append("").append(commit).append("
+ +"""); return table.toString(); } diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index 3051e0cd..bb7d3ea9 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -182,24 +182,20 @@ List extractProjectEntriesFromTables(String content) { continue; } - // Track table boundaries - look for Markdown table headers - if (line.startsWith("|") && line.contains("| Name |")) { + // Track table boundaries - look for HTML table tags + if (line.contains("")) { inTable = true; tableSection = currentSection; continue; } - if (inTable && line.startsWith("|") && line.contains("| :--- |")) { - // Skip the separator row - continue; - } - if (inTable && !line.startsWith("|") && !line.trim().isEmpty()) { + if (line.contains("
")) { inTable = false; continue; } - // Extract entries from Markdown table rows - if (inTable && line.startsWith("|") && !line.contains("| Name |") && !line.contains("| :--- |")) { - var entry = extractEntryFromMarkdownTableRow(line, tableSection); + // Extract entries from HTML table rows + if (inTable && line.contains("")) { + var entry = extractEntryFromTableRow(lines, i, tableSection); if (entry != null) { entries.add(entry); } From 02a2c75f3c8f56cdd9a2950a427d5a7074778003 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:50:14 +0200 Subject: [PATCH 393/533] Improve badge size --- README.md | 468 ++++++++++---------- scripts/step_4_generate_tables.java | 6 +- scripts/step_6_validate_transformation.java | 7 +- 3 files changed, 241 insertions(+), 240 deletions(-) diff --git a/README.md b/README.md index 365630c8..c4a01e28 100644 --- a/README.md +++ b/README.md @@ -96,11 +96,11 @@ _Frameworks and libraries that help implementing and verifying design and archit ### Architecture - +
- - + + @@ -131,11 +131,11 @@ _Frameworks that help you to leverage LLMs and AI._ ### Artificial Intelligence -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -178,11 +178,11 @@ _Frameworks that ease bean mapping._ ### Bean Mapping -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -243,11 +243,11 @@ _Tools that handle the build cycle and dependencies of an application._ ### Build -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -290,11 +290,11 @@ _Libraries to manipulate bytecode programmatically._ ### Bytecode Manipulation -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -373,11 +373,11 @@ _Libraries that provide caching facilities._ ### Caching -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -424,11 +424,11 @@ _Libraries to assist with parsing command line arguments._ ### CLI > Argument Parsing -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -477,11 +477,11 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ ### CLI > Text-Based User Interfaces -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -524,11 +524,11 @@ _Libraries to integrate or use cloud-specific features._ ### Cloud -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -559,11 +559,11 @@ _Tools that provide metrics and quality measurements._ ### Code Analysis -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -654,11 +654,11 @@ _Frameworks and tools that enable code coverage metrics collection for test suit ### Code Coverage -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -695,11 +695,11 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a ### Code Generators -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -802,11 +802,11 @@ _Frameworks that help to create parsers, interpreters or compilers._ ### Compiler-compiler -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -843,11 +843,11 @@ _Libraries which seek to gain high level information from images and videos._ ### Computer Vision -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -884,11 +884,11 @@ _Libraries that provide external configuration._ ### Configuration -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -979,11 +979,11 @@ _Libraries that help with implementing optimization and satisfiability problems. ### Constraint Satisfaction Problem Solver -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1026,11 +1026,11 @@ _Frameworks and libraries that simplify reading/writing CSV data._ ### CSV -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1079,11 +1079,11 @@ _Efficient and specific data structures._ ### Data Structures -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1174,11 +1174,11 @@ _Everything that simplifies interactions with the database._ ### Database -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1425,11 +1425,11 @@ _Libraries related to handling date and time._ ### Date and Time -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1472,11 +1472,11 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. ### Dependency Injection -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1543,11 +1543,11 @@ _Augmentation of the development process at a fundamental level._ ### Development -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1626,11 +1626,11 @@ _Libraries and frameworks for writing distributed and fault-tolerant application ### Distributed Applications -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1733,11 +1733,11 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u ### Distributed Transactions -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1780,11 +1780,11 @@ _Tools that handle the distribution of applications in native formats._ ### Distribution -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1863,11 +1863,11 @@ _Libraries that assist with processing office document formats._ ### Document Processing -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1916,11 +1916,11 @@ _Libraries related to the financial domain._ ### Financial -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -1975,11 +1975,11 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc ### Formal Verification -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2040,11 +2040,11 @@ _Libraries that facilitate functional programming._ ### Functional Programming -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2117,11 +2117,11 @@ _Frameworks that support the development of games._ ### Game Development -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2194,11 +2194,11 @@ _Libraries for working with geospatial data and algorithms._ ### Geospatial -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2265,11 +2265,11 @@ _Libraries to create modern graphical user interfaces._ ### GUI -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2312,11 +2312,11 @@ _Everything about high-performance computation, from collections to specific lib ### High Performance -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2377,11 +2377,11 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ ### HTTP Clients -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2460,11 +2460,11 @@ _Libraries that handle serialization to hypermedia types._ ### Hypermedia Types -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2507,11 +2507,11 @@ _Integrated development environments that try to simplify several aspects of dev ### IDE -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2560,11 +2560,11 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica ### Imagery -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2637,11 +2637,11 @@ _Libraries that help make the Java introspection and reflection API easier and f ### Introspection -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2696,11 +2696,11 @@ _Libraries for scheduling background jobs._ ### Job Scheduling -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2761,11 +2761,11 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ ### JSON -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2886,11 +2886,11 @@ _Current implementations of the JVM/JDK._ ### JVM and JDK -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -2987,11 +2987,11 @@ _Libraries that log the behavior of an application._ ### Logging -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3082,11 +3082,11 @@ _Tools that provide specific statistical algorithms for learning from data._ ### Machine Learning -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3195,11 +3195,11 @@ _Tools that help send messages between clients to ensure protocol independency._ ### Messaging -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3314,11 +3314,11 @@ _Tools for creating and managing microservices._ ### Microservice -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3415,11 +3415,11 @@ _Everything else._ ### Miscellaneous -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3654,11 +3654,11 @@ _Tools for creating or managing mobile applications._ ### Mobile Development -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3695,11 +3695,11 @@ _Tools that observe/monitor applications in production by providing telemetry._ ### Monitoring -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3844,11 +3844,11 @@ _For working with platform-specific native libraries._ ### Native -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3897,11 +3897,11 @@ _Libraries that specialize in processing text._ ### Natural Language Processing -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -3950,11 +3950,11 @@ _Libraries for building network servers._ ### Networking -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4063,11 +4063,11 @@ _APIs that handle the persistence of objects._ ### ORM -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4150,11 +4150,11 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. ### Pathfinding -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4179,11 +4179,11 @@ _Tools to help with PDF files._ ### PDF -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4262,11 +4262,11 @@ _Tools for performance analysis, profiling and benchmarking._ ### Performance analysis -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4317,11 +4317,11 @@ _Frameworks that are suites of multiple libraries encompassing several categorie ### Platform > Apache Commons -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4662,11 +4662,11 @@ _Frameworks that are suites of multiple libraries encompassing several categorie ### Platform > Other -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4709,11 +4709,11 @@ _Libraries that help the management of operating system processes._ ### Processes -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4750,11 +4750,11 @@ _Libraries for developing reactive applications._ ### Reactive libraries -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4803,11 +4803,11 @@ _Frameworks specifically for creating RESTful services._ ### REST Frameworks -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -4904,11 +4904,11 @@ _Libraries for scientific computing, analysis and visualization._ ### Science -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5017,11 +5017,11 @@ _Engines that index documents for search and analysis._ ### Search -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5064,11 +5064,11 @@ _Libraries that handle security, authentication, authorization or session manage ### Security -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5225,11 +5225,11 @@ _Libraries that handle serialization with high efficiency._ ### Serialization -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5284,11 +5284,11 @@ _Servers specifically used to deploy applications._ ### Server -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5337,11 +5337,11 @@ _Tools that substitute expressions in a template._ ### Template Engine -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5430,11 +5430,11 @@ _Tools that simplify testing asynchronous services._ ### Testing > Asynchronous -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5495,11 +5495,11 @@ _Testing for the software development process that emerged from TDD and was heav ### Testing > BDD -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5560,11 +5560,11 @@ _Everything related to the creation and handling of random data._ ### Testing > Fixtures -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5643,11 +5643,11 @@ _Provide environments to run tests for a specific use case._ ### Testing > Frameworks -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5732,11 +5732,11 @@ _Libraries that provide custom matchers._ ### Testing > Matchers -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5791,11 +5791,11 @@ _Other stuff related to testing._ ### Testing > Miscellaneous -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5880,11 +5880,11 @@ _Tools which mock collaborators to help testing single, isolated units._ ### Testing > Mocking -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -5945,11 +5945,11 @@ _Libraries which provide general utility functions._ ### Utility -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -6094,11 +6094,11 @@ _Utilities that help create the development shell environment and switch between ### Version Managers -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -6135,11 +6135,11 @@ _Libraries that analyze the content of websites._ ### Web Crawling -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -6188,11 +6188,11 @@ _Frameworks that handle the communication between the layers of a web applicatio ### Web Frameworks -
NameDescriptionNameDescription Stars Updated
+
- - + + @@ -6307,11 +6307,11 @@ _Platforms and frameworks for orchestrating workflows and business processes._ ### Workflow Orchestration Engines -
NameDescriptionNameDescription Stars Updated
+
- - + + diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index ef637ff0..2b0250d3 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -150,11 +150,11 @@ String createHtmlTable(List entries, Map bad var table = new StringBuilder(); table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); table.append("### ").append(sectionName).append("\n\n"); - table.append("
NameDescriptionNameDescription Stars Updated
\n"); + table.append("
\n"); table.append("\n"); table.append("\n"); - table.append("\n"); - table.append("\n"); + table.append("\n"); + table.append("\n"); table.append("\n"); table.append("\n"); table.append("\n"); diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index bb7d3ea9..de92e7b6 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -183,7 +183,7 @@ List extractProjectEntriesFromTables(String content) { } // Track table boundaries - look for HTML table tags - if (line.contains("
NameDescriptionNameDescriptionStarsUpdated
")) { + if (line.contains(" extractProjectEntriesFromTables(String content) { // Extract entries from HTML table rows if (inTable && line.contains("")) { + // Look ahead to find the complete table row var entry = extractEntryFromTableRow(lines, i, tableSection); if (entry != null) { entries.add(entry); @@ -225,8 +226,8 @@ ProjectEntry extractEntryFromTableRow(String[] lines, int startIndex, String sec } } - // Extract description from the next cell - if (line.contains("word-wrap:break-word;")) { + // Extract description from the second ") && !line.contains("([^<]+)").matcher(line); if (descMatch.find()) { description = descMatch.group(1).trim(); From 70ce3be8f47b9343195504e784c0214e6f509293 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:54:32 +0200 Subject: [PATCH 394/533] Improve badge size --- README.md | 6708 +++++++++++++-------------- scripts/step_4_generate_tables.java | 18 +- 2 files changed, 3363 insertions(+), 3363 deletions(-) diff --git a/README.md b/README.md index c4a01e28..5e2cc8f4 100644 --- a/README.md +++ b/README.md @@ -96,27 +96,27 @@ _Frameworks and libraries that help implementing and verifying design and archit ### Architecture -
cell + if (line.contains("
+
- - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ArchUnitTest library for specifying and asserting architecture rules.GitHub starsLast commitArchUnitTest library for specifying and asserting architecture rules.GitHub starsLast commit
jMoleculesAnnotations and interfaces to express design and architecture concepts in code.GitHub starsLast commitjMoleculesAnnotations and interfaces to express design and architecture concepts in code.GitHub starsLast commit
@@ -131,39 +131,39 @@ _Frameworks that help you to leverage LLMs and AI._ ### Artificial Intelligence - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
LangChain4jSimplifies integration of LLMs with unified APIs and a comprehensive toolbox.GitHub starsLast commitLangChain4jSimplifies integration of LLMs with unified APIs and a comprehensive toolbox.GitHub starsLast commit
MCP Java SDKEnables applications to interact with AI models and tools through a standardized interface (i.e. Model Context Protocol), supporting both synchronous and asynchronous communication patterns.GitHub starsLast commitMCP Java SDKEnables applications to interact with AI models and tools through a standardized interface (i.e. Model Context Protocol), supporting both synchronous and asynchronous communication patterns.GitHub starsLast commit
simple-openaiLibrary to use the OpenAI API (and compatible ones) in the simplest possible way.GitHub starsLast commitsimple-openaiLibrary to use the OpenAI API (and compatible ones) in the simplest possible way.GitHub starsLast commit
Spring AIApplication framework for AI engineering for Spring.--Spring AIApplication framework for AI engineering for Spring.--
@@ -178,57 +178,57 @@ _Frameworks that ease bean mapping._ ### Bean Mapping - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
dOOvProvides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy.GitHub starsLast commitdOOvProvides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy.GitHub starsLast commit
JMapperUses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.GitHub starsLast commitJMapperUses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.GitHub starsLast commit
MapStructCode generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.GitHub starsLast commitMapStructCode generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.GitHub starsLast commit
ModelMapperIntelligent object mapping library that automatically maps objects to each other.GitHub starsLast commitModelMapperIntelligent object mapping library that automatically maps objects to each other.GitHub starsLast commit
OrikaJavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.GitHub starsLast commitOrikaJavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.GitHub starsLast commit
reMapLambda and method handle-based mapping which requires code and not annotations if objects have different names.GitHub starsLast commitreMapLambda and method handle-based mapping which requires code and not annotations if objects have different names.GitHub starsLast commit
SelmaAnnotation processor-based bean mapper.GitHub starsLast commitSelmaAnnotation processor-based bean mapper.GitHub starsLast commit
@@ -243,39 +243,39 @@ _Tools that handle the build cycle and dependencies of an application._ ### Build - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache MavenDeclarative 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 MavenDeclarative 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.--
BazelTool from Google that builds code quickly and reliably.--BazelTool from Google that builds code quickly and reliably.--
Buck2Encourages the creation of small, reusable modules consisting of code and resources.GitHub starsLast commitBuck2Encourages the creation of small, reusable modules consisting of code and resources.GitHub starsLast commit
GradleIncremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.--GradleIncremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.--
@@ -290,75 +290,75 @@ _Libraries to manipulate bytecode programmatically._ ### Bytecode Manipulation - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ASMAll-purpose, low-level bytecode manipulation and analysis.--ASMAll-purpose, low-level bytecode manipulation and analysis.--
Byte BuddyFurther simplifies bytecode generation with a fluent API.--Byte BuddyFurther simplifies bytecode generation with a fluent API.--
bytecode-viewerJava 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)GitHub starsLast commitbytecode-viewerJava 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)GitHub starsLast commit
BytemanManipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)--BytemanManipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)--
cglibBytecode generation library.GitHub starsLast commitcglibBytecode generation library.GitHub starsLast commit
JavassistTries to simplify bytecode editing.GitHub starsLast commitJavassistTries to simplify bytecode editing.GitHub starsLast commit
MakerProvides low level bytecode generation.GitHub starsLast commitMakerProvides low level bytecode generation.GitHub starsLast commit
MixinManipulate bytecode at runtime using real Java code.GitHub starsLast commitMixinManipulate bytecode at runtime using real Java code.GitHub starsLast commit
PersesDynamically injects failure/latency at the bytecode level according to principles of chaos engineering.GitHub starsLast commitPersesDynamically injects failure/latency at the bytecode level according to principles of chaos engineering.GitHub starsLast commit
RecafJVM reverse engineering toolkit, essentially an IDE for Java bytecode.--RecafJVM reverse engineering toolkit, essentially an IDE for Java bytecode.--
@@ -373,39 +373,39 @@ _Libraries that provide caching facilities._ ### Caching - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
cache2kIn-memory high performance caching library.--cache2kIn-memory high performance caching library.--
CaffeineHigh-performance, near-optimal caching library.GitHub starsLast commitCaffeineHigh-performance, near-optimal caching library.GitHub starsLast commit
EhcacheDistributed general-purpose cache.--EhcacheDistributed general-purpose cache.--
InfinispanHighly concurrent key/value datastore used for caching.--InfinispanHighly concurrent key/value datastore used for caching.--
@@ -424,45 +424,45 @@ _Libraries to assist with parsing command line arguments._ ### CLI > Argument Parsing - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AirlineAnnotation-based framework for parsing Git-like command-line arguments.--AirlineAnnotation-based framework for parsing Git-like command-line arguments.--
JCommanderCommand-line argument-parsing framework with custom types and validation via implementing interfaces.--JCommanderCommand-line argument-parsing framework with custom types and validation via implementing interfaces.--
jbockReflectionless command line parser.GitHub starsLast commitjbockReflectionless command line parser.GitHub starsLast commit
JLineIncludes features from modern shells like completion or history.GitHub starsLast commitJLineIncludes features from modern shells like completion or history.GitHub starsLast commit
picocliANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.--picocliANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.--
@@ -477,39 +477,39 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ ### CLI > Text-Based User Interfaces - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
JansiANSI escape codes to format console output.GitHub starsLast commitJansiANSI escape codes to format console output.GitHub starsLast commit
JexerAdvanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision).--JexerAdvanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision).--
Text-IOAids the creation of full console-based applications.GitHub starsLast commitText-IOAids the creation of full console-based applications.GitHub starsLast commit
LanternaEasy console text-GUI library, similar to curses. (LGPL-3.0-only)GitHub starsLast commitLanternaEasy console text-GUI library, similar to curses. (LGPL-3.0-only)GitHub starsLast commit
@@ -524,27 +524,27 @@ _Libraries to integrate or use cloud-specific features._ ### Cloud - +
- - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AWS SDK for JavaProvides Java APIs for interacting with Amazon Web Services.GitHub starsLast commitAWS SDK for JavaProvides Java APIs for interacting with Amazon Web Services.GitHub starsLast commit
Google Cloud Client LibrariesClient libraries for accessing Google Cloud services from Java applications.GitHub starsLast commitGoogle Cloud Client LibrariesClient libraries for accessing Google Cloud services from Java applications.GitHub starsLast commit
@@ -559,87 +559,87 @@ _Tools that provide metrics and quality measurements._ ### Code Analysis - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CheckstyleStatic analysis of coding conventions and standards. (LGPL-2.1-or-later)GitHub starsLast commitCheckstyleStatic analysis of coding conventions and standards. (LGPL-2.1-or-later)GitHub starsLast commit
Error ProneCatches common programming mistakes as compile-time errors.GitHub starsLast commitError ProneCatches common programming mistakes as compile-time errors.GitHub starsLast commit
Error Prone SupportError Prone extensions: extra bug checkers and a large battery of Refaster templates.GitHub starsLast commitError Prone SupportError Prone extensions: extra bug checkers and a large battery of Refaster templates.GitHub starsLast commit
InferModern static analysis tool for verifying the correctness of code.GitHub starsLast commitInferModern static analysis tool for verifying the correctness of code.GitHub starsLast commit
jQAssistantStatic code analysis with Neo4J-based query language. (GPL-3.0-only)--jQAssistantStatic code analysis with Neo4J-based query language. (GPL-3.0-only)--
NullAwayEliminates NullPointerExceptions with low build-time overhead.GitHub starsLast commitNullAwayEliminates NullPointerExceptions with low build-time overhead.GitHub starsLast commit
PMDSource code analysis for finding bad coding practices.GitHub starsLast commitPMDSource code analysis for finding bad coding practices.GitHub starsLast commit
p3cProvides Alibaba's coding guidelines for PMD, IDEA and Eclipse.GitHub starsLast commitp3cProvides Alibaba's coding guidelines for PMD, IDEA and Eclipse.GitHub starsLast commit
RefactorFirstIdentifies and prioritizes God Classes and Highly Coupled classes.GitHub starsLast commitRefactorFirstIdentifies and prioritizes God Classes and Highly Coupled classes.GitHub starsLast commit
SonarJavaStatic analyzer for SonarQube & SonarLint. (LGPL-3.0-only)GitHub starsLast commitSonarJavaStatic analyzer for SonarQube & SonarLint. (LGPL-3.0-only)GitHub starsLast commit
SpoonLibrary for analyzing and transforming Java source code.GitHub starsLast commitSpoonLibrary for analyzing and transforming Java source code.GitHub starsLast commit
SpotbugsStatic analysis of bytecode to find potential bugs. (LGPL-2.1-only)GitHub starsLast commitSpotbugsStatic analysis of bytecode to find potential bugs. (LGPL-2.1-only)GitHub starsLast commit
@@ -654,33 +654,33 @@ _Frameworks and tools that enable code coverage metrics collection for test suit ### Code Coverage - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CloverRelies on source-code instrumentation instead of bytecode instrumentation.--CloverRelies on source-code instrumentation instead of bytecode instrumentation.--
CoberturaRelies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)--CoberturaRelies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)--
JaCoCoFramework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.--JaCoCoFramework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.--
@@ -695,99 +695,99 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a ### Code Generators - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ADT4JJSR-269 code generator for algebraic data types.GitHub starsLast commitADT4JJSR-269 code generator for algebraic data types.GitHub starsLast commit
AutoGenerates factory, service, and value classes.GitHub starsLast commitAutoGenerates factory, service, and value classes.GitHub starsLast commit
Avaje Http ServerGenerates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.--Avaje Http ServerGenerates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.--
EasyEntityToDTOAnnotation processor for automatic DTO and Mapper generation with zero boilerplate.GitHub starsLast commitEasyEntityToDTOAnnotation processor for automatic DTO and Mapper generation with zero boilerplate.GitHub starsLast commit
FreeBuilderAutomatically generates the Builder pattern.GitHub starsLast commitFreeBuilderAutomatically generates the Builder pattern.GitHub starsLast commit
GeciDiscovers files that need generated code, updates automatically and writes to the source with a convenient API.GitHub starsLast commitGeciDiscovers files that need generated code, updates automatically and writes to the source with a convenient API.GitHub starsLast commit
ImmutablesAnnotation processors to generate simple, safe and consistent value objects.--ImmutablesAnnotation processors to generate simple, safe and consistent value objects.--
JavaPoetAPI to generate source files.GitHub starsLast commitJavaPoetAPI to generate source files.GitHub starsLast commit
JHipsterYeoman source code generator for Spring Boot and AngularJS.GitHub starsLast commitJHipsterYeoman source code generator for Spring Boot and AngularJS.GitHub starsLast commit
Joda-BeansSmall framework that adds queryable properties to Java, enhancing JavaBeans.--Joda-BeansSmall framework that adds queryable properties to Java, enhancing JavaBeans.--
JSpecify Package-Info GeneratorMaven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate.GitHub starsLast commitJSpecify Package-Info GeneratorMaven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate.GitHub starsLast commit
LombokCode generator that aims to reduce verbosity.--LombokCode generator that aims to reduce verbosity.--
Record-BuilderCompanion builder class, withers and templates for Java records.GitHub starsLast commitRecord-BuilderCompanion builder class, withers and templates for Java records.GitHub starsLast commit
TelosysSimple and light code generator available as an Eclipse Plugin and also as a CLI.--TelosysSimple and light code generator available as an Eclipse Plugin and also as a CLI.--
@@ -802,33 +802,33 @@ _Frameworks that help to create parsers, interpreters or compilers._ ### Compiler-compiler - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ANTLRComplex full-featured framework for top-down parsing.--ANTLRComplex full-featured framework for top-down parsing.--
JavaCCParser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.--JavaCCParser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.--
JFlexLexical analyzer generator.--JFlexLexical analyzer generator.--
@@ -843,33 +843,33 @@ _Libraries which seek to gain high level information from images and videos._ ### Computer Vision - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
BoofCVLibrary for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more.--BoofCVLibrary for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more.--
ImageJMedical image processing application with an API.--ImageJMedical image processing application with an API.--
JavaCVJava interface to OpenCV, FFmpeg, and much more.GitHub starsLast commitJavaCVJava interface to OpenCV, FFmpeg, and much more.GitHub starsLast commit
@@ -884,87 +884,87 @@ _Libraries that provide external configuration._ ### Configuration - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
avaje configLoads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.--avaje configLoads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.--
centraldogmaHighly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.GitHub starsLast commitcentraldogmaHighly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.GitHub starsLast commit
configConfiguration library supporting Java properties, JSON or its human optimized superset HOCON.GitHub starsLast commitconfigConfiguration library supporting Java properties, JSON or its human optimized superset HOCON.GitHub starsLast commit
ConfigurateConfiguration library with support for various configuration formats and transformations.GitHub starsLast commitConfigurateConfiguration library with support for various configuration formats and transformations.GitHub starsLast commit
Curator FrameworkHigh-level API for Apache ZooKeeper.--Curator FrameworkHigh-level API for Apache ZooKeeper.--
dotenvTwelve-factor configuration library which uses environment-specific files.GitHub starsLast commitdotenvTwelve-factor configuration library which uses environment-specific files.GitHub starsLast commit
Externalized PropertiesLightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism.GitHub starsLast commitExternalized PropertiesLightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism.GitHub starsLast commit
GestaltGestalt 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.GitHub starsLast commitGestaltGestalt 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.GitHub starsLast commit
ini4jProvides an API for handling Windows' INI files.--ini4jProvides an API for handling Windows' INI files.--
KAConfAnnotation-based configuration system for Java and Kotlin.GitHub starsLast commitKAConfAnnotation-based configuration system for Java and Kotlin.GitHub starsLast commit
microconfigConfiguration 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.--microconfigConfiguration 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.--
ownerReduces boilerplate of properties.GitHub starsLast commitownerReduces boilerplate of properties.GitHub starsLast commit
@@ -979,39 +979,39 @@ _Libraries that help with implementing optimization and satisfiability problems. ### Constraint Satisfaction Problem Solver - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ChocoOff-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.--ChocoOff-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.--
JaCoPIncludes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0)GitHub starsLast commitJaCoPIncludes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0)GitHub starsLast commit
OptaPlannerBusiness planning and resource scheduling optimization solver.--OptaPlannerBusiness planning and resource scheduling optimization solver.--
TimefoldFlexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.--TimefoldFlexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.--
@@ -1026,45 +1026,45 @@ _Frameworks and libraries that simplify reading/writing CSV data._ ### CSV - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
FastCSVPerformance-optimized, dependency-free and RFC 4180 compliant.GitHub starsLast commitFastCSVPerformance-optimized, dependency-free and RFC 4180 compliant.GitHub starsLast commit
jackson-dataformat-csvJackson extension for reading and writing CSV.GitHub starsLast commitjackson-dataformat-csvJackson extension for reading and writing CSV.GitHub starsLast commit
opencsvSimple CSV parser.--opencsvSimple CSV parser.--
Super CSVPowerful CSV parser with support for Dozer, Joda-Time and Java 8.--Super CSVPowerful CSV parser with support for Dozer, Joda-Time and Java 8.--
uniVocity-parsersOne of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.GitHub starsLast commituniVocity-parsersOne of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.GitHub starsLast commit
@@ -1079,87 +1079,87 @@ _Efficient and specific data structures._ ### Data Structures - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache AvroData interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.--Apache AvroData interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.--
Apache OrcFast and efficient columnar storage format for Hadoop-based workloads.--Apache OrcFast and efficient columnar storage format for Hadoop-based workloads.--
Apache ParquetColumnar storage format based on assembly algorithms from Google's paper on Dremel.--Apache ParquetColumnar storage format based on assembly algorithms from Google's paper on Dremel.--
Apache ThriftData interchange format that originated at Facebook.--Apache ThriftData interchange format that originated at Facebook.--
Big QueueFast and persistent queue based on memory-mapped files.GitHub starsLast commitBig QueueFast and persistent queue based on memory-mapped files.GitHub starsLast commit
HyperMinHash-javaProbabilistic data structure for computing union, intersection, and set cardinality in loglog space.GitHub starsLast commitHyperMinHash-javaProbabilistic data structure for computing union, intersection, and set cardinality in loglog space.GitHub starsLast commit
Persistent CollectionPersistent and immutable analogue of the Java Collections Framework.GitHub starsLast commitPersistent CollectionPersistent and immutable analogue of the Java Collections Framework.GitHub starsLast commit
ProtobufGoogle's data interchange format.GitHub starsLast commitProtobufGoogle's data interchange format.GitHub starsLast commit
RoaringBitmapFast and efficient compressed bitmap.GitHub starsLast commitRoaringBitmapFast and efficient compressed bitmap.GitHub starsLast commit
SBESimple Binary Encoding, one of the fastest message formats around.GitHub starsLast commitSBESimple Binary Encoding, one of the fastest message formats around.GitHub starsLast commit
TapeLightning-fast, transactional, file-based FIFO.GitHub starsLast commitTapeLightning-fast, transactional, file-based FIFO.GitHub starsLast commit
WireClean, lightweight protocol buffers.GitHub starsLast commitWireClean, lightweight protocol buffers.GitHub starsLast commit
@@ -1174,243 +1174,243 @@ _Everything that simplifies interactions with the database._ ### Database - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache CalciteDynamic data management framework. It contains many of the pieces that comprise a typical database management system.--Apache CalciteDynamic data management framework. It contains many of the pieces that comprise a typical database management system.--
Apache DrillDistributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration.--Apache DrillDistributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration.--
Apache PhoenixHigh-performance relational database layer over HBase for low-latency applications.--Apache PhoenixHigh-performance relational database layer over HBase for low-latency applications.--
ArangoDBArangoDB Java driver.GitHub starsLast commitArangoDBArangoDB Java driver.GitHub starsLast commit
Chronicle MapEfficient, in-memory (opt. persisted to disk), off-heap key-value store.GitHub starsLast commitChronicle MapEfficient, in-memory (opt. persisted to disk), off-heap key-value store.GitHub starsLast commit
DebeziumLow latency data streaming platform for change data capture.--DebeziumLow latency data streaming platform for change data capture.--
druidHigh-performance, column-oriented, distributed data store.--druidHigh-performance, column-oriented, distributed data store.--
eXistNoSQL document database and application platform. (LGPL-2.1-only)GitHub starsLast commiteXistNoSQL document database and application platform. (LGPL-2.1-only)GitHub starsLast commit
FlexyPoolBrings metrics and failover strategies to the most common connection pooling solutions.GitHub starsLast commitFlexyPoolBrings metrics and failover strategies to the most common connection pooling solutions.GitHub starsLast commit
FlywaySimple database migration tool.--FlywaySimple database migration tool.--
H2Small SQL database notable for its in-memory functionality.--H2Small SQL database notable for its in-memory functionality.--
HikariCPHigh-performance JDBC connection pool.GitHub starsLast commitHikariCPHigh-performance JDBC connection pool.GitHub starsLast commit
HSQLDBHyperSQL 100% Java database.--HSQLDBHyperSQL 100% Java database.--
JDBIConvenient abstraction of JDBC.--JDBIConvenient abstraction of JDBC.--
JedisSmall client for interaction with Redis, with methods for commands.GitHub starsLast commitJedisSmall client for interaction with Redis, with methods for commands.GitHub starsLast commit
JestClient for the Elasticsearch REST API.GitHub starsLast commitJestClient for the Elasticsearch REST API.GitHub starsLast commit
jetcdClient library for etcd.GitHub starsLast commitjetcdClient library for etcd.GitHub starsLast commit
JinqTypesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).GitHub starsLast commitJinqTypesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).GitHub starsLast commit
jOOQGenerates typesafe code based on SQL schema.--jOOQGenerates typesafe code based on SQL schema.--
LeafDistributed ID generate service.GitHub starsLast commitLeafDistributed ID generate service.GitHub starsLast commit
LettuceLettuce is a scalable Redis client for building non-blocking Reactive applications.--LettuceLettuce is a scalable Redis client for building non-blocking Reactive applications.--
LiquibaseDatabase-independent library for tracking, managing and applying database schema changes.--LiquibaseDatabase-independent library for tracking, managing and applying database schema changes.--
MapDBEmbedded database engine that provides concurrent collections backed on disk or in off-heap memory.--MapDBEmbedded database engine that provides concurrent collections backed on disk or in off-heap memory.--
MariaDB4jLauncher for MariaDB that requires no installation or external dependencies.GitHub starsLast commitMariaDB4jLauncher for MariaDB that requires no installation or external dependencies.GitHub starsLast commit
ModalityLightweight ORM with database reverse engineering features.GitHub starsLast commitModalityLightweight ORM with database reverse engineering features.GitHub starsLast commit
OpenDJLDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities.GitHub starsLast commitOpenDJLDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities.GitHub starsLast commit
QuerydslTypesafe unified queries.--QuerydslTypesafe unified queries.--
QueryStreamBuild JPA Criteria queries using a Stream-like API.GitHub starsLast commitQueryStreamBuild JPA Criteria queries using a Stream-like API.GitHub starsLast commit
QuestDBHigh-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.GitHub starsLast commitQuestDBHigh-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.GitHub starsLast commit
RealmMobile database to run directly inside phones, tablets or wearables.GitHub starsLast commitRealmMobile database to run directly inside phones, tablets or wearables.GitHub starsLast commit
RedissonAllows for distributed and scalable data structures on top of a Redis server.GitHub starsLast commitRedissonAllows for distributed and scalable data structures on top of a Redis server.GitHub starsLast commit
requeryModern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.GitHub starsLast commitrequeryModern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.GitHub starsLast commit
SpeedmentDatabase access library that utilizes Java 8's Stream API for querying.GitHub starsLast commitSpeedmentDatabase access library that utilizes Java 8's Stream API for querying.GitHub starsLast commit
Spring Data JPA MongoDB ExpressionsAllows you to use MongoDB query language to query your relational database.GitHub starsLast commitSpring Data JPA MongoDB ExpressionsAllows you to use MongoDB query language to query your relational database.GitHub starsLast commit
TrinoDistributed SQL query engine for big data.--TrinoDistributed SQL query engine for big data.--
Vibur DBCPJDBC connection pool library with advanced performance monitoring capabilities.--Vibur DBCPJDBC connection pool library with advanced performance monitoring capabilities.--
XodusHighly concurrent transactional schema-less and ACID-compliant embedded database.GitHub starsLast commitXodusHighly concurrent transactional schema-less and ACID-compliant embedded database.GitHub starsLast commit
CosIdUniversal, flexible, high-performance distributed ID generator.GitHub starsLast commitCosIdUniversal, flexible, high-performance distributed ID generator.GitHub starsLast commit
@@ -1425,39 +1425,39 @@ _Libraries related to handling date and time._ ### Date and Time - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
iCal4jParse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models.GitHub starsLast commitiCal4jParse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models.GitHub starsLast commit
JollydayDetermines the holidays for a given year, country/name and eventually state/region.GitHub starsLast commitJollydayDetermines the holidays for a given year, country/name and eventually state/region.GitHub starsLast commit
ThreeTen-ExtraAdditional date-time classes that complement those in JDK 8.GitHub starsLast commitThreeTen-ExtraAdditional date-time classes that complement those in JDK 8.GitHub starsLast commit
Time4JAdvanced date and time library. (LGPL-2.1-only)GitHub starsLast commitTime4JAdvanced date and time library. (LGPL-2.1-only)GitHub starsLast commit
@@ -1472,63 +1472,63 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. ### Dependency Injection - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache DeltaSpikeCDI extension framework.--Apache DeltaSpikeCDI extension framework.--
Avaje InjectMicroservice-focused compile-time injection framework without reflection.--Avaje InjectMicroservice-focused compile-time injection framework without reflection.--
DaggerCompile-time injection framework without reflection.--DaggerCompile-time injection framework without reflection.--
FeatherUltra-lightweight, JSR-330-compliant dependency injection library.GitHub starsLast commitFeatherUltra-lightweight, JSR-330-compliant dependency injection library.GitHub starsLast commit
GovernatorExtensions and utilities that enhance Google Guice.GitHub starsLast commitGovernatorExtensions and utilities that enhance Google Guice.GitHub starsLast commit
GuiceLightweight and opinionated framework that completes Dagger.GitHub starsLast commitGuiceLightweight and opinionated framework that completes Dagger.GitHub starsLast commit
HK2Lightweight and dynamic dependency injection framework.--HK2Lightweight and dynamic dependency injection framework.--
JayWireLightweight dependency injection framework. (LGPL-3.0-only)GitHub starsLast commitJayWireLightweight dependency injection framework. (LGPL-3.0-only)GitHub starsLast commit
@@ -1543,75 +1543,75 @@ _Augmentation of the development process at a fundamental level._ ### Development - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AspectJSeamless aspect-oriented programming extension.--AspectJSeamless aspect-oriented programming extension.--
DCEVMJVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only)--DCEVMJVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only)--
Faux PasLibrary that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions.GitHub starsLast commitFaux PasLibrary that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions.GitHub starsLast commit
HotswapAgentUnlimited runtime class and resource redefinition. (GPL-2.0-only)GitHub starsLast commitHotswapAgentUnlimited runtime class and resource redefinition. (GPL-2.0-only)GitHub starsLast commit
JavaParserParse, modify and generate Java code.GitHub starsLast commitJavaParserParse, modify and generate Java code.GitHub starsLast commit
JavaSymbolSolverSymbol solver.GitHub starsLast commitJavaSymbolSolverSymbol solver.GitHub starsLast commit
ManifoldRe-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.GitHub starsLast commitManifoldRe-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.GitHub starsLast commit
NoExceptionAllows checked exceptions in functional interfaces and converts exceptions to Optional return.--NoExceptionAllows checked exceptions in functional interfaces and converts exceptions to Optional return.--
SneakyThrowIgnores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations.GitHub starsLast commitSneakyThrowIgnores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations.GitHub starsLast commit
TailEnable infinite recursion using tail call optimization.--TailEnable infinite recursion using tail call optimization.--
@@ -1626,99 +1626,99 @@ _Libraries and frameworks for writing distributed and fault-tolerant application ### Distributed Applications - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache GeodeIn-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.--Apache GeodeIn-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.--
Apache StormRealtime computation system.--Apache StormRealtime computation system.--
Apache ZooKeeperCoordination service with distributed configuration, synchronization, and naming registry for large distributed systems.--Apache ZooKeeperCoordination service with distributed configuration, synchronization, and naming registry for large distributed systems.--
AtomixFault-tolerant distributed coordination framework.--AtomixFault-tolerant distributed coordination framework.--
AxonFramework for creating CQRS applications.--AxonFramework for creating CQRS applications.--
Dropwizard Circuit BreakerCircuit breaker design pattern for Dropwizard. (GPL-2.0-only)GitHub starsLast commitDropwizard Circuit BreakerCircuit breaker design pattern for Dropwizard. (GPL-2.0-only)GitHub starsLast commit
FailsafeSimple failure handling with retries and circuit breakers.GitHub starsLast commitFailsafeSimple failure handling with retries and circuit breakers.GitHub starsLast commit
HazelcastHighly scalable in-memory datagrid with a free open-source version.GitHub starsLast commitHazelcastHighly scalable in-memory datagrid with a free open-source version.GitHub starsLast commit
JGroupsToolkit for reliable messaging and cluster creation.--JGroupsToolkit for reliable messaging and cluster creation.--
QuasarLightweight threads and actors for the JVM.--QuasarLightweight threads and actors for the JVM.--
resilience4jFunctional fault tolerance library.GitHub starsLast commitresilience4jFunctional fault tolerance library.GitHub starsLast commit
OpenIGHigh-performance reverse proxy server with specialized session management and credential replay functionality.GitHub starsLast commitOpenIGHigh-performance reverse proxy server with specialized session management and credential replay functionality.GitHub starsLast commit
ScaleCube ServicesEmbeddable Cluster-Membership library based on SWIM and gossip protocol.GitHub starsLast commitScaleCube ServicesEmbeddable Cluster-Membership library based on SWIM and gossip protocol.GitHub starsLast commit
ZuulGateway service that provides dynamic routing, monitoring, resiliency, security, and more.GitHub starsLast commitZuulGateway service that provides dynamic routing, monitoring, resiliency, security, and more.GitHub starsLast commit
@@ -1733,39 +1733,39 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u ### Distributed Transactions - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AtomikosProvides transactions for REST, SOA and microservices with support for JTA and XA.--AtomikosProvides transactions for REST, SOA and microservices with support for JTA and XA.--
BitronixSimple but complete implementation of the JTA 1.1 API.GitHub starsLast commitBitronixSimple but complete implementation of the JTA 1.1 API.GitHub starsLast commit
NarayanaProvides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only)--NarayanaProvides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only)--
SeataDelivers high performance and easy to use distributed transaction services under a microservices architecture.GitHub starsLast commitSeataDelivers high performance and easy to use distributed transaction services under a microservices architecture.GitHub starsLast commit
@@ -1780,75 +1780,75 @@ _Tools that handle the distribution of applications in native formats._ ### Distribution - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ArtipieBinary artifact management toolkit which hosts them on the file system or S3.GitHub starsLast commitArtipieBinary artifact management toolkit which hosts them on the file system or S3.GitHub starsLast commit
CapsuleSimple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.GitHub starsLast commitCapsuleSimple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.GitHub starsLast commit
Central RepositoryLargest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools.--Central RepositoryLargest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools.--
GetdownSystem for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start.GitHub starsLast commitGetdownSystem for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start.GitHub starsLast commit
IzPackSetup authoring tool for cross-platform deployments.--IzPackSetup authoring tool for cross-platform deployments.--
JavaPackagerMaven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them.GitHub starsLast commitJavaPackagerMaven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them.GitHub starsLast commit
jDeployDeploy desktop apps as native Mac, Windows or Linux bundles.--jDeployDeploy desktop apps as native Mac, Windows or Linux bundles.--
jlink.onlineBuilds optimized runtimes over HTTP.GitHub starsLast commitjlink.onlineBuilds optimized runtimes over HTTP.GitHub starsLast commit
packrPacks JARs, assets and the JVM for native distribution on Windows, Linux and macOS.GitHub starsLast commitpackrPacks JARs, assets and the JVM for native distribution on Windows, Linux and macOS.GitHub starsLast commit
really-executable-jars-maven-pluginMaven plugin for making self-executing JARs.GitHub starsLast commitreally-executable-jars-maven-pluginMaven plugin for making self-executing JARs.GitHub starsLast commit
@@ -1863,45 +1863,45 @@ _Libraries that assist with processing office document formats._ ### Document Processing - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache POISupports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT).--Apache POISupports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT).--
documents4jAPI for document format conversion using third-party converters such as MS Word.--documents4jAPI for document format conversion using third-party converters such as MS Word.--
docx4jCreate and manipulate Microsoft Open XML files.--docx4jCreate and manipulate Microsoft Open XML files.--
fastexcelHigh performance library to read and write large Excel (XLSX) worksheets.GitHub starsLast commitfastexcelHigh performance library to read and write large Excel (XLSX) worksheets.GitHub starsLast commit
zerocellAnnotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.GitHub starsLast commitzerocellAnnotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.GitHub starsLast commit
@@ -1916,51 +1916,51 @@ _Libraries related to the financial domain._ ### Financial - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CassandreTrading bot framework.GitHub starsLast commitCassandreTrading bot framework.GitHub starsLast commit
ParityPlatform for trading venues.GitHub starsLast commitParityPlatform for trading venues.GitHub starsLast commit
PhiladelphiaLow-latency financial information exchange.GitHub starsLast commitPhiladelphiaLow-latency financial information exchange.GitHub starsLast commit
SquareIntegration with the Square API.GitHub starsLast commitSquareIntegration with the Square API.GitHub starsLast commit
StripeIntegration with the Stripe API.GitHub starsLast commitStripeIntegration with the Stripe API.GitHub starsLast commit
ta4jLibrary for technical analysis.GitHub starsLast committa4jLibrary for technical analysis.GitHub starsLast commit
@@ -1975,57 +1975,57 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc ### Formal Verification - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CATGConcolic unit testing engine. Automatically generates unit tests using formal methods.GitHub starsLast commitCATGConcolic unit testing engine. Automatically generates unit tests using formal methods.GitHub starsLast commit
Checker FrameworkPluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)--Checker FrameworkPluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)--
DaikonDetects likely program invariants and generates JML specs based on those invariants.--DaikonDetects likely program invariants and generates JML specs based on those invariants.--
Java Path Finder (JPF)JVM formal verification tool containing a model checker and more. Created by NASA.GitHub starsLast commitJava Path Finder (JPF)JVM formal verification tool containing a model checker and more. Created by NASA.GitHub starsLast commit
JMLOK 2.0Detects 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)--JMLOK 2.0Detects 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)--
KeYFormal 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)--KeYFormal 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)--
OpenJMLTranslates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only)--OpenJMLTranslates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only)--
@@ -2040,69 +2040,69 @@ _Libraries that facilitate functional programming._ ### Functional Programming - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CyclopsMonad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.GitHub starsLast commitCyclopsMonad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.GitHub starsLast commit
derive4jJava 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only)GitHub starsLast commitderive4jJava 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only)GitHub starsLast commit
FugueFunctional extensions to Guava.--FugueFunctional extensions to Guava.--
Functional JavaImplements numerous basic and advanced programming abstractions that assist composition-oriented development.--Functional JavaImplements numerous basic and advanced programming abstractions that assist composition-oriented development.--
jOOλ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.GitHub starsLast commitjOOλ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.GitHub starsLast commit
PackratGatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.GitHub starsLast commitPackratGatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.GitHub starsLast commit
protonpackCollection of stream utilities.GitHub starsLast commitprotonpackCollection of stream utilities.GitHub starsLast commit
StreamExEnhances Java 8 Streams.GitHub starsLast commitStreamExEnhances Java 8 Streams.GitHub starsLast commit
VavrFunctional component library that provides persistent data types and functional control structures.--VavrFunctional component library that provides persistent data types and functional control structures.--
@@ -2117,69 +2117,69 @@ _Frameworks that support the development of games._ ### Game Development - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
FXGLJavaFX Game Development Framework.--FXGLJavaFX Game Development Framework.--
JBox2DPort of the renowned C++ 2D physics engine.--JBox2DPort of the renowned C++ 2D physics engine.--
jMonkeyEngineGame engine for modern 3D development.--jMonkeyEngineGame engine for modern 3D development.--
libGDXAll-round cross-platform, high-level framework.--libGDXAll-round cross-platform, high-level framework.--
LitiengineAWT-based, lightweight 2D game engine.--LitiengineAWT-based, lightweight 2D game engine.--
LWJGLRobust framework that abstracts libraries like OpenGL/CL/AL.--LWJGLRobust framework that abstracts libraries like OpenGL/CL/AL.--
Mini2DxBeginner-friendly, master-ready framework for rapidly prototyping and building 2D games.--Mini2DxBeginner-friendly, master-ready framework for rapidly prototyping and building 2D games.--
Void2DHigh-level 2D game engine with built-in physics based on Swing.GitHub starsLast commitVoid2DHigh-level 2D game engine with built-in physics based on Swing.GitHub starsLast commit
vulkan4jVulkan, OpenGL ES2 and GLFW Memory Allocator bindings.GitHub starsLast commitvulkan4jVulkan, OpenGL ES2 and GLFW Memory Allocator bindings.GitHub starsLast commit
@@ -2194,63 +2194,63 @@ _Libraries for working with geospatial data and algorithms._ ### Geospatial - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache SISLibrary for developing geospatial applications.--Apache SISLibrary for developing geospatial applications.--
GeoGeoHash utilities in Java.GitHub starsLast commitGeoGeoHash utilities in Java.GitHub starsLast commit
GeoToolsLibrary that provides tools for geospatial data. (LGPL-2.1-only)--GeoToolsLibrary that provides tools for geospatial data. (LGPL-2.1-only)--
GraphHopperRoad-routing engine. Used as a Java library or standalone web service.GitHub starsLast commitGraphHopperRoad-routing engine. Used as a Java library or standalone web service.GitHub starsLast commit
H2GISSpatial extension of the H2 database. (LGPL-3.0-only)--H2GISSpatial extension of the H2 database. (LGPL-3.0-only)--
JgeohashLibrary for using the GeoHash algorithm.--JgeohashLibrary for using the GeoHash algorithm.--
MapsforgeMap rendering based on OpenStreetMap data. (LGPL-3.0-only)GitHub starsLast commitMapsforgeMap rendering based on OpenStreetMap data. (LGPL-3.0-only)GitHub starsLast commit
Spatial4jGeneral-purpose spatial/geospatial library.GitHub starsLast commitSpatial4jGeneral-purpose spatial/geospatial library.GitHub starsLast commit
@@ -2265,39 +2265,39 @@ _Libraries to create modern graphical user interfaces._ ### GUI - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
JavaFXSuccessor of Swing.--JavaFXSuccessor of Swing.--
Scene BuilderVisual layout tool for JavaFX applications.--Scene BuilderVisual layout tool for JavaFX applications.--
SnapKitModern Java UI library for both desktop and web.GitHub starsLast commitSnapKitModern Java UI library for both desktop and web.GitHub starsLast commit
SWTGraphical widget toolkit.--SWTGraphical widget toolkit.--
@@ -2312,57 +2312,57 @@ _Everything about high-performance computation, from collections to specific lib ### High Performance - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AgronaData structures and utility methods that are common in high-performance applications.GitHub starsLast commitAgronaData structures and utility methods that are common in high-performance applications.GitHub starsLast commit
DisruptorInter-thread messaging library.--DisruptorInter-thread messaging library.--
Eclipse CollectionsCollections framework inspired by Smalltalk.GitHub starsLast commitEclipse CollectionsCollections framework inspired by Smalltalk.GitHub starsLast commit
fastutilFast and compact type-specific collections.--fastutilFast and compact type-specific collections.--
HPPCPrimitive collections.--HPPCPrimitive collections.--
JCToolsConcurrency tools currently missing from the JDK.GitHub starsLast commitJCToolsConcurrency tools currently missing from the JDK.GitHub starsLast commit
KolobokeCarefully designed extension of the Java Collections Framework with primitive specializations and more.GitHub starsLast commitKolobokeCarefully designed extension of the Java Collections Framework with primitive specializations and more.GitHub starsLast commit
@@ -2377,75 +2377,75 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ ### HTTP Clients - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache HttpComponentsToolset of low-level Java components focused on HTTP and associated protocols.--Apache HttpComponentsToolset of low-level Java components focused on HTTP and associated protocols.--
Async Http ClientAsynchronous HTTP and WebSocket client library.GitHub starsLast commitAsync Http ClientAsynchronous HTTP and WebSocket client library.GitHub starsLast commit
Avaje Http ClientWrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements.--Avaje Http ClientWrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements.--
FeignHTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.GitHub starsLast commitFeignHTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.GitHub starsLast commit
Google HTTP ClientPluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.GitHub starsLast commitGoogle HTTP ClientPluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.GitHub starsLast commit
methanolHTTP client extensions library.GitHub starsLast commitmethanolHTTP client extensions library.GitHub starsLast commit
RetrofitTypesafe REST client.--RetrofitTypesafe REST client.--
RibbonClient-side IPC library that is battle-tested in the cloud.GitHub starsLast commitRibbonClient-side IPC library that is battle-tested in the cloud.GitHub starsLast commit
RiptideClient-side response routing for Spring's RestTemplate.GitHub starsLast commitRiptideClient-side response routing for Spring's RestTemplate.GitHub starsLast commit
unirest-javaSimplified, lightweight HTTP client library.GitHub starsLast commitunirest-javaSimplified, lightweight HTTP client library.GitHub starsLast commit
@@ -2460,39 +2460,39 @@ _Libraries that handle serialization to hypermedia types._ ### Hypermedia Types - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
hateBuilds hypermedia-friendly objects according to HAL specification.GitHub starsLast commithateBuilds hypermedia-friendly objects according to HAL specification.GitHub starsLast commit
JSON-LDJSON-LD implementation.GitHub starsLast commitJSON-LDJSON-LD implementation.GitHub starsLast commit
Siren4JLibrary for the Siren specification.GitHub starsLast commitSiren4JLibrary for the Siren specification.GitHub starsLast commit
Spring HATEOASStandalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.GitHub starsLast commitSpring HATEOASStandalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.GitHub starsLast commit
@@ -2507,45 +2507,45 @@ _Integrated development environments that try to simplify several aspects of dev ### IDE - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
EclipseEstablished open-source project with support for lots of plugins and languages.--EclipseEstablished open-source project with support for lots of plugins and languages.--
jGRASPCreated to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer.--jGRASPCreated to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer.--
NetBeansProvides integration for several Java SE and EE features, from database access to HTML5.--NetBeansProvides integration for several Java SE and EE features, from database access to HTML5.--
SnapCodeModern IDE for Java running in the browser, focused on education.--SnapCodeModern IDE for Java running in the browser, focused on education.--
Visual Studio CodeProvides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace.--Visual Studio CodeProvides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace.--
@@ -2560,69 +2560,69 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica ### Imagery - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Barcode-Lib4JGenerates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support.GitHub starsLast commitBarcode-Lib4JGenerates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support.GitHub starsLast commit
ImgscalrSimple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.GitHub starsLast commitImgscalrSimple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.GitHub starsLast commit
Tess4JJNA wrapper for Tesseract OCR API.GitHub starsLast commitTess4JJNA wrapper for Tesseract OCR API.GitHub starsLast commit
ThumbnailatorHigh-quality thumbnail generation library.GitHub starsLast commitThumbnailatorHigh-quality thumbnail generation library.GitHub starsLast commit
TwelveMonkeysCollection of plugins that extend the number of supported image file formats.GitHub starsLast commitTwelveMonkeysCollection of plugins that extend the number of supported image file formats.GitHub starsLast commit
ZXingMulti-format 1D/2D barcode image processing library.GitHub starsLast commitZXingMulti-format 1D/2D barcode image processing library.GitHub starsLast commit
image-comparisonLibrary 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.GitHub starsLast commitimage-comparisonLibrary 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.GitHub starsLast commit
vips-ffmComprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.GitHub starsLast commitvips-ffmComprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.GitHub starsLast commit
scrimageImmutable, functional, and performant JVM library for manipulation of images.--scrimageImmutable, functional, and performant JVM library for manipulation of images.--
@@ -2637,51 +2637,51 @@ _Libraries that help make the Java introspection and reflection API easier and f ### Introspection - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ClassGraphClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.GitHub starsLast commitClassGraphClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.GitHub starsLast commit
jOORjOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.GitHub starsLast commitjOORjOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.GitHub starsLast commit
MirrorMirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks.--MirrorMirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks.--
ObjenesisAllows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions.--ObjenesisAllows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions.--
ReflectASMReflectASM is a very small Java library that provides high performance reflection by using code generation.GitHub starsLast commitReflectASMReflectASM is a very small Java library that provides high performance reflection by using code generation.GitHub starsLast commit
ReflectionsReflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.GitHub starsLast commitReflectionsReflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.GitHub starsLast commit
@@ -2696,57 +2696,57 @@ _Libraries for scheduling background jobs._ ### Job Scheduling - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
JobRunrJob 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.GitHub starsLast commitJobRunrJob 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.GitHub starsLast commit
QuartzFeature-rich, open source job scheduling library that can be integrated within virtually any Java application.GitHub starsLast commitQuartzFeature-rich, open source job scheduling library that can be integrated within virtually any Java application.GitHub starsLast commit
SundialLightweight framework to simply define jobs, define triggers and start the scheduler.GitHub starsLast commitSundialLightweight framework to simply define jobs, define triggers and start the scheduler.GitHub starsLast commit
WispSimple library with minimal footprint and straightforward API.GitHub starsLast commitWispSimple library with minimal footprint and straightforward API.GitHub starsLast commit
db-schedulerPersistent and cluster-friendly scheduler.GitHub starsLast commitdb-schedulerPersistent and cluster-friendly scheduler.GitHub starsLast commit
easy-batchSet 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.GitHub starsLast commiteasy-batchSet 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.GitHub starsLast commit
shedlockMakes 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.GitHub starsLast commitshedlockMakes 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.GitHub starsLast commit
@@ -2761,117 +2761,117 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ ### JSON - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Avaje JsonbReflection-free Json binding via source code generation with Jackson-like annotations.--Avaje JsonbReflection-free Json binding via source code generation with Jackson-like annotations.--
DSL-JSONJSON library with advanced compile time databinding.GitHub starsLast commitDSL-JSONJSON library with advanced compile time databinding.GitHub starsLast commit
GensonPowerful and easy-to-use Java-to-JSON conversion library.--GensonPowerful and easy-to-use Java-to-JSON conversion library.--
GsonSerializes objects to JSON and vice versa. Good performance with on-the-fly usage.GitHub starsLast commitGsonSerializes objects to JSON and vice versa. Good performance with on-the-fly usage.GitHub starsLast commit
HikariJSONHigh-performance JSON parser, 2x faster than Jackson.GitHub starsLast commitHikariJSONHigh-performance JSON parser, 2x faster than Jackson.GitHub starsLast commit
jackson-modules-java8Set of Jackson modules for Java 8 datatypes and features.GitHub starsLast commitjackson-modules-java8Set of Jackson modules for Java 8 datatypes and features.GitHub starsLast commit
Jackson-datatype-moneyOpen-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.GitHub starsLast commitJackson-datatype-moneyOpen-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.GitHub starsLast commit
JacksonSimilar to GSON, but offers performance gains if you need to instantiate the library more often.GitHub starsLast commitJacksonSimilar to GSON, but offers performance gains if you need to instantiate the library more often.GitHub starsLast commit
JSON-ioConvert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.GitHub starsLast commitJSON-ioConvert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.GitHub starsLast commit
jsoniterFast and flexible library with iterator and lazy parsing API.--jsoniterFast and flexible library with iterator and lazy parsing API.--
LoganSquareJSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library.GitHub starsLast commitLoganSquareJSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library.GitHub starsLast commit
MoshiModern JSON library, less opinionated and uses built-in types like List and Map.GitHub starsLast commitMoshiModern JSON library, less opinionated and uses built-in types like List and Map.GitHub starsLast commit
YassonBinding layer between classes and JSON documents similar to JAXB.GitHub starsLast commitYassonBinding layer between classes and JSON documents similar to JAXB.GitHub starsLast commit
fastjsonVery fast processor with no additional dependencies and full data binding.GitHub starsLast commitfastjsonVery fast processor with no additional dependencies and full data binding.GitHub starsLast commit
JoltJSON to JSON transformation tool.GitHub starsLast commitJoltJSON to JSON transformation tool.GitHub starsLast commit
JsonPathExtract data from JSON using XPATH-like syntax.GitHub starsLast commitJsonPathExtract data from JSON using XPATH-like syntax.GitHub starsLast commit
JsonSurferStreaming JsonPath processor dedicated to processing big and complicated JSON data.GitHub starsLast commitJsonSurferStreaming JsonPath processor dedicated to processing big and complicated JSON data.GitHub starsLast commit
@@ -2886,93 +2886,93 @@ _Current implementations of the JVM/JDK._ ### JVM and JDK - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Which JDKOverview of common JVMs with pros and cons.--Which JDKOverview of common JVMs with pros and cons.--
Adopt Open JDKCommunity-driven OpenJDK builds, including both HotSpot and OpenJ9.--Adopt Open JDKCommunity-driven OpenJDK builds, including both HotSpot and OpenJ9.--
CorrettoNo-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)--CorrettoNo-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)--
Dragonwell8Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.GitHub starsLast commitDragonwell8Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.GitHub starsLast commit
GraalPolyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commitGraalPolyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
Liberica JDKBuilt from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)--Liberica JDKBuilt from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)--
OpenJ9High performance, enterprise-calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project.GitHub starsLast commitOpenJ9High performance, enterprise-calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project.GitHub starsLast commit
Open JDKOpen JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)--Open JDKOpen JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)--
ParparVMVM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commitParparVMVM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
RedHat Open JDKRedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)--RedHat Open JDKRedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)--
SAP MachineSAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0)--SAP MachineSAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0)--
ZuluOpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)--ZuluOpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)--
Microsoft JDKMicrosoft Build of OpenJDK, Free, Open Source, Freshly Brewed!GitHub starsLast commitMicrosoft JDKMicrosoft Build of OpenJDK, Free, Open Source, Freshly Brewed!GitHub starsLast commit
@@ -2987,87 +2987,87 @@ _Libraries that log the behavior of an application._ ### Logging - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache Log4j 2Complete rewrite with a powerful plugin and configuration architecture.--Apache Log4j 2Complete rewrite with a powerful plugin and configuration architecture.--
EchopraxiaAPI 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.GitHub starsLast commitEchopraxiaAPI 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.GitHub starsLast commit
GraylogOpen-source aggregator suited for extended role and permission management. (GPL-3.0-only)--GraylogOpen-source aggregator suited for extended role and permission management. (GPL-3.0-only)--
KibanaAnalyzes and visualizes log files. Some features require payment.--KibanaAnalyzes and visualizes log files. Some features require payment.--
LogbackRobust logging library with interesting configuration options via Groovy.--LogbackRobust logging library with interesting configuration options via Groovy.--
LogbookExtensible, open-source library for HTTP request and response logging.GitHub starsLast commitLogbookExtensible, open-source library for HTTP request and response logging.GitHub starsLast commit
LogstashTool for managing log files.--LogstashTool for managing log files.--
p6spyEnables logging for all JDBC transactions without changes to the code.GitHub starsLast commitp6spyEnables logging for all JDBC transactions without changes to the code.GitHub starsLast commit
SLF4JAbstraction layer/simple logging facade.--SLF4JAbstraction layer/simple logging facade.--
tinylogLightweight logging framework with static logger class.--tinylogLightweight logging framework with static logger class.--
OpenTracing ToolboxCollection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.GitHub starsLast commitOpenTracing ToolboxCollection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.GitHub starsLast commit
FloggerFlogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs.--FloggerFlogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs.--
@@ -3082,105 +3082,105 @@ _Tools that provide specific statistical algorithms for learning from data._ ### Machine Learning - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache FlinkFast, reliable, large-scale data processing engine.--Apache FlinkFast, reliable, large-scale data processing engine.--
Apache MahoutScalable algorithms focused on collaborative filtering, clustering and classification.--Apache MahoutScalable algorithms focused on collaborative filtering, clustering and classification.--
DatumBoxProvides several algorithms and pre-trained models for natural language processing.--DatumBoxProvides several algorithms and pre-trained models for natural language processing.--
Deeplearning4jDistributed and multi-threaded deep learning library.--Deeplearning4jDistributed and multi-threaded deep learning library.--
DJLHigh-level and engine-agnostic framework for deep learning.--DJLHigh-level and engine-agnostic framework for deep learning.--
Intelligent javaSeamlessly integrate with remote deep learning and language models programmatically.GitHub starsLast commitIntelligent javaSeamlessly integrate with remote deep learning and language models programmatically.GitHub starsLast commit
JSATAlgorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only)GitHub starsLast commitJSATAlgorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only)GitHub starsLast commit
m2cgenCLI tool to transpile models into native code.GitHub starsLast commitm2cgenCLI tool to transpile models into native code.GitHub starsLast commit
NeurekaA lightweight, platform independent, OpenCL accelerated nd-array/tensor library.GitHub starsLast commitNeurekaA lightweight, platform independent, OpenCL accelerated nd-array/tensor library.GitHub starsLast commit
oj! AlgorithmsHigh-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing.--oj! AlgorithmsHigh-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing.--
Oryx 2Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering.GitHub starsLast commitOryx 2Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering.GitHub starsLast commit
SiddhiCloud native streaming and complex event processing engine.GitHub starsLast commitSiddhiCloud native streaming and complex event processing engine.GitHub starsLast commit
SmileStatistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.GitHub starsLast commitSmileStatistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.GitHub starsLast commit
TribuoProvides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow.--TribuoProvides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow.--
WekaCollection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)--WekaCollection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)--
@@ -3195,111 +3195,111 @@ _Tools that help send messages between clients to ensure protocol independency._ ### Messaging - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AeronEfficient, reliable, unicast and multicast message transport.GitHub starsLast commitAeronEfficient, reliable, unicast and multicast message transport.GitHub starsLast commit
Apache ActiveMQMessage broker that implements JMS and converts synchronous to asynchronous communication.--Apache ActiveMQMessage broker that implements JMS and converts synchronous to asynchronous communication.--
Apache CamelGlues together different transport APIs via Enterprise Integration Patterns.--Apache CamelGlues together different transport APIs via Enterprise Integration Patterns.--
Apache KafkaHigh-throughput distributed messaging system.--Apache KafkaHigh-throughput distributed messaging system.--
Apache PulsarDistributed pub/sub-messaging system.--Apache PulsarDistributed pub/sub-messaging system.--
Apache RocketMQFast, reliable, and scalable distributed messaging platform.--Apache RocketMQFast, reliable, and scalable distributed messaging platform.--
Apache QpidApache Qpid makes messaging tools that speak AMQP and support many languages and platforms.--Apache QpidApache Qpid makes messaging tools that speak AMQP and support many languages and platforms.--
AutoMQAutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective.GitHub starsLast commitAutoMQAutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective.GitHub starsLast commit
DeezpatchSimple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers.GitHub starsLast commitDeezpatchSimple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers.GitHub starsLast commit
EventBusSimple publish/subscribe event bus.GitHub starsLast commitEventBusSimple publish/subscribe event bus.GitHub starsLast commit
HermesFast and reliable message broker built on top of Kafka.--HermesFast and reliable message broker built on top of Kafka.--
JeroMQImplementation of ZeroMQ.GitHub starsLast commitJeroMQImplementation of ZeroMQ.GitHub starsLast commit
NakadiProvides a RESTful API on top of Kafka.GitHub starsLast commitNakadiProvides a RESTful API on top of Kafka.GitHub starsLast commit
RabbitMQ Java clientRabbitMQ client.GitHub starsLast commitRabbitMQ Java clientRabbitMQ client.GitHub starsLast commit
SmackCross-platform XMPP client library.GitHub starsLast commitSmackCross-platform XMPP client library.GitHub starsLast commit
NATS clientNATS client.GitHub starsLast commitNATS clientNATS client.GitHub starsLast commit
@@ -3314,93 +3314,93 @@ _Tools for creating and managing microservices._ ### Microservice - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ActiveRPCLightweight and fast library for complex high-load distributed applications and Memcached-like solutions.--ActiveRPCLightweight and fast library for complex high-load distributed applications and Memcached-like solutions.--
ArmeriaAsynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.GitHub starsLast commitArmeriaAsynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.GitHub starsLast commit
consul-apiClient for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.GitHub starsLast commitconsul-apiClient for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.GitHub starsLast commit
EurekaREST-based service registry for resilient load balancing and failover.GitHub starsLast commitEurekaREST-based service registry for resilient load balancing and failover.GitHub starsLast commit
HelidonTwo-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile.--HelidonTwo-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile.--
JDAWrapping of the Discord REST API and its WebSocket events.GitHub starsLast commitJDAWrapping of the Discord REST API and its WebSocket events.GitHub starsLast commit
KeenTypeModernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX.GitHub starsLast commitKeenTypeModernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX.GitHub starsLast commit
kubernetes-clientClient provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.GitHub starsLast commitkubernetes-clientClient provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.GitHub starsLast commit
MicronautModern full-stack framework with focus on modularity, minimal memory footprint and startup time.--MicronautModern full-stack framework with focus on modularity, minimal memory footprint and startup time.--
NacosDynamic service discovery, configuration and service management platform for building cloud native applications.--NacosDynamic service discovery, configuration and service management platform for building cloud native applications.--
OpenAI-JavaJava libraries for using OpenAI's GPT-3 API.GitHub starsLast commitOpenAI-JavaJava libraries for using OpenAI's GPT-3 API.GitHub starsLast commit
QuarkusKubernetes stack tailored for the HotSpot and Graal VM.--QuarkusKubernetes stack tailored for the HotSpot and Graal VM.--
SentinelFlow control component enabling reliability, resilience and monitoring for microservices.GitHub starsLast commitSentinelFlow control component enabling reliability, resilience and monitoring for microservices.GitHub starsLast commit
@@ -3415,231 +3415,231 @@ _Everything else._ ### Miscellaneous - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CQEngineUltra-fast, SQL-like queries on Java collections.GitHub starsLast commitCQEngineUltra-fast, SQL-like queries on Java collections.GitHub starsLast commit
Design PatternsImplementation and explanation of the most common design patterns.GitHub starsLast commitDesign PatternsImplementation and explanation of the most common design patterns.GitHub starsLast commit
FF4JFeature Flags for Java.GitHub starsLast commitFF4JFeature Flags for Java.GitHub starsLast commit
FizzBuzz Enterprise EditionNo-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)GitHub starsLast commitFizzBuzz Enterprise EditionNo-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)GitHub starsLast commit
IP2Location.io Java SDKWrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.GitHub starsLast commitIP2Location.io Java SDKWrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.GitHub starsLast commit
ISBN coreA small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.GitHub starsLast commitISBN coreA small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.GitHub starsLast commit
J2ObjCJava-to-Objective-C translator for porting Android libraries to iOS.GitHub starsLast commitJ2ObjCJava-to-Objective-C translator for porting Android libraries to iOS.GitHub starsLast commit
JBakeStatic website generator.--JBakeStatic website generator.--
JBotFramework for building chatbots. (GPL-3.0-only)GitHub starsLast commitJBotFramework for building chatbots. (GPL-3.0-only)GitHub starsLast commit
JCudaJCuda offers Java bindings for CUDA and CUDA-related libraries.--JCudaJCuda offers Java bindings for CUDA and CUDA-related libraries.--
JEmojiAn auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.GitHub starsLast commitJEmojiAn auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.GitHub starsLast commit
JimfsIn-memory file system.GitHub starsLast commitJimfsIn-memory file system.GitHub starsLast commit
Joda-MoneyBasic currency and money classes and algorithms not provided by the JDK.--Joda-MoneyBasic currency and money classes and algorithms not provided by the JDK.--
jOOXSimple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery.GitHub starsLast commitjOOXSimple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery.GitHub starsLast commit
JPadSnippet runner.--JPadSnippet runner.--
jsweetSource transpiler to TypeScript/JavaScript.GitHub starsLast commitjsweetSource transpiler to TypeScript/JavaScript.GitHub starsLast commit
Maven WrapperAnalogue of Gradle Wrapper for Maven, allows building projects without installing maven.GitHub starsLast commitMaven WrapperAnalogue of Gradle Wrapper for Maven, allows building projects without installing maven.GitHub starsLast commit
Membrane Service ProxyOpen-source, reverse-proxy framework.GitHub starsLast commitMembrane Service ProxyOpen-source, reverse-proxy framework.GitHub starsLast commit
MinimalFTPLightweight, small and customizable FTP server.GitHub starsLast commitMinimalFTPLightweight, small and customizable FTP server.GitHub starsLast commit
LittleProxyHigh performance HTTP proxy atop Netty's event-based networking library.GitHub starsLast commitLittleProxyHigh performance HTTP proxy atop Netty's event-based networking library.GitHub starsLast commit
Modern Java - A Guide to Java 8Popular Java 8 guide.GitHub starsLast commitModern Java - A Guide to Java 8Popular Java 8 guide.GitHub starsLast commit
ModernizerDetect uses of legacy Java APIs.GitHub starsLast commitModernizerDetect uses of legacy Java APIs.GitHub starsLast commit
OctoLinkerBrowser extension which allows to navigate through code on GitHub more efficiently.GitHub starsLast commitOctoLinkerBrowser extension which allows to navigate through code on GitHub more efficiently.GitHub starsLast commit
OpenRefineTool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases.--OpenRefineTool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases.--
PipelinRSmall utility library for using handlers and commands with pipelines.GitHub starsLast commitPipelinRSmall utility library for using handlers and commands with pipelines.GitHub starsLast commit
Polyglot for MavenExtensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.GitHub starsLast commitPolyglot for MavenExtensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.GitHub starsLast commit
RR4JRR4J is a tool that records java bytecode execution and later allows developers to replay locally.GitHub starsLast commitRR4JRR4J is a tool that records java bytecode execution and later allows developers to replay locally.GitHub starsLast commit
Simple Java MailMailing with a clean and fluent API.GitHub starsLast commitSimple Java MailMailing with a clean and fluent API.GitHub starsLast commit
SmooksFramework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)GitHub starsLast commitSmooksFramework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)GitHub starsLast commit
SvixLibrary for the Svix API to send webhooks and verify signatures.GitHub starsLast commitSvixLibrary for the Svix API to send webhooks and verify signatures.GitHub starsLast commit
TogglzImplementation of the Feature Toggles pattern.--TogglzImplementation of the Feature Toggles pattern.--
TypeToolsTools for resolving generic types.GitHub starsLast commitTypeToolsTools for resolving generic types.GitHub starsLast commit
webcam-captureLibrary for using built-in and external webcams directly in Java.GitHub starsLast commitwebcam-captureLibrary for using built-in and external webcams directly in Java.GitHub starsLast commit
XMLBeamProcesses XML by using annotations or XPath within code.GitHub starsLast commitXMLBeamProcesses XML by using annotations or XPath within code.GitHub starsLast commit
yGuardObfuscation via renaming and shrinking.GitHub starsLast commityGuardObfuscation via renaming and shrinking.GitHub starsLast commit
JBangJBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly.GitHub starsLast commitJBangJBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly.GitHub starsLast commit
@@ -3654,33 +3654,33 @@ _Tools for creating or managing mobile applications._ ### Mobile Development - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Codename OneCross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0)--Codename OneCross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0)--
MobileUICross-platform framework for developing mobile apps with native UI in Java and Kotlin.--MobileUICross-platform framework for developing mobile apps with native UI in Java and Kotlin.--
Multi-OS EngineOpen-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.--Multi-OS EngineOpen-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.--
@@ -3695,141 +3695,141 @@ _Tools that observe/monitor applications in production by providing telemetry._ ### Monitoring - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ApitallySimple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.GitHub starsLast commitApitallySimple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.GitHub starsLast commit
AutomonCombines the power of AOP with monitoring and/or logging tools.GitHub starsLast commitAutomonCombines the power of AOP with monitoring and/or logging tools.GitHub starsLast commit
Dropwizard MetricsExpose metrics via JMX or HTTP and send them to a database.GitHub starsLast commitDropwizard MetricsExpose metrics via JMX or HTTP and send them to a database.GitHub starsLast commit
Failsafe ActuatorOut of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.GitHub starsLast commitFailsafe ActuatorOut of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.GitHub starsLast commit
GlowrootOpen-source Java APM.--GlowrootOpen-source Java APM.--
HertzBeatReal-time monitoring system with custom-monitor and agentless.GitHub starsLast commitHertzBeatReal-time monitoring system with custom-monitor and agentless.GitHub starsLast commit
hippo4jDynamic and observable thread pool framework.GitHub starsLast commithippo4jDynamic and observable thread pool framework.GitHub starsLast commit
inspectITCaptures 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.--inspectITCaptures 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.--
Jaeger clientJaeger client.GitHub starsLast commitJaeger clientJaeger client.GitHub starsLast commit
JavaMelodyPerformance monitoring and profiling.GitHub starsLast commitJavaMelodyPerformance monitoring and profiling.GitHub starsLast commit
jmxtransConnect 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.GitHub starsLast commitjmxtransConnect 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.GitHub starsLast commit
JolokiaJMX over REST.--JolokiaJMX over REST.--
MicrometerVendor-neutral metrics/observability facade for the most popular metrics/observability libraries.GitHub starsLast commitMicrometerVendor-neutral metrics/observability facade for the most popular metrics/observability libraries.GitHub starsLast commit
Micrometer TracingVendor-neutral distributed tracing facade for the most popular tracer libraries.GitHub starsLast commitMicrometer TracingVendor-neutral distributed tracing facade for the most popular tracer libraries.GitHub starsLast commit
nudge4jRemote developer console from the browser for Java 8 via bytecode injection.GitHub starsLast commitnudge4jRemote developer console from the browser for Java 8 via bytecode injection.GitHub starsLast commit
OpenTelemetryInstrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.GitHub starsLast commitOpenTelemetryInstrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.GitHub starsLast commit
PinpointOpen-source APM tool.GitHub starsLast commitPinpointOpen-source APM tool.GitHub starsLast commit
PrometheusProvides a multi-dimensional data model, DSL, autonomous server nodes and much more.GitHub starsLast commitPrometheusProvides a multi-dimensional data model, DSL, autonomous server nodes and much more.GitHub starsLast commit
StagemonitorOpen-source performance monitoring and transaction tracing for JVM apps.GitHub starsLast commitStagemonitorOpen-source performance monitoring and transaction tracing for JVM apps.GitHub starsLast commit
SysmonLightweight platform monitoring tool for Java VMs.GitHub starsLast commitSysmonLightweight platform monitoring tool for Java VMs.GitHub starsLast commit
zipkinDistributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.--zipkinDistributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.--
@@ -3844,45 +3844,45 @@ _For working with platform-specific native libraries._ ### Native - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AparapiConverts bytecode to OpenCL which allows execution on GPUs.GitHub starsLast commitAparapiConverts bytecode to OpenCL which allows execution on GPUs.GitHub starsLast commit
JavaCPPProvides efficient and easy access to native C++.GitHub starsLast commitJavaCPPProvides efficient and easy access to native C++.GitHub starsLast commit
JNAWork with native libraries without writing JNI. Also provides interfaces to common system libraries.GitHub starsLast commitJNAWork with native libraries without writing JNI. Also provides interfaces to common system libraries.GitHub starsLast commit
JNRWork 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).GitHub starsLast commitJNRWork 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).GitHub starsLast commit
native-lib-loaderNative library loader for extracting and loading native libraries from Java.GitHub starsLast commitnative-lib-loaderNative library loader for extracting and loading native libraries from Java.GitHub starsLast commit
@@ -3897,45 +3897,45 @@ _Libraries that specialize in processing text._ ### Natural Language Processing - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CogCompNLPProvides common annotators for plain text input. (Research and Academic Use License)GitHub starsLast commitCogCompNLPProvides common annotators for plain text input. (Research and Academic Use License)GitHub starsLast commit
CoreNLPProvides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later)--CoreNLPProvides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later)--
DKProCollection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.--DKProCollection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.--
HypheratorJava hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in.GitHub starsLast commitHypheratorJava hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in.GitHub starsLast commit
LingPipeToolkit for tasks ranging from POS tagging to sentiment analysis.--LingPipeToolkit for tasks ranging from POS tagging to sentiment analysis.--
@@ -3950,105 +3950,105 @@ _Libraries for building network servers._ ### Networking - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Commons-networkingClient for server-sent events (SSE).GitHub starsLast commitCommons-networkingClient for server-sent events (SSE).GitHub starsLast commit
ComsatIntegrates standard Java web-related APIs with Quasar fibers and actors.GitHub starsLast commitComsatIntegrates standard Java web-related APIs with Quasar fibers and actors.GitHub starsLast commit
DubboHigh-performance RPC framework.GitHub starsLast commitDubboHigh-performance RPC framework.GitHub starsLast commit
GrizzlyNIO framework. Used as a network layer in Glassfish.--GrizzlyNIO framework. Used as a network layer in Glassfish.--
gRPCRPC framework based on protobuf and HTTP/2.GitHub starsLast commitgRPCRPC framework based on protobuf and HTTP/2.GitHub starsLast commit
KryoNetProvides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo.GitHub starsLast commitKryoNetProvides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo.GitHub starsLast commit
MINAAbstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO.--MINAAbstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO.--
NettyFramework for building high-performance network applications.--NettyFramework for building high-performance network applications.--
DriftEasy-to-use, annotation-based library for creating Thrift clients and serializable types.GitHub starsLast commitDriftEasy-to-use, annotation-based library for creating Thrift clients and serializable types.GitHub starsLast commit
ServiceTalkFramework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.GitHub starsLast commitServiceTalkFramework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.GitHub starsLast commit
sshjProgrammatically use SSH, SCP or SFTP.GitHub starsLast commitsshjProgrammatically use SSH, SCP or SFTP.GitHub starsLast commit
TLS ChannelImplements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS.GitHub starsLast commitTLS ChannelImplements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS.GitHub starsLast commit
UndertowWeb server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only)--UndertowWeb server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only)--
urnlibRepresent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only)GitHub starsLast commiturnlibRepresent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only)GitHub starsLast commit
FluencyHigh throughput data ingestion logger to Fluentd and Fluent Bit.GitHub starsLast commitFluencyHigh throughput data ingestion logger to Fluentd and Fluent Bit.GitHub starsLast commit
@@ -4063,75 +4063,75 @@ _APIs that handle the persistence of objects._ ### ORM - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache CayenneProvides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation.--Apache CayenneProvides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation.--
DomaDatabase access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.GitHub starsLast commitDomaDatabase access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.GitHub starsLast commit
EbeanProvides simple and fast data access.--EbeanProvides simple and fast data access.--
EclipseLinkSupports a number of persistence standards: JPA, JAXB, JCA and SDO.--EclipseLinkSupports a number of persistence standards: JPA, JAXB, JCA and SDO.--
HibernateRobust and widely used, with an active community. (LGPL-2.1-only)--HibernateRobust and widely used, with an active community. (LGPL-2.1-only)--
MyBatisCouples objects with stored procedures or SQL statements.GitHub starsLast commitMyBatisCouples objects with stored procedures or SQL statements.GitHub starsLast commit
MyBatis-PlusA powerful enhanced toolkit of MyBatis for simplifying development.GitHub starsLast commitMyBatis-PlusA powerful enhanced toolkit of MyBatis for simplifying development.GitHub starsLast commit
ObjectiveSqlActiveRecord ORM for rapid development and convention over configuration.GitHub starsLast commitObjectiveSqlActiveRecord ORM for rapid development and convention over configuration.GitHub starsLast commit
PermazenLanguage-natural persistence layer.GitHub starsLast commitPermazenLanguage-natural persistence layer.GitHub starsLast commit
SimpleFlatMapperSimple database and CSV mapper.GitHub starsLast commitSimpleFlatMapperSimple database and CSV mapper.GitHub starsLast commit
@@ -4150,21 +4150,21 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. ### Pathfinding - +
- - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
PatheticA highly configurable 3D A* pathfinding library that uses specific optimizations for high performance.GitHub starsLast commitPatheticA highly configurable 3D A* pathfinding library that uses specific optimizations for high performance.GitHub starsLast commit
@@ -4179,75 +4179,75 @@ _Tools to help with PDF files._ ### PDF - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache FOPCreates PDFs from XSL-FO.--Apache FOPCreates PDFs from XSL-FO.--
Apache PDFBoxToolbox for creating and manipulating PDFs.--Apache PDFBoxToolbox for creating and manipulating PDFs.--
Dynamic JasperAbstraction layer to JasperReports. (LGPL-3.0-only)--Dynamic JasperAbstraction layer to JasperReports. (LGPL-3.0-only)--
DynamicReportsSimplifies JasperReports. (LGPL-3.0-only)GitHub starsLast commitDynamicReportsSimplifies JasperReports. (LGPL-3.0-only)GitHub starsLast commit
Eclipse BIRTReport engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor.--Eclipse BIRTReport engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor.--
flyingsaucerXML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later)GitHub starsLast commitflyingsaucerXML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later)GitHub starsLast commit
JasperReportsComplex reporting engine. (LGPL-3.0-only)--JasperReportsComplex reporting engine. (LGPL-3.0-only)--
Open HTML to PDFProperly supports modern PDF standards based on flyingsaucer and Apache PDFBox.GitHub starsLast commitOpen HTML to PDFProperly supports modern PDF standards based on flyingsaucer and Apache PDFBox.GitHub starsLast commit
OpenPDFOpen-source iText fork. (LGPL-3.0-only & MPL-2.0)GitHub starsLast commitOpenPDFOpen-source iText fork. (LGPL-3.0-only & MPL-2.0)GitHub starsLast commit
TabulaExtracts tables from PDF files.GitHub starsLast commitTabulaExtracts tables from PDF files.GitHub starsLast commit
@@ -4262,45 +4262,45 @@ _Tools for performance analysis, profiling and benchmarking._ ### Performance analysis - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
honest-profilerLow-overhead, bias-free sampling profiler.GitHub starsLast commithonest-profilerLow-overhead, bias-free sampling profiler.GitHub starsLast commit
jHiccupLogs and records platform JVM stalls.GitHub starsLast commitjHiccupLogs and records platform JVM stalls.GitHub starsLast commit
JITWatchAnalyze the JIT compiler optimisations made by the HotSpot JVM.GitHub starsLast commitJITWatchAnalyze the JIT compiler optimisations made by the HotSpot JVM.GitHub starsLast commit
JMHHarness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0)--JMHHarness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0)--
LatencyUtilsUtilities for latency measurement and reporting.GitHub starsLast commitLatencyUtilsUtilities for latency measurement and reporting.GitHub starsLast commit
@@ -4317,339 +4317,339 @@ _Frameworks that are suites of multiple libraries encompassing several categorie ### Platform > Apache Commons - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
BCELByte Code Engineering Library - analyze, create, and manipulate Java class files.--BCELByte Code Engineering Library - analyze, create, and manipulate Java class files.--
BeanUtilsEasy-to-use wrappers around the Java reflection and introspection APIs.--BeanUtilsEasy-to-use wrappers around the Java reflection and introspection APIs.--
BeanUtils2Redesign of Commons BeanUtils.--BeanUtils2Redesign of Commons BeanUtils.--
BSFBean Scripting Framework - interface to scripting languages, including JSR-223.--BSFBean Scripting Framework - interface to scripting languages, including JSR-223.--
ChainChain of Responsibility pattern implementation.--ChainChain of Responsibility pattern implementation.--
ClassScanFind Class interfaces, methods, fields, and annotations without loading.--ClassScanFind Class interfaces, methods, fields, and annotations without loading.--
CLICommand-line arguments parser.--CLICommand-line arguments parser.--
CLI2Redesign of Commons CLI.--CLI2Redesign of Commons CLI.--
CodecGeneral encoding/decoding algorithms, e.g. phonetic, base64 or URL.--CodecGeneral encoding/decoding algorithms, e.g. phonetic, base64 or URL.--
CollectionsExtends or augments the Java Collections Framework.--CollectionsExtends or augments the Java Collections Framework.--
CompressDefines an API for working with tar, zip and bzip2 files.--CompressDefines an API for working with tar, zip and bzip2 files.--
ConfigurationReading of configuration/preferences files in various formats.--ConfigurationReading of configuration/preferences files in various formats.--
ConvertCommons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.--ConvertCommons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.--
CSVComponent for reading and writing comma separated value files.--CSVComponent for reading and writing comma separated value files.--
DaemonAlternative invocation mechanism for unix-daemon-like java code.--DaemonAlternative invocation mechanism for unix-daemon-like java code.--
DBCPDatabase connection pooling services.--DBCPDatabase connection pooling services.--
DbUtilsJDBC helper library.--DbUtilsJDBC helper library.--
DigesterXML-to-Java-object mapping utility.--DigesterXML-to-Java-object mapping utility.--
EmailLibrary for sending e-mail from Java.--EmailLibrary for sending e-mail from Java.--
ExecAPI for dealing with external process execution and environment management in Java.--ExecAPI for dealing with external process execution and environment management in Java.--
FileUploadFile upload capability for your servlets and web applications.--FileUploadFile upload capability for your servlets and web applications.--
FinderJava library inspired by the UNIX find command.--FinderJava library inspired by the UNIX find command.--
FlatfileJava library for working with flat data structures.--FlatfileJava library for working with flat data structures.--
FunctorFunction that can be manipulated as an object, or an object representing a single, generic function.--FunctorFunction that can be manipulated as an object, or an object representing a single, generic function.--
GraphGeneral purpose graph APIs and algorithms.--GraphGeneral purpose graph APIs and algorithms.--
I18nAdds the feature of localized message bundles that consist of one or many localized texts that belong together.--I18nAdds the feature of localized message bundles that consist of one or many localized texts that belong together.--
IdId is a component used to generate identifiers.--IdId is a component used to generate identifiers.--
ImagingImage library.--ImagingImage library.--
IOCollection of I/O utilities.--IOCollection of I/O utilities.--
JavaflowContinuation implementation to capture the state of the application.--JavaflowContinuation implementation to capture the state of the application.--
JCIJava Compiler Interface.--JCIJava Compiler Interface.--
JCSJava Caching System.--JCSJava Caching System.--
JellyXML based scripting and processing engine.--JellyXML based scripting and processing engine.--
JexlExpression language which extends the Expression Language of the JSTL.--JexlExpression language which extends the Expression Language of the JSTL.--
JNetJNet allows to use dynamically register url stream handlers through the java.net API.--JNetJNet allows to use dynamically register url stream handlers through the java.net API.--
JXPathUtilities for manipulating Java Beans using the XPath syntax.--JXPathUtilities for manipulating Java Beans using the XPath syntax.--
LangProvides extra functionality for classes in java.lang.--LangProvides extra functionality for classes in java.lang.--
LoggingWrapper around a variety of logging API implementations.--LoggingWrapper around a variety of logging API implementations.--
MathLightweight, self-contained mathematics and statistics components.--MathLightweight, self-contained mathematics and statistics components.--
MonitoringMonitoring aims to provide a simple but extensible monitoring solution for Java applications.--MonitoringMonitoring aims to provide a simple but extensible monitoring solution for Java applications.--
NablaNabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.--NablaNabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.--
NetCollection of network utilities and protocol implementations.--NetCollection of network utilities and protocol implementations.--
OGNLObject-graph navigation language.--OGNLObject-graph navigation language.--
OpenPGPInterface to signing and verifying data using OpenPGP.--OpenPGPInterface to signing and verifying data using OpenPGP.--
PerformanceSmall framework for microbenchmark clients, with implementations for Commons DBCP and Pool.--PerformanceSmall framework for microbenchmark clients, with implementations for Commons DBCP and Pool.--
PipelineProvides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.--PipelineProvides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.--
PoolGeneric object pooling component.--PoolGeneric object pooling component.--
ProxyLibrary for creating dynamic proxies.--ProxyLibrary for creating dynamic proxies.--
RDFCommon implementation of RDF 1.1 that could be implemented by systems on the JVM.--RDFCommon implementation of RDF 1.1 that could be implemented by systems on the JVM.--
RNGCommons Rng provides implementations of pseudo-random numbers generators.--RNGCommons Rng provides implementations of pseudo-random numbers generators.--
SCXMLImplementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.--SCXMLImplementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.--
ValidatorFramework to define validators and validation rules in an xml file.--ValidatorFramework to define validators and validation rules in an xml file.--
VFSVirtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.--VFSVirtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.--
WeaverProvides an easy way to enhance (weave) compiled bytecode.--WeaverProvides an easy way to enhance (weave) compiled bytecode.--
@@ -4662,39 +4662,39 @@ _Frameworks that are suites of multiple libraries encompassing several categorie ### Platform > Other - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CUBA PlatformHigh-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin.--CUBA PlatformHigh-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin.--
Light-4JFast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/).GitHub starsLast commitLight-4JFast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/).GitHub starsLast commit
OrienteerOpen-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications.GitHub starsLast commitOrienteerOpen-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications.GitHub starsLast commit
SpringProvides many packages for dependency injection, aspect-oriented programming, security, etc.--SpringProvides many packages for dependency injection, aspect-oriented programming, security, etc.--
@@ -4709,33 +4709,33 @@ _Libraries that help the management of operating system processes._ ### Processes - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ch.vorburger.execConvenient API around Apache Commons Exec.GitHub starsLast commitch.vorburger.execConvenient API around Apache Commons Exec.GitHub starsLast commit
zt-execProvides a unified API to Apache Commons Exec and ProcessBuilder.GitHub starsLast commitzt-execProvides a unified API to Apache Commons Exec and ProcessBuilder.GitHub starsLast commit
zt-process-killerStops processes started from Java or the system processes via PID.GitHub starsLast commitzt-process-killerStops processes started from Java or the system processes via PID.GitHub starsLast commit
@@ -4750,45 +4750,45 @@ _Libraries for developing reactive applications._ ### Reactive libraries - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AkkaToolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications.--AkkaToolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications.--
Reactive StreamsProvides a standard for asynchronous stream processing with non-blocking backpressure.GitHub starsLast commitReactive StreamsProvides a standard for asynchronous stream processing with non-blocking backpressure.GitHub starsLast commit
ReactorA framework for building non-blocking applications on the JVM, providing support for reactive programming.GitHub starsLast commitReactorA framework for building non-blocking applications on the JVM, providing support for reactive programming.GitHub starsLast commit
RxJavaAllows for composing asynchronous and event-based programs using observable sequences.GitHub starsLast commitRxJavaAllows for composing asynchronous and event-based programs using observable sequences.GitHub starsLast commit
vert.xPolyglot event-driven application framework.--vert.xPolyglot event-driven application framework.--
@@ -4803,93 +4803,93 @@ _Frameworks specifically for creating RESTful services._ ### REST Frameworks - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
DropwizardOpinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.GitHub starsLast commitDropwizardOpinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.GitHub starsLast commit
ElideOpinionated framework for JSON- or GraphQL-APIs based on a JPA data model.--ElideOpinionated framework for JSON- or GraphQL-APIs based on a JPA data model.--
JerseyJAX-RS reference implementation.--JerseyJAX-RS reference implementation.--
MicroserverConvenient, extensible microservices plugin system for Spring & Spring Boot. With more than 30 plugins and growing, it supports both micro-monolith and pure microservices styles.GitHub starsLast commitMicroserverConvenient, extensible microservices plugin system for Spring & Spring Boot. With more than 30 plugins and growing, it supports both micro-monolith and pure microservices styles.GitHub starsLast commit
RapidoidSimple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection.--RapidoidSimple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection.--
rest.liFramework 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.GitHub starsLast commitrest.liFramework 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.GitHub starsLast commit
RESTEasyFully certified and portable implementation of the JAX-RS specification.--RESTEasyFully certified and portable implementation of the JAX-RS specification.--
RestExpressThin wrapper on the JBoss Netty HTTP stack that provides scaling and performance.GitHub starsLast commitRestExpressThin wrapper on the JBoss Netty HTTP stack that provides scaling and performance.GitHub starsLast commit
Restlet FrameworkPioneering framework with powerful routing and filtering capabilities, and a unified client and server API.GitHub starsLast commitRestlet FrameworkPioneering framework with powerful routing and filtering capabilities, and a unified client and server API.GitHub starsLast commit
SparkSinatra inspired framework.--SparkSinatra inspired framework.--
CrnkImplementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more.--CrnkImplementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more.--
springdoc-openapiAutomates the generation of API documentation using Spring Boot projects.GitHub starsLast commitspringdoc-openapiAutomates the generation of API documentation using Spring Boot projects.GitHub starsLast commit
SwaggerStandard, language-agnostic interface to REST APIs.--SwaggerStandard, language-agnostic interface to REST APIs.--
@@ -4904,105 +4904,105 @@ _Libraries for scientific computing, analysis and visualization._ ### Science - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
BioJavaFacilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics.--BioJavaFacilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics.--
Chart-FXScientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.GitHub starsLast commitChart-FXScientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.GitHub starsLast commit
DataMeltEnvironment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later)--DataMeltEnvironment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later)--
ErdosModular, light and easy graph framework for theoretic algorithms.GitHub starsLast commitErdosModular, light and easy graph framework for theoretic algorithms.GitHub starsLast commit
GraphStreamLibrary for modeling and analyzing dynamic graphs.--GraphStreamLibrary for modeling and analyzing dynamic graphs.--
JFreeChart2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)--JFreeChart2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)--
JGraphTGraph library that provides mathematical graph-theory objects and algorithms.GitHub starsLast commitJGraphTGraph library that provides mathematical graph-theory objects and algorithms.GitHub starsLast commit
JGraphXLibrary for visualizing (mainly Swing) and interacting with node-edge graphs.GitHub starsLast commitJGraphXLibrary for visualizing (mainly Swing) and interacting with node-edge graphs.GitHub starsLast commit
LogicNGLibrary for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.GitHub starsLast commitLogicNGLibrary for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.GitHub starsLast commit
Mines Java ToolkitLibrary for geophysical scientific computation, visualization and digital signal analysis.GitHub starsLast commitMines Java ToolkitLibrary for geophysical scientific computation, visualization and digital signal analysis.GitHub starsLast commit
MorpheusProvides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.GitHub starsLast commitMorpheusProvides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.GitHub starsLast commit
OrekitA low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them.--OrekitA low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them.--
Orson-ChartsGenerates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only)GitHub starsLast commitOrson-ChartsGenerates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only)GitHub starsLast commit
TablesawIncludes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.GitHub starsLast commitTablesawIncludes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.GitHub starsLast commit
XChartLight-weight library for plotting data. Many customizable chart types are available.GitHub starsLast commitXChartLight-weight library for plotting data. Many customizable chart types are available.GitHub starsLast commit
@@ -5017,39 +5017,39 @@ _Engines that index documents for search and analysis._ ### Search - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache LuceneHigh-performance, full-featured, cross-platform, text search engine library.--Apache LuceneHigh-performance, full-featured, cross-platform, text search engine library.--
Apache SolrEnterprise search engine optimized for high-volume traffic.--Apache SolrEnterprise search engine optimized for high-volume traffic.--
ElasticsearchDistributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents.--ElasticsearchDistributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents.--
Indexer4jSimple and light full text indexing and searching library.GitHub starsLast commitIndexer4jSimple and light full text indexing and searching library.GitHub starsLast commit
@@ -5064,153 +5064,153 @@ _Libraries that handle security, authentication, authorization or session manage ### Security - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache ShiroPerforms authentication, authorization, cryptography and session management.--Apache ShiroPerforms authentication, authorization, cryptography and session management.--
AyzaHigh-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.GitHub starsLast commitAyzaHigh-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.GitHub starsLast commit
Bouncy CastleAll-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations.--Bouncy CastleAll-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations.--
DependencyCheckDetects publicly disclosed vulnerabilities contained within a project's dependencies.GitHub starsLast commitDependencyCheckDetects publicly disclosed vulnerabilities contained within a project's dependencies.GitHub starsLast commit
CryptomatorMultiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only)--CryptomatorMultiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only)--
HdivRuntime 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.GitHub starsLast commitHdivRuntime 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.GitHub starsLast commit
jjwtJSON web token for Java and Android.GitHub starsLast commitjjwtJSON web token for Java and Android.GitHub starsLast commit
jwt-javaEasily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.GitHub starsLast commitjwt-javaEasily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.GitHub starsLast commit
Jwks RSAJSON Web Key Set parser.GitHub starsLast commitJwks RSAJSON Web Key Set parser.GitHub starsLast commit
KaliumBinding for the Networking and Cryptography (NaCl) library.GitHub starsLast commitKaliumBinding for the Networking and Cryptography (NaCl) library.GitHub starsLast commit
KeycloakIntegrated SSO and IDM for browser apps and RESTful web services.--KeycloakIntegrated SSO and IDM for browser apps and RESTful web services.--
KeywhizSystem for distributing and managing secrets.GitHub starsLast commitKeywhizSystem for distributing and managing secrets.GitHub starsLast commit
NbvcxzAdvanced password strength estimation.GitHub starsLast commitNbvcxzAdvanced password strength estimation.GitHub starsLast commit
OACCProvides permission-based authorization services.--OACCProvides permission-based authorization services.--
OpenAMAccess management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.GitHub starsLast commitOpenAMAccess management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.GitHub starsLast commit
OTP-JavaOne-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).GitHub starsLast commitOTP-JavaOne-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).GitHub starsLast commit
pac4jSecurity engine.GitHub starsLast commitpac4jSecurity engine.GitHub starsLast commit
PassayEnforce password policy by validating candidate passwords against a configurable rule set.--PassayEnforce password policy by validating candidate passwords against a configurable rule set.--
Password4jUser-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.GitHub starsLast commitPassword4jUser-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.GitHub starsLast commit
SecurityBuilderFluent Builder API for JCA and JSSE classes and especially X.509 certificates.GitHub starsLast commitSecurityBuilderFluent Builder API for JCA and JSSE classes and especially X.509 certificates.GitHub starsLast commit
ThemisMulti-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.GitHub starsLast commitThemisMulti-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.GitHub starsLast commit
TinkProvides a simple and misuse-proof API for common cryptographic tasks.GitHub starsLast commitTinkProvides a simple and misuse-proof API for common cryptographic tasks.GitHub starsLast commit
TopazFine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.--TopazFine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.--
@@ -5225,51 +5225,51 @@ _Libraries that handle serialization with high efficiency._ ### Serialization - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
FlatBuffersMemory-efficient serialization library that can access serialized data without unpacking and parsing it.GitHub starsLast commitFlatBuffersMemory-efficient serialization library that can access serialized data without unpacking and parsing it.GitHub starsLast commit
FSTJDK-compatible, high-performance object graph serialization.GitHub starsLast commitFSTJDK-compatible, high-performance object graph serialization.GitHub starsLast commit
FuryBlazing fast object graph serialization framework powered by JIT and zero-copy.GitHub starsLast commitFuryBlazing fast object graph serialization framework powered by JIT and zero-copy.GitHub starsLast commit
KryoFast and efficient object graph serialization framework.GitHub starsLast commitKryoFast and efficient object graph serialization framework.GitHub starsLast commit
MessagePackEfficient binary serialization format.GitHub starsLast commitMessagePackEfficient binary serialization format.GitHub starsLast commit
PHP SerializerSerializing objects in the PHP serialization format.GitHub starsLast commitPHP SerializerSerializing objects in the PHP serialization format.GitHub starsLast commit
@@ -5284,45 +5284,45 @@ _Servers specifically used to deploy applications._ ### Server - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache TomcatRobust, all-round server for Servlet and JSP.--Apache TomcatRobust, all-round server for Servlet and JSP.--
Apache TomEETomcat plus Java EE.--Apache TomEETomcat plus Java EE.--
JettyProvides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.--JettyProvides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.--
nanohttpdTiny, easily embeddable HTTP server.GitHub starsLast commitnanohttpdTiny, easily embeddable HTTP server.GitHub starsLast commit
WildFlyFormerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)--WildFlyFormerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)--
@@ -5337,81 +5337,81 @@ _Tools that substitute expressions in a template._ ### Template Engine - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
FreemarkerLibrary to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.--FreemarkerLibrary to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.--
Handlebars.javaLogicless and semantic Mustache templates.--Handlebars.javaLogicless and semantic Mustache templates.--
Jade4JImplementation of Pug (formerly known as Jade).GitHub starsLast commitJade4JImplementation of Pug (formerly known as Jade).GitHub starsLast commit
JamalExtendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.GitHub starsLast commitJamalExtendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.GitHub starsLast commit
jstachioTypesafe Mustache templating engine.GitHub starsLast commitjstachioTypesafe Mustache templating engine.GitHub starsLast commit
jteCompiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.GitHub starsLast commitjteCompiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.GitHub starsLast commit
JtwigModular, configurable and fully tested template engine.GitHub starsLast commitJtwigModular, configurable and fully tested template engine.GitHub starsLast commit
PebbleInspired 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.--PebbleInspired 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.--
RockerOptimized, memory efficient and speedy template engine producing statically typed, plain objects.GitHub starsLast commitRockerOptimized, memory efficient and speedy template engine producing statically typed, plain objects.GitHub starsLast commit
StringTemplateTemplate engine for generating source code, web pages, emails, or any other formatted text output.GitHub starsLast commitStringTemplateTemplate engine for generating source code, web pages, emails, or any other formatted text output.GitHub starsLast commit
ThymeleafAims to be a substitute for JSP and works for XML files.--ThymeleafAims to be a substitute for JSP and works for XML files.--
@@ -5430,57 +5430,57 @@ _Tools that simplify testing asynchronous services._ ### Testing > Asynchronous - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AwaitilityDSL for synchronizing asynchronous operations.GitHub starsLast commitAwaitilityDSL for synchronizing asynchronous operations.GitHub starsLast commit
ConcurrentUnitToolkit for testing multi-threaded and asynchronous applications.GitHub starsLast commitConcurrentUnitToolkit for testing multi-threaded and asynchronous applications.GitHub starsLast commit
GreenMailIn-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)--GreenMailIn-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)--
Hoverfly JavaNative bindings for Hoverfly, a proxy which allows you to simulate HTTP services.GitHub starsLast commitHoverfly JavaNative bindings for Hoverfly, a proxy which allows you to simulate HTTP services.GitHub starsLast commit
KarateDSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.GitHub starsLast commitKarateDSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.GitHub starsLast commit
REST AssuredDSL for easy testing of REST/HTTP services.GitHub starsLast commitREST AssuredDSL for easy testing of REST/HTTP services.GitHub starsLast commit
WebTauTest across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.GitHub starsLast commitWebTauTest across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.GitHub starsLast commit
@@ -5495,57 +5495,57 @@ _Testing for the software development process that emerged from TDD and was heav ### Testing > BDD - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CucumberProvides a way to describe features in a plain language which customers can understand.GitHub starsLast commitCucumberProvides a way to describe features in a plain language which customers can understand.GitHub starsLast commit
Cukes-RESTCollection of Gherkin steps for REST-service testing using Cucumber.GitHub starsLast commitCukes-RESTCollection of Gherkin steps for REST-service testing using Cucumber.GitHub starsLast commit
J8SpecFollows a Jasmine-like syntax.GitHub starsLast commitJ8SpecFollows a Jasmine-like syntax.GitHub starsLast commit
JBehaveExtensively configurable framework that describes stories.--JBehaveExtensively configurable framework that describes stories.--
JGivenProvides a fluent API which allows for simpler composition.--JGivenProvides a fluent API which allows for simpler composition.--
Lamdba BehaveAims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.GitHub starsLast commitLamdba BehaveAims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.GitHub starsLast commit
Serenity BDDAutomated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.GitHub starsLast commitSerenity BDDAutomated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.GitHub starsLast commit
@@ -5560,75 +5560,75 @@ _Everything related to the creation and handling of random data._ ### Testing > Fixtures - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AutoParamsSupports generating test data or combining scenarios for parameterized tests.GitHub starsLast commitAutoParamsSupports generating test data or combining scenarios for parameterized tests.GitHub starsLast commit
BeanmotherSets up beans from YAML fixtures.GitHub starsLast commitBeanmotherSets up beans from YAML fixtures.GitHub starsLast commit
DatafakerModern fake data generator forked from Java Faker.GitHub starsLast commitDatafakerModern fake data generator forked from Java Faker.GitHub starsLast commit
Fixture FactoryGenerates fake objects from a template.GitHub starsLast commitFixture FactoryGenerates fake objects from a template.GitHub starsLast commit
jFairyFake data generator.GitHub starsLast commitjFairyFake data generator.GitHub starsLast commit
InstancioAutomates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.GitHub starsLast commitInstancioAutomates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.GitHub starsLast commit
Randomized TestingJUnit test runner and plugins for running JUnit tests with pseudo-randomness.GitHub starsLast commitRandomized TestingJUnit test runner and plugins for running JUnit tests with pseudo-randomness.GitHub starsLast commit
Java FakerPort of Ruby's fake data generator.GitHub starsLast commitJava FakerPort of Ruby's fake data generator.GitHub starsLast commit
MockneatAnother fake data generator.GitHub starsLast commitMockneatAnother fake data generator.GitHub starsLast commit
JMockJMock is a high-performance data generation and simulation component library implemented in Java.GitHub starsLast commitJMockJMock is a high-performance data generation and simulation component library implemented in Java.GitHub starsLast commit
@@ -5643,81 +5643,81 @@ _Provide environments to run tests for a specific use case._ ### Testing > Frameworks - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache JMeterFunctional testing and performance measurements.--Apache JMeterFunctional testing and performance measurements.--
JMeter DSL.javaLoad tests with JMeter as simple as a JUnit test.--JMeter DSL.javaLoad tests with JMeter as simple as a JUnit test.--
ArquillianIntegration and functional testing platform for Java EE containers.--ArquillianIntegration and functional testing platform for Java EE containers.--
cdi-testJUnit extension for easy and efficient testing of CDI components.GitHub starsLast commitcdi-testJUnit extension for easy and efficient testing of CDI components.GitHub starsLast commit
CitrusIntegration testing framework that focuses on both client- and server-side messaging.--CitrusIntegration testing framework that focuses on both client- and server-side messaging.--
GatlingLoad testing tool designed for ease of use, maintainability and high performance.--GatlingLoad testing tool designed for ease of use, maintainability and high performance.--
JUnitCommon testing framework.--JUnitCommon testing framework.--
jqwikEngine for property-based testing built on JUnit 5.--jqwikEngine for property-based testing built on JUnit 5.--
Pact JVMConsumer-driven contract testing.GitHub starsLast commitPact JVMConsumer-driven contract testing.GitHub starsLast commit
PITFast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites.--PITFast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites.--
weld-testingSet of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.GitHub starsLast commitweld-testingSet of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.GitHub starsLast commit
@@ -5732,51 +5732,51 @@ _Libraries that provide custom matchers._ ### Testing > Matchers - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
AssertJFluent assertions that improve readability.--AssertJFluent assertions that improve readability.--
HamcrestMatchers that can be combined to create flexible expressions of intent.--HamcrestMatchers that can be combined to create flexible expressions of intent.--
JSONAssertSimplifies testing JSON strings.--JSONAssertSimplifies testing JSON strings.--
JsonUnitLibrary that simplifies JSON comparison in tests.GitHub starsLast commitJsonUnitLibrary that simplifies JSON comparison in tests.GitHub starsLast commit
TruthGoogle's fluent assertion and proposition framework.--TruthGoogle's fluent assertion and proposition framework.--
XMLUnitSimplifies testing for XML output.GitHub starsLast commitXMLUnitSimplifies testing for XML output.GitHub starsLast commit
@@ -5791,81 +5791,81 @@ _Other stuff related to testing._ ### Testing > Miscellaneous - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ConsoleCaptorCaptures console output for unit testing purposes.GitHub starsLast commitConsoleCaptorCaptures console output for unit testing purposes.GitHub starsLast commit
junit-dataproviderTestNG-like data provider/runner for JUnit.GitHub starsLast commitjunit-dataproviderTestNG-like data provider/runner for JUnit.GitHub starsLast commit
junit-pioneerJUnit 5 extension pack, pushing the frontiers on Jupiter.--junit-pioneerJUnit 5 extension pack, pushing the frontiers on Jupiter.--
LogCaptorCaptures log entries for unit testing purposes.GitHub starsLast commitLogCaptorCaptures log entries for unit testing purposes.GitHub starsLast commit
log-captureCaptures log entries and provides assertions for unit and integration testing.GitHub starsLast commitlog-captureCaptures log entries and provides assertions for unit and integration testing.GitHub starsLast commit
Mutability DetectorReports whether instances of a given class are immutable.GitHub starsLast commitMutability DetectorReports whether instances of a given class are immutable.GitHub starsLast commit
pojo-testerAutomatically performs tests on basic POJO methods. (LGPL-3.0-only)--pojo-testerAutomatically performs tests on basic POJO methods. (LGPL-3.0-only)--
raml-testerTests if a request/response matches a given RAML definition.GitHub starsLast commitraml-testerTests if a request/response matches a given RAML definition.GitHub starsLast commit
SelfieSnapshot testing (inline and on disk).GitHub starsLast commitSelfieSnapshot testing (inline and on disk).GitHub starsLast commit
StebzMulti-approach framework for test steps managing.GitHub starsLast commitStebzMulti-approach framework for test steps managing.GitHub starsLast commit
TestcontainersProvides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.GitHub starsLast commitTestcontainersProvides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.GitHub starsLast commit
@@ -5880,57 +5880,57 @@ _Tools which mock collaborators to help testing single, isolated units._ ### Testing > Mocking - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
JMockitIntegration testing, API mocking and faking, and code coverage.--JMockitIntegration testing, API mocking and faking, and code coverage.--
MockitoMocking framework that lets you write tests with a clean and simple API.GitHub starsLast commitMockitoMocking framework that lets you write tests with a clean and simple API.GitHub starsLast commit
MockServerAllows mocking of systems integrated with HTTPS.--MockServerAllows mocking of systems integrated with HTTPS.--
MocoConcise web services for stubs and mocks.GitHub starsLast commitMocoConcise web services for stubs and mocks.GitHub starsLast commit
PowerMockMocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.GitHub starsLast commitPowerMockMocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.GitHub starsLast commit
WireMockStubs and mocks web services.--WireMockStubs and mocks web services.--
EasyMockEasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.GitHub starsLast commitEasyMockEasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.GitHub starsLast commit
@@ -5945,141 +5945,141 @@ _Libraries which provide general utility functions._ ### Utility - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ArthasAllows to troubleshoot production issues for applications without modifying code or restarting servers.GitHub starsLast commitArthasAllows to troubleshoot production issues for applications without modifying code or restarting servers.GitHub starsLast commit
bucket4jRate limiting library based on token-bucket algorithm.GitHub starsLast commitbucket4jRate limiting library based on token-bucket algorithm.GitHub starsLast commit
cactoosCollection of object-oriented primitives.GitHub starsLast commitcactoosCollection of object-oriented primitives.GitHub starsLast commit
ChocoteaGenerates postman collection, environment and integration tests from java code.GitHub starsLast commitChocoteaGenerates postman collection, environment and integration tests from java code.GitHub starsLast commit
CRaSHProvides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)--CRaSHProvides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)--
DexJava/JavaFX tool capable of powerful ETL and data visualization.GitHub starsLast commitDexJava/JavaFX tool capable of powerful ETL and data visualization.GitHub starsLast commit
dregexRegular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.GitHub starsLast commitdregexRegular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.GitHub starsLast commit
EmbulkBulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.GitHub starsLast commitEmbulkBulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.GitHub starsLast commit
fswatchMicro library to watch for directory file system changes, simplifying java.nio.file.WatchService.GitHub starsLast commitfswatchMicro library to watch for directory file system changes, simplifying java.nio.file.WatchService.GitHub starsLast commit
GephiCross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)GitHub starsLast commitGephiCross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)GitHub starsLast commit
GuavaCollections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.GitHub starsLast commitGuavaCollections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.GitHub starsLast commit
JADEFramework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)--JADEFramework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)--
Javadoc PublisherGenerate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.GitHub starsLast commitJavadoc PublisherGenerate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.GitHub starsLast commit
Java Diff UtilsUtilities for text or data comparison and patching.--Java Diff UtilsUtilities for text or data comparison and patching.--
JavaVerbalExpressionsLibrary that helps with constructing difficult regular expressions.GitHub starsLast commitJavaVerbalExpressionsLibrary that helps with constructing difficult regular expressions.GitHub starsLast commit
JGitLightweight, pure Java library implementing the Git version control system.--JGitLightweight, pure Java library implementing the Git version control system.--
JKScopeJava scope functions inspired by Kotlin.GitHub starsLast commitJKScopeJava scope functions inspired by Kotlin.GitHub starsLast commit
minio-javaProvides simple APIs to access any Amazon S3-compatible object storage server.GitHub starsLast commitminio-javaProvides simple APIs to access any Amazon S3-compatible object storage server.GitHub starsLast commit
ProtégéProvides an ontology editor and a framework to build knowledge-based systems.--ProtégéProvides an ontology editor and a framework to build knowledge-based systems.--
Semver4jLightweight library that helps you handling semantic versioning with different modes.GitHub starsLast commitSemver4jLightweight library that helps you handling semantic versioning with different modes.GitHub starsLast commit
Underscore-javaPort of Underscore.js functions.GitHub starsLast commitUnderscore-javaPort of Underscore.js functions.GitHub starsLast commit
@@ -6094,33 +6094,33 @@ _Utilities that help create the development shell environment and switch between ### Version Managers - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
jabbaJava Version Manager inspired by nvm. Supports macOS, Linux and Windows.GitHub starsLast commitjabbaJava Version Manager inspired by nvm. Supports macOS, Linux and Windows.GitHub starsLast commit
jenvJava Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.GitHub starsLast commitjenvJava Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.GitHub starsLast commit
SDKManJava Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.GitHub starsLast commitSDKManJava Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.GitHub starsLast commit
@@ -6135,45 +6135,45 @@ _Libraries that analyze the content of websites._ ### Web Crawling - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
Apache NutchHighly extensible, highly scalable web crawler for production environments.--Apache NutchHighly extensible, highly scalable web crawler for production environments.--
Crawler4jSimple and lightweight web crawler.GitHub starsLast commitCrawler4jSimple and lightweight web crawler.GitHub starsLast commit
jsoupScrapes, parses, manipulates and cleans HTML.--jsoupScrapes, parses, manipulates and cleans HTML.--
StormCrawlerSDK for building low-latency and scalable web crawlers.--StormCrawlerSDK for building low-latency and scalable web crawlers.--
webmagicScalable crawler with downloading, url management, content extraction and persistent.GitHub starsLast commitwebmagicScalable crawler with downloading, url management, content extraction and persistent.GitHub starsLast commit
@@ -6188,111 +6188,111 @@ _Frameworks that handle the communication between the layers of a web applicatio ### Web Frameworks - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
ActiveJLightweight asynchronous framework built from the ground up for developing high-performance web applications.--ActiveJLightweight asynchronous framework built from the ground up for developing high-performance web applications.--
Apache TapestryComponent-oriented framework for creating dynamic, robust, highly scalable web applications.--Apache TapestryComponent-oriented framework for creating dynamic, robust, highly scalable web applications.--
Apache WicketComponent-based web application framework similar to Tapestry, with a stateful GUI.--Apache WicketComponent-based web application framework similar to Tapestry, with a stateful GUI.--
BladeLightweight, modular framework that aims to be elegant and simple.GitHub starsLast commitBladeLightweight, modular framework that aims to be elegant and simple.GitHub starsLast commit
BootiqueMinimally opinionated framework for runnable apps.--BootiqueMinimally opinionated framework for runnable apps.--
FireflyAsynchronous framework for rapid development of high-performance web application.--FireflyAsynchronous framework for rapid development of high-performance web application.--
JavalinMicroframework for web applications.--JavalinMicroframework for web applications.--
JoobyScalable, fast and modular micro-framework that offers multiple programming models.--JoobyScalable, fast and modular micro-framework that offers multiple programming models.--
NinjaFull-stack web framework.--NinjaFull-stack web framework.--
PippoSmall, highly modularized, Sinatra-like framework.--PippoSmall, highly modularized, Sinatra-like framework.--
PlayBuilt on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.--PlayBuilt on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.--
PrimeFacesJSF framework with both free and commercial/support versions and frontend components.--PrimeFacesJSF framework with both free and commercial/support versions and frontend components.--
RatpackSet of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications.--RatpackSet of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications.--
TakesOpinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.GitHub starsLast commitTakesOpinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.GitHub starsLast commit
VaadinFull-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.--VaadinFull-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.--
WebForms CoreA technology for managing HTML tags from the server.--WebForms CoreA technology for managing HTML tags from the server.--
@@ -6307,33 +6307,33 @@ _Platforms and frameworks for orchestrating workflows and business processes._ ### Workflow Orchestration Engines - +
- - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
CadenceStateful code platform from Uber.--CadenceStateful code platform from Uber.--
flowableCompact and efficient workflow and business process management platform.GitHub starsLast commitflowableCompact and efficient workflow and business process management platform.GitHub starsLast commit
TemporalMicroservice orchestration platform, forked from Cadence but gRPC based.--TemporalMicroservice orchestration platform, forked from Cadence but gRPC based.--
diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 2b0250d3..c9435413 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -150,13 +150,13 @@ String createHtmlTable(List entries, Map bad var table = new StringBuilder(); table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); table.append("### ").append(sectionName).append("\n\n"); - table.append("\n"); + table.append("
\n"); table.append("\n"); table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); table.append("\n"); table.append("\n"); table.append("\n"); @@ -168,10 +168,10 @@ String createHtmlTable(List entries, Map bad var commit = badge != null ? badge.lastCommitBadge() : Constants.NO_BADGE; table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); + table.append("\n"); table.append("\n"); } From 05e1330537bb1627438842d8133df5b7b54d6ddc Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:56:32 +0200 Subject: [PATCH 395/533] Improve badge size --- README.md | 3276 +++++++++++++-------------- scripts/step_3_generate_badges.java | 4 +- scripts/step_4_generate_tables.java | 8 +- 3 files changed, 1644 insertions(+), 1644 deletions(-) diff --git a/README.md b/README.md index 5e2cc8f4..a035ce8c 100644 --- a/README.md +++ b/README.md @@ -101,22 +101,22 @@ _Frameworks and libraries that help implementing and verifying design and archit - - + + - - + + - - + +
NameDescriptionStarsUpdatedNameDescriptionStarsUpdated
").append(entry.name()).append("").append(desc).append("").append(stars).append("").append(commit).append("").append(entry.name()).append("").append(desc).append("").append(stars).append("").append(commit).append("
Name DescriptionStarsUpdatedStarsUpdated
ArchUnit Test library for specifying and asserting architecture rules.GitHub starsLast commitGitHub starsLast commit
jMolecules Annotations and interfaces to express design and architecture concepts in code.GitHub starsLast commitGitHub starsLast commit
@@ -136,34 +136,34 @@ _Frameworks that help you to leverage LLMs and AI._ Name Description -Stars -Updated +Stars +Updated
LangChain4j Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. -GitHub stars -Last commit +GitHub stars +Last commit MCP 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. -GitHub stars -Last commit +GitHub stars +Last commit simple-openai Library to use the OpenAI API (and compatible ones) in the simplest possible way. -GitHub stars -Last commit +GitHub stars +Last commit Spring AI Application framework for AI engineering for Spring. -- -- +- +- @@ -183,52 +183,52 @@ _Frameworks that ease bean mapping._ Name Description -Stars -Updated +Stars +Updated dOOv Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. -GitHub stars -Last commit +GitHub stars +Last commit JMapper Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. -GitHub stars -Last commit +GitHub stars +Last commit MapStruct Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. -GitHub stars -Last commit +GitHub stars +Last commit ModelMapper Intelligent object mapping library that automatically maps objects to each other. -GitHub stars -Last commit +GitHub stars +Last commit Orika JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. -GitHub stars -Last commit +GitHub stars +Last commit reMap Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -GitHub stars -Last commit +GitHub stars +Last commit Selma Annotation processor-based bean mapper. -GitHub stars -Last commit +GitHub stars +Last commit @@ -248,34 +248,34 @@ _Tools that handle the build cycle and dependencies of an application._ Name Description -Stars -Updated +Stars +Updated Apache Maven 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 Tool from Google that builds code quickly and reliably. -- -- +- +- Buck2 Encourages the creation of small, reusable modules consisting of code and resources. -GitHub stars -Last commit +GitHub stars +Last commit Gradle Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. -- -- +- +- @@ -295,70 +295,70 @@ _Libraries to manipulate bytecode programmatically._ Name Description -Stars -Updated +Stars +Updated ASM All-purpose, low-level bytecode manipulation and analysis. -- -- +- +- Byte Buddy Further simplifies bytecode generation with a fluent API. -- -- +- +- bytecode-viewer Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Byteman Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -- -- +- +- cglib Bytecode generation library. -GitHub stars -Last commit +GitHub stars +Last commit Javassist Tries to simplify bytecode editing. -GitHub stars -Last commit +GitHub stars +Last commit Maker Provides low level bytecode generation. -GitHub stars -Last commit +GitHub stars +Last commit Mixin Manipulate bytecode at runtime using real Java code. -GitHub stars -Last commit +GitHub stars +Last commit Perses Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. -GitHub stars -Last commit +GitHub stars +Last commit Recaf JVM reverse engineering toolkit, essentially an IDE for Java bytecode. -- -- +- +- @@ -378,34 +378,34 @@ _Libraries that provide caching facilities._ Name Description -Stars -Updated +Stars +Updated cache2k In-memory high performance caching library. -- -- +- +- Caffeine High-performance, near-optimal caching library. -GitHub stars -Last commit +GitHub stars +Last commit Ehcache Distributed general-purpose cache. -- -- +- +- Infinispan Highly concurrent key/value datastore used for caching. -- -- +- +- @@ -429,40 +429,40 @@ _Libraries to assist with parsing command line arguments._ Name Description -Stars -Updated +Stars +Updated Airline Annotation-based framework for parsing Git-like command-line arguments. -- -- +- +- JCommander Command-line argument-parsing framework with custom types and validation via implementing interfaces. -- -- +- +- jbock Reflectionless command line parser. -GitHub stars -Last commit +GitHub stars +Last commit JLine Includes features from modern shells like completion or history. -GitHub stars -Last commit +GitHub stars +Last commit picocli ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. -- -- +- +- @@ -482,34 +482,34 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ Name Description -Stars -Updated +Stars +Updated Jansi ANSI escape codes to format console output. -GitHub stars -Last commit +GitHub stars +Last commit Jexer Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -- -- +- +- Text-IO Aids the creation of full console-based applications. -GitHub stars -Last commit +GitHub stars +Last commit Lanterna Easy console text-GUI library, similar to curses. (LGPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit @@ -529,22 +529,22 @@ _Libraries to integrate or use cloud-specific features._ Name Description -Stars -Updated +Stars +Updated AWS SDK for Java Provides Java APIs for interacting with Amazon Web Services. -GitHub stars -Last commit +GitHub stars +Last commit Google Cloud Client Libraries Client libraries for accessing Google Cloud services from Java applications. -GitHub stars -Last commit +GitHub stars +Last commit @@ -564,82 +564,82 @@ _Tools that provide metrics and quality measurements._ Name Description -Stars -Updated +Stars +Updated Checkstyle Static analysis of coding conventions and standards. (LGPL-2.1-or-later) -GitHub stars -Last commit +GitHub stars +Last commit Error Prone Catches common programming mistakes as compile-time errors. -GitHub stars -Last commit +GitHub stars +Last commit Error Prone Support Error Prone extensions: extra bug checkers and a large battery of Refaster templates. -GitHub stars -Last commit +GitHub stars +Last commit Infer Modern static analysis tool for verifying the correctness of code. -GitHub stars -Last commit +GitHub stars +Last commit jQAssistant Static code analysis with Neo4J-based query language. (GPL-3.0-only) -- -- +- +- NullAway Eliminates NullPointerExceptions with low build-time overhead. -GitHub stars -Last commit +GitHub stars +Last commit PMD Source code analysis for finding bad coding practices. -GitHub stars -Last commit +GitHub stars +Last commit p3c Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. -GitHub stars -Last commit +GitHub stars +Last commit RefactorFirst Identifies and prioritizes God Classes and Highly Coupled classes. -GitHub stars -Last commit +GitHub stars +Last commit SonarJava Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Spoon Library for analyzing and transforming Java source code. -GitHub stars -Last commit +GitHub stars +Last commit Spotbugs Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) -GitHub stars -Last commit +GitHub stars +Last commit @@ -659,28 +659,28 @@ _Frameworks and tools that enable code coverage metrics collection for test suit Name Description -Stars -Updated +Stars +Updated Clover Relies on source-code instrumentation instead of bytecode instrumentation. -- -- +- +- Cobertura Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) -- -- +- +- JaCoCo Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. -- -- +- +- @@ -700,94 +700,94 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a Name Description -Stars -Updated +Stars +Updated ADT4J JSR-269 code generator for algebraic data types. -GitHub stars -Last commit +GitHub stars +Last commit Auto Generates factory, service, and value classes. -GitHub stars -Last commit +GitHub stars +Last commit Avaje Http Server Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -- -- +- +- EasyEntityToDTO Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -GitHub stars -Last commit +GitHub stars +Last commit FreeBuilder Automatically generates the Builder pattern. -GitHub stars -Last commit +GitHub stars +Last commit Geci Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -GitHub stars -Last commit +GitHub stars +Last commit Immutables Annotation processors to generate simple, safe and consistent value objects. -- -- +- +- JavaPoet API to generate source files. -GitHub stars -Last commit +GitHub stars +Last commit JHipster Yeoman source code generator for Spring Boot and AngularJS. -GitHub stars -Last commit +GitHub stars +Last commit Joda-Beans Small framework that adds queryable properties to Java, enhancing JavaBeans. -- -- +- +- JSpecify Package-Info Generator Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -GitHub stars -Last commit +GitHub stars +Last commit Lombok Code generator that aims to reduce verbosity. -- -- +- +- Record-Builder Companion builder class, withers and templates for Java records. -GitHub stars -Last commit +GitHub stars +Last commit Telosys Simple and light code generator available as an Eclipse Plugin and also as a CLI. -- -- +- +- @@ -807,28 +807,28 @@ _Frameworks that help to create parsers, interpreters or compilers._ Name Description -Stars -Updated +Stars +Updated ANTLR Complex full-featured framework for top-down parsing. -- -- +- +- JavaCC Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -- -- +- +- JFlex Lexical analyzer generator. -- -- +- +- @@ -848,28 +848,28 @@ _Libraries which seek to gain high level information from images and videos._ Name Description -Stars -Updated +Stars +Updated BoofCV Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -- -- +- +- ImageJ Medical image processing application with an API. -- -- +- +- JavaCV Java interface to OpenCV, FFmpeg, and much more. -GitHub stars -Last commit +GitHub stars +Last commit @@ -889,82 +889,82 @@ _Libraries that provide external configuration._ Name Description -Stars -Updated +Stars +Updated avaje config Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -- -- +- +- centraldogma Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. -GitHub stars -Last commit +GitHub stars +Last commit config Configuration library supporting Java properties, JSON or its human optimized superset HOCON. -GitHub stars -Last commit +GitHub stars +Last commit Configurate Configuration library with support for various configuration formats and transformations. -GitHub stars -Last commit +GitHub stars +Last commit Curator Framework High-level API for Apache ZooKeeper. -- -- +- +- dotenv Twelve-factor configuration library which uses environment-specific files. -GitHub stars -Last commit +GitHub stars +Last commit Externalized Properties Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit ini4j Provides an API for handling Windows' INI files. -- -- +- +- KAConf Annotation-based configuration system for Java and Kotlin. -GitHub stars -Last commit +GitHub stars +Last commit microconfig 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 Reduces boilerplate of properties. -GitHub stars -Last commit +GitHub stars +Last commit @@ -984,34 +984,34 @@ _Libraries that help with implementing optimization and satisfiability problems. Name Description -Stars -Updated +Stars +Updated Choco Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. -- -- +- +- JaCoP Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -GitHub stars -Last commit +GitHub stars +Last commit OptaPlanner Business planning and resource scheduling optimization solver. -- -- +- +- Timefold Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. -- -- +- +- @@ -1031,40 +1031,40 @@ _Frameworks and libraries that simplify reading/writing CSV data._ Name Description -Stars -Updated +Stars +Updated FastCSV Performance-optimized, dependency-free and RFC 4180 compliant. -GitHub stars -Last commit +GitHub stars +Last commit jackson-dataformat-csv Jackson extension for reading and writing CSV. -GitHub stars -Last commit +GitHub stars +Last commit opencsv Simple CSV parser. -- -- +- +- Super CSV Powerful CSV parser with support for Dozer, Joda-Time and Java 8. -- -- +- +- uniVocity-parsers One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. -GitHub stars -Last commit +GitHub stars +Last commit @@ -1084,82 +1084,82 @@ _Efficient and specific data structures._ Name Description -Stars -Updated +Stars +Updated Apache Avro Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -- -- +- +- Apache Orc Fast and efficient columnar storage format for Hadoop-based workloads. -- -- +- +- Apache Parquet Columnar storage format based on assembly algorithms from Google's paper on Dremel. -- -- +- +- Apache Thrift Data interchange format that originated at Facebook. -- -- +- +- Big Queue Fast and persistent queue based on memory-mapped files. -GitHub stars -Last commit +GitHub stars +Last commit HyperMinHash-java Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. -GitHub stars -Last commit +GitHub stars +Last commit Persistent Collection Persistent and immutable analogue of the Java Collections Framework. -GitHub stars -Last commit +GitHub stars +Last commit Protobuf Google's data interchange format. -GitHub stars -Last commit +GitHub stars +Last commit RoaringBitmap Fast and efficient compressed bitmap. -GitHub stars -Last commit +GitHub stars +Last commit SBE Simple Binary Encoding, one of the fastest message formats around. -GitHub stars -Last commit +GitHub stars +Last commit Tape Lightning-fast, transactional, file-based FIFO. -GitHub stars -Last commit +GitHub stars +Last commit Wire Clean, lightweight protocol buffers. -GitHub stars -Last commit +GitHub stars +Last commit @@ -1179,238 +1179,238 @@ _Everything that simplifies interactions with the database._ Name Description -Stars -Updated +Stars +Updated Apache Calcite Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -- -- +- +- Apache Drill Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -- -- +- +- Apache Phoenix High-performance relational database layer over HBase for low-latency applications. -- -- +- +- ArangoDB ArangoDB Java driver. -GitHub stars -Last commit +GitHub stars +Last commit Chronicle Map Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -GitHub stars -Last commit +GitHub stars +Last commit Debezium Low latency data streaming platform for change data capture. -- -- +- +- druid High-performance, column-oriented, distributed data store. -- -- +- +- eXist NoSQL document database and application platform. (LGPL-2.1-only) -GitHub stars -Last commit +GitHub stars +Last commit FlexyPool Brings metrics and failover strategies to the most common connection pooling solutions. -GitHub stars -Last commit +GitHub stars +Last commit Flyway Simple database migration tool. -- -- +- +- H2 Small SQL database notable for its in-memory functionality. -- -- +- +- HikariCP High-performance JDBC connection pool. -GitHub stars -Last commit +GitHub stars +Last commit HSQLDB HyperSQL 100% Java database. -- -- +- +- JDBI Convenient abstraction of JDBC. -- -- +- +- Jedis Small client for interaction with Redis, with methods for commands. -GitHub stars -Last commit +GitHub stars +Last commit Jest Client for the Elasticsearch REST API. -GitHub stars -Last commit +GitHub stars +Last commit jetcd Client library for etcd. -GitHub stars -Last commit +GitHub stars +Last commit Jinq Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). -GitHub stars -Last commit +GitHub stars +Last commit jOOQ Generates typesafe code based on SQL schema. -- -- +- +- Leaf Distributed ID generate service. -GitHub stars -Last commit +GitHub stars +Last commit Lettuce Lettuce is a scalable Redis client for building non-blocking Reactive applications. -- -- +- +- Liquibase Database-independent library for tracking, managing and applying database schema changes. -- -- +- +- MapDB Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. -- -- +- +- MariaDB4j Launcher for MariaDB that requires no installation or external dependencies. -GitHub stars -Last commit +GitHub stars +Last commit Modality Lightweight ORM with database reverse engineering features. -GitHub stars -Last commit +GitHub stars +Last commit OpenDJ LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -GitHub stars -Last commit +GitHub stars +Last commit Querydsl Typesafe unified queries. -- -- +- +- QueryStream Build JPA Criteria queries using a Stream-like API. -GitHub stars -Last commit +GitHub stars +Last commit QuestDB High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. -GitHub stars -Last commit +GitHub stars +Last commit Realm Mobile database to run directly inside phones, tablets or wearables. -GitHub stars -Last commit +GitHub stars +Last commit Redisson Allows for distributed and scalable data structures on top of a Redis server. -GitHub stars -Last commit +GitHub stars +Last commit requery Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. -GitHub stars -Last commit +GitHub stars +Last commit Speedment Database access library that utilizes Java 8's Stream API for querying. -GitHub stars -Last commit +GitHub stars +Last commit Spring Data JPA MongoDB Expressions Allows you to use MongoDB query language to query your relational database. -GitHub stars -Last commit +GitHub stars +Last commit Trino Distributed SQL query engine for big data. -- -- +- +- Vibur DBCP JDBC connection pool library with advanced performance monitoring capabilities. -- -- +- +- Xodus Highly concurrent transactional schema-less and ACID-compliant embedded database. -GitHub stars -Last commit +GitHub stars +Last commit CosId Universal, flexible, high-performance distributed ID generator. -GitHub stars -Last commit +GitHub stars +Last commit @@ -1430,34 +1430,34 @@ _Libraries related to handling date and time._ Name Description -Stars -Updated +Stars +Updated iCal4j Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -GitHub stars -Last commit +GitHub stars +Last commit Jollyday Determines the holidays for a given year, country/name and eventually state/region. -GitHub stars -Last commit +GitHub stars +Last commit ThreeTen-Extra Additional date-time classes that complement those in JDK 8. -GitHub stars -Last commit +GitHub stars +Last commit Time4J Advanced date and time library. (LGPL-2.1-only) -GitHub stars -Last commit +GitHub stars +Last commit @@ -1477,58 +1477,58 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. Name Description -Stars -Updated +Stars +Updated Apache DeltaSpike CDI extension framework. -- -- +- +- Avaje Inject Microservice-focused compile-time injection framework without reflection. -- -- +- +- Dagger Compile-time injection framework without reflection. -- -- +- +- Feather Ultra-lightweight, JSR-330-compliant dependency injection library. -GitHub stars -Last commit +GitHub stars +Last commit Governator Extensions and utilities that enhance Google Guice. -GitHub stars -Last commit +GitHub stars +Last commit Guice Lightweight and opinionated framework that completes Dagger. -GitHub stars -Last commit +GitHub stars +Last commit HK2 Lightweight and dynamic dependency injection framework. -- -- +- +- JayWire Lightweight dependency injection framework. (LGPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit @@ -1548,70 +1548,70 @@ _Augmentation of the development process at a fundamental level._ Name Description -Stars -Updated +Stars +Updated AspectJ Seamless aspect-oriented programming extension. -- -- +- +- DCEVM JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) -- -- +- +- Faux Pas Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -GitHub stars -Last commit +GitHub stars +Last commit HotswapAgent Unlimited runtime class and resource redefinition. (GPL-2.0-only) -GitHub stars -Last commit +GitHub stars +Last commit JavaParser Parse, modify and generate Java code. -GitHub stars -Last commit +GitHub stars +Last commit JavaSymbolSolver Symbol solver. -GitHub stars -Last commit +GitHub stars +Last commit Manifold Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -GitHub stars -Last commit +GitHub stars +Last commit NoException Allows checked exceptions in functional interfaces and converts exceptions to Optional return. -- -- +- +- SneakyThrow Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -GitHub stars -Last commit +GitHub stars +Last commit Tail Enable infinite recursion using tail call optimization. -- -- +- +- @@ -1631,94 +1631,94 @@ _Libraries and frameworks for writing distributed and fault-tolerant application Name Description -Stars -Updated +Stars +Updated Apache Geode In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -- -- +- +- Apache Storm Realtime computation system. -- -- +- +- Apache ZooKeeper Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- -- +- +- Atomix Fault-tolerant distributed coordination framework. -- -- +- +- Axon Framework for creating CQRS applications. -- -- +- +- Dropwizard Circuit Breaker Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Failsafe Simple failure handling with retries and circuit breakers. -GitHub stars -Last commit +GitHub stars +Last commit Hazelcast Highly scalable in-memory datagrid with a free open-source version. -GitHub stars -Last commit +GitHub stars +Last commit JGroups Toolkit for reliable messaging and cluster creation. -- -- +- +- Quasar Lightweight threads and actors for the JVM. -- -- +- +- resilience4j Functional fault tolerance library. -GitHub stars -Last commit +GitHub stars +Last commit OpenIG High-performance reverse proxy server with specialized session management and credential replay functionality. -GitHub stars -Last commit +GitHub stars +Last commit ScaleCube Services Embeddable Cluster-Membership library based on SWIM and gossip protocol. -GitHub stars -Last commit +GitHub stars +Last commit Zuul Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. -GitHub stars -Last commit +GitHub stars +Last commit @@ -1738,34 +1738,34 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u Name Description -Stars -Updated +Stars +Updated Atomikos Provides transactions for REST, SOA and microservices with support for JTA and XA. -- -- +- +- Bitronix Simple but complete implementation of the JTA 1.1 API. -GitHub stars -Last commit +GitHub stars +Last commit Narayana Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) -- -- +- +- Seata Delivers high performance and easy to use distributed transaction services under a microservices architecture. -GitHub stars -Last commit +GitHub stars +Last commit @@ -1785,70 +1785,70 @@ _Tools that handle the distribution of applications in native formats._ Name Description -Stars -Updated +Stars +Updated Artipie Binary artifact management toolkit which hosts them on the file system or S3. -GitHub stars -Last commit +GitHub stars +Last commit Capsule Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. -GitHub stars -Last commit +GitHub stars +Last commit Central Repository Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- -- +- +- Getdown System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -GitHub stars -Last commit +GitHub stars +Last commit IzPack Setup authoring tool for cross-platform deployments. -- -- +- +- JavaPackager Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -GitHub stars -Last commit +GitHub stars +Last commit jDeploy Deploy desktop apps as native Mac, Windows or Linux bundles. -- -- +- +- jlink.online Builds optimized runtimes over HTTP. -GitHub stars -Last commit +GitHub stars +Last commit packr Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. -GitHub stars -Last commit +GitHub stars +Last commit really-executable-jars-maven-plugin Maven plugin for making self-executing JARs. -GitHub stars -Last commit +GitHub stars +Last commit @@ -1868,40 +1868,40 @@ _Libraries that assist with processing office document formats._ Name Description -Stars -Updated +Stars +Updated Apache POI Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- -- +- +- documents4j API for document format conversion using third-party converters such as MS Word. -- -- +- +- docx4j Create and manipulate Microsoft Open XML files. -- -- +- +- fastexcel High performance library to read and write large Excel (XLSX) worksheets. -GitHub stars -Last commit +GitHub stars +Last commit zerocell Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. -GitHub stars -Last commit +GitHub stars +Last commit @@ -1921,46 +1921,46 @@ _Libraries related to the financial domain._ Name Description -Stars -Updated +Stars +Updated Cassandre Trading bot framework. -GitHub stars -Last commit +GitHub stars +Last commit Parity Platform for trading venues. -GitHub stars -Last commit +GitHub stars +Last commit Philadelphia Low-latency financial information exchange. -GitHub stars -Last commit +GitHub stars +Last commit Square Integration with the Square API. -GitHub stars -Last commit +GitHub stars +Last commit Stripe Integration with the Stripe API. -GitHub stars -Last commit +GitHub stars +Last commit ta4j Library for technical analysis. -GitHub stars -Last commit +GitHub stars +Last commit @@ -1980,52 +1980,52 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc Name Description -Stars -Updated +Stars +Updated CATG Concolic unit testing engine. Automatically generates unit tests using formal methods. -GitHub stars -Last commit +GitHub stars +Last commit Checker Framework Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) -- -- +- +- Daikon Detects likely program invariants and generates JML specs based on those invariants. -- -- +- +- Java Path Finder (JPF) JVM formal verification tool containing a model checker and more. Created by NASA. -GitHub stars -Last commit +GitHub stars +Last commit JMLOK 2.0 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 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 Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) -- -- +- +- @@ -2045,64 +2045,64 @@ _Libraries that facilitate functional programming._ Name Description -Stars -Updated +Stars +Updated Cyclops Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. -GitHub stars -Last commit +GitHub stars +Last commit derive4j Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Fugue Functional extensions to Guava. -- -- +- +- Functional Java Implements numerous basic and advanced programming abstractions that assist composition-oriented development. -- -- +- +- jOOλ 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. -GitHub stars -Last commit +GitHub stars +Last commit Packrat Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. -GitHub stars -Last commit +GitHub stars +Last commit protonpack Collection of stream utilities. -GitHub stars -Last commit +GitHub stars +Last commit StreamEx Enhances Java 8 Streams. -GitHub stars -Last commit +GitHub stars +Last commit Vavr Functional component library that provides persistent data types and functional control structures. -- -- +- +- @@ -2122,64 +2122,64 @@ _Frameworks that support the development of games._ Name Description -Stars -Updated +Stars +Updated FXGL JavaFX Game Development Framework. -- -- +- +- JBox2D Port of the renowned C++ 2D physics engine. -- -- +- +- jMonkeyEngine Game engine for modern 3D development. -- -- +- +- libGDX All-round cross-platform, high-level framework. -- -- +- +- Litiengine AWT-based, lightweight 2D game engine. -- -- +- +- LWJGL Robust framework that abstracts libraries like OpenGL/CL/AL. -- -- +- +- Mini2Dx Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. -- -- +- +- Void2D High-level 2D game engine with built-in physics based on Swing. -GitHub stars -Last commit +GitHub stars +Last commit vulkan4j Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. -GitHub stars -Last commit +GitHub stars +Last commit @@ -2199,58 +2199,58 @@ _Libraries for working with geospatial data and algorithms._ Name Description -Stars -Updated +Stars +Updated Apache SIS Library for developing geospatial applications. -- -- +- +- Geo GeoHash utilities in Java. -GitHub stars -Last commit +GitHub stars +Last commit GeoTools Library that provides tools for geospatial data. (LGPL-2.1-only) -- -- +- +- GraphHopper Road-routing engine. Used as a Java library or standalone web service. -GitHub stars -Last commit +GitHub stars +Last commit H2GIS Spatial extension of the H2 database. (LGPL-3.0-only) -- -- +- +- Jgeohash Library for using the GeoHash algorithm. -- -- +- +- Mapsforge Map rendering based on OpenStreetMap data. (LGPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Spatial4j General-purpose spatial/geospatial library. -GitHub stars -Last commit +GitHub stars +Last commit @@ -2270,34 +2270,34 @@ _Libraries to create modern graphical user interfaces._ Name Description -Stars -Updated +Stars +Updated JavaFX Successor of Swing. -- -- +- +- Scene Builder Visual layout tool for JavaFX applications. -- -- +- +- SnapKit Modern Java UI library for both desktop and web. -GitHub stars -Last commit +GitHub stars +Last commit SWT Graphical widget toolkit. -- -- +- +- @@ -2317,52 +2317,52 @@ _Everything about high-performance computation, from collections to specific lib Name Description -Stars -Updated +Stars +Updated Agrona Data structures and utility methods that are common in high-performance applications. -GitHub stars -Last commit +GitHub stars +Last commit Disruptor Inter-thread messaging library. -- -- +- +- Eclipse Collections Collections framework inspired by Smalltalk. -GitHub stars -Last commit +GitHub stars +Last commit fastutil Fast and compact type-specific collections. -- -- +- +- HPPC Primitive collections. -- -- +- +- JCTools Concurrency tools currently missing from the JDK. -GitHub stars -Last commit +GitHub stars +Last commit Koloboke Carefully designed extension of the Java Collections Framework with primitive specializations and more. -GitHub stars -Last commit +GitHub stars +Last commit @@ -2382,70 +2382,70 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ Name Description -Stars -Updated +Stars +Updated Apache HttpComponents Toolset of low-level Java components focused on HTTP and associated protocols. -- -- +- +- Async Http Client Asynchronous HTTP and WebSocket client library. -GitHub stars -Last commit +GitHub stars +Last commit Avaje Http Client Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. -- -- +- +- Feign HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. -GitHub stars -Last commit +GitHub stars +Last commit Google HTTP Client Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. -GitHub stars -Last commit +GitHub stars +Last commit methanol HTTP client extensions library. -GitHub stars -Last commit +GitHub stars +Last commit Retrofit Typesafe REST client. -- -- +- +- Ribbon Client-side IPC library that is battle-tested in the cloud. -GitHub stars -Last commit +GitHub stars +Last commit Riptide Client-side response routing for Spring's RestTemplate. -GitHub stars -Last commit +GitHub stars +Last commit unirest-java Simplified, lightweight HTTP client library. -GitHub stars -Last commit +GitHub stars +Last commit @@ -2465,34 +2465,34 @@ _Libraries that handle serialization to hypermedia types._ Name Description -Stars -Updated +Stars +Updated hate Builds hypermedia-friendly objects according to HAL specification. -GitHub stars -Last commit +GitHub stars +Last commit JSON-LD JSON-LD implementation. -GitHub stars -Last commit +GitHub stars +Last commit Siren4J Library for the Siren specification. -GitHub stars -Last commit +GitHub stars +Last commit Spring HATEOAS Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. -GitHub stars -Last commit +GitHub stars +Last commit @@ -2512,40 +2512,40 @@ _Integrated development environments that try to simplify several aspects of dev Name Description -Stars -Updated +Stars +Updated Eclipse Established open-source project with support for lots of plugins and languages. -- -- +- +- jGRASP Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -- -- +- +- NetBeans Provides integration for several Java SE and EE features, from database access to HTML5. -- -- +- +- SnapCode Modern IDE for Java running in the browser, focused on education. -- -- +- +- Visual Studio Code Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. -- -- +- +- @@ -2565,64 +2565,64 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica Name Description -Stars -Updated +Stars +Updated Barcode-Lib4J Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. -GitHub stars -Last commit +GitHub stars +Last commit Imgscalr Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -GitHub stars -Last commit +GitHub stars +Last commit Tess4J JNA wrapper for Tesseract OCR API. -GitHub stars -Last commit +GitHub stars +Last commit Thumbnailator High-quality thumbnail generation library. -GitHub stars -Last commit +GitHub stars +Last commit TwelveMonkeys Collection of plugins that extend the number of supported image file formats. -GitHub stars -Last commit +GitHub stars +Last commit ZXing Multi-format 1D/2D barcode image processing library. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit vips-ffm Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. -GitHub stars -Last commit +GitHub stars +Last commit scrimage Immutable, functional, and performant JVM library for manipulation of images. -- -- +- +- @@ -2642,46 +2642,46 @@ _Libraries that help make the Java introspection and reflection API easier and f Name Description -Stars -Updated +Stars +Updated ClassGraph ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. -GitHub stars -Last commit +GitHub stars +Last commit jOOR jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -GitHub stars -Last commit +GitHub stars +Last commit Mirror Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -- -- +- +- Objenesis Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. -- -- +- +- ReflectASM ReflectASM is a very small Java library that provides high performance reflection by using code generation. -GitHub stars -Last commit +GitHub stars +Last commit Reflections Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. -GitHub stars -Last commit +GitHub stars +Last commit @@ -2701,52 +2701,52 @@ _Libraries for scheduling background jobs._ Name Description -Stars -Updated +Stars +Updated 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. -GitHub stars -Last commit +GitHub stars +Last commit Quartz Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. -GitHub stars -Last commit +GitHub stars +Last commit Sundial Lightweight framework to simply define jobs, define triggers and start the scheduler. -GitHub stars -Last commit +GitHub stars +Last commit Wisp Simple library with minimal footprint and straightforward API. -GitHub stars -Last commit +GitHub stars +Last commit db-scheduler Persistent and cluster-friendly scheduler. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit @@ -2766,112 +2766,112 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ Name Description -Stars -Updated +Stars +Updated Avaje Jsonb Reflection-free Json binding via source code generation with Jackson-like annotations. -- -- +- +- DSL-JSON JSON library with advanced compile time databinding. -GitHub stars -Last commit +GitHub stars +Last commit Genson Powerful and easy-to-use Java-to-JSON conversion library. -- -- +- +- Gson Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -GitHub stars -Last commit +GitHub stars +Last commit HikariJSON High-performance JSON parser, 2x faster than Jackson. -GitHub stars -Last commit +GitHub stars +Last commit jackson-modules-java8 Set of Jackson modules for Java 8 datatypes and features. -GitHub stars -Last commit +GitHub stars +Last commit Jackson-datatype-money Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. -GitHub stars -Last commit +GitHub stars +Last commit Jackson Similar to GSON, but offers performance gains if you need to instantiate the library more often. -GitHub stars -Last commit +GitHub stars +Last commit JSON-io Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. -GitHub stars -Last commit +GitHub stars +Last commit jsoniter Fast and flexible library with iterator and lazy parsing API. -- -- +- +- LoganSquare JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. -GitHub stars -Last commit +GitHub stars +Last commit Moshi Modern JSON library, less opinionated and uses built-in types like List and Map. -GitHub stars -Last commit +GitHub stars +Last commit Yasson Binding layer between classes and JSON documents similar to JAXB. -GitHub stars -Last commit +GitHub stars +Last commit fastjson Very fast processor with no additional dependencies and full data binding. -GitHub stars -Last commit +GitHub stars +Last commit Jolt JSON to JSON transformation tool. -GitHub stars -Last commit +GitHub stars +Last commit JsonPath Extract data from JSON using XPATH-like syntax. -GitHub stars -Last commit +GitHub stars +Last commit JsonSurfer Streaming JsonPath processor dedicated to processing big and complicated JSON data. -GitHub stars -Last commit +GitHub stars +Last commit @@ -2891,88 +2891,88 @@ _Current implementations of the JVM/JDK._ Name Description -Stars -Updated +Stars +Updated Which JDK Overview of common JVMs with pros and cons. -- -- +- +- Adopt Open JDK Community-driven OpenJDK builds, including both HotSpot and OpenJ9. -- -- +- +- Corretto No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) -- -- +- +- Dragonwell8 Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. -GitHub stars -Last commit +GitHub stars +Last commit Graal Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) -GitHub stars -Last commit +GitHub stars +Last commit Liberica JDK Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) -- -- +- +- 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. -GitHub stars -Last commit +GitHub stars +Last commit Open JDK Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) -- -- +- +- ParparVM VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) -GitHub stars -Last commit +GitHub stars +Last commit RedHat Open JDK RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) -- -- +- +- SAP Machine SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -- -- +- +- Zulu OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) -- -- +- +- Microsoft JDK Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! -GitHub stars -Last commit +GitHub stars +Last commit @@ -2992,82 +2992,82 @@ _Libraries that log the behavior of an application._ Name Description -Stars -Updated +Stars +Updated Apache Log4j 2 Complete rewrite with a powerful plugin and configuration architecture. -- -- +- +- 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. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit Logstash Tool for managing log files. -- -- +- +- p6spy Enables logging for all JDBC transactions without changes to the code. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit Flogger Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. -- -- +- +- @@ -3087,100 +3087,100 @@ _Tools that provide specific statistical algorithms for learning from data._ Name Description -Stars -Updated +Stars +Updated Apache Flink Fast, reliable, large-scale data processing engine. -- -- +- +- Apache Mahout Scalable algorithms focused on collaborative filtering, clustering and classification. -- -- +- +- DatumBox Provides several algorithms and pre-trained models for natural language processing. -- -- +- +- Deeplearning4j Distributed and multi-threaded deep learning library. -- -- +- +- DJL High-level and engine-agnostic framework for deep learning. -- -- +- +- Intelligent java Seamlessly integrate with remote deep learning and language models programmatically. -GitHub stars -Last commit +GitHub stars +Last commit JSAT Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit m2cgen CLI tool to transpile models into native code. -GitHub stars -Last commit +GitHub stars +Last commit Neureka A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -GitHub stars -Last commit +GitHub stars +Last commit oj! Algorithms High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -- -- +- +- Oryx 2 Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. -GitHub stars -Last commit +GitHub stars +Last commit Siddhi Cloud native streaming and complex event processing engine. -GitHub stars -Last commit +GitHub stars +Last commit Smile Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -GitHub stars -Last commit +GitHub stars +Last commit Tribuo Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- -- +- +- Weka Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) -- -- +- +- @@ -3200,106 +3200,106 @@ _Tools that help send messages between clients to ensure protocol independency._ Name Description -Stars -Updated +Stars +Updated Aeron Efficient, reliable, unicast and multicast message transport. -GitHub stars -Last commit +GitHub stars +Last commit Apache ActiveMQ Message broker that implements JMS and converts synchronous to asynchronous communication. -- -- +- +- Apache Camel Glues together different transport APIs via Enterprise Integration Patterns. -- -- +- +- Apache Kafka High-throughput distributed messaging system. -- -- +- +- Apache Pulsar Distributed pub/sub-messaging system. -- -- +- +- Apache RocketMQ Fast, reliable, and scalable distributed messaging platform. -- -- +- +- Apache Qpid Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. -- -- +- +- AutoMQ AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -GitHub stars -Last commit +GitHub stars +Last commit Deezpatch Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. -GitHub stars -Last commit +GitHub stars +Last commit EventBus Simple publish/subscribe event bus. -GitHub stars -Last commit +GitHub stars +Last commit Hermes Fast and reliable message broker built on top of Kafka. -- -- +- +- JeroMQ Implementation of ZeroMQ. -GitHub stars -Last commit +GitHub stars +Last commit Nakadi Provides a RESTful API on top of Kafka. -GitHub stars -Last commit +GitHub stars +Last commit RabbitMQ Java client RabbitMQ client. -GitHub stars -Last commit +GitHub stars +Last commit Smack Cross-platform XMPP client library. -GitHub stars -Last commit +GitHub stars +Last commit NATS client NATS client. -GitHub stars -Last commit +GitHub stars +Last commit @@ -3319,88 +3319,88 @@ _Tools for creating and managing microservices._ Name Description -Stars -Updated +Stars +Updated ActiveRPC Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. -- -- +- +- Armeria Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. -GitHub stars -Last commit +GitHub stars +Last commit consul-api Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. -GitHub stars -Last commit +GitHub stars +Last commit Eureka REST-based service registry for resilient load balancing and failover. -GitHub stars -Last commit +GitHub stars +Last commit Helidon Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- -- +- +- JDA Wrapping of the Discord REST API and its WebSocket events. -GitHub stars -Last commit +GitHub stars +Last commit KeenType Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. -GitHub stars -Last commit +GitHub stars +Last commit kubernetes-client Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -GitHub stars -Last commit +GitHub stars +Last commit Micronaut Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -- -- +- +- Nacos Dynamic service discovery, configuration and service management platform for building cloud native applications. -- -- +- +- OpenAI-Java Java libraries for using OpenAI's GPT-3 API. -GitHub stars -Last commit +GitHub stars +Last commit Quarkus Kubernetes stack tailored for the HotSpot and Graal VM. -- -- +- +- Sentinel Flow control component enabling reliability, resilience and monitoring for microservices. -GitHub stars -Last commit +GitHub stars +Last commit @@ -3420,226 +3420,226 @@ _Everything else._ Name Description -Stars -Updated +Stars +Updated CQEngine Ultra-fast, SQL-like queries on Java collections. -GitHub stars -Last commit +GitHub stars +Last commit Design Patterns Implementation and explanation of the most common design patterns. -GitHub stars -Last commit +GitHub stars +Last commit FF4J Feature Flags for Java. -GitHub stars -Last commit +GitHub stars +Last commit FizzBuzz Enterprise Edition No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) -GitHub stars -Last commit +GitHub stars +Last commit IP2Location.io Java SDK Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. -GitHub stars -Last commit +GitHub stars +Last commit ISBN core A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. -GitHub stars -Last commit +GitHub stars +Last commit J2ObjC Java-to-Objective-C translator for porting Android libraries to iOS. -GitHub stars -Last commit +GitHub stars +Last commit JBake Static website generator. -- -- +- +- JBot Framework for building chatbots. (GPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit JCuda JCuda offers Java bindings for CUDA and CUDA-related libraries. -- -- +- +- JEmoji An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -GitHub stars -Last commit +GitHub stars +Last commit Jimfs In-memory file system. -GitHub stars -Last commit +GitHub stars +Last commit Joda-Money Basic currency and money classes and algorithms not provided by the JDK. -- -- +- +- jOOX Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. -GitHub stars -Last commit +GitHub stars +Last commit JPad Snippet runner. -- -- +- +- jsweet Source transpiler to TypeScript/JavaScript. -GitHub stars -Last commit +GitHub stars +Last commit Maven Wrapper Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. -GitHub stars -Last commit +GitHub stars +Last commit Membrane Service Proxy Open-source, reverse-proxy framework. -GitHub stars -Last commit +GitHub stars +Last commit MinimalFTP Lightweight, small and customizable FTP server. -GitHub stars -Last commit +GitHub stars +Last commit LittleProxy High performance HTTP proxy atop Netty's event-based networking library. -GitHub stars -Last commit +GitHub stars +Last commit Modern Java - A Guide to Java 8 Popular Java 8 guide. -GitHub stars -Last commit +GitHub stars +Last commit Modernizer Detect uses of legacy Java APIs. -GitHub stars -Last commit +GitHub stars +Last commit OctoLinker Browser extension which allows to navigate through code on GitHub more efficiently. -GitHub stars -Last commit +GitHub stars +Last commit OpenRefine Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -- -- +- +- PipelinR Small utility library for using handlers and commands with pipelines. -GitHub stars -Last commit +GitHub stars +Last commit Polyglot for Maven Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -GitHub stars -Last commit +GitHub stars +Last commit RR4J RR4J is a tool that records java bytecode execution and later allows developers to replay locally. -GitHub stars -Last commit +GitHub stars +Last commit Simple Java Mail Mailing with a clean and fluent API. -GitHub stars -Last commit +GitHub stars +Last commit Smooks Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -GitHub stars -Last commit +GitHub stars +Last commit Svix Library for the Svix API to send webhooks and verify signatures. -GitHub stars -Last commit +GitHub stars +Last commit Togglz Implementation of the Feature Toggles pattern. -- -- +- +- TypeTools Tools for resolving generic types. -GitHub stars -Last commit +GitHub stars +Last commit webcam-capture Library for using built-in and external webcams directly in Java. -GitHub stars -Last commit +GitHub stars +Last commit XMLBeam Processes XML by using annotations or XPath within code. -GitHub stars -Last commit +GitHub stars +Last commit yGuard Obfuscation via renaming and shrinking. -GitHub stars -Last commit +GitHub stars +Last commit JBang JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. -GitHub stars -Last commit +GitHub stars +Last commit @@ -3659,28 +3659,28 @@ _Tools for creating or managing mobile applications._ Name Description -Stars -Updated +Stars +Updated Codename One Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -- -- +- +- MobileUI Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -- -- +- +- Multi-OS Engine Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. -- -- +- +- @@ -3700,136 +3700,136 @@ _Tools that observe/monitor applications in production by providing telemetry._ Name Description -Stars -Updated +Stars +Updated Apitally Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. -GitHub stars -Last commit +GitHub stars +Last commit Automon Combines the power of AOP with monitoring and/or logging tools. -GitHub stars -Last commit +GitHub stars +Last commit Dropwizard Metrics Expose metrics via JMX or HTTP and send them to a database. -GitHub stars -Last commit +GitHub stars +Last commit Failsafe Actuator Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. -GitHub stars -Last commit +GitHub stars +Last commit Glowroot Open-source Java APM. -- -- +- +- HertzBeat Real-time monitoring system with custom-monitor and agentless. -GitHub stars -Last commit +GitHub stars +Last commit hippo4j Dynamic and observable thread pool framework. -GitHub stars -Last commit +GitHub stars +Last commit inspectIT 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. -- -- +- +- Jaeger client Jaeger client. -GitHub stars -Last commit +GitHub stars +Last commit JavaMelody Performance monitoring and profiling. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit Jolokia JMX over REST. -- -- +- +- Micrometer Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. -GitHub stars -Last commit +GitHub stars +Last commit Micrometer Tracing Vendor-neutral distributed tracing facade for the most popular tracer libraries. -GitHub stars -Last commit +GitHub stars +Last commit nudge4j Remote developer console from the browser for Java 8 via bytecode injection. -GitHub stars -Last commit +GitHub stars +Last commit OpenTelemetry Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. -GitHub stars -Last commit +GitHub stars +Last commit Pinpoint Open-source APM tool. -GitHub stars -Last commit +GitHub stars +Last commit Prometheus Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. -GitHub stars -Last commit +GitHub stars +Last commit Stagemonitor Open-source performance monitoring and transaction tracing for JVM apps. -GitHub stars -Last commit +GitHub stars +Last commit Sysmon Lightweight platform monitoring tool for Java VMs. -GitHub stars -Last commit +GitHub stars +Last commit zipkin Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. -- -- +- +- @@ -3849,40 +3849,40 @@ _For working with platform-specific native libraries._ Name Description -Stars -Updated +Stars +Updated Aparapi Converts bytecode to OpenCL which allows execution on GPUs. -GitHub stars -Last commit +GitHub stars +Last commit JavaCPP Provides efficient and easy access to native C++. -GitHub stars -Last commit +GitHub stars +Last commit JNA Work with native libraries without writing JNI. Also provides interfaces to common system libraries. -GitHub stars -Last commit +GitHub stars +Last commit JNR 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). -GitHub stars -Last commit +GitHub stars +Last commit native-lib-loader Native library loader for extracting and loading native libraries from Java. -GitHub stars -Last commit +GitHub stars +Last commit @@ -3902,40 +3902,40 @@ _Libraries that specialize in processing text._ Name Description -Stars -Updated +Stars +Updated CogCompNLP Provides common annotators for plain text input. (Research and Academic Use License) -GitHub stars -Last commit +GitHub stars +Last commit CoreNLP Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) -- -- +- +- DKPro Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -- -- +- +- Hypherator Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. -GitHub stars -Last commit +GitHub stars +Last commit LingPipe Toolkit for tasks ranging from POS tagging to sentiment analysis. -- -- +- +- @@ -3955,100 +3955,100 @@ _Libraries for building network servers._ Name Description -Stars -Updated +Stars +Updated Commons-networking Client for server-sent events (SSE). -GitHub stars -Last commit +GitHub stars +Last commit Comsat Integrates standard Java web-related APIs with Quasar fibers and actors. -GitHub stars -Last commit +GitHub stars +Last commit Dubbo High-performance RPC framework. -GitHub stars -Last commit +GitHub stars +Last commit Grizzly NIO framework. Used as a network layer in Glassfish. -- -- +- +- gRPC RPC framework based on protobuf and HTTP/2. -GitHub stars -Last commit +GitHub stars +Last commit KryoNet Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -GitHub stars -Last commit +GitHub stars +Last commit MINA Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -- -- +- +- Netty Framework for building high-performance network applications. -- -- +- +- Drift Easy-to-use, annotation-based library for creating Thrift clients and serializable types. -GitHub stars -Last commit +GitHub stars +Last commit ServiceTalk Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. -GitHub stars -Last commit +GitHub stars +Last commit sshj Programmatically use SSH, SCP or SFTP. -GitHub stars -Last commit +GitHub stars +Last commit TLS Channel Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -GitHub stars -Last commit +GitHub stars +Last commit Undertow Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) -- -- +- +- urnlib Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Fluency High throughput data ingestion logger to Fluentd and Fluent Bit. -GitHub stars -Last commit +GitHub stars +Last commit @@ -4068,70 +4068,70 @@ _APIs that handle the persistence of objects._ Name Description -Stars -Updated +Stars +Updated Apache Cayenne Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -- -- +- +- Doma Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -GitHub stars -Last commit +GitHub stars +Last commit Ebean Provides simple and fast data access. -- -- +- +- EclipseLink Supports a number of persistence standards: JPA, JAXB, JCA and SDO. -- -- +- +- Hibernate Robust and widely used, with an active community. (LGPL-2.1-only) -- -- +- +- MyBatis Couples objects with stored procedures or SQL statements. -GitHub stars -Last commit +GitHub stars +Last commit MyBatis-Plus A powerful enhanced toolkit of MyBatis for simplifying development. -GitHub stars -Last commit +GitHub stars +Last commit ObjectiveSql ActiveRecord ORM for rapid development and convention over configuration. -GitHub stars -Last commit +GitHub stars +Last commit Permazen Language-natural persistence layer. -GitHub stars -Last commit +GitHub stars +Last commit SimpleFlatMapper Simple database and CSV mapper. -GitHub stars -Last commit +GitHub stars +Last commit @@ -4155,16 +4155,16 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. Name Description -Stars -Updated +Stars +Updated Pathetic A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. -GitHub stars -Last commit +GitHub stars +Last commit @@ -4184,70 +4184,70 @@ _Tools to help with PDF files._ Name Description -Stars -Updated +Stars +Updated Apache FOP Creates PDFs from XSL-FO. -- -- +- +- Apache PDFBox Toolbox for creating and manipulating PDFs. -- -- +- +- Dynamic Jasper Abstraction layer to JasperReports. (LGPL-3.0-only) -- -- +- +- DynamicReports Simplifies JasperReports. (LGPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Eclipse BIRT Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. -- -- +- +- flyingsaucer XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -GitHub stars -Last commit +GitHub stars +Last commit JasperReports Complex reporting engine. (LGPL-3.0-only) -- -- +- +- Open HTML to PDF Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. -GitHub stars -Last commit +GitHub stars +Last commit OpenPDF Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -GitHub stars -Last commit +GitHub stars +Last commit Tabula Extracts tables from PDF files. -GitHub stars -Last commit +GitHub stars +Last commit @@ -4267,40 +4267,40 @@ _Tools for performance analysis, profiling and benchmarking._ Name Description -Stars -Updated +Stars +Updated honest-profiler Low-overhead, bias-free sampling profiler. -GitHub stars -Last commit +GitHub stars +Last commit jHiccup Logs and records platform JVM stalls. -GitHub stars -Last commit +GitHub stars +Last commit JITWatch Analyze the JIT compiler optimisations made by the HotSpot JVM. -GitHub stars -Last commit +GitHub stars +Last commit JMH Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -- -- +- +- LatencyUtils Utilities for latency measurement and reporting. -GitHub stars -Last commit +GitHub stars +Last commit @@ -4322,334 +4322,334 @@ _Frameworks that are suites of multiple libraries encompassing several categorie Name Description -Stars -Updated +Stars +Updated BCEL Byte Code Engineering Library - analyze, create, and manipulate Java class files. -- -- +- +- BeanUtils Easy-to-use wrappers around the Java reflection and introspection APIs. -- -- +- +- BeanUtils2 Redesign of Commons BeanUtils. -- -- +- +- BSF Bean Scripting Framework - interface to scripting languages, including JSR-223. -- -- +- +- Chain Chain of Responsibility pattern implementation. -- -- +- +- ClassScan Find Class interfaces, methods, fields, and annotations without loading. -- -- +- +- CLI Command-line arguments parser. -- -- +- +- CLI2 Redesign of Commons CLI. -- -- +- +- Codec General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -- -- +- +- Collections Extends or augments the Java Collections Framework. -- -- +- +- Compress Defines an API for working with tar, zip and bzip2 files. -- -- +- +- Configuration Reading of configuration/preferences files in various formats. -- -- +- +- Convert Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -- -- +- +- CSV Component for reading and writing comma separated value files. -- -- +- +- Daemon Alternative invocation mechanism for unix-daemon-like java code. -- -- +- +- DBCP Database connection pooling services. -- -- +- +- DbUtils JDBC helper library. -- -- +- +- Digester XML-to-Java-object mapping utility. -- -- +- +- Email Library for sending e-mail from Java. -- -- +- +- Exec API for dealing with external process execution and environment management in Java. -- -- +- +- FileUpload File upload capability for your servlets and web applications. -- -- +- +- Finder Java library inspired by the UNIX find command. -- -- +- +- Flatfile Java library for working with flat data structures. -- -- +- +- Functor Function that can be manipulated as an object, or an object representing a single, generic function. -- -- +- +- Graph General purpose graph APIs and algorithms. -- -- +- +- I18n Adds the feature of localized message bundles that consist of one or many localized texts that belong together. -- -- +- +- Id Id is a component used to generate identifiers. -- -- +- +- Imaging Image library. -- -- +- +- IO Collection of I/O utilities. -- -- +- +- Javaflow Continuation implementation to capture the state of the application. -- -- +- +- JCI Java Compiler Interface. -- -- +- +- JCS Java Caching System. -- -- +- +- Jelly XML based scripting and processing engine. -- -- +- +- Jexl Expression language which extends the Expression Language of the JSTL. -- -- +- +- JNet JNet allows to use dynamically register url stream handlers through the java.net API. -- -- +- +- JXPath Utilities for manipulating Java Beans using the XPath syntax. -- -- +- +- Lang Provides extra functionality for classes in java.lang. -- -- +- +- Logging Wrapper around a variety of logging API implementations. -- -- +- +- Math Lightweight, self-contained mathematics and statistics components. -- -- +- +- Monitoring Monitoring aims to provide a simple but extensible monitoring solution for Java applications. -- -- +- +- Nabla Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -- -- +- +- Net Collection of network utilities and protocol implementations. -- -- +- +- OGNL Object-graph navigation language. -- -- +- +- OpenPGP Interface to signing and verifying data using OpenPGP. -- -- +- +- Performance Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. -- -- +- +- Pipeline Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -- -- +- +- Pool Generic object pooling component. -- -- +- +- Proxy Library for creating dynamic proxies. -- -- +- +- RDF Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -- -- +- +- RNG Commons Rng provides implementations of pseudo-random numbers generators. -- -- +- +- SCXML Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -- -- +- +- Validator Framework to define validators and validation rules in an xml file. -- -- +- +- VFS Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -- -- +- +- Weaver Provides an easy way to enhance (weave) compiled bytecode. -- -- +- +- @@ -4667,34 +4667,34 @@ _Frameworks that are suites of multiple libraries encompassing several categorie Name Description -Stars -Updated +Stars +Updated CUBA Platform High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -- -- +- +- Light-4J Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). -GitHub stars -Last commit +GitHub stars +Last commit Orienteer Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -GitHub stars -Last commit +GitHub stars +Last commit Spring Provides many packages for dependency injection, aspect-oriented programming, security, etc. -- -- +- +- @@ -4714,28 +4714,28 @@ _Libraries that help the management of operating system processes._ Name Description -Stars -Updated +Stars +Updated ch.vorburger.exec Convenient API around Apache Commons Exec. -GitHub stars -Last commit +GitHub stars +Last commit zt-exec Provides a unified API to Apache Commons Exec and ProcessBuilder. -GitHub stars -Last commit +GitHub stars +Last commit zt-process-killer Stops processes started from Java or the system processes via PID. -GitHub stars -Last commit +GitHub stars +Last commit @@ -4755,40 +4755,40 @@ _Libraries for developing reactive applications._ Name Description -Stars -Updated +Stars +Updated Akka Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. -- -- +- +- Reactive Streams Provides a standard for asynchronous stream processing with non-blocking backpressure. -GitHub stars -Last commit +GitHub stars +Last commit Reactor A framework for building non-blocking applications on the JVM, providing support for reactive programming. -GitHub stars -Last commit +GitHub stars +Last commit RxJava Allows for composing asynchronous and event-based programs using observable sequences. -GitHub stars -Last commit +GitHub stars +Last commit vert.x Polyglot event-driven application framework. -- -- +- +- @@ -4808,88 +4808,88 @@ _Frameworks specifically for creating RESTful services._ Name Description -Stars -Updated +Stars +Updated Dropwizard Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -GitHub stars -Last commit +GitHub stars +Last commit Elide Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -- -- +- +- Jersey JAX-RS reference implementation. -- -- +- +- Microserver 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. -GitHub stars -Last commit +GitHub stars +Last commit Rapidoid Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. -- -- +- +- 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. -GitHub stars -Last commit +GitHub stars +Last commit RESTEasy Fully certified and portable implementation of the JAX-RS specification. -- -- +- +- RestExpress Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. -GitHub stars -Last commit +GitHub stars +Last commit Restlet Framework Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. -GitHub stars -Last commit +GitHub stars +Last commit Spark Sinatra inspired framework. -- -- +- +- Crnk Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. -- -- +- +- springdoc-openapi Automates the generation of API documentation using Spring Boot projects. -GitHub stars -Last commit +GitHub stars +Last commit Swagger Standard, language-agnostic interface to REST APIs. -- -- +- +- @@ -4909,100 +4909,100 @@ _Libraries for scientific computing, analysis and visualization._ Name Description -Stars -Updated +Stars +Updated BioJava Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -- -- +- +- Chart-FX Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. -GitHub stars -Last commit +GitHub stars +Last commit DataMelt Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) -- -- +- +- Erdos Modular, light and easy graph framework for theoretic algorithms. -GitHub stars -Last commit +GitHub stars +Last commit GraphStream Library for modeling and analyzing dynamic graphs. -- -- +- +- JFreeChart 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) -- -- +- +- JGraphT Graph library that provides mathematical graph-theory objects and algorithms. -GitHub stars -Last commit +GitHub stars +Last commit JGraphX Library for visualizing (mainly Swing) and interacting with node-edge graphs. -GitHub stars -Last commit +GitHub stars +Last commit LogicNG Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. -GitHub stars -Last commit +GitHub stars +Last commit Mines Java Toolkit Library for geophysical scientific computation, visualization and digital signal analysis. -GitHub stars -Last commit +GitHub stars +Last commit Morpheus Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -GitHub stars -Last commit +GitHub stars +Last commit Orekit A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -- -- +- +- Orson-Charts Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Tablesaw Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -GitHub stars -Last commit +GitHub stars +Last commit XChart Light-weight library for plotting data. Many customizable chart types are available. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5022,34 +5022,34 @@ _Engines that index documents for search and analysis._ Name Description -Stars -Updated +Stars +Updated Apache Lucene High-performance, full-featured, cross-platform, text search engine library. -- -- +- +- Apache Solr Enterprise search engine optimized for high-volume traffic. -- -- +- +- Elasticsearch Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. -- -- +- +- Indexer4j Simple and light full text indexing and searching library. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5069,148 +5069,148 @@ _Libraries that handle security, authentication, authorization or session manage Name Description -Stars -Updated +Stars +Updated Apache Shiro Performs authentication, authorization, cryptography and session management. -- -- +- +- Ayza High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit Cryptomator Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) -- -- +- +- 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. -GitHub stars -Last commit +GitHub stars +Last commit jjwt JSON web token for Java and Android. -GitHub stars -Last commit +GitHub stars +Last commit jwt-java Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. -GitHub stars -Last commit +GitHub stars +Last commit Jwks RSA JSON Web Key Set parser. -GitHub stars -Last commit +GitHub stars +Last commit Kalium Binding for the Networking and Cryptography (NaCl) library. -GitHub stars -Last commit +GitHub stars +Last commit Keycloak Integrated SSO and IDM for browser apps and RESTful web services. -- -- +- +- Keywhiz System for distributing and managing secrets. -GitHub stars -Last commit +GitHub stars +Last commit Nbvcxz Advanced password strength estimation. -GitHub stars -Last commit +GitHub stars +Last commit OACC Provides permission-based authorization services. -- -- +- +- OpenAM Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. -GitHub stars -Last commit +GitHub stars +Last commit OTP-Java One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). -GitHub stars -Last commit +GitHub stars +Last commit pac4j Security engine. -GitHub stars -Last commit +GitHub stars +Last commit Passay Enforce password policy by validating candidate passwords against a configurable rule set. -- -- +- +- Password4j User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. -GitHub stars -Last commit +GitHub stars +Last commit SecurityBuilder Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. -GitHub stars -Last commit +GitHub stars +Last commit 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. -GitHub stars -Last commit +GitHub stars +Last commit Tink Provides a simple and misuse-proof API for common cryptographic tasks. -GitHub stars -Last commit +GitHub stars +Last commit Topaz Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. -- -- +- +- @@ -5230,46 +5230,46 @@ _Libraries that handle serialization with high efficiency._ Name Description -Stars -Updated +Stars +Updated FlatBuffers Memory-efficient serialization library that can access serialized data without unpacking and parsing it. -GitHub stars -Last commit +GitHub stars +Last commit FST JDK-compatible, high-performance object graph serialization. -GitHub stars -Last commit +GitHub stars +Last commit Fury Blazing fast object graph serialization framework powered by JIT and zero-copy. -GitHub stars -Last commit +GitHub stars +Last commit Kryo Fast and efficient object graph serialization framework. -GitHub stars -Last commit +GitHub stars +Last commit MessagePack Efficient binary serialization format. -GitHub stars -Last commit +GitHub stars +Last commit PHP Serializer Serializing objects in the PHP serialization format. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5289,40 +5289,40 @@ _Servers specifically used to deploy applications._ Name Description -Stars -Updated +Stars +Updated Apache Tomcat Robust, all-round server for Servlet and JSP. -- -- +- +- Apache TomEE Tomcat plus Java EE. -- -- +- +- Jetty Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -- -- +- +- nanohttpd Tiny, easily embeddable HTTP server. -GitHub stars -Last commit +GitHub stars +Last commit WildFly Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) -- -- +- +- @@ -5342,76 +5342,76 @@ _Tools that substitute expressions in a template._ Name Description -Stars -Updated +Stars +Updated Freemarker Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. -- -- +- +- Handlebars.java Logicless and semantic Mustache templates. -- -- +- +- Jade4J Implementation of Pug (formerly known as Jade). -GitHub stars -Last commit +GitHub stars +Last commit Jamal Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. -GitHub stars -Last commit +GitHub stars +Last commit jstachio Typesafe Mustache templating engine. -GitHub stars -Last commit +GitHub stars +Last commit jte Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. -GitHub stars -Last commit +GitHub stars +Last commit Jtwig Modular, configurable and fully tested template engine. -GitHub stars -Last commit +GitHub stars +Last commit Pebble 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 Optimized, memory efficient and speedy template engine producing statically typed, plain objects. -GitHub stars -Last commit +GitHub stars +Last commit StringTemplate Template engine for generating source code, web pages, emails, or any other formatted text output. -GitHub stars -Last commit +GitHub stars +Last commit Thymeleaf Aims to be a substitute for JSP and works for XML files. -- -- +- +- @@ -5435,52 +5435,52 @@ _Tools that simplify testing asynchronous services._ Name Description -Stars -Updated +Stars +Updated Awaitility DSL for synchronizing asynchronous operations. -GitHub stars -Last commit +GitHub stars +Last commit ConcurrentUnit Toolkit for testing multi-threaded and asynchronous applications. -GitHub stars -Last commit +GitHub stars +Last commit GreenMail In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) -- -- +- +- Hoverfly Java Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -GitHub stars -Last commit +GitHub stars +Last commit Karate DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -GitHub stars -Last commit +GitHub stars +Last commit REST Assured DSL for easy testing of REST/HTTP services. -GitHub stars -Last commit +GitHub stars +Last commit WebTau Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5500,52 +5500,52 @@ _Testing for the software development process that emerged from TDD and was heav Name Description -Stars -Updated +Stars +Updated Cucumber Provides a way to describe features in a plain language which customers can understand. -GitHub stars -Last commit +GitHub stars +Last commit Cukes-REST Collection of Gherkin steps for REST-service testing using Cucumber. -GitHub stars -Last commit +GitHub stars +Last commit J8Spec Follows a Jasmine-like syntax. -GitHub stars -Last commit +GitHub stars +Last commit JBehave Extensively configurable framework that describes stories. -- -- +- +- JGiven Provides a fluent API which allows for simpler composition. -- -- +- +- Lamdba Behave Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. -GitHub stars -Last commit +GitHub stars +Last commit Serenity BDD Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5565,70 +5565,70 @@ _Everything related to the creation and handling of random data._ Name Description -Stars -Updated +Stars +Updated AutoParams Supports generating test data or combining scenarios for parameterized tests. -GitHub stars -Last commit +GitHub stars +Last commit Beanmother Sets up beans from YAML fixtures. -GitHub stars -Last commit +GitHub stars +Last commit Datafaker Modern fake data generator forked from Java Faker. -GitHub stars -Last commit +GitHub stars +Last commit Fixture Factory Generates fake objects from a template. -GitHub stars -Last commit +GitHub stars +Last commit jFairy Fake data generator. -GitHub stars -Last commit +GitHub stars +Last commit Instancio Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. -GitHub stars -Last commit +GitHub stars +Last commit Randomized Testing JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -GitHub stars -Last commit +GitHub stars +Last commit Java Faker Port of Ruby's fake data generator. -GitHub stars -Last commit +GitHub stars +Last commit Mockneat Another fake data generator. -GitHub stars -Last commit +GitHub stars +Last commit JMock JMock is a high-performance data generation and simulation component library implemented in Java. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5648,76 +5648,76 @@ _Provide environments to run tests for a specific use case._ Name Description -Stars -Updated +Stars +Updated Apache JMeter Functional testing and performance measurements. -- -- +- +- JMeter DSL.java Load tests with JMeter as simple as a JUnit test. -- -- +- +- Arquillian Integration and functional testing platform for Java EE containers. -- -- +- +- cdi-test JUnit extension for easy and efficient testing of CDI components. -GitHub stars -Last commit +GitHub stars +Last commit Citrus Integration testing framework that focuses on both client- and server-side messaging. -- -- +- +- Gatling Load testing tool designed for ease of use, maintainability and high performance. -- -- +- +- JUnit Common testing framework. -- -- +- +- jqwik Engine for property-based testing built on JUnit 5. -- -- +- +- Pact JVM Consumer-driven contract testing. -GitHub stars -Last commit +GitHub stars +Last commit PIT Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. -- -- +- +- weld-testing Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5737,46 +5737,46 @@ _Libraries that provide custom matchers._ Name Description -Stars -Updated +Stars +Updated AssertJ Fluent assertions that improve readability. -- -- +- +- Hamcrest Matchers that can be combined to create flexible expressions of intent. -- -- +- +- JSONAssert Simplifies testing JSON strings. -- -- +- +- JsonUnit Library that simplifies JSON comparison in tests. -GitHub stars -Last commit +GitHub stars +Last commit Truth Google's fluent assertion and proposition framework. -- -- +- +- XMLUnit Simplifies testing for XML output. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5796,76 +5796,76 @@ _Other stuff related to testing._ Name Description -Stars -Updated +Stars +Updated ConsoleCaptor Captures console output for unit testing purposes. -GitHub stars -Last commit +GitHub stars +Last commit junit-dataprovider TestNG-like data provider/runner for JUnit. -GitHub stars -Last commit +GitHub stars +Last commit junit-pioneer JUnit 5 extension pack, pushing the frontiers on Jupiter. -- -- +- +- LogCaptor Captures log entries for unit testing purposes. -GitHub stars -Last commit +GitHub stars +Last commit log-capture Captures log entries and provides assertions for unit and integration testing. -GitHub stars -Last commit +GitHub stars +Last commit Mutability Detector Reports whether instances of a given class are immutable. -GitHub stars -Last commit +GitHub stars +Last commit pojo-tester Automatically performs tests on basic POJO methods. (LGPL-3.0-only) -- -- +- +- raml-tester Tests if a request/response matches a given RAML definition. -GitHub stars -Last commit +GitHub stars +Last commit Selfie Snapshot testing (inline and on disk). -GitHub stars -Last commit +GitHub stars +Last commit Stebz Multi-approach framework for test steps managing. -GitHub stars -Last commit +GitHub stars +Last commit Testcontainers Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5885,52 +5885,52 @@ _Tools which mock collaborators to help testing single, isolated units._ Name Description -Stars -Updated +Stars +Updated JMockit Integration testing, API mocking and faking, and code coverage. -- -- +- +- Mockito Mocking framework that lets you write tests with a clean and simple API. -GitHub stars -Last commit +GitHub stars +Last commit MockServer Allows mocking of systems integrated with HTTPS. -- -- +- +- Moco Concise web services for stubs and mocks. -GitHub stars -Last commit +GitHub stars +Last commit PowerMock Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -GitHub stars -Last commit +GitHub stars +Last commit WireMock Stubs and mocks web services. -- -- +- +- EasyMock EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. -GitHub stars -Last commit +GitHub stars +Last commit @@ -5950,136 +5950,136 @@ _Libraries which provide general utility functions._ Name Description -Stars -Updated +Stars +Updated Arthas Allows to troubleshoot production issues for applications without modifying code or restarting servers. -GitHub stars -Last commit +GitHub stars +Last commit bucket4j Rate limiting library based on token-bucket algorithm. -GitHub stars -Last commit +GitHub stars +Last commit cactoos Collection of object-oriented primitives. -GitHub stars -Last commit +GitHub stars +Last commit Chocotea Generates postman collection, environment and integration tests from java code. -GitHub stars -Last commit +GitHub stars +Last commit CRaSH Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) -- -- +- +- Dex Java/JavaFX tool capable of powerful ETL and data visualization. -GitHub stars -Last commit +GitHub stars +Last commit dregex Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. -GitHub stars -Last commit +GitHub stars +Last commit Embulk Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -GitHub stars -Last commit +GitHub stars +Last commit fswatch Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -GitHub stars -Last commit +GitHub stars +Last commit Gephi Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) -GitHub stars -Last commit +GitHub stars +Last commit Guava Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -GitHub stars -Last commit +GitHub stars +Last commit JADE Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -- -- +- +- Javadoc Publisher Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. -GitHub stars -Last commit +GitHub stars +Last commit Java Diff Utils Utilities for text or data comparison and patching. -- -- +- +- JavaVerbalExpressions Library that helps with constructing difficult regular expressions. -GitHub stars -Last commit +GitHub stars +Last commit JGit Lightweight, pure Java library implementing the Git version control system. -- -- +- +- JKScope Java scope functions inspired by Kotlin. -GitHub stars -Last commit +GitHub stars +Last commit minio-java Provides simple APIs to access any Amazon S3-compatible object storage server. -GitHub stars -Last commit +GitHub stars +Last commit Protégé Provides an ontology editor and a framework to build knowledge-based systems. -- -- +- +- Semver4j Lightweight library that helps you handling semantic versioning with different modes. -GitHub stars -Last commit +GitHub stars +Last commit Underscore-java Port of Underscore.js functions. -GitHub stars -Last commit +GitHub stars +Last commit @@ -6099,28 +6099,28 @@ _Utilities that help create the development shell environment and switch between Name Description -Stars -Updated +Stars +Updated jabba Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. -GitHub stars -Last commit +GitHub stars +Last commit jenv Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. -GitHub stars -Last commit +GitHub stars +Last commit SDKMan Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. -GitHub stars -Last commit +GitHub stars +Last commit @@ -6140,40 +6140,40 @@ _Libraries that analyze the content of websites._ Name Description -Stars -Updated +Stars +Updated Apache Nutch Highly extensible, highly scalable web crawler for production environments. -- -- +- +- Crawler4j Simple and lightweight web crawler. -GitHub stars -Last commit +GitHub stars +Last commit jsoup Scrapes, parses, manipulates and cleans HTML. -- -- +- +- StormCrawler SDK for building low-latency and scalable web crawlers. -- -- +- +- webmagic Scalable crawler with downloading, url management, content extraction and persistent. -GitHub stars -Last commit +GitHub stars +Last commit @@ -6193,106 +6193,106 @@ _Frameworks that handle the communication between the layers of a web applicatio Name Description -Stars -Updated +Stars +Updated ActiveJ Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -- -- +- +- Apache Tapestry Component-oriented framework for creating dynamic, robust, highly scalable web applications. -- -- +- +- Apache Wicket Component-based web application framework similar to Tapestry, with a stateful GUI. -- -- +- +- Blade Lightweight, modular framework that aims to be elegant and simple. -GitHub stars -Last commit +GitHub stars +Last commit Bootique Minimally opinionated framework for runnable apps. -- -- +- +- Firefly Asynchronous framework for rapid development of high-performance web application. -- -- +- +- Javalin Microframework for web applications. -- -- +- +- Jooby Scalable, fast and modular micro-framework that offers multiple programming models. -- -- +- +- Ninja Full-stack web framework. -- -- +- +- Pippo Small, highly modularized, Sinatra-like framework. -- -- +- +- Play Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -- -- +- +- PrimeFaces JSF framework with both free and commercial/support versions and frontend components. -- -- +- +- Ratpack Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. -- -- +- +- Takes Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. -GitHub stars -Last commit +GitHub stars +Last commit Vaadin 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. -- -- +- +- WebForms Core A technology for managing HTML tags from the server. -- -- +- +- @@ -6312,28 +6312,28 @@ _Platforms and frameworks for orchestrating workflows and business processes._ Name Description -Stars -Updated +Stars +Updated Cadence Stateful code platform from Uber. -- -- +- +- flowable Compact and efficient workflow and business process management platform. -GitHub stars -Last commit +GitHub stars +Last commit Temporal Microservice orchestration platform, forked from Cadence but gRPC based. -- -- +- +- diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java index 1f2951ae..edf31dea 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_badges.java @@ -91,9 +91,9 @@ List generateBadgeMappings(List entries) { continue; } - var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); + var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); - var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); + var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); mappings.add(new BadgeMapping( entry.name(), diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index c9435413..c8b9b99c 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -155,8 +155,8 @@ String createHtmlTable(List entries, Map bad table.append("\n"); table.append("Name\n"); table.append("Description\n"); - table.append("Stars\n"); - table.append("Updated\n"); + table.append("Stars\n"); + table.append("Updated\n"); table.append("\n"); table.append("\n"); table.append("\n"); @@ -170,8 +170,8 @@ String createHtmlTable(List entries, Map bad table.append("\n"); table.append("").append(entry.name()).append("\n"); table.append("").append(desc).append("\n"); - table.append("").append(stars).append("\n"); - table.append("").append(commit).append("\n"); + table.append("").append(stars).append("\n"); + table.append("").append(commit).append("\n"); table.append("\n"); } From 35b556badb00f8a44debf9686fdcc4523068e573 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 22:58:48 +0200 Subject: [PATCH 396/533] Improve badge size --- README.md | 1794 +++++++++++++-------------- scripts/step_3_generate_badges.java | 2 +- scripts/step_4_generate_tables.java | 6 +- 3 files changed, 901 insertions(+), 901 deletions(-) diff --git a/README.md b/README.md index a035ce8c..560920c2 100644 --- a/README.md +++ b/README.md @@ -96,13 +96,13 @@ _Frameworks and libraries that help implementing and verifying design and archit ### Architecture - +
- + @@ -110,13 +110,13 @@ _Frameworks and libraries that help implementing and verifying design and archit - + - +
Name Description StarsUpdatedUpdated
ArchUnit Test library for specifying and asserting architecture rules. GitHub starsLast commitLast commit
jMolecules Annotations and interfaces to express design and architecture concepts in code. GitHub starsLast commitLast commit
@@ -131,13 +131,13 @@ _Frameworks that help you to leverage LLMs and AI._ ### Artificial Intelligence - +
- + @@ -145,25 +145,25 @@ _Frameworks that help you to leverage LLMs and AI._ - + - + - + - +
Name Description StarsUpdatedUpdated
LangChain4j Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. GitHub starsLast commitLast commit
MCP 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. GitHub starsLast commitLast commit
simple-openai Library to use the OpenAI API (and compatible ones) in the simplest possible way. GitHub starsLast commitLast commit
Spring AI Application framework for AI engineering for Spring. ---
@@ -178,13 +178,13 @@ _Frameworks that ease bean mapping._ ### Bean Mapping - +
- + @@ -192,43 +192,43 @@ _Frameworks that ease bean mapping._ - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
dOOv Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. GitHub starsLast commitLast commit
JMapper Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. GitHub starsLast commitLast commit
MapStruct Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. GitHub starsLast commitLast commit
ModelMapper Intelligent object mapping library that automatically maps objects to each other. GitHub starsLast commitLast commit
Orika JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. GitHub starsLast commitLast commit
reMap Lambda and method handle-based mapping which requires code and not annotations if objects have different names. GitHub starsLast commitLast commit
Selma Annotation processor-based bean mapper. GitHub starsLast commitLast commit
@@ -243,13 +243,13 @@ _Tools that handle the build cycle and dependencies of an application._ ### Build - +
- + @@ -257,25 +257,25 @@ _Tools that handle the build cycle and dependencies of an application._ - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Maven 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 Tool from Google that builds code quickly and reliably. ---
Buck2 Encourages the creation of small, reusable modules consisting of code and resources. GitHub starsLast commitLast commit
Gradle Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. ---
@@ -290,13 +290,13 @@ _Libraries to manipulate bytecode programmatically._ ### Bytecode Manipulation - +
- + @@ -304,61 +304,61 @@ _Libraries to manipulate bytecode programmatically._ - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
ASM All-purpose, low-level bytecode manipulation and analysis. ---
Byte Buddy Further simplifies bytecode generation with a fluent API. ---
bytecode-viewer Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) GitHub starsLast commitLast commit
Byteman Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) ---
cglib Bytecode generation library. GitHub starsLast commitLast commit
Javassist Tries to simplify bytecode editing. GitHub starsLast commitLast commit
Maker Provides low level bytecode generation. GitHub starsLast commitLast commit
Mixin Manipulate bytecode at runtime using real Java code. GitHub starsLast commitLast commit
Perses Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. GitHub starsLast commitLast commit
Recaf JVM reverse engineering toolkit, essentially an IDE for Java bytecode. ---
@@ -373,13 +373,13 @@ _Libraries that provide caching facilities._ ### Caching - +
- + @@ -387,25 +387,25 @@ _Libraries that provide caching facilities._ - + - + - + - +
Name Description StarsUpdatedUpdated
cache2k In-memory high performance caching library. ---
Caffeine High-performance, near-optimal caching library. GitHub starsLast commitLast commit
Ehcache Distributed general-purpose cache. ---
Infinispan Highly concurrent key/value datastore used for caching. ---
@@ -424,13 +424,13 @@ _Libraries to assist with parsing command line arguments._ ### CLI > Argument Parsing - +
- + @@ -438,31 +438,31 @@ _Libraries to assist with parsing command line arguments._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
Airline Annotation-based framework for parsing Git-like command-line arguments. ---
JCommander Command-line argument-parsing framework with custom types and validation via implementing interfaces. ---
jbock Reflectionless command line parser. GitHub starsLast commitLast commit
JLine Includes features from modern shells like completion or history. GitHub starsLast commitLast commit
picocli ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. ---
@@ -477,13 +477,13 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ ### CLI > Text-Based User Interfaces - +
- + @@ -491,25 +491,25 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ - + - + - + - +
Name Description StarsUpdatedUpdated
Jansi ANSI escape codes to format console output. GitHub starsLast commitLast commit
Jexer Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). ---
Text-IO Aids the creation of full console-based applications. GitHub starsLast commitLast commit
Lanterna Easy console text-GUI library, similar to curses. (LGPL-3.0-only) GitHub starsLast commitLast commit
@@ -524,13 +524,13 @@ _Libraries to integrate or use cloud-specific features._ ### Cloud - +
- + @@ -538,13 +538,13 @@ _Libraries to integrate or use cloud-specific features._ - + - +
Name Description StarsUpdatedUpdated
AWS SDK for Java Provides Java APIs for interacting with Amazon Web Services. GitHub starsLast commitLast commit
Google Cloud Client Libraries Client libraries for accessing Google Cloud services from Java applications. GitHub starsLast commitLast commit
@@ -559,13 +559,13 @@ _Tools that provide metrics and quality measurements._ ### Code Analysis - +
- + @@ -573,73 +573,73 @@ _Tools that provide metrics and quality measurements._ - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Checkstyle Static analysis of coding conventions and standards. (LGPL-2.1-or-later) GitHub starsLast commitLast commit
Error Prone Catches common programming mistakes as compile-time errors. GitHub starsLast commitLast commit
Error Prone Support Error Prone extensions: extra bug checkers and a large battery of Refaster templates. GitHub starsLast commitLast commit
Infer Modern static analysis tool for verifying the correctness of code. GitHub starsLast commitLast commit
jQAssistant Static code analysis with Neo4J-based query language. (GPL-3.0-only) ---
NullAway Eliminates NullPointerExceptions with low build-time overhead. GitHub starsLast commitLast commit
PMD Source code analysis for finding bad coding practices. GitHub starsLast commitLast commit
p3c Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. GitHub starsLast commitLast commit
RefactorFirst Identifies and prioritizes God Classes and Highly Coupled classes. GitHub starsLast commitLast commit
SonarJava Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) GitHub starsLast commitLast commit
Spoon Library for analyzing and transforming Java source code. GitHub starsLast commitLast commit
Spotbugs Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) GitHub starsLast commitLast commit
@@ -654,13 +654,13 @@ _Frameworks and tools that enable code coverage metrics collection for test suit ### Code Coverage - +
- + @@ -668,19 +668,19 @@ _Frameworks and tools that enable code coverage metrics collection for test suit - + - + - +
Name Description StarsUpdatedUpdated
Clover Relies on source-code instrumentation instead of bytecode instrumentation. ---
Cobertura Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) ---
JaCoCo Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. ---
@@ -695,13 +695,13 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a ### Code Generators - +
- + @@ -709,85 +709,85 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
ADT4J JSR-269 code generator for algebraic data types. GitHub starsLast commitLast commit
Auto Generates factory, service, and value classes. GitHub starsLast commitLast commit
Avaje Http Server Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. ---
EasyEntityToDTO Annotation processor for automatic DTO and Mapper generation with zero boilerplate. GitHub starsLast commitLast commit
FreeBuilder Automatically generates the Builder pattern. GitHub starsLast commitLast commit
Geci Discovers files that need generated code, updates automatically and writes to the source with a convenient API. GitHub starsLast commitLast commit
Immutables Annotation processors to generate simple, safe and consistent value objects. ---
JavaPoet API to generate source files. GitHub starsLast commitLast commit
JHipster Yeoman source code generator for Spring Boot and AngularJS. GitHub starsLast commitLast commit
Joda-Beans Small framework that adds queryable properties to Java, enhancing JavaBeans. ---
JSpecify Package-Info Generator Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. GitHub starsLast commitLast commit
Lombok Code generator that aims to reduce verbosity. ---
Record-Builder Companion builder class, withers and templates for Java records. GitHub starsLast commitLast commit
Telosys Simple and light code generator available as an Eclipse Plugin and also as a CLI. ---
@@ -802,13 +802,13 @@ _Frameworks that help to create parsers, interpreters or compilers._ ### Compiler-compiler - +
- + @@ -816,19 +816,19 @@ _Frameworks that help to create parsers, interpreters or compilers._ - + - + - +
Name Description StarsUpdatedUpdated
ANTLR Complex full-featured framework for top-down parsing. ---
JavaCC Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. ---
JFlex Lexical analyzer generator. ---
@@ -843,13 +843,13 @@ _Libraries which seek to gain high level information from images and videos._ ### Computer Vision - +
- + @@ -857,19 +857,19 @@ _Libraries which seek to gain high level information from images and videos._ - + - + - +
Name Description StarsUpdatedUpdated
BoofCV Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. ---
ImageJ Medical image processing application with an API. ---
JavaCV Java interface to OpenCV, FFmpeg, and much more. GitHub starsLast commitLast commit
@@ -884,13 +884,13 @@ _Libraries that provide external configuration._ ### Configuration - +
- + @@ -898,73 +898,73 @@ _Libraries that provide external configuration._ - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
avaje config Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. ---
centraldogma Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. GitHub starsLast commitLast commit
config Configuration library supporting Java properties, JSON or its human optimized superset HOCON. GitHub starsLast commitLast commit
Configurate Configuration library with support for various configuration formats and transformations. GitHub starsLast commitLast commit
Curator Framework High-level API for Apache ZooKeeper. ---
dotenv Twelve-factor configuration library which uses environment-specific files. GitHub starsLast commitLast commit
Externalized Properties Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
ini4j Provides an API for handling Windows' INI files. ---
KAConf Annotation-based configuration system for Java and Kotlin. GitHub starsLast commitLast commit
microconfig 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 Reduces boilerplate of properties. GitHub starsLast commitLast commit
@@ -979,13 +979,13 @@ _Libraries that help with implementing optimization and satisfiability problems. ### Constraint Satisfaction Problem Solver - +
- + @@ -993,25 +993,25 @@ _Libraries that help with implementing optimization and satisfiability problems. - + - + - + - +
Name Description StarsUpdatedUpdated
Choco Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. ---
JaCoP Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) GitHub starsLast commitLast commit
OptaPlanner Business planning and resource scheduling optimization solver. ---
Timefold Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. ---
@@ -1026,13 +1026,13 @@ _Frameworks and libraries that simplify reading/writing CSV data._ ### CSV - +
- + @@ -1040,31 +1040,31 @@ _Frameworks and libraries that simplify reading/writing CSV data._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
FastCSV Performance-optimized, dependency-free and RFC 4180 compliant. GitHub starsLast commitLast commit
jackson-dataformat-csv Jackson extension for reading and writing CSV. GitHub starsLast commitLast commit
opencsv Simple CSV parser. ---
Super CSV Powerful CSV parser with support for Dozer, Joda-Time and Java 8. ---
uniVocity-parsers One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. GitHub starsLast commitLast commit
@@ -1079,13 +1079,13 @@ _Efficient and specific data structures._ ### Data Structures - +
- + @@ -1093,73 +1093,73 @@ _Efficient and specific data structures._ - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Avro Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. ---
Apache Orc Fast and efficient columnar storage format for Hadoop-based workloads. ---
Apache Parquet Columnar storage format based on assembly algorithms from Google's paper on Dremel. ---
Apache Thrift Data interchange format that originated at Facebook. ---
Big Queue Fast and persistent queue based on memory-mapped files. GitHub starsLast commitLast commit
HyperMinHash-java Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. GitHub starsLast commitLast commit
Persistent Collection Persistent and immutable analogue of the Java Collections Framework. GitHub starsLast commitLast commit
Protobuf Google's data interchange format. GitHub starsLast commitLast commit
RoaringBitmap Fast and efficient compressed bitmap. GitHub starsLast commitLast commit
SBE Simple Binary Encoding, one of the fastest message formats around. GitHub starsLast commitLast commit
Tape Lightning-fast, transactional, file-based FIFO. GitHub starsLast commitLast commit
Wire Clean, lightweight protocol buffers. GitHub starsLast commitLast commit
@@ -1174,13 +1174,13 @@ _Everything that simplifies interactions with the database._ ### Database - +
- + @@ -1188,229 +1188,229 @@ _Everything that simplifies interactions with the database._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Calcite Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. ---
Apache Drill Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. ---
Apache Phoenix High-performance relational database layer over HBase for low-latency applications. ---
ArangoDB ArangoDB Java driver. GitHub starsLast commitLast commit
Chronicle Map Efficient, in-memory (opt. persisted to disk), off-heap key-value store. GitHub starsLast commitLast commit
Debezium Low latency data streaming platform for change data capture. ---
druid High-performance, column-oriented, distributed data store. ---
eXist NoSQL document database and application platform. (LGPL-2.1-only) GitHub starsLast commitLast commit
FlexyPool Brings metrics and failover strategies to the most common connection pooling solutions. GitHub starsLast commitLast commit
Flyway Simple database migration tool. ---
H2 Small SQL database notable for its in-memory functionality. ---
HikariCP High-performance JDBC connection pool. GitHub starsLast commitLast commit
HSQLDB HyperSQL 100% Java database. ---
JDBI Convenient abstraction of JDBC. ---
Jedis Small client for interaction with Redis, with methods for commands. GitHub starsLast commitLast commit
Jest Client for the Elasticsearch REST API. GitHub starsLast commitLast commit
jetcd Client library for etcd. GitHub starsLast commitLast commit
Jinq Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). GitHub starsLast commitLast commit
jOOQ Generates typesafe code based on SQL schema. ---
Leaf Distributed ID generate service. GitHub starsLast commitLast commit
Lettuce Lettuce is a scalable Redis client for building non-blocking Reactive applications. ---
Liquibase Database-independent library for tracking, managing and applying database schema changes. ---
MapDB Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. ---
MariaDB4j Launcher for MariaDB that requires no installation or external dependencies. GitHub starsLast commitLast commit
Modality Lightweight ORM with database reverse engineering features. GitHub starsLast commitLast commit
OpenDJ LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. GitHub starsLast commitLast commit
Querydsl Typesafe unified queries. ---
QueryStream Build JPA Criteria queries using a Stream-like API. GitHub starsLast commitLast commit
QuestDB High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. GitHub starsLast commitLast commit
Realm Mobile database to run directly inside phones, tablets or wearables. GitHub starsLast commitLast commit
Redisson Allows for distributed and scalable data structures on top of a Redis server. GitHub starsLast commitLast commit
requery Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. GitHub starsLast commitLast commit
Speedment Database access library that utilizes Java 8's Stream API for querying. GitHub starsLast commitLast commit
Spring Data JPA MongoDB Expressions Allows you to use MongoDB query language to query your relational database. GitHub starsLast commitLast commit
Trino Distributed SQL query engine for big data. ---
Vibur DBCP JDBC connection pool library with advanced performance monitoring capabilities. ---
Xodus Highly concurrent transactional schema-less and ACID-compliant embedded database. GitHub starsLast commitLast commit
CosId Universal, flexible, high-performance distributed ID generator. GitHub starsLast commitLast commit
@@ -1425,13 +1425,13 @@ _Libraries related to handling date and time._ ### Date and Time - +
- + @@ -1439,25 +1439,25 @@ _Libraries related to handling date and time._ - + - + - + - +
Name Description StarsUpdatedUpdated
iCal4j Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. GitHub starsLast commitLast commit
Jollyday Determines the holidays for a given year, country/name and eventually state/region. GitHub starsLast commitLast commit
ThreeTen-Extra Additional date-time classes that complement those in JDK 8. GitHub starsLast commitLast commit
Time4J Advanced date and time library. (LGPL-2.1-only) GitHub starsLast commitLast commit
@@ -1472,13 +1472,13 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. ### Dependency Injection - +
- + @@ -1486,49 +1486,49 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache DeltaSpike CDI extension framework. ---
Avaje Inject Microservice-focused compile-time injection framework without reflection. ---
Dagger Compile-time injection framework without reflection. ---
Feather Ultra-lightweight, JSR-330-compliant dependency injection library. GitHub starsLast commitLast commit
Governator Extensions and utilities that enhance Google Guice. GitHub starsLast commitLast commit
Guice Lightweight and opinionated framework that completes Dagger. GitHub starsLast commitLast commit
HK2 Lightweight and dynamic dependency injection framework. ---
JayWire Lightweight dependency injection framework. (LGPL-3.0-only) GitHub starsLast commitLast commit
@@ -1543,13 +1543,13 @@ _Augmentation of the development process at a fundamental level._ ### Development - +
- + @@ -1557,61 +1557,61 @@ _Augmentation of the development process at a fundamental level._ - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
AspectJ Seamless aspect-oriented programming extension. ---
DCEVM JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) ---
Faux Pas Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. GitHub starsLast commitLast commit
HotswapAgent Unlimited runtime class and resource redefinition. (GPL-2.0-only) GitHub starsLast commitLast commit
JavaParser Parse, modify and generate Java code. GitHub starsLast commitLast commit
JavaSymbolSolver Symbol solver. GitHub starsLast commitLast commit
Manifold Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. GitHub starsLast commitLast commit
NoException Allows checked exceptions in functional interfaces and converts exceptions to Optional return. ---
SneakyThrow Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. GitHub starsLast commitLast commit
Tail Enable infinite recursion using tail call optimization. ---
@@ -1626,13 +1626,13 @@ _Libraries and frameworks for writing distributed and fault-tolerant application ### Distributed Applications - +
- + @@ -1640,85 +1640,85 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Geode In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. ---
Apache Storm Realtime computation system. ---
Apache ZooKeeper Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. ---
Atomix Fault-tolerant distributed coordination framework. ---
Axon Framework for creating CQRS applications. ---
Dropwizard Circuit Breaker Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) GitHub starsLast commitLast commit
Failsafe Simple failure handling with retries and circuit breakers. GitHub starsLast commitLast commit
Hazelcast Highly scalable in-memory datagrid with a free open-source version. GitHub starsLast commitLast commit
JGroups Toolkit for reliable messaging and cluster creation. ---
Quasar Lightweight threads and actors for the JVM. ---
resilience4j Functional fault tolerance library. GitHub starsLast commitLast commit
OpenIG High-performance reverse proxy server with specialized session management and credential replay functionality. GitHub starsLast commitLast commit
ScaleCube Services Embeddable Cluster-Membership library based on SWIM and gossip protocol. GitHub starsLast commitLast commit
Zuul Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. GitHub starsLast commitLast commit
@@ -1733,13 +1733,13 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u ### Distributed Transactions - +
- + @@ -1747,25 +1747,25 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u - + - + - + - +
Name Description StarsUpdatedUpdated
Atomikos Provides transactions for REST, SOA and microservices with support for JTA and XA. ---
Bitronix Simple but complete implementation of the JTA 1.1 API. GitHub starsLast commitLast commit
Narayana Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) ---
Seata Delivers high performance and easy to use distributed transaction services under a microservices architecture. GitHub starsLast commitLast commit
@@ -1780,13 +1780,13 @@ _Tools that handle the distribution of applications in native formats._ ### Distribution - +
- + @@ -1794,61 +1794,61 @@ _Tools that handle the distribution of applications in native formats._ - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Artipie Binary artifact management toolkit which hosts them on the file system or S3. GitHub starsLast commitLast commit
Capsule Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. GitHub starsLast commitLast commit
Central Repository Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. ---
Getdown System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. GitHub starsLast commitLast commit
IzPack Setup authoring tool for cross-platform deployments. ---
JavaPackager Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. GitHub starsLast commitLast commit
jDeploy Deploy desktop apps as native Mac, Windows or Linux bundles. ---
jlink.online Builds optimized runtimes over HTTP. GitHub starsLast commitLast commit
packr Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. GitHub starsLast commitLast commit
really-executable-jars-maven-plugin Maven plugin for making self-executing JARs. GitHub starsLast commitLast commit
@@ -1863,13 +1863,13 @@ _Libraries that assist with processing office document formats._ ### Document Processing - +
- + @@ -1877,31 +1877,31 @@ _Libraries that assist with processing office document formats._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache POI Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). ---
documents4j API for document format conversion using third-party converters such as MS Word. ---
docx4j Create and manipulate Microsoft Open XML files. ---
fastexcel High performance library to read and write large Excel (XLSX) worksheets. GitHub starsLast commitLast commit
zerocell Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. GitHub starsLast commitLast commit
@@ -1916,13 +1916,13 @@ _Libraries related to the financial domain._ ### Financial - +
- + @@ -1930,37 +1930,37 @@ _Libraries related to the financial domain._ - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Cassandre Trading bot framework. GitHub starsLast commitLast commit
Parity Platform for trading venues. GitHub starsLast commitLast commit
Philadelphia Low-latency financial information exchange. GitHub starsLast commitLast commit
Square Integration with the Square API. GitHub starsLast commitLast commit
Stripe Integration with the Stripe API. GitHub starsLast commitLast commit
ta4j Library for technical analysis. GitHub starsLast commitLast commit
@@ -1975,13 +1975,13 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc ### Formal Verification - +
- + @@ -1989,43 +1989,43 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
CATG Concolic unit testing engine. Automatically generates unit tests using formal methods. GitHub starsLast commitLast commit
Checker Framework Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) ---
Daikon Detects likely program invariants and generates JML specs based on those invariants. ---
Java Path Finder (JPF) JVM formal verification tool containing a model checker and more. Created by NASA. GitHub starsLast commitLast commit
JMLOK 2.0 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 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 Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) ---
@@ -2040,13 +2040,13 @@ _Libraries that facilitate functional programming._ ### Functional Programming - +
- + @@ -2054,55 +2054,55 @@ _Libraries that facilitate functional programming._ - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Cyclops Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. GitHub starsLast commitLast commit
derive4j Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) GitHub starsLast commitLast commit
Fugue Functional extensions to Guava. ---
Functional Java Implements numerous basic and advanced programming abstractions that assist composition-oriented development. ---
jOOλ 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. GitHub starsLast commitLast commit
Packrat Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. GitHub starsLast commitLast commit
protonpack Collection of stream utilities. GitHub starsLast commitLast commit
StreamEx Enhances Java 8 Streams. GitHub starsLast commitLast commit
Vavr Functional component library that provides persistent data types and functional control structures. ---
@@ -2117,13 +2117,13 @@ _Frameworks that support the development of games._ ### Game Development - +
- + @@ -2131,55 +2131,55 @@ _Frameworks that support the development of games._ - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
FXGL JavaFX Game Development Framework. ---
JBox2D Port of the renowned C++ 2D physics engine. ---
jMonkeyEngine Game engine for modern 3D development. ---
libGDX All-round cross-platform, high-level framework. ---
Litiengine AWT-based, lightweight 2D game engine. ---
LWJGL Robust framework that abstracts libraries like OpenGL/CL/AL. ---
Mini2Dx Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. ---
Void2D High-level 2D game engine with built-in physics based on Swing. GitHub starsLast commitLast commit
vulkan4j Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. GitHub starsLast commitLast commit
@@ -2194,13 +2194,13 @@ _Libraries for working with geospatial data and algorithms._ ### Geospatial - +
- + @@ -2208,49 +2208,49 @@ _Libraries for working with geospatial data and algorithms._ - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache SIS Library for developing geospatial applications. ---
Geo GeoHash utilities in Java. GitHub starsLast commitLast commit
GeoTools Library that provides tools for geospatial data. (LGPL-2.1-only) ---
GraphHopper Road-routing engine. Used as a Java library or standalone web service. GitHub starsLast commitLast commit
H2GIS Spatial extension of the H2 database. (LGPL-3.0-only) ---
Jgeohash Library for using the GeoHash algorithm. ---
Mapsforge Map rendering based on OpenStreetMap data. (LGPL-3.0-only) GitHub starsLast commitLast commit
Spatial4j General-purpose spatial/geospatial library. GitHub starsLast commitLast commit
@@ -2265,13 +2265,13 @@ _Libraries to create modern graphical user interfaces._ ### GUI - +
- + @@ -2279,25 +2279,25 @@ _Libraries to create modern graphical user interfaces._ - + - + - + - +
Name Description StarsUpdatedUpdated
JavaFX Successor of Swing. ---
Scene Builder Visual layout tool for JavaFX applications. ---
SnapKit Modern Java UI library for both desktop and web. GitHub starsLast commitLast commit
SWT Graphical widget toolkit. ---
@@ -2312,13 +2312,13 @@ _Everything about high-performance computation, from collections to specific lib ### High Performance - +
- + @@ -2326,43 +2326,43 @@ _Everything about high-performance computation, from collections to specific lib - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Agrona Data structures and utility methods that are common in high-performance applications. GitHub starsLast commitLast commit
Disruptor Inter-thread messaging library. ---
Eclipse Collections Collections framework inspired by Smalltalk. GitHub starsLast commitLast commit
fastutil Fast and compact type-specific collections. ---
HPPC Primitive collections. ---
JCTools Concurrency tools currently missing from the JDK. GitHub starsLast commitLast commit
Koloboke Carefully designed extension of the Java Collections Framework with primitive specializations and more. GitHub starsLast commitLast commit
@@ -2377,13 +2377,13 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ ### HTTP Clients - +
- + @@ -2391,61 +2391,61 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache HttpComponents Toolset of low-level Java components focused on HTTP and associated protocols. ---
Async Http Client Asynchronous HTTP and WebSocket client library. GitHub starsLast commitLast commit
Avaje Http Client Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. ---
Feign HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. GitHub starsLast commitLast commit
Google HTTP Client Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. GitHub starsLast commitLast commit
methanol HTTP client extensions library. GitHub starsLast commitLast commit
Retrofit Typesafe REST client. ---
Ribbon Client-side IPC library that is battle-tested in the cloud. GitHub starsLast commitLast commit
Riptide Client-side response routing for Spring's RestTemplate. GitHub starsLast commitLast commit
unirest-java Simplified, lightweight HTTP client library. GitHub starsLast commitLast commit
@@ -2460,13 +2460,13 @@ _Libraries that handle serialization to hypermedia types._ ### Hypermedia Types - +
- + @@ -2474,25 +2474,25 @@ _Libraries that handle serialization to hypermedia types._ - + - + - + - +
Name Description StarsUpdatedUpdated
hate Builds hypermedia-friendly objects according to HAL specification. GitHub starsLast commitLast commit
JSON-LD JSON-LD implementation. GitHub starsLast commitLast commit
Siren4J Library for the Siren specification. GitHub starsLast commitLast commit
Spring HATEOAS Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. GitHub starsLast commitLast commit
@@ -2507,13 +2507,13 @@ _Integrated development environments that try to simplify several aspects of dev ### IDE - +
- + @@ -2521,31 +2521,31 @@ _Integrated development environments that try to simplify several aspects of dev - + - + - + - + - +
Name Description StarsUpdatedUpdated
Eclipse Established open-source project with support for lots of plugins and languages. ---
jGRASP Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. ---
NetBeans Provides integration for several Java SE and EE features, from database access to HTML5. ---
SnapCode Modern IDE for Java running in the browser, focused on education. ---
Visual Studio Code Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. ---
@@ -2560,13 +2560,13 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica ### Imagery - +
- + @@ -2574,55 +2574,55 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Barcode-Lib4J Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. GitHub starsLast commitLast commit
Imgscalr Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. GitHub starsLast commitLast commit
Tess4J JNA wrapper for Tesseract OCR API. GitHub starsLast commitLast commit
Thumbnailator High-quality thumbnail generation library. GitHub starsLast commitLast commit
TwelveMonkeys Collection of plugins that extend the number of supported image file formats. GitHub starsLast commitLast commit
ZXing Multi-format 1D/2D barcode image processing library. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
vips-ffm Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. GitHub starsLast commitLast commit
scrimage Immutable, functional, and performant JVM library for manipulation of images. ---
@@ -2637,13 +2637,13 @@ _Libraries that help make the Java introspection and reflection API easier and f ### Introspection - +
- + @@ -2651,37 +2651,37 @@ _Libraries that help make the Java introspection and reflection API easier and f - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
ClassGraph ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. GitHub starsLast commitLast commit
jOOR jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. GitHub starsLast commitLast commit
Mirror Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. ---
Objenesis Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. ---
ReflectASM ReflectASM is a very small Java library that provides high performance reflection by using code generation. GitHub starsLast commitLast commit
Reflections Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. GitHub starsLast commitLast commit
@@ -2696,13 +2696,13 @@ _Libraries for scheduling background jobs._ ### Job Scheduling - +
- + @@ -2710,43 +2710,43 @@ _Libraries for scheduling background jobs._ - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
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. GitHub starsLast commitLast commit
Quartz Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. GitHub starsLast commitLast commit
Sundial Lightweight framework to simply define jobs, define triggers and start the scheduler. GitHub starsLast commitLast commit
Wisp Simple library with minimal footprint and straightforward API. GitHub starsLast commitLast commit
db-scheduler Persistent and cluster-friendly scheduler. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
@@ -2761,13 +2761,13 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ ### JSON - +
- + @@ -2775,103 +2775,103 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Avaje Jsonb Reflection-free Json binding via source code generation with Jackson-like annotations. ---
DSL-JSON JSON library with advanced compile time databinding. GitHub starsLast commitLast commit
Genson Powerful and easy-to-use Java-to-JSON conversion library. ---
Gson Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. GitHub starsLast commitLast commit
HikariJSON High-performance JSON parser, 2x faster than Jackson. GitHub starsLast commitLast commit
jackson-modules-java8 Set of Jackson modules for Java 8 datatypes and features. GitHub starsLast commitLast commit
Jackson-datatype-money Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. GitHub starsLast commitLast commit
Jackson Similar to GSON, but offers performance gains if you need to instantiate the library more often. GitHub starsLast commitLast commit
JSON-io Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. GitHub starsLast commitLast commit
jsoniter Fast and flexible library with iterator and lazy parsing API. ---
LoganSquare JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. GitHub starsLast commitLast commit
Moshi Modern JSON library, less opinionated and uses built-in types like List and Map. GitHub starsLast commitLast commit
Yasson Binding layer between classes and JSON documents similar to JAXB. GitHub starsLast commitLast commit
fastjson Very fast processor with no additional dependencies and full data binding. GitHub starsLast commitLast commit
Jolt JSON to JSON transformation tool. GitHub starsLast commitLast commit
JsonPath Extract data from JSON using XPATH-like syntax. GitHub starsLast commitLast commit
JsonSurfer Streaming JsonPath processor dedicated to processing big and complicated JSON data. GitHub starsLast commitLast commit
@@ -2886,13 +2886,13 @@ _Current implementations of the JVM/JDK._ ### JVM and JDK - +
- + @@ -2900,79 +2900,79 @@ _Current implementations of the JVM/JDK._ - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Which JDK Overview of common JVMs with pros and cons. ---
Adopt Open JDK Community-driven OpenJDK builds, including both HotSpot and OpenJ9. ---
Corretto No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) ---
Dragonwell8 Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. GitHub starsLast commitLast commit
Graal Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) GitHub starsLast commitLast commit
Liberica JDK Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) ---
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. GitHub starsLast commitLast commit
Open JDK Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) ---
ParparVM VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) GitHub starsLast commitLast commit
RedHat Open JDK RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) ---
SAP Machine SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) ---
Zulu OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) ---
Microsoft JDK Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! GitHub starsLast commitLast commit
@@ -2987,13 +2987,13 @@ _Libraries that log the behavior of an application._ ### Logging - +
- + @@ -3001,73 +3001,73 @@ _Libraries that log the behavior of an application._ - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Log4j 2 Complete rewrite with a powerful plugin and configuration architecture. ---
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. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
Logstash Tool for managing log files. ---
p6spy Enables logging for all JDBC transactions without changes to the code. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
Flogger Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. ---
@@ -3082,13 +3082,13 @@ _Tools that provide specific statistical algorithms for learning from data._ ### Machine Learning - +
- + @@ -3096,91 +3096,91 @@ _Tools that provide specific statistical algorithms for learning from data._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Flink Fast, reliable, large-scale data processing engine. ---
Apache Mahout Scalable algorithms focused on collaborative filtering, clustering and classification. ---
DatumBox Provides several algorithms and pre-trained models for natural language processing. ---
Deeplearning4j Distributed and multi-threaded deep learning library. ---
DJL High-level and engine-agnostic framework for deep learning. ---
Intelligent java Seamlessly integrate with remote deep learning and language models programmatically. GitHub starsLast commitLast commit
JSAT Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) GitHub starsLast commitLast commit
m2cgen CLI tool to transpile models into native code. GitHub starsLast commitLast commit
Neureka A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. GitHub starsLast commitLast commit
oj! Algorithms High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. ---
Oryx 2 Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. GitHub starsLast commitLast commit
Siddhi Cloud native streaming and complex event processing engine. GitHub starsLast commitLast commit
Smile Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. GitHub starsLast commitLast commit
Tribuo Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. ---
Weka Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) ---
@@ -3195,13 +3195,13 @@ _Tools that help send messages between clients to ensure protocol independency._ ### Messaging - +
- + @@ -3209,97 +3209,97 @@ _Tools that help send messages between clients to ensure protocol independency._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Aeron Efficient, reliable, unicast and multicast message transport. GitHub starsLast commitLast commit
Apache ActiveMQ Message broker that implements JMS and converts synchronous to asynchronous communication. ---
Apache Camel Glues together different transport APIs via Enterprise Integration Patterns. ---
Apache Kafka High-throughput distributed messaging system. ---
Apache Pulsar Distributed pub/sub-messaging system. ---
Apache RocketMQ Fast, reliable, and scalable distributed messaging platform. ---
Apache Qpid Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. ---
AutoMQ AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. GitHub starsLast commitLast commit
Deezpatch Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. GitHub starsLast commitLast commit
EventBus Simple publish/subscribe event bus. GitHub starsLast commitLast commit
Hermes Fast and reliable message broker built on top of Kafka. ---
JeroMQ Implementation of ZeroMQ. GitHub starsLast commitLast commit
Nakadi Provides a RESTful API on top of Kafka. GitHub starsLast commitLast commit
RabbitMQ Java client RabbitMQ client. GitHub starsLast commitLast commit
Smack Cross-platform XMPP client library. GitHub starsLast commitLast commit
NATS client NATS client. GitHub starsLast commitLast commit
@@ -3314,13 +3314,13 @@ _Tools for creating and managing microservices._ ### Microservice - +
- + @@ -3328,79 +3328,79 @@ _Tools for creating and managing microservices._ - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
ActiveRPC Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. ---
Armeria Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. GitHub starsLast commitLast commit
consul-api Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. GitHub starsLast commitLast commit
Eureka REST-based service registry for resilient load balancing and failover. GitHub starsLast commitLast commit
Helidon Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. ---
JDA Wrapping of the Discord REST API and its WebSocket events. GitHub starsLast commitLast commit
KeenType Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. GitHub starsLast commitLast commit
kubernetes-client Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. GitHub starsLast commitLast commit
Micronaut Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. ---
Nacos Dynamic service discovery, configuration and service management platform for building cloud native applications. ---
OpenAI-Java Java libraries for using OpenAI's GPT-3 API. GitHub starsLast commitLast commit
Quarkus Kubernetes stack tailored for the HotSpot and Graal VM. ---
Sentinel Flow control component enabling reliability, resilience and monitoring for microservices. GitHub starsLast commitLast commit
@@ -3415,13 +3415,13 @@ _Everything else._ ### Miscellaneous - +
- + @@ -3429,217 +3429,217 @@ _Everything else._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
CQEngine Ultra-fast, SQL-like queries on Java collections. GitHub starsLast commitLast commit
Design Patterns Implementation and explanation of the most common design patterns. GitHub starsLast commitLast commit
FF4J Feature Flags for Java. GitHub starsLast commitLast commit
FizzBuzz Enterprise Edition No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) GitHub starsLast commitLast commit
IP2Location.io Java SDK Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. GitHub starsLast commitLast commit
ISBN core A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. GitHub starsLast commitLast commit
J2ObjC Java-to-Objective-C translator for porting Android libraries to iOS. GitHub starsLast commitLast commit
JBake Static website generator. ---
JBot Framework for building chatbots. (GPL-3.0-only) GitHub starsLast commitLast commit
JCuda JCuda offers Java bindings for CUDA and CUDA-related libraries. ---
JEmoji An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. GitHub starsLast commitLast commit
Jimfs In-memory file system. GitHub starsLast commitLast commit
Joda-Money Basic currency and money classes and algorithms not provided by the JDK. ---
jOOX Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. GitHub starsLast commitLast commit
JPad Snippet runner. ---
jsweet Source transpiler to TypeScript/JavaScript. GitHub starsLast commitLast commit
Maven Wrapper Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. GitHub starsLast commitLast commit
Membrane Service Proxy Open-source, reverse-proxy framework. GitHub starsLast commitLast commit
MinimalFTP Lightweight, small and customizable FTP server. GitHub starsLast commitLast commit
LittleProxy High performance HTTP proxy atop Netty's event-based networking library. GitHub starsLast commitLast commit
Modern Java - A Guide to Java 8 Popular Java 8 guide. GitHub starsLast commitLast commit
Modernizer Detect uses of legacy Java APIs. GitHub starsLast commitLast commit
OctoLinker Browser extension which allows to navigate through code on GitHub more efficiently. GitHub starsLast commitLast commit
OpenRefine Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. ---
PipelinR Small utility library for using handlers and commands with pipelines. GitHub starsLast commitLast commit
Polyglot for Maven Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. GitHub starsLast commitLast commit
RR4J RR4J is a tool that records java bytecode execution and later allows developers to replay locally. GitHub starsLast commitLast commit
Simple Java Mail Mailing with a clean and fluent API. GitHub starsLast commitLast commit
Smooks Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) GitHub starsLast commitLast commit
Svix Library for the Svix API to send webhooks and verify signatures. GitHub starsLast commitLast commit
Togglz Implementation of the Feature Toggles pattern. ---
TypeTools Tools for resolving generic types. GitHub starsLast commitLast commit
webcam-capture Library for using built-in and external webcams directly in Java. GitHub starsLast commitLast commit
XMLBeam Processes XML by using annotations or XPath within code. GitHub starsLast commitLast commit
yGuard Obfuscation via renaming and shrinking. GitHub starsLast commitLast commit
JBang JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. GitHub starsLast commitLast commit
@@ -3654,13 +3654,13 @@ _Tools for creating or managing mobile applications._ ### Mobile Development - +
- + @@ -3668,19 +3668,19 @@ _Tools for creating or managing mobile applications._ - + - + - +
Name Description StarsUpdatedUpdated
Codename One Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) ---
MobileUI Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. ---
Multi-OS Engine Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. ---
@@ -3695,13 +3695,13 @@ _Tools that observe/monitor applications in production by providing telemetry._ ### Monitoring - +
- + @@ -3709,127 +3709,127 @@ _Tools that observe/monitor applications in production by providing telemetry._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apitally Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. GitHub starsLast commitLast commit
Automon Combines the power of AOP with monitoring and/or logging tools. GitHub starsLast commitLast commit
Dropwizard Metrics Expose metrics via JMX or HTTP and send them to a database. GitHub starsLast commitLast commit
Failsafe Actuator Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. GitHub starsLast commitLast commit
Glowroot Open-source Java APM. ---
HertzBeat Real-time monitoring system with custom-monitor and agentless. GitHub starsLast commitLast commit
hippo4j Dynamic and observable thread pool framework. GitHub starsLast commitLast commit
inspectIT 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. ---
Jaeger client Jaeger client. GitHub starsLast commitLast commit
JavaMelody Performance monitoring and profiling. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
Jolokia JMX over REST. ---
Micrometer Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. GitHub starsLast commitLast commit
Micrometer Tracing Vendor-neutral distributed tracing facade for the most popular tracer libraries. GitHub starsLast commitLast commit
nudge4j Remote developer console from the browser for Java 8 via bytecode injection. GitHub starsLast commitLast commit
OpenTelemetry Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. GitHub starsLast commitLast commit
Pinpoint Open-source APM tool. GitHub starsLast commitLast commit
Prometheus Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. GitHub starsLast commitLast commit
Stagemonitor Open-source performance monitoring and transaction tracing for JVM apps. GitHub starsLast commitLast commit
Sysmon Lightweight platform monitoring tool for Java VMs. GitHub starsLast commitLast commit
zipkin Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. ---
@@ -3844,13 +3844,13 @@ _For working with platform-specific native libraries._ ### Native - +
- + @@ -3858,31 +3858,31 @@ _For working with platform-specific native libraries._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
Aparapi Converts bytecode to OpenCL which allows execution on GPUs. GitHub starsLast commitLast commit
JavaCPP Provides efficient and easy access to native C++. GitHub starsLast commitLast commit
JNA Work with native libraries without writing JNI. Also provides interfaces to common system libraries. GitHub starsLast commitLast commit
JNR 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). GitHub starsLast commitLast commit
native-lib-loader Native library loader for extracting and loading native libraries from Java. GitHub starsLast commitLast commit
@@ -3897,13 +3897,13 @@ _Libraries that specialize in processing text._ ### Natural Language Processing - +
- + @@ -3911,31 +3911,31 @@ _Libraries that specialize in processing text._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
CogCompNLP Provides common annotators for plain text input. (Research and Academic Use License) GitHub starsLast commitLast commit
CoreNLP Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) ---
DKPro Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. ---
Hypherator Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. GitHub starsLast commitLast commit
LingPipe Toolkit for tasks ranging from POS tagging to sentiment analysis. ---
@@ -3950,13 +3950,13 @@ _Libraries for building network servers._ ### Networking - +
- + @@ -3964,91 +3964,91 @@ _Libraries for building network servers._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Commons-networking Client for server-sent events (SSE). GitHub starsLast commitLast commit
Comsat Integrates standard Java web-related APIs with Quasar fibers and actors. GitHub starsLast commitLast commit
Dubbo High-performance RPC framework. GitHub starsLast commitLast commit
Grizzly NIO framework. Used as a network layer in Glassfish. ---
gRPC RPC framework based on protobuf and HTTP/2. GitHub starsLast commitLast commit
KryoNet Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. GitHub starsLast commitLast commit
MINA Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. ---
Netty Framework for building high-performance network applications. ---
Drift Easy-to-use, annotation-based library for creating Thrift clients and serializable types. GitHub starsLast commitLast commit
ServiceTalk Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. GitHub starsLast commitLast commit
sshj Programmatically use SSH, SCP or SFTP. GitHub starsLast commitLast commit
TLS Channel Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. GitHub starsLast commitLast commit
Undertow Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) ---
urnlib Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) GitHub starsLast commitLast commit
Fluency High throughput data ingestion logger to Fluentd and Fluent Bit. GitHub starsLast commitLast commit
@@ -4063,13 +4063,13 @@ _APIs that handle the persistence of objects._ ### ORM - +
- + @@ -4077,61 +4077,61 @@ _APIs that handle the persistence of objects._ - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Cayenne Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. ---
Doma Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. GitHub starsLast commitLast commit
Ebean Provides simple and fast data access. ---
EclipseLink Supports a number of persistence standards: JPA, JAXB, JCA and SDO. ---
Hibernate Robust and widely used, with an active community. (LGPL-2.1-only) ---
MyBatis Couples objects with stored procedures or SQL statements. GitHub starsLast commitLast commit
MyBatis-Plus A powerful enhanced toolkit of MyBatis for simplifying development. GitHub starsLast commitLast commit
ObjectiveSql ActiveRecord ORM for rapid development and convention over configuration. GitHub starsLast commitLast commit
Permazen Language-natural persistence layer. GitHub starsLast commitLast commit
SimpleFlatMapper Simple database and CSV mapper. GitHub starsLast commitLast commit
@@ -4150,13 +4150,13 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. ### Pathfinding - +
- + @@ -4164,7 +4164,7 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. - +
Name Description StarsUpdatedUpdated
Pathetic A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. GitHub starsLast commitLast commit
@@ -4179,13 +4179,13 @@ _Tools to help with PDF files._ ### PDF - +
- + @@ -4193,61 +4193,61 @@ _Tools to help with PDF files._ - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache FOP Creates PDFs from XSL-FO. ---
Apache PDFBox Toolbox for creating and manipulating PDFs. ---
Dynamic Jasper Abstraction layer to JasperReports. (LGPL-3.0-only) ---
DynamicReports Simplifies JasperReports. (LGPL-3.0-only) GitHub starsLast commitLast commit
Eclipse BIRT Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. ---
flyingsaucer XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) GitHub starsLast commitLast commit
JasperReports Complex reporting engine. (LGPL-3.0-only) ---
Open HTML to PDF Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. GitHub starsLast commitLast commit
OpenPDF Open-source iText fork. (LGPL-3.0-only & MPL-2.0) GitHub starsLast commitLast commit
Tabula Extracts tables from PDF files. GitHub starsLast commitLast commit
@@ -4262,13 +4262,13 @@ _Tools for performance analysis, profiling and benchmarking._ ### Performance analysis - +
- + @@ -4276,31 +4276,31 @@ _Tools for performance analysis, profiling and benchmarking._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
honest-profiler Low-overhead, bias-free sampling profiler. GitHub starsLast commitLast commit
jHiccup Logs and records platform JVM stalls. GitHub starsLast commitLast commit
JITWatch Analyze the JIT compiler optimisations made by the HotSpot JVM. GitHub starsLast commitLast commit
JMH Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) ---
LatencyUtils Utilities for latency measurement and reporting. GitHub starsLast commitLast commit
@@ -4317,13 +4317,13 @@ _Frameworks that are suites of multiple libraries encompassing several categorie ### Platform > Apache Commons - +
- + @@ -4331,325 +4331,325 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
BCEL Byte Code Engineering Library - analyze, create, and manipulate Java class files. ---
BeanUtils Easy-to-use wrappers around the Java reflection and introspection APIs. ---
BeanUtils2 Redesign of Commons BeanUtils. ---
BSF Bean Scripting Framework - interface to scripting languages, including JSR-223. ---
Chain Chain of Responsibility pattern implementation. ---
ClassScan Find Class interfaces, methods, fields, and annotations without loading. ---
CLI Command-line arguments parser. ---
CLI2 Redesign of Commons CLI. ---
Codec General encoding/decoding algorithms, e.g. phonetic, base64 or URL. ---
Collections Extends or augments the Java Collections Framework. ---
Compress Defines an API for working with tar, zip and bzip2 files. ---
Configuration Reading of configuration/preferences files in various formats. ---
Convert Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. ---
CSV Component for reading and writing comma separated value files. ---
Daemon Alternative invocation mechanism for unix-daemon-like java code. ---
DBCP Database connection pooling services. ---
DbUtils JDBC helper library. ---
Digester XML-to-Java-object mapping utility. ---
Email Library for sending e-mail from Java. ---
Exec API for dealing with external process execution and environment management in Java. ---
FileUpload File upload capability for your servlets and web applications. ---
Finder Java library inspired by the UNIX find command. ---
Flatfile Java library for working with flat data structures. ---
Functor Function that can be manipulated as an object, or an object representing a single, generic function. ---
Graph General purpose graph APIs and algorithms. ---
I18n Adds the feature of localized message bundles that consist of one or many localized texts that belong together. ---
Id Id is a component used to generate identifiers. ---
Imaging Image library. ---
IO Collection of I/O utilities. ---
Javaflow Continuation implementation to capture the state of the application. ---
JCI Java Compiler Interface. ---
JCS Java Caching System. ---
Jelly XML based scripting and processing engine. ---
Jexl Expression language which extends the Expression Language of the JSTL. ---
JNet JNet allows to use dynamically register url stream handlers through the java.net API. ---
JXPath Utilities for manipulating Java Beans using the XPath syntax. ---
Lang Provides extra functionality for classes in java.lang. ---
Logging Wrapper around a variety of logging API implementations. ---
Math Lightweight, self-contained mathematics and statistics components. ---
Monitoring Monitoring aims to provide a simple but extensible monitoring solution for Java applications. ---
Nabla Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. ---
Net Collection of network utilities and protocol implementations. ---
OGNL Object-graph navigation language. ---
OpenPGP Interface to signing and verifying data using OpenPGP. ---
Performance Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. ---
Pipeline Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. ---
Pool Generic object pooling component. ---
Proxy Library for creating dynamic proxies. ---
RDF Common implementation of RDF 1.1 that could be implemented by systems on the JVM. ---
RNG Commons Rng provides implementations of pseudo-random numbers generators. ---
SCXML Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. ---
Validator Framework to define validators and validation rules in an xml file. ---
VFS Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. ---
Weaver Provides an easy way to enhance (weave) compiled bytecode. ---
@@ -4662,13 +4662,13 @@ _Frameworks that are suites of multiple libraries encompassing several categorie ### Platform > Other - +
- + @@ -4676,25 +4676,25 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - + - + - + - +
Name Description StarsUpdatedUpdated
CUBA Platform High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. ---
Light-4J Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). GitHub starsLast commitLast commit
Orienteer Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. GitHub starsLast commitLast commit
Spring Provides many packages for dependency injection, aspect-oriented programming, security, etc. ---
@@ -4709,13 +4709,13 @@ _Libraries that help the management of operating system processes._ ### Processes - +
- + @@ -4723,19 +4723,19 @@ _Libraries that help the management of operating system processes._ - + - + - +
Name Description StarsUpdatedUpdated
ch.vorburger.exec Convenient API around Apache Commons Exec. GitHub starsLast commitLast commit
zt-exec Provides a unified API to Apache Commons Exec and ProcessBuilder. GitHub starsLast commitLast commit
zt-process-killer Stops processes started from Java or the system processes via PID. GitHub starsLast commitLast commit
@@ -4750,13 +4750,13 @@ _Libraries for developing reactive applications._ ### Reactive libraries - +
- + @@ -4764,31 +4764,31 @@ _Libraries for developing reactive applications._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
Akka Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. ---
Reactive Streams Provides a standard for asynchronous stream processing with non-blocking backpressure. GitHub starsLast commitLast commit
Reactor A framework for building non-blocking applications on the JVM, providing support for reactive programming. GitHub starsLast commitLast commit
RxJava Allows for composing asynchronous and event-based programs using observable sequences. GitHub starsLast commitLast commit
vert.x Polyglot event-driven application framework. ---
@@ -4803,13 +4803,13 @@ _Frameworks specifically for creating RESTful services._ ### REST Frameworks - +
- + @@ -4817,79 +4817,79 @@ _Frameworks specifically for creating RESTful services._ - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Dropwizard Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. GitHub starsLast commitLast commit
Elide Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. ---
Jersey JAX-RS reference implementation. ---
Microserver 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. GitHub starsLast commitLast commit
Rapidoid Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. ---
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. GitHub starsLast commitLast commit
RESTEasy Fully certified and portable implementation of the JAX-RS specification. ---
RestExpress Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. GitHub starsLast commitLast commit
Restlet Framework Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. GitHub starsLast commitLast commit
Spark Sinatra inspired framework. ---
Crnk Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. ---
springdoc-openapi Automates the generation of API documentation using Spring Boot projects. GitHub starsLast commitLast commit
Swagger Standard, language-agnostic interface to REST APIs. ---
@@ -4904,13 +4904,13 @@ _Libraries for scientific computing, analysis and visualization._ ### Science - +
- + @@ -4918,91 +4918,91 @@ _Libraries for scientific computing, analysis and visualization._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
BioJava Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. ---
Chart-FX Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. GitHub starsLast commitLast commit
DataMelt Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) ---
Erdos Modular, light and easy graph framework for theoretic algorithms. GitHub starsLast commitLast commit
GraphStream Library for modeling and analyzing dynamic graphs. ---
JFreeChart 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) ---
JGraphT Graph library that provides mathematical graph-theory objects and algorithms. GitHub starsLast commitLast commit
JGraphX Library for visualizing (mainly Swing) and interacting with node-edge graphs. GitHub starsLast commitLast commit
LogicNG Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. GitHub starsLast commitLast commit
Mines Java Toolkit Library for geophysical scientific computation, visualization and digital signal analysis. GitHub starsLast commitLast commit
Morpheus Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. GitHub starsLast commitLast commit
Orekit A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. ---
Orson-Charts Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) GitHub starsLast commitLast commit
Tablesaw Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. GitHub starsLast commitLast commit
XChart Light-weight library for plotting data. Many customizable chart types are available. GitHub starsLast commitLast commit
@@ -5017,13 +5017,13 @@ _Engines that index documents for search and analysis._ ### Search - +
- + @@ -5031,25 +5031,25 @@ _Engines that index documents for search and analysis._ - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Lucene High-performance, full-featured, cross-platform, text search engine library. ---
Apache Solr Enterprise search engine optimized for high-volume traffic. ---
Elasticsearch Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. ---
Indexer4j Simple and light full text indexing and searching library. GitHub starsLast commitLast commit
@@ -5064,13 +5064,13 @@ _Libraries that handle security, authentication, authorization or session manage ### Security - +
- + @@ -5078,139 +5078,139 @@ _Libraries that handle security, authentication, authorization or session manage - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Shiro Performs authentication, authorization, cryptography and session management. ---
Ayza High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
Cryptomator Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) ---
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. GitHub starsLast commitLast commit
jjwt JSON web token for Java and Android. GitHub starsLast commitLast commit
jwt-java Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. GitHub starsLast commitLast commit
Jwks RSA JSON Web Key Set parser. GitHub starsLast commitLast commit
Kalium Binding for the Networking and Cryptography (NaCl) library. GitHub starsLast commitLast commit
Keycloak Integrated SSO and IDM for browser apps and RESTful web services. ---
Keywhiz System for distributing and managing secrets. GitHub starsLast commitLast commit
Nbvcxz Advanced password strength estimation. GitHub starsLast commitLast commit
OACC Provides permission-based authorization services. ---
OpenAM Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. GitHub starsLast commitLast commit
OTP-Java One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). GitHub starsLast commitLast commit
pac4j Security engine. GitHub starsLast commitLast commit
Passay Enforce password policy by validating candidate passwords against a configurable rule set. ---
Password4j User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. GitHub starsLast commitLast commit
SecurityBuilder Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. GitHub starsLast commitLast commit
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. GitHub starsLast commitLast commit
Tink Provides a simple and misuse-proof API for common cryptographic tasks. GitHub starsLast commitLast commit
Topaz Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. ---
@@ -5225,13 +5225,13 @@ _Libraries that handle serialization with high efficiency._ ### Serialization - +
- + @@ -5239,37 +5239,37 @@ _Libraries that handle serialization with high efficiency._ - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
FlatBuffers Memory-efficient serialization library that can access serialized data without unpacking and parsing it. GitHub starsLast commitLast commit
FST JDK-compatible, high-performance object graph serialization. GitHub starsLast commitLast commit
Fury Blazing fast object graph serialization framework powered by JIT and zero-copy. GitHub starsLast commitLast commit
Kryo Fast and efficient object graph serialization framework. GitHub starsLast commitLast commit
MessagePack Efficient binary serialization format. GitHub starsLast commitLast commit
PHP Serializer Serializing objects in the PHP serialization format. GitHub starsLast commitLast commit
@@ -5284,13 +5284,13 @@ _Servers specifically used to deploy applications._ ### Server - +
- + @@ -5298,31 +5298,31 @@ _Servers specifically used to deploy applications._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Tomcat Robust, all-round server for Servlet and JSP. ---
Apache TomEE Tomcat plus Java EE. ---
Jetty Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. ---
nanohttpd Tiny, easily embeddable HTTP server. GitHub starsLast commitLast commit
WildFly Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) ---
@@ -5337,13 +5337,13 @@ _Tools that substitute expressions in a template._ ### Template Engine - +
- + @@ -5351,67 +5351,67 @@ _Tools that substitute expressions in a template._ - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Freemarker Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. ---
Handlebars.java Logicless and semantic Mustache templates. ---
Jade4J Implementation of Pug (formerly known as Jade). GitHub starsLast commitLast commit
Jamal Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. GitHub starsLast commitLast commit
jstachio Typesafe Mustache templating engine. GitHub starsLast commitLast commit
jte Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. GitHub starsLast commitLast commit
Jtwig Modular, configurable and fully tested template engine. GitHub starsLast commitLast commit
Pebble 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 Optimized, memory efficient and speedy template engine producing statically typed, plain objects. GitHub starsLast commitLast commit
StringTemplate Template engine for generating source code, web pages, emails, or any other formatted text output. GitHub starsLast commitLast commit
Thymeleaf Aims to be a substitute for JSP and works for XML files. ---
@@ -5430,13 +5430,13 @@ _Tools that simplify testing asynchronous services._ ### Testing > Asynchronous - +
- + @@ -5444,43 +5444,43 @@ _Tools that simplify testing asynchronous services._ - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Awaitility DSL for synchronizing asynchronous operations. GitHub starsLast commitLast commit
ConcurrentUnit Toolkit for testing multi-threaded and asynchronous applications. GitHub starsLast commitLast commit
GreenMail In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) ---
Hoverfly Java Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. GitHub starsLast commitLast commit
Karate DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. GitHub starsLast commitLast commit
REST Assured DSL for easy testing of REST/HTTP services. GitHub starsLast commitLast commit
WebTau Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. GitHub starsLast commitLast commit
@@ -5495,13 +5495,13 @@ _Testing for the software development process that emerged from TDD and was heav ### Testing > BDD - +
- + @@ -5509,43 +5509,43 @@ _Testing for the software development process that emerged from TDD and was heav - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Cucumber Provides a way to describe features in a plain language which customers can understand. GitHub starsLast commitLast commit
Cukes-REST Collection of Gherkin steps for REST-service testing using Cucumber. GitHub starsLast commitLast commit
J8Spec Follows a Jasmine-like syntax. GitHub starsLast commitLast commit
JBehave Extensively configurable framework that describes stories. ---
JGiven Provides a fluent API which allows for simpler composition. ---
Lamdba Behave Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. GitHub starsLast commitLast commit
Serenity BDD Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. GitHub starsLast commitLast commit
@@ -5560,13 +5560,13 @@ _Everything related to the creation and handling of random data._ ### Testing > Fixtures - +
- + @@ -5574,61 +5574,61 @@ _Everything related to the creation and handling of random data._ - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
AutoParams Supports generating test data or combining scenarios for parameterized tests. GitHub starsLast commitLast commit
Beanmother Sets up beans from YAML fixtures. GitHub starsLast commitLast commit
Datafaker Modern fake data generator forked from Java Faker. GitHub starsLast commitLast commit
Fixture Factory Generates fake objects from a template. GitHub starsLast commitLast commit
jFairy Fake data generator. GitHub starsLast commitLast commit
Instancio Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. GitHub starsLast commitLast commit
Randomized Testing JUnit test runner and plugins for running JUnit tests with pseudo-randomness. GitHub starsLast commitLast commit
Java Faker Port of Ruby's fake data generator. GitHub starsLast commitLast commit
Mockneat Another fake data generator. GitHub starsLast commitLast commit
JMock JMock is a high-performance data generation and simulation component library implemented in Java. GitHub starsLast commitLast commit
@@ -5643,13 +5643,13 @@ _Provide environments to run tests for a specific use case._ ### Testing > Frameworks - +
- + @@ -5657,67 +5657,67 @@ _Provide environments to run tests for a specific use case._ - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache JMeter Functional testing and performance measurements. ---
JMeter DSL.java Load tests with JMeter as simple as a JUnit test. ---
Arquillian Integration and functional testing platform for Java EE containers. ---
cdi-test JUnit extension for easy and efficient testing of CDI components. GitHub starsLast commitLast commit
Citrus Integration testing framework that focuses on both client- and server-side messaging. ---
Gatling Load testing tool designed for ease of use, maintainability and high performance. ---
JUnit Common testing framework. ---
jqwik Engine for property-based testing built on JUnit 5. ---
Pact JVM Consumer-driven contract testing. GitHub starsLast commitLast commit
PIT Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. ---
weld-testing Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. GitHub starsLast commitLast commit
@@ -5732,13 +5732,13 @@ _Libraries that provide custom matchers._ ### Testing > Matchers - +
- + @@ -5746,37 +5746,37 @@ _Libraries that provide custom matchers._ - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
AssertJ Fluent assertions that improve readability. ---
Hamcrest Matchers that can be combined to create flexible expressions of intent. ---
JSONAssert Simplifies testing JSON strings. ---
JsonUnit Library that simplifies JSON comparison in tests. GitHub starsLast commitLast commit
Truth Google's fluent assertion and proposition framework. ---
XMLUnit Simplifies testing for XML output. GitHub starsLast commitLast commit
@@ -5791,13 +5791,13 @@ _Other stuff related to testing._ ### Testing > Miscellaneous - +
- + @@ -5805,67 +5805,67 @@ _Other stuff related to testing._ - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
ConsoleCaptor Captures console output for unit testing purposes. GitHub starsLast commitLast commit
junit-dataprovider TestNG-like data provider/runner for JUnit. GitHub starsLast commitLast commit
junit-pioneer JUnit 5 extension pack, pushing the frontiers on Jupiter. ---
LogCaptor Captures log entries for unit testing purposes. GitHub starsLast commitLast commit
log-capture Captures log entries and provides assertions for unit and integration testing. GitHub starsLast commitLast commit
Mutability Detector Reports whether instances of a given class are immutable. GitHub starsLast commitLast commit
pojo-tester Automatically performs tests on basic POJO methods. (LGPL-3.0-only) ---
raml-tester Tests if a request/response matches a given RAML definition. GitHub starsLast commitLast commit
Selfie Snapshot testing (inline and on disk). GitHub starsLast commitLast commit
Stebz Multi-approach framework for test steps managing. GitHub starsLast commitLast commit
Testcontainers Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. GitHub starsLast commitLast commit
@@ -5880,13 +5880,13 @@ _Tools which mock collaborators to help testing single, isolated units._ ### Testing > Mocking - +
- + @@ -5894,43 +5894,43 @@ _Tools which mock collaborators to help testing single, isolated units._ - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
JMockit Integration testing, API mocking and faking, and code coverage. ---
Mockito Mocking framework that lets you write tests with a clean and simple API. GitHub starsLast commitLast commit
MockServer Allows mocking of systems integrated with HTTPS. ---
Moco Concise web services for stubs and mocks. GitHub starsLast commitLast commit
PowerMock Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. GitHub starsLast commitLast commit
WireMock Stubs and mocks web services. ---
EasyMock EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. GitHub starsLast commitLast commit
@@ -5945,13 +5945,13 @@ _Libraries which provide general utility functions._ ### Utility - +
- + @@ -5959,127 +5959,127 @@ _Libraries which provide general utility functions._ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
Arthas Allows to troubleshoot production issues for applications without modifying code or restarting servers. GitHub starsLast commitLast commit
bucket4j Rate limiting library based on token-bucket algorithm. GitHub starsLast commitLast commit
cactoos Collection of object-oriented primitives. GitHub starsLast commitLast commit
Chocotea Generates postman collection, environment and integration tests from java code. GitHub starsLast commitLast commit
CRaSH Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) ---
Dex Java/JavaFX tool capable of powerful ETL and data visualization. GitHub starsLast commitLast commit
dregex Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. GitHub starsLast commitLast commit
Embulk Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. GitHub starsLast commitLast commit
fswatch Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. GitHub starsLast commitLast commit
Gephi Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) GitHub starsLast commitLast commit
Guava Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. GitHub starsLast commitLast commit
JADE Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) ---
Javadoc Publisher Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. GitHub starsLast commitLast commit
Java Diff Utils Utilities for text or data comparison and patching. ---
JavaVerbalExpressions Library that helps with constructing difficult regular expressions. GitHub starsLast commitLast commit
JGit Lightweight, pure Java library implementing the Git version control system. ---
JKScope Java scope functions inspired by Kotlin. GitHub starsLast commitLast commit
minio-java Provides simple APIs to access any Amazon S3-compatible object storage server. GitHub starsLast commitLast commit
Protégé Provides an ontology editor and a framework to build knowledge-based systems. ---
Semver4j Lightweight library that helps you handling semantic versioning with different modes. GitHub starsLast commitLast commit
Underscore-java Port of Underscore.js functions. GitHub starsLast commitLast commit
@@ -6094,13 +6094,13 @@ _Utilities that help create the development shell environment and switch between ### Version Managers - +
- + @@ -6108,19 +6108,19 @@ _Utilities that help create the development shell environment and switch between - + - + - +
Name Description StarsUpdatedUpdated
jabba Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. GitHub starsLast commitLast commit
jenv Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. GitHub starsLast commitLast commit
SDKMan Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. GitHub starsLast commitLast commit
@@ -6135,13 +6135,13 @@ _Libraries that analyze the content of websites._ ### Web Crawling - +
- + @@ -6149,31 +6149,31 @@ _Libraries that analyze the content of websites._ - + - + - + - + - +
Name Description StarsUpdatedUpdated
Apache Nutch Highly extensible, highly scalable web crawler for production environments. ---
Crawler4j Simple and lightweight web crawler. GitHub starsLast commitLast commit
jsoup Scrapes, parses, manipulates and cleans HTML. ---
StormCrawler SDK for building low-latency and scalable web crawlers. ---
webmagic Scalable crawler with downloading, url management, content extraction and persistent. GitHub starsLast commitLast commit
@@ -6188,13 +6188,13 @@ _Frameworks that handle the communication between the layers of a web applicatio ### Web Frameworks - +
- + @@ -6202,97 +6202,97 @@ _Frameworks that handle the communication between the layers of a web applicatio - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Name Description StarsUpdatedUpdated
ActiveJ Lightweight asynchronous framework built from the ground up for developing high-performance web applications. ---
Apache Tapestry Component-oriented framework for creating dynamic, robust, highly scalable web applications. ---
Apache Wicket Component-based web application framework similar to Tapestry, with a stateful GUI. ---
Blade Lightweight, modular framework that aims to be elegant and simple. GitHub starsLast commitLast commit
Bootique Minimally opinionated framework for runnable apps. ---
Firefly Asynchronous framework for rapid development of high-performance web application. ---
Javalin Microframework for web applications. ---
Jooby Scalable, fast and modular micro-framework that offers multiple programming models. ---
Ninja Full-stack web framework. ---
Pippo Small, highly modularized, Sinatra-like framework. ---
Play Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. ---
PrimeFaces JSF framework with both free and commercial/support versions and frontend components. ---
Ratpack Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. ---
Takes Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. GitHub starsLast commitLast commit
Vaadin 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. ---
WebForms Core A technology for managing HTML tags from the server. ---
@@ -6307,13 +6307,13 @@ _Platforms and frameworks for orchestrating workflows and business processes._ ### Workflow Orchestration Engines - +
- + @@ -6321,19 +6321,19 @@ _Platforms and frameworks for orchestrating workflows and business processes._ - + - + - +
Name Description StarsUpdatedUpdated
Cadence Stateful code platform from Uber. ---
flowable Compact and efficient workflow and business process management platform. GitHub starsLast commitLast commit
Temporal Microservice orchestration platform, forked from Cadence but gRPC based. ---
diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java index edf31dea..949a3891 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_badges.java @@ -93,7 +93,7 @@ List generateBadgeMappings(List entries) { var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); - var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); + var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); mappings.add(new BadgeMapping( entry.name(), diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index c8b9b99c..02818e27 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -150,13 +150,13 @@ String createHtmlTable(List entries, Map bad var table = new StringBuilder(); table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); table.append("### ").append(sectionName).append("\n\n"); - table.append("\n"); + table.append("
\n"); table.append("\n"); table.append("\n"); table.append("\n"); table.append("\n"); table.append("\n"); - table.append("\n"); + table.append("\n"); table.append("\n"); table.append("\n"); table.append("\n"); @@ -171,7 +171,7 @@ String createHtmlTable(List entries, Map bad table.append("\n"); table.append("\n"); table.append("\n"); - table.append("\n"); + table.append("\n"); table.append("\n"); } From 0ea47a02a4783988c74d912b42705fddc3a47327 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Oct 2025 23:05:06 +0200 Subject: [PATCH 397/533] Revert --- .github/workflows/update-readme.yml | 25 +- README.md | 6613 +++---------------- scripts/step_4_generate_tables.java | 25 +- scripts/step_6_validate_transformation.java | 83 +- 4 files changed, 825 insertions(+), 5921 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index 6427dc87..7d68dbd1 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -1,17 +1,18 @@ name: Update README from CONTRIBUTE_README -on: - push: - branches: [master] - paths: - - "CONTRIBUTE_README.md" - - "scripts/*.java" - pull_request: - branches: [master] - paths: - - "CONTRIBUTE_README.md" - - "scripts/*.java" - workflow_dispatch: +# Workflow disabled +# on: +# push: +# branches: [master] +# paths: +# - "CONTRIBUTE_README.md" +# - "scripts/*.java" +# pull_request: +# branches: [master] +# paths: +# - "CONTRIBUTE_README.md" +# - "scripts/*.java" +# workflow_dispatch: jobs: update-readme: diff --git a/README.md b/README.md index 560920c2..6ccfd4b1 100644 --- a/README.md +++ b/README.md @@ -92,323 +92,62 @@ A curated list of awesome Java frameworks, libraries and software. _Frameworks and libraries that help implementing and verifying design and architecture concepts._ - - -### Architecture - -
NameDescriptionStarsUpdatedUpdated
").append(entry.name()).append("").append(desc).append("").append(stars).append("").append(commit).append("").append(commit).append("
- - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ArchUnitTest library for specifying and asserting architecture rules.GitHub starsLast commit
jMoleculesAnnotations and interfaces to express design and architecture concepts in code.GitHub starsLast commit
+- [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._ - - - - -### Artificial Intelligence - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
LangChain4jSimplifies integration of LLMs with unified APIs and a comprehensive toolbox.GitHub starsLast commit
MCP Java SDKEnables applications to interact with AI models and tools through a standardized interface (i.e. Model Context Protocol), supporting both synchronous and asynchronous communication patterns.GitHub starsLast commit
simple-openaiLibrary to use the OpenAI API (and compatible ones) in the simplest possible way.GitHub starsLast commit
Spring AIApplication framework for AI engineering for Spring.--
+- [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. +- [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. +- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. ### Bean Mapping _Frameworks that ease bean mapping._ - - - - -### Bean Mapping - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
dOOvProvides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy.GitHub starsLast commit
JMapperUses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.GitHub starsLast commit
MapStructCode generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.GitHub starsLast commit
ModelMapperIntelligent object mapping library that automatically maps objects to each other.GitHub starsLast commit
OrikaJavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.GitHub starsLast commit
reMapLambda and method handle-based mapping which requires code and not annotations if objects have different names.GitHub starsLast commit
SelmaAnnotation processor-based bean mapper.GitHub starsLast commit
+- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. +- [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. +- [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. +- [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. +- [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. +- [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. ### Build _Tools that handle the build cycle and dependencies of an application._ - - - - -### Build - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache MavenDeclarative 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.--
BazelTool from Google that builds code quickly and reliably.--
Buck2Encourages the creation of small, reusable modules consisting of code and resources.GitHub starsLast commit
GradleIncremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.--
+- [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. +- [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 _Libraries to manipulate bytecode programmatically._ - - - - -### Bytecode Manipulation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ASMAll-purpose, low-level bytecode manipulation and analysis.--
Byte BuddyFurther simplifies bytecode generation with a fluent API.--
bytecode-viewerJava 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)GitHub starsLast commit
BytemanManipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)--
cglibBytecode generation library.GitHub starsLast commit
JavassistTries to simplify bytecode editing.GitHub starsLast commit
MakerProvides low level bytecode generation.GitHub starsLast commit
MixinManipulate bytecode at runtime using real Java code.GitHub starsLast commit
PersesDynamically injects failure/latency at the bytecode level according to principles of chaos engineering.GitHub starsLast commit
RecafJVM reverse engineering toolkit, essentially an IDE for Java bytecode.--
+- [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. +- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. +- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +- [cglib](https://github.com/cglib/cglib) - Bytecode generation library. +- [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. +- [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. +- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. +- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. +- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. ### Caching _Libraries that provide caching facilities._ - - - - -### Caching - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
cache2kIn-memory high performance caching library.--
CaffeineHigh-performance, near-optimal caching library.GitHub starsLast commit
EhcacheDistributed general-purpose cache.--
InfinispanHighly concurrent key/value datastore used for caching.--
+- [cache2k](https://cache2k.org) - In-memory high performance caching library. +- [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. +- [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. +- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. ### CLI @@ -418,3892 +157,734 @@ _Libraries for everything related to the CLI._ _Libraries to assist with parsing command line arguments._ - - - - -### CLI > Argument Parsing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AirlineAnnotation-based framework for parsing Git-like command-line arguments.--
JCommanderCommand-line argument-parsing framework with custom types and validation via implementing interfaces.--
jbockReflectionless command line parser.GitHub starsLast commit
JLineIncludes features from modern shells like completion or history.GitHub starsLast commit
picocliANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.--
+- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. +- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. +- [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. +- [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. +- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. #### Text-Based User Interfaces _Libraries that provide TUI frameworks, or building blocks related functions._ - - - - -### CLI > Text-Based User Interfaces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
JansiANSI escape codes to format console output.GitHub starsLast commit
JexerAdvanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision).--
Text-IOAids the creation of full console-based applications.GitHub starsLast commit
LanternaEasy console text-GUI library, similar to curses. (LGPL-3.0-only)GitHub starsLast commit
+- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. +- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). +- [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) ### Cloud _Libraries to integrate or use cloud-specific features._ - - - - -### Cloud - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AWS SDK for JavaProvides Java APIs for interacting with Amazon Web Services.GitHub starsLast commit
Google Cloud Client LibrariesClient libraries for accessing Google Cloud services from Java applications.GitHub starsLast commit
+- [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 _Tools that provide metrics and quality measurements._ - - - - -### Code Analysis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CheckstyleStatic analysis of coding conventions and standards. (LGPL-2.1-or-later)GitHub starsLast commit
Error ProneCatches common programming mistakes as compile-time errors.GitHub starsLast commit
Error Prone SupportError Prone extensions: extra bug checkers and a large battery of Refaster templates.GitHub starsLast commit
InferModern static analysis tool for verifying the correctness of code.GitHub starsLast commit
jQAssistantStatic code analysis with Neo4J-based query language. (GPL-3.0-only)--
NullAwayEliminates NullPointerExceptions with low build-time overhead.GitHub starsLast commit
PMDSource code analysis for finding bad coding practices.GitHub starsLast commit
p3cProvides Alibaba's coding guidelines for PMD, IDEA and Eclipse.GitHub starsLast commit
RefactorFirstIdentifies and prioritizes God Classes and Highly Coupled classes.GitHub starsLast commit
SonarJavaStatic analyzer for SonarQube & SonarLint. (LGPL-3.0-only)GitHub starsLast commit
SpoonLibrary for analyzing and transforming Java source code.GitHub starsLast commit
SpotbugsStatic analysis of bytecode to find potential bugs. (LGPL-2.1-only)GitHub starsLast commit
+- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +- [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. +- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. +- [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. +- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) +- [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. +- [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. +- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. +- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) +- [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. +- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) ### Code Coverage _Frameworks and tools that enable code coverage metrics collection for test suites._ - - - - -### Code Coverage - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CloverRelies on source-code instrumentation instead of bytecode instrumentation.--
CoberturaRelies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)--
JaCoCoFramework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.--
+- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. +- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. ### Code Generators _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ - - - - -### Code Generators - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ADT4JJSR-269 code generator for algebraic data types.GitHub starsLast commit
AutoGenerates factory, service, and value classes.GitHub starsLast commit
Avaje Http ServerGenerates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.--
EasyEntityToDTOAnnotation processor for automatic DTO and Mapper generation with zero boilerplate.GitHub starsLast commit
FreeBuilderAutomatically generates the Builder pattern.GitHub starsLast commit
GeciDiscovers files that need generated code, updates automatically and writes to the source with a convenient API.GitHub starsLast commit
ImmutablesAnnotation processors to generate simple, safe and consistent value objects.--
JavaPoetAPI to generate source files.GitHub starsLast commit
JHipsterYeoman source code generator for Spring Boot and AngularJS.GitHub starsLast commit
Joda-BeansSmall framework that adds queryable properties to Java, enhancing JavaBeans.--
JSpecify Package-Info GeneratorMaven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate.GitHub starsLast commit
LombokCode generator that aims to reduce verbosity.--
Record-BuilderCompanion builder class, withers and templates for Java records.GitHub starsLast commit
TelosysSimple and light code generator available as an Eclipse Plugin and also as a CLI.--
+- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. +- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. +- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. +- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. +- [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. +- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +- [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. ### Compiler-compiler _Frameworks that help to create parsers, interpreters or compilers._ - - - - -### Compiler-compiler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ANTLRComplex full-featured framework for top-down parsing.--
JavaCCParser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.--
JFlexLexical analyzer generator.--
+- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. +- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +- [JFlex](https://jflex.de) - Lexical analyzer generator. ### Computer Vision _Libraries which seek to gain high level information from images and videos._ - - - - -### Computer Vision - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
BoofCVLibrary for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more.--
ImageJMedical image processing application with an API.--
JavaCVJava interface to OpenCV, FFmpeg, and much more.GitHub starsLast commit
+- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. +- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. ### Configuration _Libraries that provide external configuration._ - - - - -### Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
avaje configLoads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.--
centraldogmaHighly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.GitHub starsLast commit
configConfiguration library supporting Java properties, JSON or its human optimized superset HOCON.GitHub starsLast commit
ConfigurateConfiguration library with support for various configuration formats and transformations.GitHub starsLast commit
Curator FrameworkHigh-level API for Apache ZooKeeper.--
dotenvTwelve-factor configuration library which uses environment-specific files.GitHub starsLast commit
Externalized PropertiesLightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism.GitHub starsLast commit
GestaltGestalt 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.GitHub starsLast commit
ini4jProvides an API for handling Windows' INI files.--
KAConfAnnotation-based configuration system for Java and Kotlin.GitHub starsLast commit
microconfigConfiguration 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.--
ownerReduces boilerplate of properties.GitHub starsLast commit
+- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +- [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +- [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. +- [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. +- [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 distributed. +- [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. ### Constraint Satisfaction Problem Solver _Libraries that help with implementing optimization and satisfiability problems._ - - - - -### Constraint Satisfaction Problem Solver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ChocoOff-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.--
JaCoPIncludes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0)GitHub starsLast commit
OptaPlannerBusiness planning and resource scheduling optimization solver.--
TimefoldFlexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.--
+- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) +- [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. +- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. ### CSV _Frameworks and libraries that simplify reading/writing CSV data._ - - - - -### CSV - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
FastCSVPerformance-optimized, dependency-free and RFC 4180 compliant.GitHub starsLast commit
jackson-dataformat-csvJackson extension for reading and writing CSV.GitHub starsLast commit
opencsvSimple CSV parser.--
Super CSVPowerful CSV parser with support for Dozer, Joda-Time and Java 8.--
uniVocity-parsersOne of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.GitHub starsLast commit
+- [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. +- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. +- [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. +- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. ### Data Structures _Efficient and specific data structures._ - - - - -### Data Structures - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache AvroData interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.--
Apache OrcFast and efficient columnar storage format for Hadoop-based workloads.--
Apache ParquetColumnar storage format based on assembly algorithms from Google's paper on Dremel.--
Apache ThriftData interchange format that originated at Facebook.--
Big QueueFast and persistent queue based on memory-mapped files.GitHub starsLast commit
HyperMinHash-javaProbabilistic data structure for computing union, intersection, and set cardinality in loglog space.GitHub starsLast commit
Persistent CollectionPersistent and immutable analogue of the Java Collections Framework.GitHub starsLast commit
ProtobufGoogle's data interchange format.GitHub starsLast commit
RoaringBitmapFast and efficient compressed bitmap.GitHub starsLast commit
SBESimple Binary Encoding, one of the fastest message formats around.GitHub starsLast commit
TapeLightning-fast, transactional, file-based FIFO.GitHub starsLast commit
WireClean, lightweight protocol buffers.GitHub starsLast commit
+- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. +- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. +- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. +- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. +- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. +- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. +- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. +- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. +- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. +- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. +- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. ### Database _Everything that simplifies interactions with the database._ - - - - -### Database - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache CalciteDynamic data management framework. It contains many of the pieces that comprise a typical database management system.--
Apache DrillDistributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration.--
Apache PhoenixHigh-performance relational database layer over HBase for low-latency applications.--
ArangoDBArangoDB Java driver.GitHub starsLast commit
Chronicle MapEfficient, in-memory (opt. persisted to disk), off-heap key-value store.GitHub starsLast commit
DebeziumLow latency data streaming platform for change data capture.--
druidHigh-performance, column-oriented, distributed data store.--
eXistNoSQL document database and application platform. (LGPL-2.1-only)GitHub starsLast commit
FlexyPoolBrings metrics and failover strategies to the most common connection pooling solutions.GitHub starsLast commit
FlywaySimple database migration tool.--
H2Small SQL database notable for its in-memory functionality.--
HikariCPHigh-performance JDBC connection pool.GitHub starsLast commit
HSQLDBHyperSQL 100% Java database.--
JDBIConvenient abstraction of JDBC.--
JedisSmall client for interaction with Redis, with methods for commands.GitHub starsLast commit
JestClient for the Elasticsearch REST API.GitHub starsLast commit
jetcdClient library for etcd.GitHub starsLast commit
JinqTypesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).GitHub starsLast commit
jOOQGenerates typesafe code based on SQL schema.--
LeafDistributed ID generate service.GitHub starsLast commit
LettuceLettuce is a scalable Redis client for building non-blocking Reactive applications.--
LiquibaseDatabase-independent library for tracking, managing and applying database schema changes.--
MapDBEmbedded database engine that provides concurrent collections backed on disk or in off-heap memory.--
MariaDB4jLauncher for MariaDB that requires no installation or external dependencies.GitHub starsLast commit
ModalityLightweight ORM with database reverse engineering features.GitHub starsLast commit
OpenDJLDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities.GitHub starsLast commit
QuerydslTypesafe unified queries.--
QueryStreamBuild JPA Criteria queries using a Stream-like API.GitHub starsLast commit
QuestDBHigh-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.GitHub starsLast commit
RealmMobile database to run directly inside phones, tablets or wearables.GitHub starsLast commit
RedissonAllows for distributed and scalable data structures on top of a Redis server.GitHub starsLast commit
requeryModern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.GitHub starsLast commit
SpeedmentDatabase access library that utilizes Java 8's Stream API for querying.GitHub starsLast commit
Spring Data JPA MongoDB ExpressionsAllows you to use MongoDB query language to query your relational database.GitHub starsLast commit
TrinoDistributed SQL query engine for big data.--
Vibur DBCPJDBC connection pool library with advanced performance monitoring capabilities.--
XodusHighly concurrent transactional schema-less and ACID-compliant embedded database.GitHub starsLast commit
CosIdUniversal, flexible, high-performance distributed ID generator.GitHub starsLast commit
+- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +- [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. +- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. +- [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. +- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. +- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) +- [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. +- [Flyway](https://flywaydb.org) - Simple database migration tool. +- [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. +- [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. +- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. +- [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. +- [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. +- [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. +- [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. +- [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). +- [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. +- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. +- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. +- [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. +- [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +- [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. +- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. +- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. +- [Querydsl](http://www.querydsl.com) - Typesafe unified queries. +- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. +- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. +- [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. +- [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. +- [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +- [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. +- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. +- [Trino](https://trino.io) - Distributed SQL query engine for big data. +- [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. +- [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. +- [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. ### Date and Time _Libraries related to handling date and time._ - - - - -### Date and Time - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
iCal4jParse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models.GitHub starsLast commit
JollydayDetermines the holidays for a given year, country/name and eventually state/region.GitHub starsLast commit
ThreeTen-ExtraAdditional date-time classes that complement those in JDK 8.GitHub starsLast commit
Time4JAdvanced date and time library. (LGPL-2.1-only)GitHub starsLast commit
+- [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. +- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. +- [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. +- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) ### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ - - - - -### Dependency Injection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache DeltaSpikeCDI extension framework.--
Avaje InjectMicroservice-focused compile-time injection framework without reflection.--
DaggerCompile-time injection framework without reflection.--
FeatherUltra-lightweight, JSR-330-compliant dependency injection library.GitHub starsLast commit
GovernatorExtensions and utilities that enhance Google Guice.GitHub starsLast commit
GuiceLightweight and opinionated framework that completes Dagger.GitHub starsLast commit
HK2Lightweight and dynamic dependency injection framework.--
JayWireLightweight dependency injection framework. (LGPL-3.0-only)GitHub starsLast commit
+- [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. +- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. +- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. +- [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://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 _Augmentation of the development process at a fundamental level._ - - - - -### Development - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AspectJSeamless aspect-oriented programming extension.--
DCEVMJVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only)--
Faux PasLibrary that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions.GitHub starsLast commit
HotswapAgentUnlimited runtime class and resource redefinition. (GPL-2.0-only)GitHub starsLast commit
JavaParserParse, modify and generate Java code.GitHub starsLast commit
JavaSymbolSolverSymbol solver.GitHub starsLast commit
ManifoldRe-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.GitHub starsLast commit
NoExceptionAllows checked exceptions in functional interfaces and converts exceptions to Optional return.--
SneakyThrowIgnores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations.GitHub starsLast commit
TailEnable infinite recursion using tail call optimization.--
+- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. +- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) +- [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) +- [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. +- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. +- [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. +- [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. +- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. ### Distributed Applications _Libraries and frameworks for writing distributed and fault-tolerant applications._ - - - - -### Distributed Applications - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache GeodeIn-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.--
Apache StormRealtime computation system.--
Apache ZooKeeperCoordination service with distributed configuration, synchronization, and naming registry for large distributed systems.--
AtomixFault-tolerant distributed coordination framework.--
AxonFramework for creating CQRS applications.--
Dropwizard Circuit BreakerCircuit breaker design pattern for Dropwizard. (GPL-2.0-only)GitHub starsLast commit
FailsafeSimple failure handling with retries and circuit breakers.GitHub starsLast commit
HazelcastHighly scalable in-memory datagrid with a free open-source version.GitHub starsLast commit
JGroupsToolkit for reliable messaging and cluster creation.--
QuasarLightweight threads and actors for the JVM.--
resilience4jFunctional fault tolerance library.GitHub starsLast commit
OpenIGHigh-performance reverse proxy server with specialized session management and credential replay functionality.GitHub starsLast commit
ScaleCube ServicesEmbeddable Cluster-Membership library based on SWIM and gossip protocol.GitHub starsLast commit
ZuulGateway service that provides dynamic routing, monitoring, resiliency, security, and more.GitHub starsLast commit
+- [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +- [Apache Storm](https://storm.apache.org) - Realtime computation system. +- [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. +- [Axon](https://axoniq.io) - Framework for creating CQRS applications. +- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. +- [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. +- [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. +- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +- [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. +- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. +- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. +- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. ### Distributed Transactions _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ - - - - -### Distributed Transactions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AtomikosProvides transactions for REST, SOA and microservices with support for JTA and XA.--
BitronixSimple but complete implementation of the JTA 1.1 API.GitHub starsLast commit
NarayanaProvides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only)--
SeataDelivers high performance and easy to use distributed transaction services under a microservices architecture.GitHub starsLast commit
+- [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. +- [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. +- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. ### Distribution _Tools that handle the distribution of applications in native formats._ - - - - -### Distribution - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ArtipieBinary artifact management toolkit which hosts them on the file system or S3.GitHub starsLast commit
CapsuleSimple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.GitHub starsLast commit
Central RepositoryLargest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools.--
GetdownSystem for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start.GitHub starsLast commit
IzPackSetup authoring tool for cross-platform deployments.--
JavaPackagerMaven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them.GitHub starsLast commit
jDeployDeploy desktop apps as native Mac, Windows or Linux bundles.--
jlink.onlineBuilds optimized runtimes over HTTP.GitHub starsLast commit
packrPacks JARs, assets and the JVM for native distribution on Windows, Linux and macOS.GitHub starsLast commit
really-executable-jars-maven-pluginMaven plugin for making self-executing JARs.GitHub starsLast commit
+- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. +- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. +- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. +- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. +- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. +- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. +- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. +- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. ### Document Processing _Libraries that assist with processing office document formats._ - - - - -### Document Processing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache POISupports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT).--
documents4jAPI for document format conversion using third-party converters such as MS Word.--
docx4jCreate and manipulate Microsoft Open XML files.--
fastexcelHigh performance library to read and write large Excel (XLSX) worksheets.GitHub starsLast commit
zerocellAnnotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.GitHub starsLast commit
+- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. +- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. +- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. +- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. ### Financial _Libraries related to the financial domain._ - - - - -### Financial - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CassandreTrading bot framework.GitHub starsLast commit
ParityPlatform for trading venues.GitHub starsLast commit
PhiladelphiaLow-latency financial information exchange.GitHub starsLast commit
SquareIntegration with the Square API.GitHub starsLast commit
StripeIntegration with the Stripe API.GitHub starsLast commit
ta4jLibrary for technical analysis.GitHub starsLast commit
+- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. +- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. +- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. +- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. +- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. +- [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. ### Formal Verification _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ - - - - -### Formal Verification - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CATGConcolic unit testing engine. Automatically generates unit tests using formal methods.GitHub starsLast commit
Checker FrameworkPluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)--
DaikonDetects likely program invariants and generates JML specs based on those invariants.--
Java Path Finder (JPF)JVM formal verification tool containing a model checker and more. Created by NASA.GitHub starsLast commit
JMLOK 2.0Detects 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)--
KeYFormal 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)--
OpenJMLTranslates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only)--
+- [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. +- [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) +- [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 _Libraries that facilitate functional programming._ - - - - -### Functional Programming - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CyclopsMonad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.GitHub starsLast commit
derive4jJava 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only)GitHub starsLast commit
FugueFunctional extensions to Guava.--
Functional JavaImplements numerous basic and advanced programming abstractions that assist composition-oriented development.--
jOOλ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.GitHub starsLast commit
PackratGatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.GitHub starsLast commit
protonpackCollection of stream utilities.GitHub starsLast commit
StreamExEnhances Java 8 Streams.GitHub starsLast commit
VavrFunctional component library that provides persistent data types and functional control structures.--
+- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. +- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) +- [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. ### Game Development _Frameworks that support the development of games._ - - - - -### Game Development - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
FXGLJavaFX Game Development Framework.--
JBox2DPort of the renowned C++ 2D physics engine.--
jMonkeyEngineGame engine for modern 3D development.--
libGDXAll-round cross-platform, high-level framework.--
LitiengineAWT-based, lightweight 2D game engine.--
LWJGLRobust framework that abstracts libraries like OpenGL/CL/AL.--
Mini2DxBeginner-friendly, master-ready framework for rapidly prototyping and building 2D games.--
Void2DHigh-level 2D game engine with built-in physics based on Swing.GitHub starsLast commit
vulkan4jVulkan, OpenGL ES2 and GLFW Memory Allocator bindings.GitHub starsLast commit
+- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. +- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. +- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. +- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. +- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. +- [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 _Libraries for working with geospatial data and algorithms._ - - - - -### Geospatial - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache SISLibrary for developing geospatial applications.--
GeoGeoHash utilities in Java.GitHub starsLast commit
GeoToolsLibrary that provides tools for geospatial data. (LGPL-2.1-only)--
GraphHopperRoad-routing engine. Used as a Java library or standalone web service.GitHub starsLast commit
H2GISSpatial extension of the H2 database. (LGPL-3.0-only)--
JgeohashLibrary for using the GeoHash algorithm.--
MapsforgeMap rendering based on OpenStreetMap data. (LGPL-3.0-only)GitHub starsLast commit
Spatial4jGeneral-purpose spatial/geospatial library.GitHub starsLast commit
+- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. +- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. +- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. +- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) +- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. +- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) +- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. +- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. ### GUI _Libraries to create modern graphical user interfaces._ - - - - -### GUI - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
JavaFXSuccessor of Swing.--
Scene BuilderVisual layout tool for JavaFX applications.--
SnapKitModern Java UI library for both desktop and web.GitHub starsLast commit
SWTGraphical widget toolkit.--
+- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. +- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. +- [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. +- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. ### High Performance _Everything about high-performance computation, from collections to specific libraries._ - - - - -### High Performance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AgronaData structures and utility methods that are common in high-performance applications.GitHub starsLast commit
DisruptorInter-thread messaging library.--
Eclipse CollectionsCollections framework inspired by Smalltalk.GitHub starsLast commit
fastutilFast and compact type-specific collections.--
HPPCPrimitive collections.--
JCToolsConcurrency tools currently missing from the JDK.GitHub starsLast commit
KolobokeCarefully designed extension of the Java Collections Framework with primitive specializations and more.GitHub starsLast commit
+- [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. +- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. +- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. +- [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. +- [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. +- [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. +- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. ### HTTP Clients _Libraries that assist with creating HTTP requests and/or binding responses._ - - - - -### HTTP Clients - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache HttpComponentsToolset of low-level Java components focused on HTTP and associated protocols.--
Async Http ClientAsynchronous HTTP and WebSocket client library.GitHub starsLast commit
Avaje Http ClientWrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements.--
FeignHTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.GitHub starsLast commit
Google HTTP ClientPluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.GitHub starsLast commit
methanolHTTP client extensions library.GitHub starsLast commit
RetrofitTypesafe REST client.--
RibbonClient-side IPC library that is battle-tested in the cloud.GitHub starsLast commit
RiptideClient-side response routing for Spring's RestTemplate.GitHub starsLast commit
unirest-javaSimplified, lightweight HTTP client library.GitHub starsLast commit
+- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. +- [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. +- [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. +- [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. +- [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. ### Hypermedia Types _Libraries that handle serialization to hypermedia types._ - - - - -### Hypermedia Types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
hateBuilds hypermedia-friendly objects according to HAL specification.GitHub starsLast commit
JSON-LDJSON-LD implementation.GitHub starsLast commit
Siren4JLibrary for the Siren specification.GitHub starsLast commit
Spring HATEOASStandalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.GitHub starsLast commit
+- [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 _Integrated development environments that try to simplify several aspects of development._ - - - - -### IDE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
EclipseEstablished open-source project with support for lots of plugins and languages.--
jGRASPCreated to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer.--
NetBeansProvides integration for several Java SE and EE features, from database access to HTML5.--
SnapCodeModern IDE for Java running in the browser, focused on education.--
Visual Studio CodeProvides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace.--
+- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. +- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. +- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. +- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. +- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. ### Imagery _Libraries that assist with the creation, evaluation or manipulation of graphical images._ - - - - -### Imagery - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Barcode-Lib4JGenerates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support.GitHub starsLast commit
ImgscalrSimple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.GitHub starsLast commit
Tess4JJNA wrapper for Tesseract OCR API.GitHub starsLast commit
ThumbnailatorHigh-quality thumbnail generation library.GitHub starsLast commit
TwelveMonkeysCollection of plugins that extend the number of supported image file formats.GitHub starsLast commit
ZXingMulti-format 1D/2D barcode image processing library.GitHub starsLast commit
image-comparisonLibrary 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.GitHub starsLast commit
vips-ffmComprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.GitHub starsLast commit
scrimageImmutable, functional, and performant JVM library for manipulation of images.--
+- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +- [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. +- [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. +- [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. +- [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 _Libraries that help make the Java introspection and reflection API easier and faster to use._ - - - - -### Introspection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ClassGraphClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.GitHub starsLast commit
jOORjOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.GitHub starsLast commit
MirrorMirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks.--
ObjenesisAllows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions.--
ReflectASMReflectASM is a very small Java library that provides high performance reflection by using code generation.GitHub starsLast commit
ReflectionsReflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.GitHub starsLast commit
+- [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. +- [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. +- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. +- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. ### Job Scheduling _Libraries for scheduling background jobs._ - - - - -### Job Scheduling - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
JobRunrJob 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.GitHub starsLast commit
QuartzFeature-rich, open source job scheduling library that can be integrated within virtually any Java application.GitHub starsLast commit
SundialLightweight framework to simply define jobs, define triggers and start the scheduler.GitHub starsLast commit
WispSimple library with minimal footprint and straightforward API.GitHub starsLast commit
db-schedulerPersistent and cluster-friendly scheduler.GitHub starsLast commit
easy-batchSet 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.GitHub starsLast commit
shedlockMakes 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.GitHub starsLast commit
+- [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. ### JSON _Libraries for serializing and deserializing JSON to and from Java objects._ - - - - -### JSON - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Avaje JsonbReflection-free Json binding via source code generation with Jackson-like annotations.--
DSL-JSONJSON library with advanced compile time databinding.GitHub starsLast commit
GensonPowerful and easy-to-use Java-to-JSON conversion library.--
GsonSerializes objects to JSON and vice versa. Good performance with on-the-fly usage.GitHub starsLast commit
HikariJSONHigh-performance JSON parser, 2x faster than Jackson.GitHub starsLast commit
jackson-modules-java8Set of Jackson modules for Java 8 datatypes and features.GitHub starsLast commit
Jackson-datatype-moneyOpen-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.GitHub starsLast commit
JacksonSimilar to GSON, but offers performance gains if you need to instantiate the library more often.GitHub starsLast commit
JSON-ioConvert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.GitHub starsLast commit
jsoniterFast and flexible library with iterator and lazy parsing API.--
LoganSquareJSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library.GitHub starsLast commit
MoshiModern JSON library, less opinionated and uses built-in types like List and Map.GitHub starsLast commit
YassonBinding layer between classes and JSON documents similar to JAXB.GitHub starsLast commit
fastjsonVery fast processor with no additional dependencies and full data binding.GitHub starsLast commit
JoltJSON to JSON transformation tool.GitHub starsLast commit
JsonPathExtract data from JSON using XPATH-like syntax.GitHub starsLast commit
JsonSurferStreaming JsonPath processor dedicated to processing big and complicated JSON data.GitHub starsLast commit
+- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. +- [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. +- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. +- [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. +- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. +- [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. +- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. +- [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. +- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. +- [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. +- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. +- [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. +- [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. +- [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. +- [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. +- [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. +- [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. ### JVM and JDK _Current implementations of the JVM/JDK._ - - - - -### JVM and JDK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Which JDKOverview of common JVMs with pros and cons.--
Adopt Open JDKCommunity-driven OpenJDK builds, including both HotSpot and OpenJ9.--
CorrettoNo-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)--
Dragonwell8Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.GitHub starsLast commit
GraalPolyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
Liberica JDKBuilt from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)--
OpenJ9High performance, enterprise-calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project.GitHub starsLast commit
Open JDKOpen JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)--
ParparVMVM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)GitHub starsLast commit
RedHat Open JDKRedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)--
SAP MachineSAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0)--
ZuluOpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)--
Microsoft JDKMicrosoft Build of OpenJDK, Free, Open Source, Freshly Brewed!GitHub starsLast commit
+- [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. +- [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. +- [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) +- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! ### Logging _Libraries that log the behavior of an application._ - - - - -### Logging - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache Log4j 2Complete rewrite with a powerful plugin and configuration architecture.--
EchopraxiaAPI 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.GitHub starsLast commit
GraylogOpen-source aggregator suited for extended role and permission management. (GPL-3.0-only)--
KibanaAnalyzes and visualizes log files. Some features require payment.--
LogbackRobust logging library with interesting configuration options via Groovy.--
LogbookExtensible, open-source library for HTTP request and response logging.GitHub starsLast commit
LogstashTool for managing log files.--
p6spyEnables logging for all JDBC transactions without changes to the code.GitHub starsLast commit
SLF4JAbstraction layer/simple logging facade.--
tinylogLightweight logging framework with static logger class.--
OpenTracing ToolboxCollection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.GitHub starsLast commit
FloggerFlogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs.--
+- [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. +- [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. +- [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. +- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. +- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. +- [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 _Tools that provide specific statistical algorithms for learning from data._ - - - - -### Machine Learning - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache FlinkFast, reliable, large-scale data processing engine.--
Apache MahoutScalable algorithms focused on collaborative filtering, clustering and classification.--
DatumBoxProvides several algorithms and pre-trained models for natural language processing.--
Deeplearning4jDistributed and multi-threaded deep learning library.--
DJLHigh-level and engine-agnostic framework for deep learning.--
Intelligent javaSeamlessly integrate with remote deep learning and language models programmatically.GitHub starsLast commit
JSATAlgorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only)GitHub starsLast commit
m2cgenCLI tool to transpile models into native code.GitHub starsLast commit
NeurekaA lightweight, platform independent, OpenCL accelerated nd-array/tensor library.GitHub starsLast commit
oj! AlgorithmsHigh-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing.--
Oryx 2Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering.GitHub starsLast commit
SiddhiCloud native streaming and complex event processing engine.GitHub starsLast commit
SmileStatistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.GitHub starsLast commit
TribuoProvides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow.--
WekaCollection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)--
+- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. +- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. +- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. +- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. +- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. +- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. +- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. +- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. +- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. +- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. +- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) ### Messaging _Tools that help send messages between clients to ensure protocol independency._ - - - - -### Messaging - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AeronEfficient, reliable, unicast and multicast message transport.GitHub starsLast commit
Apache ActiveMQMessage broker that implements JMS and converts synchronous to asynchronous communication.--
Apache CamelGlues together different transport APIs via Enterprise Integration Patterns.--
Apache KafkaHigh-throughput distributed messaging system.--
Apache PulsarDistributed pub/sub-messaging system.--
Apache RocketMQFast, reliable, and scalable distributed messaging platform.--
Apache QpidApache Qpid makes messaging tools that speak AMQP and support many languages and platforms.--
AutoMQAutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective.GitHub starsLast commit
DeezpatchSimple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers.GitHub starsLast commit
EventBusSimple publish/subscribe event bus.GitHub starsLast commit
HermesFast and reliable message broker built on top of Kafka.--
JeroMQImplementation of ZeroMQ.GitHub starsLast commit
NakadiProvides a RESTful API on top of Kafka.GitHub starsLast commit
RabbitMQ Java clientRabbitMQ client.GitHub starsLast commit
SmackCross-platform XMPP client library.GitHub starsLast commit
NATS clientNATS client.GitHub starsLast commit
+- [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. +- [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. +- [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. +- [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. +- [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. +- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. +- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. +- [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. +- [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. +- [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. +- [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. +- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. +- [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. +- [NATS client](https://github.com/nats-io/nats.java) - NATS client. ### Microservice _Tools for creating and managing microservices._ - - - - -### Microservice - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ActiveRPCLightweight and fast library for complex high-load distributed applications and Memcached-like solutions.--
ArmeriaAsynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.GitHub starsLast commit
consul-apiClient for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.GitHub starsLast commit
EurekaREST-based service registry for resilient load balancing and failover.GitHub starsLast commit
HelidonTwo-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile.--
JDAWrapping of the Discord REST API and its WebSocket events.GitHub starsLast commit
KeenTypeModernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX.GitHub starsLast commit
kubernetes-clientClient provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.GitHub starsLast commit
MicronautModern full-stack framework with focus on modularity, minimal memory footprint and startup time.--
NacosDynamic service discovery, configuration and service management platform for building cloud native applications.--
OpenAI-JavaJava libraries for using OpenAI's GPT-3 API.GitHub starsLast commit
QuarkusKubernetes stack tailored for the HotSpot and Graal VM.--
SentinelFlow control component enabling reliability, resilience and monitoring for microservices.GitHub starsLast commit
+- [ActiveRPC](https://rpc.activej.io) - Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. +- [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. +- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. +- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. +- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. +- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. +- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. +- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. +- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. ### Miscellaneous _Everything else._ - - - - -### Miscellaneous - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CQEngineUltra-fast, SQL-like queries on Java collections.GitHub starsLast commit
Design PatternsImplementation and explanation of the most common design patterns.GitHub starsLast commit
FF4JFeature Flags for Java.GitHub starsLast commit
FizzBuzz Enterprise EditionNo-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)GitHub starsLast commit
IP2Location.io Java SDKWrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.GitHub starsLast commit
ISBN coreA small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.GitHub starsLast commit
J2ObjCJava-to-Objective-C translator for porting Android libraries to iOS.GitHub starsLast commit
JBakeStatic website generator.--
JBotFramework for building chatbots. (GPL-3.0-only)GitHub starsLast commit
JCudaJCuda offers Java bindings for CUDA and CUDA-related libraries.--
JEmojiAn auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.GitHub starsLast commit
JimfsIn-memory file system.GitHub starsLast commit
Joda-MoneyBasic currency and money classes and algorithms not provided by the JDK.--
jOOXSimple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery.GitHub starsLast commit
JPadSnippet runner.--
jsweetSource transpiler to TypeScript/JavaScript.GitHub starsLast commit
Maven WrapperAnalogue of Gradle Wrapper for Maven, allows building projects without installing maven.GitHub starsLast commit
Membrane Service ProxyOpen-source, reverse-proxy framework.GitHub starsLast commit
MinimalFTPLightweight, small and customizable FTP server.GitHub starsLast commit
LittleProxyHigh performance HTTP proxy atop Netty's event-based networking library.GitHub starsLast commit
Modern Java - A Guide to Java 8Popular Java 8 guide.GitHub starsLast commit
ModernizerDetect uses of legacy Java APIs.GitHub starsLast commit
OctoLinkerBrowser extension which allows to navigate through code on GitHub more efficiently.GitHub starsLast commit
OpenRefineTool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases.--
PipelinRSmall utility library for using handlers and commands with pipelines.GitHub starsLast commit
Polyglot for MavenExtensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.GitHub starsLast commit
RR4JRR4J is a tool that records java bytecode execution and later allows developers to replay locally.GitHub starsLast commit
Simple Java MailMailing with a clean and fluent API.GitHub starsLast commit
SmooksFramework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)GitHub starsLast commit
SvixLibrary for the Svix API to send webhooks and verify signatures.GitHub starsLast commit
TogglzImplementation of the Feature Toggles pattern.--
TypeToolsTools for resolving generic types.GitHub starsLast commit
webcam-captureLibrary for using built-in and external webcams directly in Java.GitHub starsLast commit
XMLBeamProcesses XML by using annotations or XPath within code.GitHub starsLast commit
yGuardObfuscation via renaming and shrinking.GitHub starsLast commit
JBangJBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly.GitHub starsLast commit
+- [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) +- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. +- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. +- [Jimfs](https://github.com/google/jimfs) - In-memory file system. +- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. +- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. +- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. +- [JPad](http://jpad.io) - Snippet runner. +- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. +- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. +- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. +- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. +- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. +- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. +- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. +- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. +- [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. +- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. +- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. +- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) +- [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. +- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for + code and dependency management and allows you to run it directly. ### Mobile Development _Tools for creating or managing mobile applications._ - - - - -### Mobile Development - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Codename OneCross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0)--
MobileUICross-platform framework for developing mobile apps with native UI in Java and Kotlin.--
Multi-OS EngineOpen-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.--
+- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. ### Monitoring _Tools that observe/monitor applications in production by providing telemetry._ - - - - -### Monitoring - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ApitallySimple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.GitHub starsLast commit
AutomonCombines the power of AOP with monitoring and/or logging tools.GitHub starsLast commit
Dropwizard MetricsExpose metrics via JMX or HTTP and send them to a database.GitHub starsLast commit
Failsafe ActuatorOut of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.GitHub starsLast commit
GlowrootOpen-source Java APM.--
HertzBeatReal-time monitoring system with custom-monitor and agentless.GitHub starsLast commit
hippo4jDynamic and observable thread pool framework.GitHub starsLast commit
inspectITCaptures 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.--
Jaeger clientJaeger client.GitHub starsLast commit
JavaMelodyPerformance monitoring and profiling.GitHub starsLast commit
jmxtransConnect 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.GitHub starsLast commit
JolokiaJMX over REST.--
MicrometerVendor-neutral metrics/observability facade for the most popular metrics/observability libraries.GitHub starsLast commit
Micrometer TracingVendor-neutral distributed tracing facade for the most popular tracer libraries.GitHub starsLast commit
nudge4jRemote developer console from the browser for Java 8 via bytecode injection.GitHub starsLast commit
OpenTelemetryInstrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.GitHub starsLast commit
PinpointOpen-source APM tool.GitHub starsLast commit
PrometheusProvides a multi-dimensional data model, DSL, autonomous server nodes and much more.GitHub starsLast commit
StagemonitorOpen-source performance monitoring and transaction tracing for JVM apps.GitHub starsLast commit
SysmonLightweight platform monitoring tool for Java VMs.GitHub starsLast commit
zipkinDistributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.--
+- [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. +- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. +- [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. +- [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. +- [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 software’s 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. +- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. +- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. +- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. +- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. ### Native _For working with platform-specific native libraries._ - - - - -### Native - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AparapiConverts bytecode to OpenCL which allows execution on GPUs.GitHub starsLast commit
JavaCPPProvides efficient and easy access to native C++.GitHub starsLast commit
JNAWork with native libraries without writing JNI. Also provides interfaces to common system libraries.GitHub starsLast commit
JNRWork 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).GitHub starsLast commit
native-lib-loaderNative library loader for extracting and loading native libraries from Java.GitHub starsLast commit
+- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. +- [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. +- [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 _Libraries that specialize in processing text._ - - - - -### Natural Language Processing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CogCompNLPProvides common annotators for plain text input. (Research and Academic Use License)GitHub starsLast commit
CoreNLPProvides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later)--
DKProCollection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.--
HypheratorJava hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in.GitHub starsLast commit
LingPipeToolkit for tasks ranging from POS tagging to sentiment analysis.--
+- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) +- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +- [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. +- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. ### Networking _Libraries for building network servers._ - - - - -### Networking - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Commons-networkingClient for server-sent events (SSE).GitHub starsLast commit
ComsatIntegrates standard Java web-related APIs with Quasar fibers and actors.GitHub starsLast commit
DubboHigh-performance RPC framework.GitHub starsLast commit
GrizzlyNIO framework. Used as a network layer in Glassfish.--
gRPCRPC framework based on protobuf and HTTP/2.GitHub starsLast commit
KryoNetProvides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo.GitHub starsLast commit
MINAAbstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO.--
NettyFramework for building high-performance network applications.--
DriftEasy-to-use, annotation-based library for creating Thrift clients and serializable types.GitHub starsLast commit
ServiceTalkFramework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.GitHub starsLast commit
sshjProgrammatically use SSH, SCP or SFTP.GitHub starsLast commit
TLS ChannelImplements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS.GitHub starsLast commit
UndertowWeb server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only)--
urnlibRepresent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only)GitHub starsLast commit
FluencyHigh throughput data ingestion logger to Fluentd and Fluent Bit.GitHub starsLast commit
+- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). +- [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. +- [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. +- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. +- [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. +- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +- [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +- [Netty](https://netty.io) - Framework for building high-performance network applications. +- [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. +- [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. +- [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. +- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. +- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +- [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. ### ORM _APIs that handle the persistence of objects._ - - - - -### ORM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache CayenneProvides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation.--
DomaDatabase access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.GitHub starsLast commit
EbeanProvides simple and fast data access.--
EclipseLinkSupports a number of persistence standards: JPA, JAXB, JCA and SDO.--
HibernateRobust and widely used, with an active community. (LGPL-2.1-only)--
MyBatisCouples objects with stored procedures or SQL statements.GitHub starsLast commit
MyBatis-PlusA powerful enhanced toolkit of MyBatis for simplifying development.GitHub starsLast commit
ObjectiveSqlActiveRecord ORM for rapid development and convention over configuration.GitHub starsLast commit
PermazenLanguage-natural persistence layer.GitHub starsLast commit
SimpleFlatMapperSimple database and CSV mapper.GitHub starsLast commit
+- [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +- [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. +- [Ebean](https://ebean.io) - Provides simple and fast data access. +- [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. ### PaaS _Java platform as a service._ +- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. +- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. +- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. +- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. +- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. +- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. + ### Pathfinding _Algorithms and libraries for finding routes in graphs and spatial environments._ - - - - -### Pathfinding - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
PatheticA highly configurable 3D A* pathfinding library that uses specific optimizations for high performance.GitHub starsLast commit
+- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. ### PDF _Tools to help with PDF files._ - - - - -### PDF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache FOPCreates PDFs from XSL-FO.--
Apache PDFBoxToolbox for creating and manipulating PDFs.--
Dynamic JasperAbstraction layer to JasperReports. (LGPL-3.0-only)--
DynamicReportsSimplifies JasperReports. (LGPL-3.0-only)GitHub starsLast commit
Eclipse BIRTReport engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor.--
flyingsaucerXML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later)GitHub starsLast commit
JasperReportsComplex reporting engine. (LGPL-3.0-only)--
Open HTML to PDFProperly supports modern PDF standards based on flyingsaucer and Apache PDFBox.GitHub starsLast commit
OpenPDFOpen-source iText fork. (LGPL-3.0-only & MPL-2.0)GitHub starsLast commit
TabulaExtracts tables from PDF files.GitHub starsLast commit
+- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. +- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. +- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) +- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) +- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) +- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. +- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) +- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) +- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. ### Performance analysis _Tools for performance analysis, profiling and benchmarking._ - - - - -### Performance analysis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
honest-profilerLow-overhead, bias-free sampling profiler.GitHub starsLast commit
jHiccupLogs and records platform JVM stalls.GitHub starsLast commit
JITWatchAnalyze the JIT compiler optimisations made by the HotSpot JVM.GitHub starsLast commit
JMHHarness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0)--
LatencyUtilsUtilities for latency measurement and reporting.GitHub starsLast commit
+- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. +- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. +- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. +- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. +- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. ### Platform @@ -4311,1110 +892,197 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons - - - - -### Platform > Apache Commons - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
BCELByte Code Engineering Library - analyze, create, and manipulate Java class files.--
BeanUtilsEasy-to-use wrappers around the Java reflection and introspection APIs.--
BeanUtils2Redesign of Commons BeanUtils.--
BSFBean Scripting Framework - interface to scripting languages, including JSR-223.--
ChainChain of Responsibility pattern implementation.--
ClassScanFind Class interfaces, methods, fields, and annotations without loading.--
CLICommand-line arguments parser.--
CLI2Redesign of Commons CLI.--
CodecGeneral encoding/decoding algorithms, e.g. phonetic, base64 or URL.--
CollectionsExtends or augments the Java Collections Framework.--
CompressDefines an API for working with tar, zip and bzip2 files.--
ConfigurationReading of configuration/preferences files in various formats.--
ConvertCommons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.--
CSVComponent for reading and writing comma separated value files.--
DaemonAlternative invocation mechanism for unix-daemon-like java code.--
DBCPDatabase connection pooling services.--
DbUtilsJDBC helper library.--
DigesterXML-to-Java-object mapping utility.--
EmailLibrary for sending e-mail from Java.--
ExecAPI for dealing with external process execution and environment management in Java.--
FileUploadFile upload capability for your servlets and web applications.--
FinderJava library inspired by the UNIX find command.--
FlatfileJava library for working with flat data structures.--
FunctorFunction that can be manipulated as an object, or an object representing a single, generic function.--
GraphGeneral purpose graph APIs and algorithms.--
I18nAdds the feature of localized message bundles that consist of one or many localized texts that belong together.--
IdId is a component used to generate identifiers.--
ImagingImage library.--
IOCollection of I/O utilities.--
JavaflowContinuation implementation to capture the state of the application.--
JCIJava Compiler Interface.--
JCSJava Caching System.--
JellyXML based scripting and processing engine.--
JexlExpression language which extends the Expression Language of the JSTL.--
JNetJNet allows to use dynamically register url stream handlers through the java.net API.--
JXPathUtilities for manipulating Java Beans using the XPath syntax.--
LangProvides extra functionality for classes in java.lang.--
LoggingWrapper around a variety of logging API implementations.--
MathLightweight, self-contained mathematics and statistics components.--
MonitoringMonitoring aims to provide a simple but extensible monitoring solution for Java applications.--
NablaNabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.--
NetCollection of network utilities and protocol implementations.--
OGNLObject-graph navigation language.--
OpenPGPInterface to signing and verifying data using OpenPGP.--
PerformanceSmall framework for microbenchmark clients, with implementations for Commons DBCP and Pool.--
PipelineProvides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.--
PoolGeneric object pooling component.--
ProxyLibrary for creating dynamic proxies.--
RDFCommon implementation of RDF 1.1 that could be implemented by systems on the JVM.--
RNGCommons Rng provides implementations of pseudo-random numbers generators.--
SCXMLImplementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.--
ValidatorFramework to define validators and validation rules in an xml file.--
VFSVirtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.--
WeaverProvides an easy way to enhance (weave) compiled bytecode.--
+- [BCEL](http://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. +- [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. +- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. +- [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. +- [Chain](http://commons.apache.org/proper/commons-chain/) - Chain of Responsibility pattern implementation. +- [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. +- [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. +- [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. +- [Codec](http://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +- [Collections](http://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. +- [Compress](http://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. +- [Configuration](http://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. +- [Convert](http://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. +- [CSV](http://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. +- [Daemon](http://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. +- [DBCP](http://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. +- [DbUtils](http://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. +- [Digester](http://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. +- [Email](http://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. +- [Exec](http://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. +- [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. +- [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. +- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. +- [Functor](http://commons.apache.org/proper/commons-functor/) - Function that can be manipulated as an object, or an object representing a single, generic function. +- [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. +- [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. +- [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. +- [Imaging](http://commons.apache.org/proper/commons-imaging/) - Image library. +- [IO](http://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. +- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. +- [JCI](http://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. +- [JCS](http://commons.apache.org/proper/commons-jcs/) - Java Caching System. +- [Jelly](http://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. +- [Jexl](http://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. +- [JNet](http://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. +- [JXPath](http://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. +- [Lang](http://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. +- [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. +- [Math](http://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. +- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. +- [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. +- [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. +- [OGNL](http://commons.apache.org/proper/commons-ognl/) - Object-graph navigation language. +- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. +- [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. +- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. +- [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. +- [Proxy](http://commons.apache.org/proper/commons-proxy/) - Library for creating dynamic proxies. +- [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +- [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. +- [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +- [Validator](http://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. +- [VFS](http://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +- [Weaver](http://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. #### Other - - - - -### Platform > Other - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CUBA PlatformHigh-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin.--
Light-4JFast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/).GitHub starsLast commit
OrienteerOpen-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications.GitHub starsLast commit
SpringProvides many packages for dependency injection, aspect-oriented programming, security, etc.--
+- [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). +- [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. +- [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. ### Processes _Libraries that help the management of operating system processes._ - - - - -### Processes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ch.vorburger.execConvenient API around Apache Commons Exec.GitHub starsLast commit
zt-execProvides a unified API to Apache Commons Exec and ProcessBuilder.GitHub starsLast commit
zt-process-killerStops processes started from Java or the system processes via PID.GitHub starsLast commit
+- [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) - Convenient API around Apache Commons Exec. +- [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. +- [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) - Stops processes started from Java or the system processes via PID. ### Reactive libraries _Libraries for developing reactive applications._ - - - - -### Reactive libraries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AkkaToolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications.--
Reactive StreamsProvides a standard for asynchronous stream processing with non-blocking backpressure.GitHub starsLast commit
ReactorA framework for building non-blocking applications on the JVM, providing support for reactive programming.GitHub starsLast commit
RxJavaAllows for composing asynchronous and event-based programs using observable sequences.GitHub starsLast commit
vert.xPolyglot event-driven application framework.--
+- [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) - 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. ### REST Frameworks _Frameworks specifically for creating RESTful services._ - - - - -### REST Frameworks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
DropwizardOpinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.GitHub starsLast commit
ElideOpinionated framework for JSON- or GraphQL-APIs based on a JPA data model.--
JerseyJAX-RS reference implementation.--
MicroserverConvenient, extensible microservices plugin system for Spring & Spring Boot. With more than 30 plugins and growing, it supports both micro-monolith and pure microservices styles.GitHub starsLast commit
RapidoidSimple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection.--
rest.liFramework 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.GitHub starsLast commit
RESTEasyFully certified and portable implementation of the JAX-RS specification.--
RestExpressThin wrapper on the JBoss Netty HTTP stack that provides scaling and performance.GitHub starsLast commit
Restlet FrameworkPioneering framework with powerful routing and filtering capabilities, and a unified client and server API.GitHub starsLast commit
SparkSinatra inspired framework.--
CrnkImplementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more.--
springdoc-openapiAutomates the generation of API documentation using Spring Boot projects.GitHub starsLast commit
SwaggerStandard, language-agnostic interface to REST APIs.--
+- [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +- [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. +- [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. +- [Spark](http://sparkjava.com) - Sinatra inspired framework. +- [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. +- [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. ### Science _Libraries for scientific computing, analysis and visualization._ - - - - -### Science - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
BioJavaFacilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics.--
Chart-FXScientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.GitHub starsLast commit
DataMeltEnvironment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later)--
ErdosModular, light and easy graph framework for theoretic algorithms.GitHub starsLast commit
GraphStreamLibrary for modeling and analyzing dynamic graphs.--
JFreeChart2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)--
JGraphTGraph library that provides mathematical graph-theory objects and algorithms.GitHub starsLast commit
JGraphXLibrary for visualizing (mainly Swing) and interacting with node-edge graphs.GitHub starsLast commit
LogicNGLibrary for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.GitHub starsLast commit
Mines Java ToolkitLibrary for geophysical scientific computation, visualization and digital signal analysis.GitHub starsLast commit
MorpheusProvides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.GitHub starsLast commit
OrekitA low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them.--
Orson-ChartsGenerates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only)GitHub starsLast commit
TablesawIncludes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.GitHub starsLast commit
XChartLight-weight library for plotting data. Many customizable chart types are available.GitHub starsLast commit
+- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +- [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) +- [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. +- [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. +- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +- [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. +- [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. +- [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. +- [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. +- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +- [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. ### Search _Engines that index documents for search and analysis._ - - - - -### Search - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache LuceneHigh-performance, full-featured, cross-platform, text search engine library.--
Apache SolrEnterprise search engine optimized for high-volume traffic.--
ElasticsearchDistributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents.--
Indexer4jSimple and light full text indexing and searching library.GitHub starsLast commit
+- [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. +- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. +- [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. +- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. ### Security _Libraries that handle security, authentication, authorization or session management._ - - - - -### Security - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache ShiroPerforms authentication, authorization, cryptography and session management.--
AyzaHigh-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.GitHub starsLast commit
Bouncy CastleAll-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations.--
DependencyCheckDetects publicly disclosed vulnerabilities contained within a project's dependencies.GitHub starsLast commit
CryptomatorMultiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only)--
HdivRuntime 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.GitHub starsLast commit
jjwtJSON web token for Java and Android.GitHub starsLast commit
jwt-javaEasily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.GitHub starsLast commit
Jwks RSAJSON Web Key Set parser.GitHub starsLast commit
KaliumBinding for the Networking and Cryptography (NaCl) library.GitHub starsLast commit
KeycloakIntegrated SSO and IDM for browser apps and RESTful web services.--
KeywhizSystem for distributing and managing secrets.GitHub starsLast commit
NbvcxzAdvanced password strength estimation.GitHub starsLast commit
OACCProvides permission-based authorization services.--
OpenAMAccess management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.GitHub starsLast commit
OTP-JavaOne-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).GitHub starsLast commit
pac4jSecurity engine.GitHub starsLast commit
PassayEnforce password policy by validating candidate passwords against a configurable rule set.--
Password4jUser-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.GitHub starsLast commit
SecurityBuilderFluent Builder API for JCA and JSSE classes and especially X.509 certificates.GitHub starsLast commit
ThemisMulti-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.GitHub starsLast commit
TinkProvides a simple and misuse-proof API for common cryptographic tasks.GitHub starsLast commit
TopazFine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.--
+- [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. +- [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. +- [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. +- [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. +- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. +- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. +- [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. +- [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. +- [OACC](http://oaccframework.org) - Provides permission-based authorization services. +- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. +- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +- [pac4j](https://github.com/pac4j/pac4j) - Security engine. +- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. +- [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. +- [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. ### Serialization _Libraries that handle serialization with high efficiency._ - - - - -### Serialization - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
FlatBuffersMemory-efficient serialization library that can access serialized data without unpacking and parsing it.GitHub starsLast commit
FSTJDK-compatible, high-performance object graph serialization.GitHub starsLast commit
FuryBlazing fast object graph serialization framework powered by JIT and zero-copy.GitHub starsLast commit
KryoFast and efficient object graph serialization framework.GitHub starsLast commit
MessagePackEfficient binary serialization format.GitHub starsLast commit
PHP SerializerSerializing objects in the PHP serialization format.GitHub starsLast commit
+- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. +- [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. +- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. +- [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. +- [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. +- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. ### Server _Servers specifically used to deploy applications._ - - - - -### Server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache TomcatRobust, all-round server for Servlet and JSP.--
Apache TomEETomcat plus Java EE.--
JettyProvides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.--
nanohttpdTiny, easily embeddable HTTP server.GitHub starsLast commit
WildFlyFormerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)--
+- [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. +- [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. +- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. +- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) ### Template Engine _Tools that substitute expressions in a template._ - - - - -### Template Engine - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
FreemarkerLibrary to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.--
Handlebars.javaLogicless and semantic Mustache templates.--
Jade4JImplementation of Pug (formerly known as Jade).GitHub starsLast commit
JamalExtendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.GitHub starsLast commit
jstachioTypesafe Mustache templating engine.GitHub starsLast commit
jteCompiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.GitHub starsLast commit
JtwigModular, configurable and fully tested template engine.GitHub starsLast commit
PebbleInspired 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.--
RockerOptimized, memory efficient and speedy template engine producing statically typed, plain objects.GitHub starsLast commit
StringTemplateTemplate engine for generating source code, web pages, emails, or any other formatted text output.GitHub starsLast commit
ThymeleafAims to be a substitute for JSP and works for XML files.--
+- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. +- [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). +- [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +- [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. +- [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. ### Testing @@ -5424,919 +1092,168 @@ _Tools that test from model to the view._ _Tools that simplify testing asynchronous services._ - - - - -### Testing > Asynchronous - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AwaitilityDSL for synchronizing asynchronous operations.GitHub starsLast commit
ConcurrentUnitToolkit for testing multi-threaded and asynchronous applications.GitHub starsLast commit
GreenMailIn-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)--
Hoverfly JavaNative bindings for Hoverfly, a proxy which allows you to simulate HTTP services.GitHub starsLast commit
KarateDSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.GitHub starsLast commit
REST AssuredDSL for easy testing of REST/HTTP services.GitHub starsLast commit
WebTauTest across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.GitHub starsLast commit
+- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. +- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. +- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. +- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. #### BDD _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - - - - -### Testing > BDD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CucumberProvides a way to describe features in a plain language which customers can understand.GitHub starsLast commit
Cukes-RESTCollection of Gherkin steps for REST-service testing using Cucumber.GitHub starsLast commit
J8SpecFollows a Jasmine-like syntax.GitHub starsLast commit
JBehaveExtensively configurable framework that describes stories.--
JGivenProvides a fluent API which allows for simpler composition.--
Lamdba BehaveAims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.GitHub starsLast commit
Serenity BDDAutomated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.GitHub starsLast commit
+- [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. +- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. +- [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. +- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. +- [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. +- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. +- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. #### Fixtures _Everything related to the creation and handling of random data._ - - - - -### Testing > Fixtures - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AutoParamsSupports generating test data or combining scenarios for parameterized tests.GitHub starsLast commit
BeanmotherSets up beans from YAML fixtures.GitHub starsLast commit
DatafakerModern fake data generator forked from Java Faker.GitHub starsLast commit
Fixture FactoryGenerates fake objects from a template.GitHub starsLast commit
jFairyFake data generator.GitHub starsLast commit
InstancioAutomates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.GitHub starsLast commit
Randomized TestingJUnit test runner and plugins for running JUnit tests with pseudo-randomness.GitHub starsLast commit
Java FakerPort of Ruby's fake data generator.GitHub starsLast commit
MockneatAnother fake data generator.GitHub starsLast commit
JMockJMock is a high-performance data generation and simulation component library implemented in Java.GitHub starsLast commit
+- [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. +- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. +- [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. +- [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. +- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. +- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. +- [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. #### Frameworks _Provide environments to run tests for a specific use case._ - - - - -### Testing > Frameworks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache JMeterFunctional testing and performance measurements.--
JMeter DSL.javaLoad tests with JMeter as simple as a JUnit test.--
ArquillianIntegration and functional testing platform for Java EE containers.--
cdi-testJUnit extension for easy and efficient testing of CDI components.GitHub starsLast commit
CitrusIntegration testing framework that focuses on both client- and server-side messaging.--
GatlingLoad testing tool designed for ease of use, maintainability and high performance.--
JUnitCommon testing framework.--
jqwikEngine for property-based testing built on JUnit 5.--
Pact JVMConsumer-driven contract testing.GitHub starsLast commit
PITFast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites.--
weld-testingSet of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.GitHub starsLast commit
+- [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 _Libraries that provide custom matchers._ - - - - -### Testing > Matchers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
AssertJFluent assertions that improve readability.--
HamcrestMatchers that can be combined to create flexible expressions of intent.--
JSONAssertSimplifies testing JSON strings.--
JsonUnitLibrary that simplifies JSON comparison in tests.GitHub starsLast commit
TruthGoogle's fluent assertion and proposition framework.--
XMLUnitSimplifies testing for XML output.GitHub starsLast commit
+- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. +- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. +- [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. +- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. +- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. +- [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. #### Miscellaneous _Other stuff related to testing._ - - - - -### Testing > Miscellaneous - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ConsoleCaptorCaptures console output for unit testing purposes.GitHub starsLast commit
junit-dataproviderTestNG-like data provider/runner for JUnit.GitHub starsLast commit
junit-pioneerJUnit 5 extension pack, pushing the frontiers on Jupiter.--
LogCaptorCaptures log entries for unit testing purposes.GitHub starsLast commit
log-captureCaptures log entries and provides assertions for unit and integration testing.GitHub starsLast commit
Mutability DetectorReports whether instances of a given class are immutable.GitHub starsLast commit
pojo-testerAutomatically performs tests on basic POJO methods. (LGPL-3.0-only)--
raml-testerTests if a request/response matches a given RAML definition.GitHub starsLast commit
SelfieSnapshot testing (inline and on disk).GitHub starsLast commit
StebzMulti-approach framework for test steps managing.GitHub starsLast commit
TestcontainersProvides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.GitHub starsLast commit
+- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. +- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. +- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. +- [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. +- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. +- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. +- [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). +- [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. +- [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 _Tools which mock collaborators to help testing single, isolated units._ - - - - -### Testing > Mocking - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
JMockitIntegration testing, API mocking and faking, and code coverage.--
MockitoMocking framework that lets you write tests with a clean and simple API.GitHub starsLast commit
MockServerAllows mocking of systems integrated with HTTPS.--
MocoConcise web services for stubs and mocks.GitHub starsLast commit
PowerMockMocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.GitHub starsLast commit
WireMockStubs and mocks web services.--
EasyMockEasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.GitHub starsLast commit
+- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. +- [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. +- [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. +- [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. +- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. +- [WireMock](http://wiremock.org) - Stubs and mocks web services. +- [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. ### Utility _Libraries which provide general utility functions._ - - - - -### Utility - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ArthasAllows to troubleshoot production issues for applications without modifying code or restarting servers.GitHub starsLast commit
bucket4jRate limiting library based on token-bucket algorithm.GitHub starsLast commit
cactoosCollection of object-oriented primitives.GitHub starsLast commit
ChocoteaGenerates postman collection, environment and integration tests from java code.GitHub starsLast commit
CRaSHProvides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)--
DexJava/JavaFX tool capable of powerful ETL and data visualization.GitHub starsLast commit
dregexRegular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.GitHub starsLast commit
EmbulkBulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.GitHub starsLast commit
fswatchMicro library to watch for directory file system changes, simplifying java.nio.file.WatchService.GitHub starsLast commit
GephiCross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)GitHub starsLast commit
GuavaCollections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.GitHub starsLast commit
JADEFramework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)--
Javadoc PublisherGenerate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.GitHub starsLast commit
Java Diff UtilsUtilities for text or data comparison and patching.--
JavaVerbalExpressionsLibrary that helps with constructing difficult regular expressions.GitHub starsLast commit
JGitLightweight, pure Java library implementing the Git version control system.--
JKScopeJava scope functions inspired by Kotlin.GitHub starsLast commit
minio-javaProvides simple APIs to access any Amazon S3-compatible object storage server.GitHub starsLast commit
ProtégéProvides an ontology editor and a framework to build knowledge-based systems.--
Semver4jLightweight library that helps you handling semantic versioning with different modes.GitHub starsLast commit
Underscore-javaPort of Underscore.js functions.GitHub starsLast commit
+- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. +- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. +- [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. +- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. +- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +- [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. +- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. +- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. +- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +- [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. +- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. +- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. +- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. +- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. +- [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. +- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. +- [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. +- [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. +- [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. ### Version Managers _Utilities that help create the development shell environment and switch between different Java versions._ - - - - -### Version Managers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
jabbaJava Version Manager inspired by nvm. Supports macOS, Linux and Windows.GitHub starsLast commit
jenvJava Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.GitHub starsLast commit
SDKManJava Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.GitHub starsLast commit
+- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +- [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. +- [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. ### Web Crawling _Libraries that analyze the content of websites._ - - - - -### Web Crawling - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
Apache NutchHighly extensible, highly scalable web crawler for production environments.--
Crawler4jSimple and lightweight web crawler.GitHub starsLast commit
jsoupScrapes, parses, manipulates and cleans HTML.--
StormCrawlerSDK for building low-latency and scalable web crawlers.--
webmagicScalable crawler with downloading, url management, content extraction and persistent.GitHub starsLast commit
+- [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. +- [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. +- [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. +- [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. +- [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. ### Web Frameworks _Frameworks that handle the communication between the layers of a web application._ - - - - -### Web Frameworks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
ActiveJLightweight asynchronous framework built from the ground up for developing high-performance web applications.--
Apache TapestryComponent-oriented framework for creating dynamic, robust, highly scalable web applications.--
Apache WicketComponent-based web application framework similar to Tapestry, with a stateful GUI.--
BladeLightweight, modular framework that aims to be elegant and simple.GitHub starsLast commit
BootiqueMinimally opinionated framework for runnable apps.--
FireflyAsynchronous framework for rapid development of high-performance web application.--
JavalinMicroframework for web applications.--
JoobyScalable, fast and modular micro-framework that offers multiple programming models.--
NinjaFull-stack web framework.--
PippoSmall, highly modularized, Sinatra-like framework.--
PlayBuilt on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.--
PrimeFacesJSF framework with both free and commercial/support versions and frontend components.--
RatpackSet of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications.--
TakesOpinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.GitHub starsLast commit
VaadinFull-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.--
WebForms CoreA technology for managing HTML tags from the server.--
+- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +- [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. +- [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. +- [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. +- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. +- [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. +- [Javalin](https://javalin.io/) - Microframework for web applications. +- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. +- [Ninja](http://www.ninjaframework.org) - Full-stack web framework. +- [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. +- [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +- [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) - 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. +- [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. ### Workflow Orchestration Engines _Platforms and frameworks for orchestrating workflows and business processes._ - - - - -### Workflow Orchestration Engines - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionStarsUpdated
CadenceStateful code platform from Uber.--
flowableCompact and efficient workflow and business process management platform.GitHub starsLast commit
TemporalMicroservice orchestration platform, forked from Cadence but gRPC based.--
+- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. +- [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. +- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 02818e27..9b031d05 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -150,16 +150,8 @@ String createHtmlTable(List entries, Map bad var table = new StringBuilder(); table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); table.append("### ").append(sectionName).append("\n\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); + table.append("| Name | Description | Stars | Updated |\n"); + table.append("| :--- | :---------- | :---: | :-----: |\n"); for (var entry : entries) { var desc = entry.description().isEmpty() ? Constants.NO_DESCRIPTION : entry.description(); @@ -167,19 +159,10 @@ String createHtmlTable(List entries, Map bad var stars = badge != null ? badge.starsBadge() : Constants.NO_BADGE; var commit = badge != null ? badge.lastCommitBadge() : Constants.NO_BADGE; - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); - table.append("\n"); + table.append("| [").append(entry.name()).append("](").append(entry.url()).append(") | ").append(desc).append(" | ").append(stars).append(" | ").append(commit).append(" |\n"); } - table.append(""" - -
NameDescriptionStarsUpdated
").append(entry.name()).append("").append(desc).append("").append(stars).append("").append(commit).append("
- -"""); + table.append("\n"); return table.toString(); } diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index de92e7b6..69648eaf 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -182,21 +182,24 @@ List extractProjectEntriesFromTables(String content) { continue; } - // Track table boundaries - look for HTML table tags - if (line.contains("")) { + if (inTable && line.startsWith("|") && line.contains("| :--- |")) { + // Skip the separator row + continue; + } + if (inTable && !line.startsWith("|") && !line.trim().isEmpty()) { inTable = false; continue; } - // Extract entries from HTML table rows - if (inTable && line.contains("")) { - // Look ahead to find the complete table row - var entry = extractEntryFromTableRow(lines, i, tableSection); + // Extract entries from Markdown table rows + if (inTable && line.startsWith("|") && !line.contains("| Name |") && !line.contains("| :--- |")) { + var entry = extractEntryFromMarkdownTableRow(line, tableSection); if (entry != null) { entries.add(entry); } @@ -205,6 +208,39 @@ List extractProjectEntriesFromTables(String content) { return entries; } +/** + * Extracts a project entry from a Markdown table row. + */ +ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { + // Split by | and clean up + var parts = line.split("\\|"); + if (parts.length < 5) { + return null; + } + + // Extract name and URL from [Name](URL) format + var nameUrlPart = parts[1].trim(); + var nameUrlMatch = Pattern.compile("\\[([^\\]]+)\\]\\(([^)]+)\\)").matcher(nameUrlPart); + if (!nameUrlMatch.find()) { + return null; + } + + var name = nameUrlMatch.group(1); + var url = nameUrlMatch.group(2); + var description = parts[2].trim(); + + if (!name.isEmpty() && !url.isEmpty()) { + return new ProjectEntry( + name, + url, + description, + 1, + section + ); + } + return null; +} + /** * Extracts a project entry from a table row. */ @@ -248,39 +284,6 @@ ProjectEntry extractEntryFromTableRow(String[] lines, int startIndex, String sec return null; } -/** - * Extracts a project entry from a Markdown table row. - */ -ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { - // Split by | and clean up - var parts = line.split("\\|"); - if (parts.length < 5) { - return null; - } - - // Extract name and URL from [Name](URL) format - var nameUrlPart = parts[1].trim(); - var nameUrlMatch = Pattern.compile("\\[([^\\]]+)\\]\\(([^)]+)\\)").matcher(nameUrlPart); - if (!nameUrlMatch.find()) { - return null; - } - - var name = nameUrlMatch.group(1); - var url = nameUrlMatch.group(2); - var description = parts[2].trim(); - - if (!name.isEmpty() && !url.isEmpty()) { - return new ProjectEntry( - name, - url, - description, - 1, - section - ); - } - return null; -} - /** * Parses a single project entry from the original markdown format. */ From bdf56c16fe09ef024fdfaf3d30b8ebfbeed41d81 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 17 Oct 2025 09:16:25 +0200 Subject: [PATCH 398/533] test --- test_grid_layout.md | 27 +++++++++++++++++++++++++++ test_grid_layout_clean.md | 27 +++++++++++++++++++++++++++ test_grid_layout_inline.md | 27 +++++++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 test_grid_layout.md create mode 100644 test_grid_layout_clean.md create mode 100644 test_grid_layout_inline.md diff --git a/test_grid_layout.md b/test_grid_layout.md new file mode 100644 index 00000000..7aa3c8f5 --- /dev/null +++ b/test_grid_layout.md @@ -0,0 +1,27 @@ +# Test Grid Layout + +## Architecture + +_Frameworks and libraries that help implementing and verifying design and architecture concepts._ + +
+
+ ArchUnit
+ Test library for specifying and asserting architecture rules. +
+
+ GitHub stars
+ Last commit +
+
+ +
+
+ jMolecules
+ Annotations and interfaces to express design and architecture concepts in code. +
+
+ GitHub stars
+ Last commit +
+
diff --git a/test_grid_layout_clean.md b/test_grid_layout_clean.md new file mode 100644 index 00000000..04c33057 --- /dev/null +++ b/test_grid_layout_clean.md @@ -0,0 +1,27 @@ +# Test Grid Layout (Clean Version) + +## Architecture + +_Frameworks and libraries that help implementing and verifying design and architecture concepts._ + +
+
+ ArchUnit
+ Test library for specifying and asserting architecture rules. +
+
+ GitHub stars + Last commit +
+
+ +
+
+ jMolecules
+ Annotations and interfaces to express design and architecture concepts in code. +
+
+ GitHub stars + Last commit +
+
diff --git a/test_grid_layout_inline.md b/test_grid_layout_inline.md new file mode 100644 index 00000000..d1852749 --- /dev/null +++ b/test_grid_layout_inline.md @@ -0,0 +1,27 @@ +# Test Grid Layout (Inline Badges) + +## Architecture + +_Frameworks and libraries that help implementing and verifying design and architecture concepts._ + +
+
+ ArchUnit
+ Test library for specifying and asserting architecture rules. +
+
+ GitHub stars + Last commit +
+
+ +
+
+ jMolecules
+ Annotations and interfaces to express design and architecture concepts in code. +
+
+ GitHub stars + Last commit +
+
From 509e9f3c4801d10fafa9fa76268c55e25252b2d7 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 18 Oct 2025 09:30:59 +0200 Subject: [PATCH 399/533] Add openapi-generator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 88ea325b..a39ca676 100644 --- a/README.md +++ b/README.md @@ -996,6 +996,7 @@ _Frameworks specifically for creating RESTful services._ - [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. - [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. +- [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. ### Science From 58831d2ed112eac98f32120c50d370a322a241ae Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 18 Oct 2025 09:35:00 +0200 Subject: [PATCH 400/533] Fix grpc-java name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a39ca676..17df3513 100644 --- a/README.md +++ b/README.md @@ -821,7 +821,7 @@ _Libraries for building network servers._ - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. - [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. - [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. -- [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. +- [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. - [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://netty.io) - Framework for building high-performance network applications. From 0fc033f0ceb904a9172fca2edc49c21fb0541307 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 18 Oct 2025 09:36:15 +0200 Subject: [PATCH 401/533] Add selenium --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 17df3513..d844bd75 100644 --- a/README.md +++ b/README.md @@ -1150,6 +1150,7 @@ _Provide environments to run tests for a specific use case._ - [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. +- [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. #### Matchers From c167e42db00b561553568fb14777365625f7e4e0 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 18 Oct 2025 09:38:22 +0200 Subject: [PATCH 402/533] Add Apache ShardingSphere --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d844bd75..a87f7897 100644 --- a/README.md +++ b/README.md @@ -337,6 +337,7 @@ _Everything that simplifies interactions with the database._ - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. - [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. - [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. +- [Apache ShardingSphere](https://github.com/apache/shardingsphere) - Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. ### Date and Time From 837e81805c284f461a809154eb1bf34a0805b812 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 17 Oct 2025 10:05:48 +0200 Subject: [PATCH 403/533] test --- CONTRIBUTE_README.md | 1388 ------------------------------------ README.md | 60 +- test_grid_layout.md | 27 - test_grid_layout_clean.md | 27 - test_grid_layout_inline.md | 27 - 5 files changed, 32 insertions(+), 1497 deletions(-) delete mode 100644 CONTRIBUTE_README.md delete mode 100644 test_grid_layout.md delete mode 100644 test_grid_layout_clean.md delete mode 100644 test_grid_layout_inline.md diff --git a/CONTRIBUTE_README.md b/CONTRIBUTE_README.md deleted file mode 100644 index 6ccfd4b1..00000000 --- a/CONTRIBUTE_README.md +++ /dev/null @@ -1,1388 +0,0 @@ -# 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) - - [Cloud](#cloud) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [Pathfinding](#pathfinding) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) -- [Resources](#resources) - - [Related Awesome Lists](#related-awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Websites](#websites) -- [Contributing](#contributing) - -## 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. -- [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. -- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. - -### Bean Mapping - -_Frameworks that ease bean mapping._ - -- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. -- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. -- [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. -- [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. -- [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. -- [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -- [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. - -### Build - -_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. -- [Bazel](https://bazel.build) - Tool from Google that builds code quickly and reliably. -- [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 - -_Libraries to manipulate bytecode programmatically._ - -- [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. -- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. -- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) -- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -- [cglib](https://github.com/cglib/cglib) - Bytecode generation library. -- [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. -- [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. -- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. -- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. -- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. - -### Caching - -_Libraries that provide caching facilities._ - -- [cache2k](https://cache2k.org) - In-memory high performance caching library. -- [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. -- [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. -- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. - -### CLI - -_Libraries for everything related to the CLI._ - -#### Argument Parsing - -_Libraries to assist with parsing command line arguments._ - -- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. -- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. -- [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. -- [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. -- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - -#### Text-Based User Interfaces - -_Libraries that provide TUI frameworks, or building blocks related functions._ - -- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. -- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -- [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) - -### Cloud - -_Libraries to integrate or use cloud-specific features._ - -- [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 - -_Tools that provide metrics and quality measurements._ - -- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) -- [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. -- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. -- [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. -- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) -- [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. -- [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. -- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. -- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. -- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) -- [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. -- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) - -### Code Coverage - -_Frameworks and tools that enable code coverage metrics collection for test suites._ - -- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. -- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) -- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. - -### Code Generators - -_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ - -- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. -- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. -- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. -- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. -- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. -- [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. -- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -- [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. - -### Compiler-compiler - -_Frameworks that help to create parsers, interpreters or compilers._ - -- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. -- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -- [JFlex](https://jflex.de) - Lexical analyzer generator. - -### Computer Vision - -_Libraries which seek to gain high level information from images and videos._ - -- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. -- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. - -### Configuration - -_Libraries that provide external configuration._ - -- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -- [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. -- [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. -- [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. -- [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 distributed. -- [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. - -### Constraint Satisfaction Problem Solver - -_Libraries that help with implementing optimization and satisfiability problems._ - -- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. -- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -- [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. -- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. - -### CSV - -_Frameworks and libraries that simplify reading/writing CSV data._ - -- [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. -- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. -- [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. -- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. -- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. - -### Data Structures - -_Efficient and specific data structures._ - -- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. -- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. -- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. -- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. -- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. -- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. -- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. -- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. -- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. -- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. -- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. - -### Database - -_Everything that simplifies interactions with the database._ - -- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -- [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. -- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. -- [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. -- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. -- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) -- [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. -- [Flyway](https://flywaydb.org) - Simple database migration tool. -- [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. -- [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. -- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. -- [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. -- [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. -- [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. -- [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. -- [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). -- [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. -- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. -- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. -- [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. -- [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. -- [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. -- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. -- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -- [Querydsl](http://www.querydsl.com) - Typesafe unified queries. -- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. -- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. -- [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. -- [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. -- [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. -- [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. -- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. -- [Trino](https://trino.io) - Distributed SQL query engine for big data. -- [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. -- [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. -- [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. - -### Date and Time - -_Libraries related to handling date and time._ - -- [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. -- [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. -- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) - -### Dependency Injection - -_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ - -- [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. -- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. -- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. -- [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://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 - -_Augmentation of the development process at a fundamental level._ - -- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. -- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) -- [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) -- [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. -- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. -- [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -- [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. -- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. - -### Distributed Applications - -_Libraries and frameworks for writing distributed and fault-tolerant applications._ - -- [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -- [Apache Storm](https://storm.apache.org) - Realtime computation system. -- [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. -- [Axon](https://axoniq.io) - Framework for creating CQRS applications. -- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) -- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. -- [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. -- [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. -- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. -- [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. -- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. -- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. -- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. - -### Distributed Transactions - -_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ - -- [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. -- [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. -- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) -- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. - -### Distribution - -_Tools that handle the distribution of applications in native formats._ - -- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. -- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. -- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. -- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. -- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. -- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. -- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. -- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. -- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. - -### Document Processing - -_Libraries that assist with processing office document formats._ - -- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. -- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. -- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. -- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. - -### Financial - -_Libraries related to the financial domain._ - -- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. -- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. -- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. -- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. -- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. -- [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. - -### Formal Verification - -_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ - -- [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. -- [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) -- [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 - -_Libraries that facilitate functional programming._ - -- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. -- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) -- [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. - -### Game Development - -_Frameworks that support the development of games._ - -- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. -- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. -- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. -- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. -- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. -- [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 - -_Libraries for working with geospatial data and algorithms._ - -- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. -- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. -- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) -- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) -- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. -- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) -- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. - -### GUI - -_Libraries to create modern graphical user interfaces._ - -- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. -- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. -- [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. -- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. - -### High Performance - -_Everything about high-performance computation, from collections to specific libraries._ - -- [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. -- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. -- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. -- [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. -- [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. -- [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. -- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. - -### HTTP Clients - -_Libraries that assist with creating HTTP requests and/or binding responses._ - -- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. -- [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. -- [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. -- [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. -- [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. - -### Hypermedia Types - -_Libraries that handle serialization to hypermedia types._ - -- [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 - -_Integrated development environments that try to simplify several aspects of development._ - -- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. -- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. -- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. -- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. -- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. - -### Imagery - -_Libraries that assist with the creation, evaluation or manipulation of graphical images._ - -- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. -- [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -- [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. -- [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. -- [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 - -_Libraries that help make the Java introspection and reflection API easier and faster to use._ - -- [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. -- [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. -- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. -- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. - -### Job Scheduling - -_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 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. - -### JSON - -_Libraries for serializing and deserializing JSON to and from Java objects._ - -- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. -- [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. -- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. -- [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. -- [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. -- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. -- [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. -- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. -- [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. -- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. -- [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. -- [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. -- [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. -- [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. -- [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. -- [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. - -### JVM and JDK - -_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. -- [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. -- [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) -- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! - -### Logging - -_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. -- [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. -- [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. -- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. -- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. -- [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 - -_Tools that provide specific statistical algorithms for learning from data._ - -- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. -- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. -- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. -- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. -- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. -- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. -- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. -- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) -- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. -- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. -- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. -- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) - -### Messaging - -_Tools that help send messages between clients to ensure protocol independency._ - -- [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. -- [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. -- [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. -- [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. -- [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. -- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. -- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. -- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. -- [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. -- [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. -- [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. -- [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. -- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. -- [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. -- [NATS client](https://github.com/nats-io/nats.java) - NATS client. - -### Microservice - -_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. -- [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. -- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. -- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. -- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. -- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. -- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. -- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. - -### Miscellaneous - -_Everything else._ - -- [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) -- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. -- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -- [Jimfs](https://github.com/google/jimfs) - In-memory file system. -- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. -- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. -- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. -- [JPad](http://jpad.io) - Snippet runner. -- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. -- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. -- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. -- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. -- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. -- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. -- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. -- [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. -- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. -- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. -- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -- [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. -- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for - code and dependency management and allows you to run it directly. - -### Mobile Development - -_Tools for creating or managing mobile applications._ - -- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - -### Monitoring - -_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. -- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. -- [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. -- [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. -- [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 software’s 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. -- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. -- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. -- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. -- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. - -### Native - -_For working with platform-specific native libraries._ - -- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. -- [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. -- [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 - -_Libraries that specialize in processing text._ - -- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) -- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) -- [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. -- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. - -### Networking - -_Libraries for building network servers._ - -- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). -- [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. -- [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. -- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. -- [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. -- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -- [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -- [Netty](https://netty.io) - Framework for building high-performance network applications. -- [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. -- [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. -- [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. -- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) -- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) -- [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. - -### ORM - -_APIs that handle the persistence of objects._ - -- [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -- [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -- [Ebean](https://ebean.io) - Provides simple and fast data access. -- [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. - -### PaaS - -_Java platform as a service._ - -- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. -- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. -- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. -- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. -- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. -- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. - -### Pathfinding - -_Algorithms and libraries for finding routes in graphs and spatial environments._ - -- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. - -### PDF - -_Tools to help with PDF files._ - -- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. -- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) -- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) -- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. -- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. -- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) -- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. -- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. - -### Performance analysis - -_Tools for performance analysis, profiling and benchmarking._ - -- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. -- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. -- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. -- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. - -### Platform - -_Frameworks that are suites of multiple libraries encompassing several categories._ - -#### Apache Commons - -- [BCEL](http://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. -- [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. -- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. -- [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. -- [Chain](http://commons.apache.org/proper/commons-chain/) - Chain of Responsibility pattern implementation. -- [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. -- [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. -- [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. -- [Codec](http://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -- [Collections](http://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. -- [Compress](http://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. -- [Configuration](http://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. -- [Convert](http://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -- [CSV](http://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. -- [Daemon](http://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. -- [DBCP](http://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. -- [DbUtils](http://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. -- [Digester](http://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. -- [Email](http://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. -- [Exec](http://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. -- [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. -- [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. -- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. -- [Functor](http://commons.apache.org/proper/commons-functor/) - Function that can be manipulated as an object, or an object representing a single, generic function. -- [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. -- [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. -- [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. -- [Imaging](http://commons.apache.org/proper/commons-imaging/) - Image library. -- [IO](http://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. -- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. -- [JCI](http://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. -- [JCS](http://commons.apache.org/proper/commons-jcs/) - Java Caching System. -- [Jelly](http://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. -- [Jexl](http://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. -- [JNet](http://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. -- [JXPath](http://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. -- [Lang](http://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. -- [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. -- [Math](http://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. -- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. -- [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -- [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. -- [OGNL](http://commons.apache.org/proper/commons-ognl/) - Object-graph navigation language. -- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. -- [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. -- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -- [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. -- [Proxy](http://commons.apache.org/proper/commons-proxy/) - Library for creating dynamic proxies. -- [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -- [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. -- [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -- [Validator](http://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. -- [VFS](http://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -- [Weaver](http://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. - -#### Other - -- [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). -- [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -- [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. - -### Processes - -_Libraries that help the management of operating system processes._ - -- [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) - Convenient API around Apache Commons Exec. -- [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. -- [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) - Stops processes started from Java or the system processes via PID. - -### Reactive libraries - -_Libraries for developing reactive applications._ - -- [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) - 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. - -### REST Frameworks - -_Frameworks specifically for creating RESTful services._ - -- [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -- [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. -- [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. -- [Spark](http://sparkjava.com) - Sinatra inspired framework. -- [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. -- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. -- [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. - -### Science - -_Libraries for scientific computing, analysis and visualization._ - -- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. -- [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) -- [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. -- [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) -- [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. -- [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. -- [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. -- [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. -- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) -- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -- [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. - -### Search - -_Engines that index documents for search and analysis._ - -- [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. -- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. -- [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. -- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. - -### Security - -_Libraries that handle security, authentication, authorization or session management._ - -- [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. -- [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -- [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. -- [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. -- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. -- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. -- [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. -- [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. -- [OACC](http://oaccframework.org) - Provides permission-based authorization services. -- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. -- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). -- [pac4j](https://github.com/pac4j/pac4j) - Security engine. -- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. -- [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. -- [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. - -### Serialization - -_Libraries that handle serialization with high efficiency._ - -- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. -- [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. -- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. -- [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. -- [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. -- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. - -### Server - -_Servers specifically used to deploy applications._ - -- [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. -- [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. -- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) - -### Template Engine - -_Tools that substitute expressions in a template._ - -- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. -- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. -- [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). -- [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. -- [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. -- [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. - -### Testing - -_Tools that test from model to the view._ - -#### Asynchronous - -_Tools that simplify testing asynchronous services._ - -- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. -- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) -- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. -- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - -#### BDD - -_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - -- [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. -- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. -- [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. -- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. -- [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. -- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. -- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. - -#### Fixtures - -_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. -- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. -- [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. -- [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. -- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. -- [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. - -#### Frameworks - -_Provide environments to run tests for a specific use case._ - -- [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 - -_Libraries that provide custom matchers._ - -- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. -- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. -- [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. -- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. -- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. -- [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. - -#### Miscellaneous - -_Other stuff related to testing._ - -- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. -- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. -- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. -- [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. -- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. -- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. -- [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). -- [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. -- [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 - -_Tools which mock collaborators to help testing single, isolated units._ - -- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. -- [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. -- [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. -- [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. -- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -- [WireMock](http://wiremock.org) - Stubs and mocks web services. -- [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. - -### Utility - -_Libraries which provide general utility functions._ - -- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. -- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. -- [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. -- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. -- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) -- [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. -- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. -- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) -- [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. -- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. -- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. -- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. -- [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. -- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. -- [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. -- [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. -- [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. - -### Version Managers - -_Utilities that help create the development shell environment and switch between different Java versions._ - -- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. -- [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. -- [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. - -### Web Crawling - -_Libraries that analyze the content of websites._ - -- [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. -- [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. -- [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. -- [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. -- [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. - -### Web Frameworks - -_Frameworks that handle the communication between the layers of a web application._ - -- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -- [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. -- [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. -- [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. -- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. -- [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. -- [Javalin](https://javalin.io/) - Microframework for web applications. -- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. -- [Ninja](http://www.ninjaframework.org) - Full-stack web framework. -- [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. -- [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -- [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) - 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. -- [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. - -### Workflow Orchestration Engines - -_Platforms and frameworks for orchestrating workflows and business processes._ - -- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. -- [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. -- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. - - - -## Resources - -### Related Awesome Lists - -_Awesome Lists related to the Java & JVM ecosystem._ - -- [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) -- [Awesome REST](https://github.com/marmelab/awesome-rest) -- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) -- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) -- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) -- [Useful Java Links](https://github.com/Vedenin/useful-java-links) -- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) -- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) - -### Communities - -_Active discussions._ - -- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. -- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. - -### Frontends - -_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ - -- [java.libhunt.com](https://java.libhunt.com) - -### Influential Books - -_Books that made a big impact and are still worth reading._ - -- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) -- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) -- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) -- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) -- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) -- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) -- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) - -### Podcasts and Screencasts - -_Something to look at or listen to while programming._ - -- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. -- [A Bootiful Podcast](https://bootifulpodcast.fm) -- [Foojay Podcast](https://foojay.io/today/category/podcast/) -- [Inside Java](https://inside.java/podcast) (Official) -- [Java Off Heap](http://www.javaoffheap.com) -- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. - -### People - -#### Socials - -_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://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://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](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://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. -- [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. -- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. -- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. -- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. -- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. -- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. -- [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://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. - -### Websites - -_Sites to read._ - -- [Baeldung](https://www.baeldung.com) -- [Dzone](https://dzone.com) -- [foojay.io](https://foojay.io) -- [Google Java Style](https://google.github.io/styleguide/javaguide.html) -- [InfoQ](https://www.infoq.com) -- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) -- [Java, SQL, and jOOQ](https://blog.jooq.org) -- [Java.net](https://community.oracle.com/community/java) -- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) -- [JavaWorld](https://www.javaworld.com) -- [JAXenter](https://jaxenter.com) -- [RebelLabs](https://zeroturnaround.com/rebellabs) -- [OverOps Blog](https://blog.overops.com) -- [TheServerSide.com](http://www.theserverside.com) -- [Vanilla Java](https://vanilla-java.github.io) -- [Voxxed](https://www.voxxed.com) -- [Java Weekly](https://discu.eu/weekly/java/) - -## Contributing - -Contributions are very welcome! - -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 diff --git a/README.md b/README.md index 6ccfd4b1..71f77ae7 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Data Structures](#data-structures) - [Database](#database) - [Date and Time](#date-and-time) + - [Decentralization](#decentraliation) - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) @@ -211,7 +212,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. - [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [Bootify](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. - [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. - [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. @@ -219,7 +220,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [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](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. - [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - [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. @@ -336,6 +337,7 @@ _Everything that simplifies interactions with the database._ - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. - [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. - [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. +- [Apache ShardingSphere](https://github.com/apache/shardingsphere) - Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. ### Date and Time @@ -346,6 +348,12 @@ _Libraries related to handling date and time._ - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. - [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) +### Decentralization + +_Libraries that handle decentralization tasks._ + +- [java-tron](https://github.com/tronprotocol/java-tron) Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. + ### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ @@ -407,16 +415,16 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ - [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. -- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. +- [Boxfuse](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. - [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +- [Cloudsmith](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. - [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. - [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. - [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. -- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. +- [Nexus](https://www.sonatype.com) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. @@ -486,7 +494,7 @@ _Frameworks that support the development of games._ _Libraries for working with geospatial data and algorithms._ - [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. -- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. +- [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. - [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. @@ -545,7 +553,7 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ - [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. -- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [IntelliJ IDEA](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. - [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. @@ -654,7 +662,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. - [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. - [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. -- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. +- [H2O](https://www.h2o.ai) - Analytics engine for statistics over big data. - [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. @@ -762,14 +770,14 @@ _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. +- [Datadog](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. - [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - [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. -- [Instrumental ![c]](https://instrumentalapp.com) - Real-time Java application performance monitoring. A commercial service with free development accounts. +- [Instrumental](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. @@ -780,8 +788,8 @@ _Tools that observe/monitor applications in production by providing telemetry._ - [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) - Instrument, generate, collect, and export telemetry data to help you analyze your software’s 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. -- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. +- [Sentry](https://github.com/getsentry/sentry-java) - Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. +- [SPM](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. - [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. - [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. - [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. @@ -814,7 +822,7 @@ _Libraries for building network servers._ - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. - [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. - [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. -- [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. +- [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. - [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://netty.io) - Framework for building high-performance network applications. @@ -845,12 +853,12 @@ _APIs that handle the persistence of objects._ _Java platform as a service._ -- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. -- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. -- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. -- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. -- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. -- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. +- [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. +- [AWS Lambda](https://aws.amazon.com/lambda/) - Serverless computation. +- [Google Cloud](https://cloud.google.com) - Google's cloud infrastructure. +- [Heroku](https://www.heroku.com) - Abstract computing environments. +- [Microsoft Azure](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. +- [OpenShift](https://www.openshift.com) - Provides additionally an on-premise solution. ### Pathfinding @@ -868,7 +876,7 @@ _Tools to help with PDF files._ - [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) - [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. +- [iText](https://itextpdf.com/en) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) - [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) @@ -878,8 +886,8 @@ _Tools to help with PDF files._ _Tools for performance analysis, profiling and benchmarking._ -- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. -- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +- [fastThread](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. +- [GCeasy](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. - [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. @@ -989,6 +997,7 @@ _Frameworks specifically for creating RESTful services._ - [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. - [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. +- [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. ### Science @@ -1142,6 +1151,7 @@ _Provide environments to run tests for a specific use case._ - [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. +- [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. #### Matchers @@ -1249,14 +1259,10 @@ _Frameworks that handle the communication between the layers of a web applicatio ### Workflow Orchestration Engines -_Platforms and frameworks for orchestrating workflows and business processes._ - - [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. - [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. - [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. - - ## Resources ### Related Awesome Lists @@ -1384,5 +1390,3 @@ _Sites to read._ Contributions are very welcome! 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 diff --git a/test_grid_layout.md b/test_grid_layout.md deleted file mode 100644 index 7aa3c8f5..00000000 --- a/test_grid_layout.md +++ /dev/null @@ -1,27 +0,0 @@ -# Test Grid Layout - -## Architecture - -_Frameworks and libraries that help implementing and verifying design and architecture concepts._ - -
-
- ArchUnit
- Test library for specifying and asserting architecture rules. -
-
- GitHub stars
- Last commit -
-
- -
-
- jMolecules
- Annotations and interfaces to express design and architecture concepts in code. -
-
- GitHub stars
- Last commit -
-
diff --git a/test_grid_layout_clean.md b/test_grid_layout_clean.md deleted file mode 100644 index 04c33057..00000000 --- a/test_grid_layout_clean.md +++ /dev/null @@ -1,27 +0,0 @@ -# Test Grid Layout (Clean Version) - -## Architecture - -_Frameworks and libraries that help implementing and verifying design and architecture concepts._ - -
-
- ArchUnit
- Test library for specifying and asserting architecture rules. -
-
- GitHub stars - Last commit -
-
- -
-
- jMolecules
- Annotations and interfaces to express design and architecture concepts in code. -
-
- GitHub stars - Last commit -
-
diff --git a/test_grid_layout_inline.md b/test_grid_layout_inline.md deleted file mode 100644 index d1852749..00000000 --- a/test_grid_layout_inline.md +++ /dev/null @@ -1,27 +0,0 @@ -# Test Grid Layout (Inline Badges) - -## Architecture - -_Frameworks and libraries that help implementing and verifying design and architecture concepts._ - -
-
- ArchUnit
- Test library for specifying and asserting architecture rules. -
-
- GitHub stars - Last commit -
-
- -
-
- jMolecules
- Annotations and interfaces to express design and architecture concepts in code. -
-
- GitHub stars - Last commit -
-
From 4f8cd32dacff71def58e730fa6422a7016157aa9 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 8 Jan 2026 12:35:17 +0400 Subject: [PATCH 404/533] Update --- .github/workflows/update-readme.yml | 64 + .tmp/generated-tables.html | 1231 +++++ .tmp/generated-tables.md | 1091 ++++ .tmp/github-badges.txt | 2114 ++++++++ .tmp/github-stats.txt | 3704 +++++++++++++ .tmp/parsed-projects.txt | 5186 +++++++++++++++++++ CONTRIBUTE_README.md | 1388 +++++ README.md | 1805 ++++--- scripts/Constants.java | 52 + scripts/README.md | 136 + scripts/run_workflow.java | 142 + scripts/step_2_parse_projects.java | 156 + scripts/step_3_generate_badges.java | 426 ++ scripts/step_4_generate_tables.java | 193 + scripts/step_5_assemble_readme.java | 217 + scripts/step_6_validate_transformation.java | 354 ++ 16 files changed, 17492 insertions(+), 767 deletions(-) create mode 100644 .tmp/generated-tables.html create mode 100644 .tmp/generated-tables.md create mode 100644 .tmp/github-badges.txt create mode 100644 .tmp/github-stats.txt create mode 100644 .tmp/parsed-projects.txt create mode 100644 CONTRIBUTE_README.md diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index 7d68dbd1..d07c30ad 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream name: Update README from CONTRIBUTE_README # Workflow disabled @@ -109,3 +110,66 @@ jobs: echo "- **Lines**: $(wc -l < README.md)" >> $GITHUB_STEP_SUMMARY echo "- **Size**: $(du -h README.md | cut -f1)" >> $GITHUB_STEP_SUMMARY echo "- **Badges**: $(grep -c 'img.shields.io' README.md)" >> $GITHUB_STEP_SUMMARY +||||||| Stash base +======= +name: Update README + +on: + schedule: + # Run once a week on Monday at 00:00 UTC + - cron: '0 0 * * 1' + workflow_dispatch: # Allow manual triggering + push: + branches: + - master + paths: + - 'CONTRIBUTE_README.md' + - 'scripts/**' + +jobs: + update-readme: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for git operations + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '25' + + - name: Checkout existing stats cache + run: | + mkdir -p .tmp + # Try to restore stats cache from previous run + if git show HEAD:.tmp/github-stats.txt > .tmp/github-stats.txt 2>/dev/null; then + echo "Restored existing stats cache from previous commit" + else + echo "No existing stats cache found, will fetch all data" + fi + + - name: Run workflow + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + java --enable-preview --source 25 scripts/run_workflow.java + + - name: Commit changes + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add README.md + # Always commit the stats cache so it persists for next run + git add .tmp/github-stats.txt || true + if git diff --staged --quiet; then + echo "No changes to commit" + else + git commit -m "Update README with latest GitHub stars and commit dates [skip ci]" + git push + fi + +>>>>>>> Stashed changes diff --git a/.tmp/generated-tables.html b/.tmp/generated-tables.html new file mode 100644 index 00000000..a3ca4844 --- /dev/null +++ b/.tmp/generated-tables.html @@ -0,0 +1,1231 @@ + + +### Architecture + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | 3.6k | 22h | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | 1.5k | 1mo | + + + +### Artificial Intelligence + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | 10.3k | 14h | +| [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. | 3.0k | 23d | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | 370 | 3mo | +| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | + + + +### Bean Mapping + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | - | - | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | 241 | 2y | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | 7.6k | 6d | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | 2.3k | 1mo | +| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | 1.3k | 1y | +| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | 126 | 5mo | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | - | - | + + + +### Build + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | - | - | +| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | 4.2k | 22m | +| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | + + + +### Bytecode Manipulation + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | +| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | 15.4k | 1d | +| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | +| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | 4.9k | 1y | +| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | 4.2k | 1y | +| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | 65 | 13d | +| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | 1.7k | 1y | +| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | - | - | +| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | + + + +### Caching + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | 17.4k | 2d | +| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | +| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | + + + +### CLI + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | +| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | +| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | +| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | +| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | +| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | 2.5k | 5mo | + + + +### Cloud + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | 4.2k | 2d | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | 2.0k | 16d | + + + +### Code Analysis + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | 8.8k | 1h | +| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | 7.1k | 8h | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | 232 | 1d | +| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | 15.5k | 1d | +| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | +| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | 4.0k | 10h | +| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | 5.3k | 18h | +| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | 30.8k | 3y | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | - | - | +| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | 1.2k | 13h | +| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | 1.9k | 1d | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | 3.8k | 3d | + + + +### Code Coverage + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | + + + +### Code Generators + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | 147 | 7y | +| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | 10.5k | 10h | +| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | 6 | 7mo | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | 833 | 1y | +| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | 135 | 3y | +| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | +| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | 10.9k | 1y | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | 22.3k | 3h | +| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | 1 | 1mo | +| [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. | 900 | 1mo | +| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | + + + +### Compiler-compiler + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | +| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | + + + +### Computer Vision + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | 8.3k | 10d | + + + +### Configuration + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | 654 | 4h | +| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | 6.3k | 3mo | +| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | 449 | 3mo | +| [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. | 50 | 7y | +| [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. | 32 | 3mo | +| [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. | 94 | 1mo | +| [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. | 61 | 3y | +| [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. | - | - | + + + +### Constraint Satisfaction Problem Solver + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | 231 | 2y | +| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | +| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | + + + +### CSV + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | 656 | 19d | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | 194 | 8y | +| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | 931 | 4y | + + + +### Data Structures + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | +| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | +| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | 567 | 9y | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | - | - | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | 784 | 5mo | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | 70.2k | 2h | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | 3.8k | 23d | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | - | - | +| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | 2.5k | 7y | +| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | 4.4k | 2d | + + + +### Database + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | +| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | 205 | 2d | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | 2.9k | 16d | +| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | +| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | +| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | 457 | 1d | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | 1.2k | 1mo | +| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | +| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | 20.9k | 2mo | +| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | +| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | - | - | +| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | 2.1k | 4y | +| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | 140 | 11y | +| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | 663 | 7mo | +| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | 6.7k | 5y | +| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | +| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | +| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | 15 | 5d | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | 15 | 1mo | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | 422 | 27d | +| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | 20 | 8mo | +| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | 16.5k | 9h | +| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | 11.5k | 3mo | +| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | 24.2k | 2d | +| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | 3.1k | 5y | +| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | 2.1k | 2y | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | 101 | 19d | +| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | 1.3k | 3mo | +| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | 599 | 1d | + + + +### Date and Time + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | 821 | 9d | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | 192 | 3y | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | 420 | 4mo | +| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | 470 | 1y | + + + +### Dependency Injection + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | +| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | 362 | 8y | +| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | 826 | 22d | +| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | 12.7k | 1mo | +| [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) | 60 | 5y | + + + +### Development + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | +| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | 140 | 6mo | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | 2.5k | 19d | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | 6.0k | 6h | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | 296 | 7y | +| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | 2.7k | 7d | +| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | 79 | 6y | +| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | + + + +### Distributed Applications + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | +| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | +| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | +| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | 45 | 6y | +| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | - | - | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | 6.5k | 1h | +| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | 10.5k | 6d | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | 86 | 22d | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | 636 | 10h | +| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | 14.0k | 2d | + + + +### Distributed Transactions + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | - | - | +| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | +| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | - | - | + + + +### Distribution + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | 649 | 10mo | +| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | 1.2k | 9y | +| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | +| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | 526 | 1y | +| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | - | - | +| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | 50 | 1y | +| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | 2.6k | 1y | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | 133 | 2y | + + + +### Document Processing + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | +| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | 855 | 22d | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | 81 | 1y | + + + +### Financial + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | 650 | 1y | +| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | 501 | 3y | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | 339 | 12d | +| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | 40 | 6y | +| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | 942 | 1d | +| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | 2.3k | 1d | + + + +### Formal Verification + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | - | - | +| [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. | 593 | 22d | +| [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 + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | 1.3k | 3y | +| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | 577 | 4y | +| [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. | 2.1k | 1y | +| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | 24 | 3d | +| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | 485 | 1y | +| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | 2.3k | 4mo | +| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | + + + +### Game Development + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | +| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | +| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | +| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | +| [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 + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | +| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | 431 | 16d | +| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | 6.2k | 2d | +| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | 1.3k | 1d | +| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | 955 | 7mo | + + + +### GUI + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | 310 | 15h | +| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | + + + +### High Performance + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | - | - | +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | - | - | +| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | 3.8k | 1y | +| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | 1.0k | 9y | + + + +### HTTP Clients + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | 6.4k | 7d | +| [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. | 9.8k | 1h | +| [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. | 1.4k | 19d | +| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | 286 | 17d | +| [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. | 4.6k | 22d | +| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | 327 | 4mo | +| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | 2.7k | 1mo | + + + +### Hypermedia Types + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | 25 | 2y | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | 386 | 2y | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | 28 | 8y | +| [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. | 1.1k | 27d | + + + +### IDE + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | +| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | +| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | + + + +### Imagery + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | 9 | 15d | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | 1.2k | 2y | +| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | 1.7k | 11d | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | 5.4k | 5d | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | 2.1k | 20h | +| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | 33.8k | 1mo | +| [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. | 385 | 7mo | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | 98 | 8d | +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | + + + +### Introspection + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | 3.0k | 2mo | +| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | 2.8k | 1y | +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | +| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | 1.5k | 7mo | +| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | 4.8k | 2y | + + + +### Job Scheduling + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 2.8k | 2d | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | 6.7k | 1mo | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | 276 | 1y | +| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | 141 | 7mo | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | 1.5k | 1d | +| [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. | 629 | 4y | +| [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. | 4.1k | 9h | + + + +### JSON + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | 1.1k | 1y | +| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | +| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | 24.3k | 6d | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | 465 | 8y | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | 417 | 8d | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | 264 | 6mo | +| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | 9.6k | 5d | +| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | 343 | 2d | +| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | 3.2k | 9y | +| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | 10.1k | 3d | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | 215 | 5mo | +| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | 25.7k | 2y | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | 1.7k | 2y | +| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | 9.4k | 2mo | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | - | - | + + + +### JVM and JDK + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | - | - | +| [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) | 21.4k | 13h | +| [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. | - | - | +| [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) | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | 339 | 2mo | + + + +### Logging + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 58 | 1y | +| [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. | - | - | +| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | 2.0k | 8d | +| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | 2.2k | 3y | +| [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. | 180 | 6mo | +| [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 + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | +| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | +| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | +| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | - | - | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | 800 | 3y | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | 2.9k | 3y | +| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | 86 | 1y | +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | 1.8k | 4y | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | 1.6k | 5mo | +| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | 6.3k | 7h | +| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | + + + +### Messaging + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | - | - | +| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | +| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | +| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | +| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | - | - | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | 64 | 3mo | +| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | 24.8k | 3y | +| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | 2.4k | 10mo | +| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | 968 | 1y | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | 1.3k | 16m | +| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | 2.4k | 1mo | +| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | 640 | 15h | + + + +### Microservice + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | +| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | 5.1k | 22h | +| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | 423 | 3y | +| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | 12.7k | 21d | +| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | - | - | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | - | - | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | 3.6k | 15d | +| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | +| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | 4.8k | 1y | +| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | 23.0k | 16d | + + + +### Miscellaneous + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | 1.8k | 3y | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | 93.6k | 7mo | +| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | 1.4k | 18d | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | 23.1k | 6y | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | 7 | 8d | +| [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. | 3 | 11d | +| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | 6.0k | 14h | +| [JBake](https://jbake.org) | Static website generator. | - | - | +| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | 1.2k | 3mo | +| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | 102 | 22d | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | 2.5k | 6d | +| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | +| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | 505 | 1y | +| [JPad](http://jpad.io) | Snippet runner. | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | 1.5k | 2y | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | 1.6k | 4y | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | - | - | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | 186 | 6mo | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | 2.1k | 8y | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | 16.8k | 2y | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | 383 | 6d | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | 5.3k | 2y | +| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | 476 | 4mo | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | 915 | 6mo | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | 25 | 3y | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | 1.3k | 8mo | +| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | 414 | 10mo | +| [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. | 628 | 2y | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | 2.3k | 2mo | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | 76 | 5mo | +| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | 450 | 6mo | +| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | - | - | + + + +### Mobile Development + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | + + + +### Monitoring + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | 5 | 3d | +| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | 573 | 1y | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | 7.9k | 16d | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | 54 | 4y | +| [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. | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | 490 | 3y | +| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | 3.0k | 9d | +| [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. | 1.7k | 4y | +| [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. | 4.8k | 6h | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | 287 | 5h | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | 164 | 5y | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | 2.3k | 13h | +| [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. | 2.3k | 6h | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | 1.7k | 2y | +| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | 156 | 9y | +| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | + + + +### Native + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | 482 | 4y | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | 4.7k | 29d | +| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | 8.9k | 29d | +| [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). | 1.3k | 2mo | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | 215 | 1y | + + + +### Natural Language Processing + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | 480 | 3y | +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | +| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | 3 | 6mo | +| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | + + + +### Networking + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | 20 | 3y | +| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | 595 | 9y | +| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | 41.7k | 1d | +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | +| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 15h | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | 1.8k | 5y | +| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | +| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | +| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | 248 | 3mo | +| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | 1.0k | 8h | +| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | 2.6k | 7mo | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | 207 | 1d | +| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | +| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | 34 | 9d | +| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | 163 | 3d | + + + +### ORM + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | +| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | 494 | 1d | +| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | +| [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. | 20.3k | 6d | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | 17.3k | 8d | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | 1.3k | 1y | +| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | 422 | 3mo | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | 454 | 1y | + + + +### Pathfinding + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | 236 | 15m | + + + +### PDF + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | 240 | 4mo | +| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | 2.2k | 5h | +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | 2.1k | 3y | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | 4.1k | 4mo | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | 2.0k | 9mo | + + + +### Performance analysis + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | 1.3k | 3y | +| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | 697 | 4y | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | 3.3k | 10d | +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | 465 | 1y | + + + +### Platform + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | - | - | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | - | - | +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | + + + +### Processes + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 2d | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 1y | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | + + + +### Reactive libraries + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 4.9k | 2y | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 29d | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 21d | +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | + + + +### REST Frameworks + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | 8.6k | 1d | +| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | +| [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. | 934 | 5y | +| [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. | 2.5k | 2mo | +| [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. | 940 | 1y | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | 661 | 1mo | +| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | +| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | 3.7k | 6d | +| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | + + + +### Science + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | - | - | +| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | 127 | 2y | +| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | 2.7k | 10h | +| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | 687 | 5y | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | 149 | 1y | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | 82 | 5y | +| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | 244 | 7y | +| [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | 120 | 6mo | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | 3.7k | 6mo | +| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | 1.6k | 3mo | + + + +### Search + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | 56 | 6y | + + + +### Security + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | 564 | 5d | +| [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. | 40 | 10mo | +| [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. | 219 | 4y | +| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | 11.0k | 2mo | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | 14 | 5mo | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | 204 | 3mo | +| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | 218 | 7y | +| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | 2.6k | 2y | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | 308 | 4mo | +| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | 860 | 22d | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | 232 | 1y | +| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | 2.5k | 1h | +| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | +| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | 397 | 4mo | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | 47 | 4y | +| [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. | 1.9k | 1y | +| [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. | - | - | + + + +### Serialization + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | 25.3k | 17d | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | 1.6k | 4y | +| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | - | - | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | 6.5k | 23d | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | 1.5k | 2d | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | 19 | 7y | + + + +### Server + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | 7.2k | 6y | +| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | + + + +### Template Engine + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | 706 | 4y | +| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | 65 | 8mo | +| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | 315 | 8mo | +| [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. | 1.1k | 2d | +| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | 300 | 8y | +| [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. | 781 | 2mo | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | 1.0k | 7mo | +| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | + + + +### Testing + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | 4.0k | 10mo | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | 427 | 2y | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | 174 | 18d | +| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | +| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | +| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | +| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | +| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 11h | +| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | +| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 4h | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | 446 | 3y | +| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | - | - | +| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | 1.1k | 22h | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | 180 | 10mo | +| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | +| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | +| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | +| [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. | 27 | 1d | +| [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. | 112 | 2d | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 12h | +| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | 421 | 16d | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | 15 | 1mo | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | 241 | 2mo | +| [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. | 73 | 7y | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | +| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | +| [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. | 8.6k | 23d | +| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | +| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | +| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | +| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | 4.4k | 1y | +| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | 4.2k | 3y | +| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | +| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | 831 | 2d | + + + +### Utility + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | 37.0k | 2d | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | - | - | +| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | 763 | 19h | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | 48 | 2y | +| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | 1.3k | 6y | +| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | 48 | 22h | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | 1.8k | 1mo | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | 31 | 5d | +| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | 6.3k | 2d | +| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | 51.4k | 1d | +| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | 55 | 1mo | +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | 2.6k | 1mo | +| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | 21 | 11mo | +| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | 1.3k | 22d | +| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | 106 | 22h | +| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | 547 | 29d | + + + +### Version Managers + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | 3.3k | 4y | +| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | 6.5k | 14d | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | 6.6k | 9h | + + + +### Web Crawling + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | 4.6k | 5y | +| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | +| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | 11.7k | 6mo | + + + +### Web Frameworks + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | +| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | 5.9k | 11mo | +| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | +| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | +| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | +| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | +| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | +| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | +| [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. | 868 | 6d | +| [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. | - | - | +| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | + + + +### Workflow Orchestration Engines + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | 9.0k | 1d | +| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | + diff --git a/.tmp/generated-tables.md b/.tmp/generated-tables.md new file mode 100644 index 00000000..cf33d1e7 --- /dev/null +++ b/.tmp/generated-tables.md @@ -0,0 +1,1091 @@ + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | 3.6k | 23h | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | 1.5k | 1mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | 10.3k | 14h | +| [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. | 3.0k | 23d | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | 370 | 3mo | +| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | - | - | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | 241 | 2y | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | 7.6k | 6d | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | 2.3k | 1mo | +| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | 1.3k | 1y | +| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | 126 | 5mo | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | - | - | +| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | 4.2k | 54m | +| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | +| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | 15.4k | 1d | +| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | +| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | 4.9k | 1y | +| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | 4.2k | 1y | +| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | 65 | 13d | +| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | 1.7k | 1y | +| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | - | - | +| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | 17.4k | 2d | +| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | +| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | +| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | +| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | +| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | +| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | +| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | 2.5k | 5mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | 4.2k | 2d | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | 2.0k | 16d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | 8.8k | 2h | +| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | 7.1k | 8h | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | 232 | 1d | +| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | 15.5k | 1d | +| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | +| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | 4.0k | 10h | +| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | 5.3k | 18h | +| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | 30.8k | 3y | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | - | - | +| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | 1.2k | 14h | +| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | 1.9k | 1d | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | 3.8k | 3d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | 147 | 7y | +| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | 10.5k | 11h | +| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | 6 | 7mo | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | 833 | 1y | +| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | 135 | 3y | +| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | +| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | 10.9k | 1y | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | 22.3k | 3h | +| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | 1 | 1mo | +| [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. | 900 | 1mo | +| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | +| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | 8.3k | 10d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | 654 | 5h | +| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | 6.3k | 3mo | +| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | 449 | 3mo | +| [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. | 50 | 7y | +| [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. | 32 | 3mo | +| [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. | 94 | 1mo | +| [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. | 61 | 3y | +| [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. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | 231 | 2y | +| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | +| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | 656 | 19d | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | 194 | 8y | +| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | 931 | 4y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | +| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | +| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | 567 | 9y | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | N/A | N/A | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | 784 | 5mo | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | 70.2k | 2h | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | 3.8k | 23d | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | - | - | +| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | 2.5k | 7y | +| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | 4.4k | 2d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | +| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | 205 | 2d | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | 2.9k | 16d | +| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | +| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | +| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | 457 | 1d | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | 1.2k | 1mo | +| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | +| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | 20.9k | 2mo | +| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | +| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | - | - | +| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | 2.1k | 4y | +| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | 140 | 11y | +| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | 663 | 7mo | +| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | 6.7k | 5y | +| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | +| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | +| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | 15 | 5d | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | 15 | 1mo | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | 422 | 27d | +| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | 20 | 8mo | +| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | 16.5k | 10h | +| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | 11.5k | 3mo | +| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | 24.2k | 2d | +| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | 3.1k | 5y | +| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | 2.1k | 2y | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | 101 | 19d | +| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | 1.3k | 3mo | +| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | 599 | 1d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | 821 | 9d | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | 192 | 3y | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | 420 | 4mo | +| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | 470 | 1y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | +| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | 362 | 8y | +| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | 826 | 22d | +| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | 12.7k | 1mo | +| [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) | 60 | 5y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | +| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | 140 | 6mo | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | 2.5k | 19d | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | 6.0k | 6h | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | 296 | 7y | +| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | 2.7k | 7d | +| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | 79 | 6y | +| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | +| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | +| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | +| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | 45 | 6y | +| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | - | - | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | 6.5k | 2h | +| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | 10.5k | 6d | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | 86 | 22d | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | 636 | 10h | +| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | 14.0k | 2d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | - | - | +| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | +| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | 649 | 10mo | +| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | 1.2k | 9y | +| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | +| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | 526 | 1y | +| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | - | - | +| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | 50 | 1y | +| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | 2.6k | 1y | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | 133 | 2y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | +| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | 855 | 22d | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | 81 | 1y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | 650 | 1y | +| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | 501 | 3y | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | 339 | 12d | +| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | 40 | 6y | +| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | 942 | 1d | +| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | 2.3k | 1d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | N/A | N/A | +| [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. | 593 | 22d | +| [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) | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | 1.3k | 3y | +| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | 577 | 4y | +| [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. | 2.1k | 1y | +| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | 24 | 3d | +| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | 485 | 1y | +| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | 2.3k | 4mo | +| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | +| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | +| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | +| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | +| [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. | N/A | N/A | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | +| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | 431 | 16d | +| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | 6.2k | 2d | +| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | 1.3k | 1d | +| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | 955 | 7mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | 310 | 16h | +| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | - | - | +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | - | - | +| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | 3.8k | 1y | +| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | 1.0k | 9y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | 6.4k | 7d | +| [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. | 9.8k | 1h | +| [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. | 1.4k | 19d | +| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | 286 | 17d | +| [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. | 4.6k | 22d | +| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | 327 | 4mo | +| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | 2.7k | 1mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | 25 | 2y | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | 386 | 2y | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | 28 | 8y | +| [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. | 1.1k | 27d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | +| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | +| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | 9 | 15d | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | 1.2k | 2y | +| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | 1.7k | 11d | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | 5.4k | 5d | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | 2.1k | 21h | +| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | 33.8k | 1mo | +| [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. | 385 | 7mo | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | 98 | 8d | +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | 3.0k | 2mo | +| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | 2.8k | 1y | +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | +| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | 1.5k | 7mo | +| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | 4.8k | 2y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 2.8k | 2d | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | 6.7k | 1mo | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | 276 | 1y | +| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | 141 | 7mo | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | 1.5k | 1d | +| [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. | 629 | 4y | +| [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. | 4.1k | 9h | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | 1.1k | 1y | +| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | +| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | 24.3k | 6d | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | 465 | 8y | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | 417 | 8d | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | 264 | 6mo | +| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | 9.6k | 5d | +| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | 343 | 2d | +| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | 3.2k | 9y | +| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | 10.1k | 3d | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | 215 | 5mo | +| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | 25.7k | 2y | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | 1.7k | 2y | +| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | 9.4k | 2mo | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | - | - | +| [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) | 21.4k | 14h | +| [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. | - | - | +| [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) | N/A | N/A | +| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | 339 | 2mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 58 | 1y | +| [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. | - | - | +| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | 2.0k | 8d | +| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | 2.2k | 3y | +| [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. | 180 | 6mo | +| [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. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | +| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | +| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | +| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | - | - | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | 800 | 3y | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | 2.9k | 3y | +| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | 86 | 1y | +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | 1.8k | 4y | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | 1.6k | 5mo | +| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | 6.3k | 8h | +| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | - | - | +| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | +| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | +| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | +| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | - | - | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | 64 | 3mo | +| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | 24.8k | 3y | +| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | 2.4k | 10mo | +| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | 968 | 1y | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | 1.3k | 48m | +| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | 2.4k | 1mo | +| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | 640 | 16h | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | +| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | 5.1k | 23h | +| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | 423 | 3y | +| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | 12.7k | 21d | +| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | - | - | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | N/A | N/A | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | 3.6k | 15d | +| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | +| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | 4.8k | 1y | +| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | 23.0k | 16d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | 1.8k | 3y | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | 93.6k | 7mo | +| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | 1.4k | 18d | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | 23.1k | 6y | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | 7 | 8d | +| [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. | 3 | 11d | +| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | 6.0k | 14h | +| [JBake](https://jbake.org) | Static website generator. | - | - | +| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | 1.2k | 3mo | +| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | 102 | 22d | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | 2.5k | 6d | +| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | +| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | 505 | 1y | +| [JPad](http://jpad.io) | Snippet runner. | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | 1.5k | 2y | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | 1.6k | 4y | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | - | - | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | 186 | 6mo | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | 2.1k | 8y | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | 16.8k | 2y | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | 383 | 6d | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | 5.3k | 2y | +| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | 476 | 4mo | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | 915 | 6mo | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | 25 | 3y | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | 1.3k | 8mo | +| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | 414 | 10mo | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | N/A | N/A | +| [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | +| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | 628 | 2y | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | 2.3k | 2mo | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | 76 | 5mo | +| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | 450 | 6mo | +| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | N/A | N/A | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | 5 | 3d | +| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | 573 | 1y | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | 7.9k | 16d | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | 54 | 4y | +| [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. | N/A | N/A | +| [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. | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | 490 | 3y | +| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | 3.0k | 9d | +| [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. | 1.7k | 4y | +| [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. | 4.8k | 7h | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | 287 | 6h | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | 164 | 5y | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | 2.3k | 14h | +| [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. | 2.3k | 6h | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | 1.7k | 2y | +| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | 156 | 9y | +| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | 482 | 4y | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | 4.7k | 29d | +| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | 8.9k | 29d | +| [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). | 1.3k | 2mo | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | 215 | 1y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | 480 | 3y | +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | +| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | 3 | 6mo | +| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | 20 | 3y | +| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | 595 | 9y | +| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | 41.7k | 1d | +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | +| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 15h | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | 1.8k | 5y | +| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | +| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | +| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | 248 | 3mo | +| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | 1.0k | 9h | +| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | 2.6k | 7mo | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | 207 | 1d | +| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | +| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | 34 | 9d | +| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | 163 | 3d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | +| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | 494 | 1d | +| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | +| [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. | 20.3k | 6d | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | 17.3k | 8d | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | 1.3k | 1y | +| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | 422 | 3mo | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | 454 | 1y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | 236 | 1h | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | 240 | 4mo | +| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | 2.2k | 5h | +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | 2.1k | 3y | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | 4.1k | 4mo | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | 2.0k | 9mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | 1.3k | 3y | +| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | 697 | 4y | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | 3.3k | 10d | +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | 465 | 1y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 2d | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 1y | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 4.9k | 2y | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 29d | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 21d | +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | 8.6k | 43m | +| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | +| [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. | 934 | 5y | +| [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. | 2.5k | 2mo | +| [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. | 940 | 1y | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | 661 | 1mo | +| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | +| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | 3.7k | 6d | +| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | - | - | +| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | 127 | 2y | +| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | 2.7k | 11h | +| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | 687 | 5y | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | 149 | 1y | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | 82 | 5y | +| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | 244 | 7y | +| [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | 120 | 6mo | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | 3.7k | 6mo | +| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | 1.6k | 3mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | 56 | 6y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | 564 | 5d | +| [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. | 40 | 10mo | +| [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. | 219 | 4y | +| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | 11.0k | 2mo | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | 14 | 5mo | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | 204 | 3mo | +| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | 218 | 7y | +| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | 2.6k | 2y | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | 308 | 4mo | +| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | 860 | 22d | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | 232 | 1y | +| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | 2.5k | 2h | +| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | +| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | 398 | 4mo | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | 47 | 4y | +| [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. | 1.9k | 1y | +| [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. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | 25.3k | 17d | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | 1.6k | 4y | +| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | - | - | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | 6.5k | 23d | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | 1.5k | 2d | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | 19 | 7y | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | 7.2k | 6y | +| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | 706 | 4y | +| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | 65 | 8mo | +| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | 315 | 8mo | +| [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. | 1.1k | 2d | +| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | 300 | 8y | +| [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. | 781 | 2mo | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | 1.0k | 7mo | +| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | 4.0k | 10mo | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | 427 | 2y | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | 174 | 18d | +| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | +| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | +| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | +| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | +| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 12h | +| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | +| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 5h | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | 446 | 3y | +| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | - | - | +| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | 1.1k | 6m | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | 180 | 10mo | +| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | +| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | +| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | +| [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. | 27 | 1d | +| [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. | 112 | 2d | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 13h | +| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | 421 | 16d | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | 15 | 1mo | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | 241 | 2mo | +| [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. | 73 | 7y | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | +| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | +| [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. | 8.6k | 23d | +| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | +| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | +| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | +| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | 4.4k | 1y | +| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | 4.2k | 3y | +| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | +| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | 831 | 2d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | 37.0k | 2d | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | - | - | +| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | 763 | 19h | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | 48 | 2y | +| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | 1.3k | 6y | +| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | 48 | 23h | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | 1.8k | 1mo | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | 31 | 5d | +| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | 6.3k | 2d | +| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | 51.4k | 1d | +| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | 55 | 1mo | +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | 2.6k | 1mo | +| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | 21 | 11mo | +| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | 1.3k | 22d | +| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | 106 | 23h | +| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | 547 | 29d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | 3.3k | 4y | +| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | 6.5k | 14d | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | 6.6k | 10h | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | 4.6k | 5y | +| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | +| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | 11.7k | 6mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | +| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | 5.9k | 11mo | +| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | +| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | +| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | +| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | +| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | +| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | +| [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. | 868 | 6d | +| [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. | - | - | +| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | 9.0k | 1d | +| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | + diff --git a/.tmp/github-badges.txt b/.tmp/github-badges.txt new file mode 100644 index 00000000..680a1bcc --- /dev/null +++ b/.tmp/github-badges.txt @@ -0,0 +1,2114 @@ +REPO:TNG/ArchUnit +NAME:ArchUnit +STARS:3.6k +COMMIT:22h + +REPO:xmolecules/jmolecules +NAME:jMolecules +STARS:1.5k +COMMIT:1mo + +REPO:langchain4j/langchain4j +NAME:LangChain4j +STARS:10.3k +COMMIT:14h + +REPO:modelcontextprotocol/java-sdk +NAME:MCP Java SDK +STARS:3.0k +COMMIT:23d + +REPO:sashirestela/simple-openai +NAME:simple-openai +STARS:370 +COMMIT:3mo + +REPO:doov-io/doov +NAME:dOOv +STARS:- +COMMIT:- + +REPO:jmapper-framework/jmapper-core +NAME:JMapper +STARS:241 +COMMIT:2y + +REPO:mapstruct/mapstruct +NAME:MapStruct +STARS:7.6k +COMMIT:6d + +REPO:modelmapper/modelmapper +NAME:ModelMapper +STARS:2.3k +COMMIT:1mo + +REPO:orika-mapper/orika +NAME:Orika +STARS:1.3k +COMMIT:1y + +REPO:remondis-it/remap +NAME:reMap +STARS:126 +COMMIT:5mo + +REPO:xebia-france/selma +NAME:Selma +STARS:- +COMMIT:- + +REPO:facebook/buck2 +NAME:Buck2 +STARS:4.2k +COMMIT:22m + +REPO:Konloch/bytecode-viewer +NAME:bytecode-viewer +STARS:15.4k +COMMIT:1d + +REPO:cglib/cglib +NAME:cglib +STARS:4.9k +COMMIT:1y + +REPO:jboss-javassist/javassist +NAME:Javassist +STARS:4.2k +COMMIT:1y + +REPO:cojen/maker +NAME:Maker +STARS:65 +COMMIT:13d + +REPO:SpongePowered/Mixin +NAME:Mixin +STARS:1.7k +COMMIT:1y + +REPO:nicolasmanic/perses +NAME:Perses +STARS:- +COMMIT:- + +REPO:ben-manes/caffeine +NAME:Caffeine +STARS:17.4k +COMMIT:2d + +REPO:jbock-java/jbock +NAME:jbock +STARS:88 +COMMIT:2d + +REPO:jline/jline3 +NAME:JLine +STARS:1.7k +COMMIT:22d + +REPO:fusesource/jansi +NAME:Jansi +STARS:1.2k +COMMIT:8mo + +REPO:beryx/text-io +NAME:Text-IO +STARS:351 +COMMIT:5y + +REPO:mabe02/lanterna +NAME:Lanterna +STARS:2.5k +COMMIT:5mo + +REPO:aws/aws-sdk-java +NAME:AWS SDK for Java +STARS:4.2k +COMMIT:2d + +REPO:googleapis/google-cloud-java +NAME:Google Cloud Client Libraries +STARS:2.0k +COMMIT:16d + +REPO:checkstyle/checkstyle +NAME:Checkstyle +STARS:8.8k +COMMIT:1h + +REPO:google/error-prone +NAME:Error Prone +STARS:7.1k +COMMIT:8h + +REPO:PicnicSupermarket/error-prone-support +NAME:Error Prone Support +STARS:232 +COMMIT:1d + +REPO:facebook/infer +NAME:Infer +STARS:15.5k +COMMIT:1d + +REPO:uber/NullAway +NAME:NullAway +STARS:4.0k +COMMIT:10h + +REPO:pmd/pmd +NAME:PMD +STARS:5.3k +COMMIT:18h + +REPO:alibaba/p3c +NAME:p3c +STARS:30.8k +COMMIT:3y + +REPO:jimbethancourt/RefactorFirst +NAME:RefactorFirst +STARS:- +COMMIT:- + +REPO:SonarSource/sonar-java +NAME:SonarJava +STARS:1.2k +COMMIT:13h + +REPO:INRIA/spoon +NAME:Spoon +STARS:1.9k +COMMIT:1d + +REPO:spotbugs/spotbugs +NAME:Spotbugs +STARS:3.8k +COMMIT:3d + +REPO:sviperll/adt4j +NAME:ADT4J +STARS:147 +COMMIT:7y + +REPO:google/auto +NAME:Auto +STARS:10.5k +COMMIT:10h + +REPO:Marcel091004/EasyEntityToDTO +NAME:EasyEntityToDTO +STARS:6 +COMMIT:7mo + +REPO:inferred/FreeBuilder +NAME:FreeBuilder +STARS:833 +COMMIT:1y + +REPO:verhas/javageci +NAME:Geci +STARS:135 +COMMIT:3y + +REPO:square/javapoet +NAME:JavaPoet +STARS:10.9k +COMMIT:1y + +REPO:jhipster/generator-jhipster +NAME:JHipster +STARS:22.3k +COMMIT:3h + +REPO:bcaillard/jspecify-packageinfo-generator +NAME:JSpecify Package-Info Generator +STARS:1 +COMMIT:1mo + +REPO:Randgalt/record-builder +NAME:Record-Builder +STARS:900 +COMMIT:1mo + +REPO:bytedeco/javacv +NAME:JavaCV +STARS:8.3k +COMMIT:10d + +REPO:line/centraldogma +NAME:centraldogma +STARS:654 +COMMIT:4h + +REPO:lightbend/config +NAME:config +STARS:6.3k +COMMIT:3mo + +REPO:SpongePowered/Configurate +NAME:Configurate +STARS:449 +COMMIT:3mo + +REPO:shyiko/dotenv +NAME:dotenv +STARS:50 +COMMIT:7y + +REPO:joel-jeremy/externalized-properties +NAME:Externalized Properties +STARS:32 +COMMIT:3mo + +REPO:gestalt-config/gestalt +NAME:Gestalt +STARS:94 +COMMIT:1mo + +REPO:mariomac/kaconf +NAME:KAConf +STARS:61 +COMMIT:3y + +REPO:lviggiano/owner +NAME:owner +STARS:- +COMMIT:- + +REPO:radsz/jacop +NAME:JaCoP +STARS:231 +COMMIT:2y + +REPO:osiegmar/FastCSV +NAME:FastCSV +STARS:656 +COMMIT:19d + +REPO:FasterXML/jackson-dataformat-csv +NAME:jackson-dataformat-csv +STARS:194 +COMMIT:8y + +REPO:uniVocity/univocity-parsers +NAME:uniVocity-parsers +STARS:931 +COMMIT:4y + +REPO:bulldog2011/bigqueue +NAME:Big Queue +STARS:567 +COMMIT:9y + +REPO:LiveRamp/HyperMinHash-java +NAME:HyperMinHash-java +STARS:- +COMMIT:- + +REPO:hrldcpr/pcollections +NAME:Persistent Collection +STARS:784 +COMMIT:5mo + +REPO:protocolbuffers/protobuf +NAME:Protobuf +STARS:70.2k +COMMIT:2h + +REPO:RoaringBitmap/RoaringBitmap +NAME:RoaringBitmap +STARS:3.8k +COMMIT:23d + +REPO:real-logic/simple-binary-encoding +NAME:SBE +STARS:- +COMMIT:- + +REPO:square/tape +NAME:Tape +STARS:2.5k +COMMIT:7y + +REPO:square/wire +NAME:Wire +STARS:4.4k +COMMIT:2d + +REPO:arangodb/arangodb-java-driver +NAME:ArangoDB +STARS:205 +COMMIT:2d + +REPO:OpenHFT/Chronicle-Map +NAME:Chronicle Map +STARS:2.9k +COMMIT:16d + +REPO:eXist-db/exist +NAME:eXist +STARS:457 +COMMIT:1d + +REPO:vladmihalcea/flexy-pool +NAME:FlexyPool +STARS:1.2k +COMMIT:1mo + +REPO:brettwooldridge/HikariCP +NAME:HikariCP +STARS:20.9k +COMMIT:2mo + +REPO:xetorthio/jedis +NAME:Jedis +STARS:- +COMMIT:- + +REPO:searchbox-io/Jest +NAME:Jest +STARS:2.1k +COMMIT:4y + +REPO:justinsb/jetcd +NAME:jetcd +STARS:140 +COMMIT:11y + +REPO:my2iu/Jinq +NAME:Jinq +STARS:663 +COMMIT:7mo + +REPO:Meituan-Dianping/Leaf +NAME:Leaf +STARS:6.7k +COMMIT:5y + +REPO:vorburger/MariaDB4j +NAME:MariaDB4j +STARS:15 +COMMIT:5d + +REPO:arkanovicz/modality +NAME:Modality +STARS:15 +COMMIT:1mo + +REPO:OpenIdentityPlatform/OpenDJ +NAME:OpenDJ +STARS:422 +COMMIT:27d + +REPO:querystream/querystream +NAME:QueryStream +STARS:20 +COMMIT:8mo + +REPO:questdb/questdb +NAME:QuestDB +STARS:16.5k +COMMIT:9h + +REPO:realm/realm-java +NAME:Realm +STARS:11.5k +COMMIT:3mo + +REPO:redisson/redisson +NAME:Redisson +STARS:24.2k +COMMIT:2d + +REPO:requery/requery +NAME:requery +STARS:3.1k +COMMIT:5y + +REPO:speedment/speedment +NAME:Speedment +STARS:2.1k +COMMIT:2y + +REPO:mhewedy/spring-data-jpa-mongodb-expressions +NAME:Spring Data JPA MongoDB Expressions +STARS:101 +COMMIT:19d + +REPO:JetBrains/xodus +NAME:Xodus +STARS:1.3k +COMMIT:3mo + +REPO:Ahoo-Wang/CosId +NAME:CosId +STARS:599 +COMMIT:1d + +REPO:ical4j/ical4j +NAME:iCal4j +STARS:821 +COMMIT:9d + +REPO:svendiedrichsen/jollyday +NAME:Jollyday +STARS:192 +COMMIT:3y + +REPO:ThreeTen/threeten-extra +NAME:ThreeTen-Extra +STARS:420 +COMMIT:4mo + +REPO:MenoData/Time4J +NAME:Time4J +STARS:470 +COMMIT:1y + +REPO:zsoltherpai/feather +NAME:Feather +STARS:362 +COMMIT:8y + +REPO:Netflix/governator +NAME:Governator +STARS:826 +COMMIT:22d + +REPO:google/guice +NAME:Guice +STARS:12.7k +COMMIT:1mo + +REPO:vanillasource/jaywire +NAME:JayWire +STARS:60 +COMMIT:5y + +REPO:zalando/faux-pas +NAME:Faux Pas +STARS:140 +COMMIT:6mo + +REPO:HotswapProjects/HotswapAgent +NAME:HotswapAgent +STARS:2.5k +COMMIT:19d + +REPO:javaparser/javaparser +NAME:JavaParser +STARS:6.0k +COMMIT:6h + +REPO:javaparser/javasymbolsolver +NAME:JavaSymbolSolver +STARS:296 +COMMIT:7y + +REPO:manifold-systems/manifold +NAME:Manifold +STARS:2.7k +COMMIT:7d + +REPO:rainerhahnekamp/sneakythrow +NAME:SneakyThrow +STARS:79 +COMMIT:6y + +REPO:mtakaki/dropwizard-circuitbreaker +NAME:Dropwizard Circuit Breaker +STARS:45 +COMMIT:6y + +REPO:jhalterman/failsafe +NAME:Failsafe +STARS:- +COMMIT:- + +REPO:hazelcast/hazelcast +NAME:Hazelcast +STARS:6.5k +COMMIT:1h + +REPO:resilience4j/resilience4j +NAME:resilience4j +STARS:10.5k +COMMIT:6d + +REPO:OpenIdentityPlatform/OpenIG +NAME:OpenIG +STARS:86 +COMMIT:22d + +REPO:scalecube/scalecube-services +NAME:ScaleCube Services +STARS:636 +COMMIT:10h + +REPO:Netflix/zuul +NAME:Zuul +STARS:14.0k +COMMIT:2d + +REPO:bitronix/btm +NAME:Bitronix +STARS:- +COMMIT:- + +REPO:seata/seata +NAME:Seata +STARS:- +COMMIT:- + +REPO:artipie/artipie +NAME:Artipie +STARS:649 +COMMIT:10mo + +REPO:puniverse/capsule +NAME:Capsule +STARS:1.2k +COMMIT:9y + +REPO:threerings/getdown +NAME:Getdown +STARS:526 +COMMIT:1y + +REPO:fvarrui/JavaPackager +NAME:JavaPackager +STARS:- +COMMIT:- + +REPO:AdoptOpenJDK/jlink.online +NAME:jlink.online +STARS:50 +COMMIT:1y + +REPO:libgdx/packr +NAME:packr +STARS:2.6k +COMMIT:1y + +REPO:brianm/really-executable-jars-maven-plugin +NAME:really-executable-jars-maven-plugin +STARS:133 +COMMIT:2y + +REPO:dhatim/fastexcel +NAME:fastexcel +STARS:855 +COMMIT:22d + +REPO:creditdatamw/zerocell +NAME:zerocell +STARS:81 +COMMIT:1y + +REPO:cassandre-tech/cassandre-trading-bot +NAME:Cassandre +STARS:650 +COMMIT:1y + +REPO:paritytrading/parity +NAME:Parity +STARS:501 +COMMIT:3y + +REPO:paritytrading/philadelphia +NAME:Philadelphia +STARS:339 +COMMIT:12d + +REPO:square/connect-java-sdk +NAME:Square +STARS:40 +COMMIT:6y + +REPO:stripe/stripe-java +NAME:Stripe +STARS:942 +COMMIT:1d + +REPO:ta4j/ta4j +NAME:ta4j +STARS:2.3k +COMMIT:1d + +REPO:ksen007/janala2 +NAME:CATG +STARS:- +COMMIT:- + +REPO:javapathfinder/jpf-core +NAME:Java Path Finder (JPF) +STARS:593 +COMMIT:22d + +REPO:aol/cyclops +NAME:Cyclops +STARS:1.3k +COMMIT:3y + +REPO:derive4j/derive4j +NAME:derive4j +STARS:577 +COMMIT:4y + +REPO:jOOQ/jOOL +NAME:jOOλ +STARS:2.1k +COMMIT:1y + +REPO:jhspetersson/packrat +NAME:Packrat +STARS:24 +COMMIT:3d + +REPO:poetix/protonpack +NAME:protonpack +STARS:485 +COMMIT:1y + +REPO:amaembo/streamex +NAME:StreamEx +STARS:2.3k +COMMIT:4mo + +REPO:xzripper/Void2D +NAME:Void2D +STARS:- +COMMIT:- + +REPO:chuigda/vulkan4j +NAME:vulkan4j +STARS:- +COMMIT:- + +REPO:davidmoten/geo +NAME:Geo +STARS:431 +COMMIT:16d + +REPO:graphhopper/graphhopper +NAME:GraphHopper +STARS:6.2k +COMMIT:2d + +REPO:mapsforge/mapsforge +NAME:Mapsforge +STARS:1.3k +COMMIT:1d + +REPO:locationtech/spatial4j +NAME:Spatial4j +STARS:955 +COMMIT:7mo + +REPO:reportmill/SnapKit +NAME:SnapKit +STARS:310 +COMMIT:15h + +REPO:real-logic/Agrona +NAME:Agrona +STARS:- +COMMIT:- + +REPO:eclipse/eclipse-collections +NAME:Eclipse Collections +STARS:- +COMMIT:- + +REPO:JCTools/JCTools +NAME:JCTools +STARS:3.8k +COMMIT:1y + +REPO:leventov/Koloboke +NAME:Koloboke +STARS:1.0k +COMMIT:9y + +REPO:AsyncHttpClient/async-http-client +NAME:Async Http Client +STARS:6.4k +COMMIT:7d + +REPO:OpenFeign/feign +NAME:Feign +STARS:9.8k +COMMIT:1h + +REPO:googleapis/google-http-java-client +NAME:Google HTTP Client +STARS:1.4k +COMMIT:19d + +REPO:mizosoft/methanol +NAME:methanol +STARS:286 +COMMIT:17d + +REPO:Netflix/ribbon +NAME:Ribbon +STARS:4.6k +COMMIT:22d + +REPO:zalando/riptide +NAME:Riptide +STARS:327 +COMMIT:4mo + +REPO:Kong/unirest-java +NAME:unirest-java +STARS:2.7k +COMMIT:1mo + +REPO:blackdoor/hate +NAME:hate +STARS:25 +COMMIT:2y + +REPO:jsonld-java/jsonld-java +NAME:JSON-LD +STARS:386 +COMMIT:2y + +REPO:eserating-chwy/siren4j +NAME:Siren4J +STARS:28 +COMMIT:8y + +REPO:spring-projects/spring-hateoas +NAME:Spring HATEOAS +STARS:1.1k +COMMIT:27d + +REPO:vws-java/Barcode-Lib4J +NAME:Barcode-Lib4J +STARS:9 +COMMIT:15d + +REPO:rkalla/imgscalr +NAME:Imgscalr +STARS:1.2k +COMMIT:2y + +REPO:nguyenq/tess4j +NAME:Tess4J +STARS:1.7k +COMMIT:11d + +REPO:coobird/thumbnailator +NAME:Thumbnailator +STARS:5.4k +COMMIT:5d + +REPO:haraldk/TwelveMonkeys +NAME:TwelveMonkeys +STARS:2.1k +COMMIT:20h + +REPO:zxing/zxing +NAME:ZXing +STARS:33.8k +COMMIT:1mo + +REPO:romankh3/image-comparison +NAME:image-comparison +STARS:385 +COMMIT:7mo + +REPO:lopcode/vips-ffm +NAME:vips-ffm +STARS:98 +COMMIT:8d + +REPO:classgraph/classgraph +NAME:ClassGraph +STARS:3.0k +COMMIT:2mo + +REPO:jOOQ/jOOR +NAME:jOOR +STARS:2.8k +COMMIT:1y + +REPO:EsotericSoftware/reflectasm +NAME:ReflectASM +STARS:1.5k +COMMIT:7mo + +REPO:ronmamo/reflections +NAME:Reflections +STARS:4.8k +COMMIT:2y + +REPO:jobrunr/jobrunr +NAME:JobRunr +STARS:2.8k +COMMIT:2d + +REPO:quartz-scheduler/quartz +NAME:Quartz +STARS:6.7k +COMMIT:1mo + +REPO:knowm/Sundial +NAME:Sundial +STARS:276 +COMMIT:1y + +REPO:Coreoz/Wisp +NAME:Wisp +STARS:141 +COMMIT:7mo + +REPO:kagkarlsson/db-scheduler +NAME:db-scheduler +STARS:1.5k +COMMIT:1d + +REPO:j-easy/easy-batch +NAME:easy-batch +STARS:629 +COMMIT:4y + +REPO:lukas-krecan/ShedLock +NAME:shedlock +STARS:4.1k +COMMIT:9h + +REPO:ngs-doo/dsl-json +NAME:DSL-JSON +STARS:1.1k +COMMIT:1y + +REPO:google/gson +NAME:Gson +STARS:24.3k +COMMIT:6d + +REPO:brettwooldridge/HikariJSON +NAME:HikariJSON +STARS:465 +COMMIT:8y + +REPO:FasterXML/jackson-modules-java8 +NAME:jackson-modules-java8 +STARS:417 +COMMIT:8d + +REPO:zalando/jackson-datatype-money +NAME:Jackson-datatype-money +STARS:264 +COMMIT:6mo + +REPO:FasterXML/jackson +NAME:Jackson +STARS:9.6k +COMMIT:5d + +REPO:jdereg/json-io +NAME:JSON-io +STARS:343 +COMMIT:2d + +REPO:bluelinelabs/LoganSquare +NAME:LoganSquare +STARS:3.2k +COMMIT:9y + +REPO:square/moshi +NAME:Moshi +STARS:10.1k +COMMIT:3d + +REPO:eclipse-ee4j/yasson +NAME:Yasson +STARS:215 +COMMIT:5mo + +REPO:alibaba/fastjson +NAME:fastjson +STARS:25.7k +COMMIT:2y + +REPO:bazaarvoice/jolt +NAME:Jolt +STARS:1.7k +COMMIT:2y + +REPO:json-path/JsonPath +NAME:JsonPath +STARS:9.4k +COMMIT:2mo + +REPO:jsurfer/JsonSurfer +NAME:JsonSurfer +STARS:- +COMMIT:- + +REPO:alibaba/dragonwell8 +NAME:Dragonwell8 +STARS:- +COMMIT:- + +REPO:oracle/graal +NAME:Graal +STARS:21.4k +COMMIT:13h + +REPO:eclipse/openj9 +NAME:OpenJ9 +STARS:- +COMMIT:- + +REPO:codenameone/CodenameOne/tree/master/vm +NAME:ParparVM +STARS:- +COMMIT:- + +REPO:microsoft/openjdk +NAME:Microsoft JDK +STARS:339 +COMMIT:2mo + +REPO:tersesystems/echopraxia +NAME:Echopraxia +STARS:58 +COMMIT:1y + +REPO:zalando/logbook +NAME:Logbook +STARS:2.0k +COMMIT:8d + +REPO:p6spy/p6spy +NAME:p6spy +STARS:2.2k +COMMIT:3y + +REPO:zalando/opentracing-toolbox +NAME:OpenTracing Toolbox +STARS:180 +COMMIT:6mo + +REPO:Barqawiz/IntelliJava +NAME:Intelligent java +STARS:- +COMMIT:- + +REPO:EdwardRaff/JSAT +NAME:JSAT +STARS:800 +COMMIT:3y + +REPO:BayesWitnesses/m2cgen +NAME:m2cgen +STARS:2.9k +COMMIT:3y + +REPO:Gleethos/neureka +NAME:Neureka +STARS:86 +COMMIT:1y + +REPO:OryxProject/oryx +NAME:Oryx 2 +STARS:1.8k +COMMIT:4y + +REPO:siddhi-io/siddhi +NAME:Siddhi +STARS:1.6k +COMMIT:5mo + +REPO:haifengl/smile +NAME:Smile +STARS:6.3k +COMMIT:7h + +REPO:real-logic/Aeron +NAME:Aeron +STARS:- +COMMIT:- + +REPO:AutoMQ/automq-for-kafka +NAME:AutoMQ +STARS:- +COMMIT:- + +REPO:joel-jeremy/deezpatch +NAME:Deezpatch +STARS:64 +COMMIT:3mo + +REPO:greenrobot/EventBus +NAME:EventBus +STARS:24.8k +COMMIT:3y + +REPO:zeromq/jeromq +NAME:JeroMQ +STARS:2.4k +COMMIT:10mo + +REPO:zalando/nakadi +NAME:Nakadi +STARS:968 +COMMIT:1y + +REPO:rabbitmq/rabbitmq-java-client +NAME:RabbitMQ Java client +STARS:1.3k +COMMIT:16m + +REPO:igniterealtime/Smack +NAME:Smack +STARS:2.4k +COMMIT:1mo + +REPO:nats-io/nats.java +NAME:NATS client +STARS:640 +COMMIT:15h + +REPO:line/armeria +NAME:Armeria +STARS:5.1k +COMMIT:22h + +REPO:Ecwid/consul-api +NAME:consul-api +STARS:423 +COMMIT:3y + +REPO:Netflix/eureka +NAME:Eureka +STARS:12.7k +COMMIT:21d + +REPO:DV8FromTheWorld/JDA +NAME:JDA +STARS:- +COMMIT:- + +REPO:DaveJarvis/KeenType +NAME:KeenType +STARS:- +COMMIT:- + +REPO:fabric8io/kubernetes-client +NAME:kubernetes-client +STARS:3.6k +COMMIT:15d + +REPO:TheoKanning/openai-java +NAME:OpenAI-Java +STARS:4.8k +COMMIT:1y + +REPO:alibaba/Sentinel +NAME:Sentinel +STARS:23.0k +COMMIT:16d + +REPO:npgall/cqengine +NAME:CQEngine +STARS:1.8k +COMMIT:3y + +REPO:iluwatar/java-design-patterns +NAME:Design Patterns +STARS:93.6k +COMMIT:7mo + +REPO:ff4j/ff4j +NAME:FF4J +STARS:1.4k +COMMIT:18d + +REPO:EnterpriseQualityCoding/FizzBuzzEnterpriseEdition +NAME:FizzBuzz Enterprise Edition +STARS:23.1k +COMMIT:6y + +REPO:ip2location/ip2location-io-java +NAME:IP2Location.io Java SDK +STARS:7 +COMMIT:8d + +REPO:ladutsko/isbn-core +NAME:ISBN core +STARS:3 +COMMIT:11d + +REPO:google/j2objc +NAME:J2ObjC +STARS:6.0k +COMMIT:14h + +REPO:rampatra/jbot +NAME:JBot +STARS:1.2k +COMMIT:3mo + +REPO:felldo/JEmoji +NAME:JEmoji +STARS:102 +COMMIT:22d + +REPO:google/jimfs +NAME:Jimfs +STARS:2.5k +COMMIT:6d + +REPO:jooq/joox +NAME:jOOX +STARS:505 +COMMIT:1y + +REPO:cincheo/jsweet +NAME:jsweet +STARS:1.5k +COMMIT:2y + +REPO:takari/maven-wrapper +NAME:Maven Wrapper +STARS:1.6k +COMMIT:4y + +REPO:membrane/service-proxy +NAME:Membrane Service Proxy +STARS:- +COMMIT:- + +REPO:Guichaguri/MinimalFTP +NAME:MinimalFTP +STARS:186 +COMMIT:6mo + +REPO:adamfisk/LittleProxy +NAME:LittleProxy +STARS:2.1k +COMMIT:8y + +REPO:winterbe/java8-tutorial +NAME:Modern Java - A Guide to Java 8 +STARS:16.8k +COMMIT:2y + +REPO:gaul/modernizer-maven-plugin +NAME:Modernizer +STARS:383 +COMMIT:6d + +REPO:OctoLinker/OctoLinker +NAME:OctoLinker +STARS:5.3k +COMMIT:2y + +REPO:sizovs/pipelinr +NAME:PipelinR +STARS:476 +COMMIT:4mo + +REPO:takari/polyglot-maven +NAME:Polyglot for Maven +STARS:915 +COMMIT:6mo + +REPO:Kartikvk1996/RR4J +NAME:RR4J +STARS:25 +COMMIT:3y + +REPO:bbottema/simple-java-mail +NAME:Simple Java Mail +STARS:1.3k +COMMIT:8mo + +REPO:smooks/smooks +NAME:Smooks +STARS:414 +COMMIT:10mo + +REPO:svix/svix-webhooks/tree/main/java +NAME:Svix +STARS:- +COMMIT:- + +REPO:jhalterman/typetools +NAME:TypeTools +STARS:628 +COMMIT:2y + +REPO:sarxos/webcam-capture +NAME:webcam-capture +STARS:2.3k +COMMIT:2mo + +REPO:SvenEwald/xmlbeam +NAME:XMLBeam +STARS:76 +COMMIT:5mo + +REPO:yWorks/yGuard +NAME:yGuard +STARS:450 +COMMIT:6mo + +REPO:maxandersen/jbang/ +NAME:JBang +STARS:- +COMMIT:- + +REPO:apitally/apitally-java +NAME:Apitally +STARS:5 +COMMIT:3d + +REPO:stevensouza/automon +NAME:Automon +STARS:573 +COMMIT:1y + +REPO:dropwizard/metrics +NAME:Dropwizard Metrics +STARS:7.9k +COMMIT:16d + +REPO:zalando/failsafe-actuator +NAME:Failsafe Actuator +STARS:54 +COMMIT:4y + +REPO:dromara/hertzbeat +NAME:HertzBeat +STARS:- +COMMIT:- + +REPO:opengoofy/hippo4j/blob/develop/README-EN.md +NAME:hippo4j +STARS:- +COMMIT:- + +REPO:jaegertracing/jaeger-client-java +NAME:Jaeger client +STARS:490 +COMMIT:3y + +REPO:javamelody/javamelody +NAME:JavaMelody +STARS:3.0k +COMMIT:9d + +REPO:jmxtrans/jmxtrans +NAME:jmxtrans +STARS:1.7k +COMMIT:4y + +REPO:micrometer-metrics/micrometer +NAME:Micrometer +STARS:4.8k +COMMIT:6h + +REPO:micrometer-metrics/tracing +NAME:Micrometer Tracing +STARS:287 +COMMIT:5h + +REPO:lorenzoongithub/nudge4j +NAME:nudge4j +STARS:164 +COMMIT:5y + +REPO:open-telemetry/opentelemetry-java +NAME:OpenTelemetry +STARS:2.3k +COMMIT:13h + +REPO:naver/pinpoint +NAME:Pinpoint +STARS:- +COMMIT:- + +REPO:prometheus/client_java +NAME:Prometheus +STARS:2.3k +COMMIT:6h + +REPO:stagemonitor/stagemonitor +NAME:Stagemonitor +STARS:1.7k +COMMIT:2y + +REPO:palantir/Sysmon +NAME:Sysmon +STARS:156 +COMMIT:9y + +REPO:Syncleus/aparapi +NAME:Aparapi +STARS:482 +COMMIT:4y + +REPO:bytedeco/javacpp +NAME:JavaCPP +STARS:4.7k +COMMIT:29d + +REPO:java-native-access/jna +NAME:JNA +STARS:8.9k +COMMIT:29d + +REPO:jnr/jnr-ffi +NAME:JNR +STARS:1.3k +COMMIT:2mo + +REPO:scijava/native-lib-loader +NAME:native-lib-loader +STARS:215 +COMMIT:1y + +REPO:CogComp/cogcomp-nlp +NAME:CogCompNLP +STARS:480 +COMMIT:3y + +REPO:ejossev/hypherator-java +NAME:Hypherator +STARS:3 +COMMIT:6mo + +REPO:CiscoSE/commons-networking +NAME:Commons-networking +STARS:20 +COMMIT:3y + +REPO:puniverse/comsat +NAME:Comsat +STARS:595 +COMMIT:9y + +REPO:apache/dubbo +NAME:Dubbo +STARS:41.7k +COMMIT:1d + +REPO:grpc/grpc-java +NAME:gRPC +STARS:11.9k +COMMIT:15h + +REPO:EsotericSoftware/kryonet +NAME:KryoNet +STARS:1.8k +COMMIT:5y + +REPO:airlift/drift +NAME:Drift +STARS:248 +COMMIT:3mo + +REPO:apple/servicetalk +NAME:ServiceTalk +STARS:1.0k +COMMIT:8h + +REPO:hierynomus/sshj +NAME:sshj +STARS:2.6k +COMMIT:7mo + +REPO:marianobarrios/tls-channel +NAME:TLS Channel +STARS:207 +COMMIT:1d + +REPO:slub/urnlib +NAME:urnlib +STARS:34 +COMMIT:9d + +REPO:komamitsu/fluency +NAME:Fluency +STARS:163 +COMMIT:3d + +REPO:domaframework/doma +NAME:Doma +STARS:494 +COMMIT:1d + +REPO:mybatis/mybatis-3 +NAME:MyBatis +STARS:20.3k +COMMIT:6d + +REPO:baomidou/mybatis-plus +NAME:MyBatis-Plus +STARS:17.3k +COMMIT:8d + +REPO:braisdom/ObjectiveSql +NAME:ObjectiveSql +STARS:1.3k +COMMIT:1y + +REPO:permazen/permazen +NAME:Permazen +STARS:422 +COMMIT:3mo + +REPO:arnaudroger/SimpleFlatMapper +NAME:SimpleFlatMapper +STARS:454 +COMMIT:1y + +REPO:bsommerfeld/pathetic +NAME:Pathetic +STARS:236 +COMMIT:15m + +REPO:dynamicreports/dynamicreports +NAME:DynamicReports +STARS:240 +COMMIT:4mo + +REPO:flyingsaucerproject/flyingsaucer +NAME:flyingsaucer +STARS:2.2k +COMMIT:5h + +REPO:danfickle/openhtmltopdf +NAME:Open HTML to PDF +STARS:2.1k +COMMIT:3y + +REPO:LibrePDF/OpenPDF +NAME:OpenPDF +STARS:4.1k +COMMIT:4mo + +REPO:tabulapdf/tabula-java +NAME:Tabula +STARS:2.0k +COMMIT:9mo + +REPO:jvm-profiling-tools/honest-profiler +NAME:honest-profiler +STARS:1.3k +COMMIT:3y + +REPO:giltene/jHiccup +NAME:jHiccup +STARS:697 +COMMIT:4y + +REPO:AdoptOpenJDK/jitwatch +NAME:JITWatch +STARS:3.3k +COMMIT:10d + +REPO:LatencyUtils/LatencyUtils +NAME:LatencyUtils +STARS:465 +COMMIT:1y + +REPO:networknt/light-4j/ +NAME:Light-4J +STARS:- +COMMIT:- + +REPO:OrienteerBAP/Orienteer/ +NAME:Orienteer +STARS:- +COMMIT:- + +REPO:vorburger/ch.vorburger.exec +NAME:ch.vorburger.exec +STARS:38 +COMMIT:2d + +REPO:zeroturnaround/zt-exec +NAME:zt-exec +STARS:910 +COMMIT:1y + +REPO:zeroturnaround/zt-process-killer +NAME:zt-process-killer +STARS:136 +COMMIT:2y + +REPO:reactive-streams/reactive-streams-jvm +NAME:Reactive Streams +STARS:4.9k +COMMIT:2y + +REPO:reactor/reactor +NAME:Reactor +STARS:3.7k +COMMIT:29d + +REPO:ReactiveX/RxJava +NAME:RxJava +STARS:48.5k +COMMIT:21d + +REPO:dropwizard/dropwizard +NAME:Dropwizard +STARS:8.6k +COMMIT:1d + +REPO:aol/micro-server +NAME:Microserver +STARS:934 +COMMIT:5y + +REPO:linkedin/rest.li +NAME:rest.li +STARS:2.5k +COMMIT:2mo + +REPO:RestExpress/RestExpress +NAME:RestExpress +STARS:940 +COMMIT:1y + +REPO:restlet/restlet-framework-java +NAME:Restlet Framework +STARS:661 +COMMIT:1mo + +REPO:springdoc/springdoc-openapi +NAME:springdoc-openapi +STARS:3.7k +COMMIT:6d + +REPO:GSI-CS-CO/chart-fx +NAME:Chart-FX +STARS:- +COMMIT:- + +REPO:Erdos-Graph-Framework/Erdos +NAME:Erdos +STARS:127 +COMMIT:2y + +REPO:jgrapht/jgrapht +NAME:JGraphT +STARS:2.7k +COMMIT:10h + +REPO:jgraph/jgraphx +NAME:JGraphX +STARS:687 +COMMIT:5y + +REPO:logic-ng/LogicNG +NAME:LogicNG +STARS:149 +COMMIT:1y + +REPO:MinesJTK/jtk +NAME:Mines Java Toolkit +STARS:82 +COMMIT:5y + +REPO:zavtech/morpheus-core +NAME:Morpheus +STARS:244 +COMMIT:7y + +REPO:jfree/orson-charts +NAME:Orson-Charts +STARS:120 +COMMIT:6mo + +REPO:jtablesaw/tablesaw +NAME:Tablesaw +STARS:3.7k +COMMIT:6mo + +REPO:knowm/XChart +NAME:XChart +STARS:1.6k +COMMIT:3mo + +REPO:haeungun/indexer4j +NAME:Indexer4j +STARS:56 +COMMIT:6y + +REPO:Hakky54/ayza +NAME:Ayza +STARS:564 +COMMIT:5d + +REPO:jeremylong/DependencyCheck +NAME:DependencyCheck +STARS:40 +COMMIT:10mo + +REPO:hdiv/hdiv +NAME:Hdiv +STARS:219 +COMMIT:4y + +REPO:jwtk/jjwt +NAME:jjwt +STARS:11.0k +COMMIT:2mo + +REPO:BastiaanJansen/jwt-java +NAME:jwt-java +STARS:14 +COMMIT:5mo + +REPO:auth0/jwks-rsa-java +NAME:Jwks RSA +STARS:204 +COMMIT:3mo + +REPO:abstractj/kalium +NAME:Kalium +STARS:218 +COMMIT:7y + +REPO:square/keywhiz +NAME:Keywhiz +STARS:2.6k +COMMIT:2y + +REPO:GoSimpleLLC/nbvcxz +NAME:Nbvcxz +STARS:308 +COMMIT:4mo + +REPO:OpenIdentityPlatform/OpenAM +NAME:OpenAM +STARS:860 +COMMIT:22d + +REPO:BastiaanJansen/OTP-Java +NAME:OTP-Java +STARS:232 +COMMIT:1y + +REPO:pac4j/pac4j +NAME:pac4j +STARS:2.5k +COMMIT:1h + +REPO:Password4j/password4j +NAME:Password4j +STARS:397 +COMMIT:4mo + +REPO:tersesystems/securitybuilder +NAME:SecurityBuilder +STARS:47 +COMMIT:4y + +REPO:cossacklabs/themis +NAME:Themis +STARS:1.9k +COMMIT:1y + +REPO:google/tink +NAME:Tink +STARS:- +COMMIT:- + +REPO:google/flatbuffers +NAME:FlatBuffers +STARS:25.3k +COMMIT:17d + +REPO:RuedigerMoeller/fast-serialization +NAME:FST +STARS:1.6k +COMMIT:4y + +REPO:alipay/fury +NAME:Fury +STARS:- +COMMIT:- + +REPO:EsotericSoftware/kryo +NAME:Kryo +STARS:6.5k +COMMIT:23d + +REPO:msgpack/msgpack-java +NAME:MessagePack +STARS:1.5k +COMMIT:2d + +REPO:marcospassos/java-php-serializer +NAME:PHP Serializer +STARS:19 +COMMIT:7y + +REPO:NanoHttpd/nanohttpd +NAME:nanohttpd +STARS:7.2k +COMMIT:6y + +REPO:neuland/jade4j +NAME:Jade4J +STARS:706 +COMMIT:4y + +REPO:verhas/jamal +NAME:Jamal +STARS:65 +COMMIT:8mo + +REPO:jstachio/jstachio +NAME:jstachio +STARS:315 +COMMIT:8mo + +REPO:casid/jte +NAME:jte +STARS:1.1k +COMMIT:2d + +REPO:jtwig/jtwig +NAME:Jtwig +STARS:300 +COMMIT:8y + +REPO:fizzed/rocker +NAME:Rocker +STARS:781 +COMMIT:2mo + +REPO:antlr/stringtemplate4 +NAME:StringTemplate +STARS:1.0k +COMMIT:7mo + +REPO:awaitility/awaitility +NAME:Awaitility +STARS:4.0k +COMMIT:10mo + +REPO:jhalterman/concurrentunit +NAME:ConcurrentUnit +STARS:427 +COMMIT:2y + +REPO:SpectoLabs/hoverfly-java +NAME:Hoverfly Java +STARS:174 +COMMIT:18d + +REPO:intuit/karate +NAME:Karate +STARS:- +COMMIT:- + +REPO:rest-assured/rest-assured +NAME:REST Assured +STARS:7.1k +COMMIT:26d + +REPO:testingisdocumenting/webtau +NAME:WebTau +STARS:379 +COMMIT:3mo + +REPO:cucumber/cucumber-jvm +NAME:Cucumber +STARS:2.8k +COMMIT:1d + +REPO:ctco/cukes +NAME:Cukes-REST +STARS:110 +COMMIT:3y + +REPO:j8spec/j8spec +NAME:J8Spec +STARS:48 +COMMIT:3y + +REPO:RichardWarburton/lambda-behave +NAME:Lamdba Behave +STARS:253 +COMMIT:5y + +REPO:serenity-bdd/serenity-core +NAME:Serenity BDD +STARS:744 +COMMIT:11h + +REPO:AutoParams/AutoParams +NAME:AutoParams +STARS:368 +COMMIT:5mo + +REPO:keepcosmos/beanmother +NAME:Beanmother +STARS:121 +COMMIT:3y + +REPO:datafaker-net/datafaker +NAME:Datafaker +STARS:1.7k +COMMIT:4h + +REPO:six2six/fixture-factory +NAME:Fixture Factory +STARS:446 +COMMIT:3y + +REPO:Devskiller/jfairy +NAME:jFairy +STARS:- +COMMIT:- + +REPO:instancio/instancio +NAME:Instancio +STARS:1.1k +COMMIT:22h + +REPO:randomizedtesting/randomizedtesting +NAME:Randomized Testing +STARS:180 +COMMIT:10mo + +REPO:DiUS/java-faker +NAME:Java Faker +STARS:4.9k +COMMIT:3y + +REPO:nomemory/mockneat +NAME:Mockneat +STARS:536 +COMMIT:3y + +REPO:xcancloud/JMock +NAME:JMock +STARS:422 +COMMIT:2mo + +REPO:guhilling/cdi-test +NAME:cdi-test +STARS:27 +COMMIT:1d + +REPO:DiUS/pact-jvm +NAME:Pact JVM +STARS:- +COMMIT:- + +REPO:weld/weld-testing +NAME:weld-testing +STARS:112 +COMMIT:2d + +REPO:lukas-krecan/JsonUnit +NAME:JsonUnit +STARS:975 +COMMIT:12h + +REPO:xmlunit/xmlunit +NAME:XMLUnit +STARS:314 +COMMIT:2mo + +REPO:Hakky54/console-captor +NAME:ConsoleCaptor +STARS:33 +COMMIT:16d + +REPO:TNG/junit-dataprovider +NAME:junit-dataprovider +STARS:249 +COMMIT:25d + +REPO:Hakky54/log-captor +NAME:LogCaptor +STARS:421 +COMMIT:16d + +REPO:dm-drogeriemarkt/log-capture +NAME:log-capture +STARS:15 +COMMIT:1mo + +REPO:MutabilityDetector/MutabilityDetector +NAME:Mutability Detector +STARS:241 +COMMIT:2mo + +REPO:nidi3/raml-tester +NAME:raml-tester +STARS:73 +COMMIT:7y + +REPO:diffplug/selfie +NAME:Selfie +STARS:87 +COMMIT:1mo + +REPO:stebz/stebz +NAME:Stebz +STARS:17 +COMMIT:1d + +REPO:testcontainers/testcontainers-java +NAME:Testcontainers +STARS:8.6k +COMMIT:23d + +REPO:mockito/mockito +NAME:Mockito +STARS:15.4k +COMMIT:2d + +REPO:dreamhead/moco +NAME:Moco +STARS:4.4k +COMMIT:1y + +REPO:powermock/powermock +NAME:PowerMock +STARS:4.2k +COMMIT:3y + +REPO:easymock/easymock +NAME:EasyMock +STARS:831 +COMMIT:2d + +REPO:alibaba/arthas +NAME:Arthas +STARS:37.0k +COMMIT:2d + +REPO:vladimir-bukhtoyarov/bucket4j +NAME:bucket4j +STARS:- +COMMIT:- + +REPO:yegor256/cactoos +NAME:cactoos +STARS:763 +COMMIT:19h + +REPO:cleopatra27/chocotea +NAME:Chocotea +STARS:48 +COMMIT:2y + +REPO:PatMartin/Dex +NAME:Dex +STARS:1.3k +COMMIT:6y + +REPO:marianobarrios/dregex +NAME:dregex +STARS:48 +COMMIT:22h + +REPO:embulk/embulk +NAME:Embulk +STARS:1.8k +COMMIT:1mo + +REPO:vorburger/ch.vorburger.fswatch +NAME:fswatch +STARS:31 +COMMIT:5d + +REPO:gephi/gephi +NAME:Gephi +STARS:6.3k +COMMIT:2d + +REPO:google/guava +NAME:Guava +STARS:51.4k +COMMIT:1d + +REPO:MathieuSoysal/Javadoc-publisher.yml +NAME:Javadoc Publisher +STARS:55 +COMMIT:1mo + +REPO:VerbalExpressions/JavaVerbalExpressions +NAME:JavaVerbalExpressions +STARS:2.6k +COMMIT:1mo + +REPO:evpl/jkscope +NAME:JKScope +STARS:21 +COMMIT:11mo + +REPO:minio/minio-java +NAME:minio-java +STARS:1.3k +COMMIT:22d + +REPO:semver4j/semver4j +NAME:Semver4j +STARS:106 +COMMIT:22h + +REPO:javadev/underscore-java +NAME:Underscore-java +STARS:547 +COMMIT:29d + +REPO:shyiko/jabba +NAME:jabba +STARS:3.3k +COMMIT:4y + +REPO:jenv/jenv +NAME:jenv +STARS:6.5k +COMMIT:14d + +REPO:sdkman/sdkman-cli +NAME:SDKMan +STARS:6.6k +COMMIT:9h + +REPO:yasserg/crawler4j +NAME:Crawler4j +STARS:4.6k +COMMIT:5y + +REPO:code4craft/webmagic +NAME:webmagic +STARS:11.7k +COMMIT:6mo + +REPO:lets-blade/blade +NAME:Blade +STARS:5.9k +COMMIT:11mo + +REPO:yegor256/takes +NAME:Takes +STARS:868 +COMMIT:6d + +REPO:flowable/flowable-engine +NAME:flowable +STARS:9.0k +COMMIT:1d \ No newline at end of file diff --git a/.tmp/github-stats.txt b/.tmp/github-stats.txt new file mode 100644 index 00000000..05337164 --- /dev/null +++ b/.tmp/github-stats.txt @@ -0,0 +1,3704 @@ +REPO:TNG/ArchUnit +NAME:ArchUnit +STARS:3.6k +COMMIT:23h + +REPO:xmolecules/jmolecules +NAME:jMolecules +STARS:1.5k +COMMIT:1mo + +REPO:langchain4j/langchain4j +NAME:LangChain4j +STARS:10.3k +COMMIT:14h + +REPO:modelcontextprotocol/java-sdk +NAME:MCP Java SDK +STARS:3.0k +COMMIT:23d + +REPO:sashirestela/simple-openai +NAME:simple-openai +STARS:370 +COMMIT:3mo + +REPO: +NAME:Spring AI +STARS:- +COMMIT:- + +REPO:doov-io/doov +NAME:dOOv +STARS:- +COMMIT:- + +REPO:jmapper-framework/jmapper-core +NAME:JMapper +STARS:241 +COMMIT:2y + +REPO:mapstruct/mapstruct +NAME:MapStruct +STARS:7.6k +COMMIT:6d + +REPO:modelmapper/modelmapper +NAME:ModelMapper +STARS:2.3k +COMMIT:1mo + +REPO:orika-mapper/orika +NAME:Orika +STARS:1.3k +COMMIT:1y + +REPO:remondis-it/remap +NAME:reMap +STARS:126 +COMMIT:5mo + +REPO:xebia-france/selma +NAME:Selma +STARS:- +COMMIT:- + +REPO: +NAME:Apache Maven +STARS:- +COMMIT:- + +REPO: +NAME:Bazel +STARS:- +COMMIT:- + +REPO:facebook/buck2 +NAME:Buck2 +STARS:4.2k +COMMIT:54m + +REPO: +NAME:Gradle +STARS:- +COMMIT:- + +REPO: +NAME:ASM +STARS:- +COMMIT:- + +REPO: +NAME:Byte Buddy +STARS:- +COMMIT:- + +REPO:Konloch/bytecode-viewer +NAME:bytecode-viewer +STARS:15.4k +COMMIT:1d + +REPO: +NAME:Byteman +STARS:- +COMMIT:- + +REPO:cglib/cglib +NAME:cglib +STARS:4.9k +COMMIT:1y + +REPO:jboss-javassist/javassist +NAME:Javassist +STARS:4.2k +COMMIT:1y + +REPO:cojen/maker +NAME:Maker +STARS:65 +COMMIT:13d + +REPO:SpongePowered/Mixin +NAME:Mixin +STARS:1.7k +COMMIT:1y + +REPO:nicolasmanic/perses +NAME:Perses +STARS:- +COMMIT:- + +REPO: +NAME:Recaf +STARS:- +COMMIT:- + +REPO: +NAME:cache2k +STARS:- +COMMIT:- + +REPO:ben-manes/caffeine +NAME:Caffeine +STARS:17.4k +COMMIT:2d + +REPO: +NAME:Ehcache +STARS:- +COMMIT:- + +REPO: +NAME:Infinispan +STARS:- +COMMIT:- + +REPO: +NAME:Airline +STARS:- +COMMIT:- + +REPO: +NAME:JCommander +STARS:- +COMMIT:- + +REPO:jbock-java/jbock +NAME:jbock +STARS:88 +COMMIT:2d + +REPO:jline/jline3 +NAME:JLine +STARS:1.7k +COMMIT:22d + +REPO: +NAME:picocli +STARS:- +COMMIT:- + +REPO:fusesource/jansi +NAME:Jansi +STARS:1.2k +COMMIT:8mo + +REPO: +NAME:Jexer +STARS:- +COMMIT:- + +REPO:beryx/text-io +NAME:Text-IO +STARS:351 +COMMIT:5y + +REPO:mabe02/lanterna +NAME:Lanterna +STARS:2.5k +COMMIT:5mo + +REPO:aws/aws-sdk-java +NAME:AWS SDK for Java +STARS:4.2k +COMMIT:2d + +REPO:googleapis/google-cloud-java +NAME:Google Cloud Client Libraries +STARS:2.0k +COMMIT:16d + +REPO:checkstyle/checkstyle +NAME:Checkstyle +STARS:8.8k +COMMIT:2h + +REPO:google/error-prone +NAME:Error Prone +STARS:7.1k +COMMIT:8h + +REPO:PicnicSupermarket/error-prone-support +NAME:Error Prone Support +STARS:232 +COMMIT:1d + +REPO:facebook/infer +NAME:Infer +STARS:15.5k +COMMIT:1d + +REPO: +NAME:jQAssistant +STARS:- +COMMIT:- + +REPO:uber/NullAway +NAME:NullAway +STARS:4.0k +COMMIT:10h + +REPO:pmd/pmd +NAME:PMD +STARS:5.3k +COMMIT:18h + +REPO:alibaba/p3c +NAME:p3c +STARS:30.8k +COMMIT:3y + +REPO:jimbethancourt/RefactorFirst +NAME:RefactorFirst +STARS:- +COMMIT:- + +REPO:SonarSource/sonar-java +NAME:SonarJava +STARS:1.2k +COMMIT:14h + +REPO:INRIA/spoon +NAME:Spoon +STARS:1.9k +COMMIT:1d + +REPO:spotbugs/spotbugs +NAME:Spotbugs +STARS:3.8k +COMMIT:3d + +REPO: +NAME:Clover +STARS:- +COMMIT:- + +REPO: +NAME:Cobertura +STARS:- +COMMIT:- + +REPO: +NAME:JaCoCo +STARS:- +COMMIT:- + +REPO:sviperll/adt4j +NAME:ADT4J +STARS:147 +COMMIT:7y + +REPO:google/auto +NAME:Auto +STARS:10.5k +COMMIT:11h + +REPO: +NAME:Avaje Http Server +STARS:- +COMMIT:- + +REPO:Marcel091004/EasyEntityToDTO +NAME:EasyEntityToDTO +STARS:6 +COMMIT:7mo + +REPO:inferred/FreeBuilder +NAME:FreeBuilder +STARS:833 +COMMIT:1y + +REPO:verhas/javageci +NAME:Geci +STARS:135 +COMMIT:3y + +REPO: +NAME:Immutables +STARS:- +COMMIT:- + +REPO:square/javapoet +NAME:JavaPoet +STARS:10.9k +COMMIT:1y + +REPO:jhipster/generator-jhipster +NAME:JHipster +STARS:22.3k +COMMIT:3h + +REPO: +NAME:Joda-Beans +STARS:- +COMMIT:- + +REPO:bcaillard/jspecify-packageinfo-generator +NAME:JSpecify Package-Info Generator +STARS:1 +COMMIT:1mo + +REPO: +NAME:Lombok +STARS:- +COMMIT:- + +REPO:Randgalt/record-builder +NAME:Record-Builder +STARS:900 +COMMIT:1mo + +REPO: +NAME:Telosys +STARS:- +COMMIT:- + +REPO: +NAME:ANTLR +STARS:- +COMMIT:- + +REPO: +NAME:JavaCC +STARS:- +COMMIT:- + +REPO: +NAME:JFlex +STARS:- +COMMIT:- + +REPO: +NAME:BoofCV +STARS:- +COMMIT:- + +REPO: +NAME:ImageJ +STARS:- +COMMIT:- + +REPO:bytedeco/javacv +NAME:JavaCV +STARS:8.3k +COMMIT:10d + +REPO: +NAME:avaje config +STARS:- +COMMIT:- + +REPO:line/centraldogma +NAME:centraldogma +STARS:654 +COMMIT:5h + +REPO:lightbend/config +NAME:config +STARS:6.3k +COMMIT:3mo + +REPO:SpongePowered/Configurate +NAME:Configurate +STARS:449 +COMMIT:3mo + +REPO: +NAME:Curator Framework +STARS:- +COMMIT:- + +REPO:shyiko/dotenv +NAME:dotenv +STARS:50 +COMMIT:7y + +REPO:joel-jeremy/externalized-properties +NAME:Externalized Properties +STARS:32 +COMMIT:3mo + +REPO:gestalt-config/gestalt +NAME:Gestalt +STARS:94 +COMMIT:1mo + +REPO: +NAME:ini4j +STARS:- +COMMIT:- + +REPO:mariomac/kaconf +NAME:KAConf +STARS:61 +COMMIT:3y + +REPO: +NAME:microconfig +STARS:- +COMMIT:- + +REPO:lviggiano/owner +NAME:owner +STARS:- +COMMIT:- + +REPO: +NAME:Choco +STARS:- +COMMIT:- + +REPO:radsz/jacop +NAME:JaCoP +STARS:231 +COMMIT:2y + +REPO: +NAME:OptaPlanner +STARS:- +COMMIT:- + +REPO: +NAME:Timefold +STARS:- +COMMIT:- + +REPO:osiegmar/FastCSV +NAME:FastCSV +STARS:656 +COMMIT:19d + +REPO:FasterXML/jackson-dataformat-csv +NAME:jackson-dataformat-csv +STARS:194 +COMMIT:8y + +REPO: +NAME:opencsv +STARS:- +COMMIT:- + +REPO: +NAME:Super CSV +STARS:- +COMMIT:- + +REPO:uniVocity/univocity-parsers +NAME:uniVocity-parsers +STARS:931 +COMMIT:4y + +REPO: +NAME:Apache Avro +STARS:- +COMMIT:- + +REPO: +NAME:Apache Orc +STARS:- +COMMIT:- + +REPO: +NAME:Apache Parquet +STARS:- +COMMIT:- + +REPO: +NAME:Apache Thrift +STARS:- +COMMIT:- + +REPO:bulldog2011/bigqueue +NAME:Big Queue +STARS:567 +COMMIT:9y + +REPO:LiveRamp/HyperMinHash-java +NAME:HyperMinHash-java +STARS:N/A +COMMIT:N/A + +REPO:hrldcpr/pcollections +NAME:Persistent Collection +STARS:784 +COMMIT:5mo + +REPO:protocolbuffers/protobuf +NAME:Protobuf +STARS:70.2k +COMMIT:2h + +REPO:RoaringBitmap/RoaringBitmap +NAME:RoaringBitmap +STARS:3.8k +COMMIT:23d + +REPO:real-logic/simple-binary-encoding +NAME:SBE +STARS:- +COMMIT:- + +REPO:square/tape +NAME:Tape +STARS:2.5k +COMMIT:7y + +REPO:square/wire +NAME:Wire +STARS:4.4k +COMMIT:2d + +REPO: +NAME:Apache Calcite +STARS:- +COMMIT:- + +REPO: +NAME:Apache Drill +STARS:- +COMMIT:- + +REPO: +NAME:Apache Phoenix +STARS:- +COMMIT:- + +REPO:arangodb/arangodb-java-driver +NAME:ArangoDB +STARS:205 +COMMIT:2d + +REPO:OpenHFT/Chronicle-Map +NAME:Chronicle Map +STARS:2.9k +COMMIT:16d + +REPO: +NAME:Debezium +STARS:- +COMMIT:- + +REPO: +NAME:druid +STARS:- +COMMIT:- + +REPO:eXist-db/exist +NAME:eXist +STARS:457 +COMMIT:1d + +REPO:vladmihalcea/flexy-pool +NAME:FlexyPool +STARS:1.2k +COMMIT:1mo + +REPO: +NAME:Flyway +STARS:- +COMMIT:- + +REPO: +NAME:H2 +STARS:- +COMMIT:- + +REPO:brettwooldridge/HikariCP +NAME:HikariCP +STARS:20.9k +COMMIT:2mo + +REPO: +NAME:HSQLDB +STARS:- +COMMIT:- + +REPO: +NAME:JDBI +STARS:- +COMMIT:- + +REPO:xetorthio/jedis +NAME:Jedis +STARS:- +COMMIT:- + +REPO:searchbox-io/Jest +NAME:Jest +STARS:2.1k +COMMIT:4y + +REPO:justinsb/jetcd +NAME:jetcd +STARS:140 +COMMIT:11y + +REPO:my2iu/Jinq +NAME:Jinq +STARS:663 +COMMIT:7mo + +REPO: +NAME:jOOQ +STARS:- +COMMIT:- + +REPO:Meituan-Dianping/Leaf +NAME:Leaf +STARS:6.7k +COMMIT:5y + +REPO: +NAME:Lettuce +STARS:- +COMMIT:- + +REPO: +NAME:Liquibase +STARS:- +COMMIT:- + +REPO: +NAME:MapDB +STARS:- +COMMIT:- + +REPO:vorburger/MariaDB4j +NAME:MariaDB4j +STARS:15 +COMMIT:5d + +REPO:arkanovicz/modality +NAME:Modality +STARS:15 +COMMIT:1mo + +REPO:OpenIdentityPlatform/OpenDJ +NAME:OpenDJ +STARS:422 +COMMIT:27d + +REPO: +NAME:Querydsl +STARS:- +COMMIT:- + +REPO:querystream/querystream +NAME:QueryStream +STARS:20 +COMMIT:8mo + +REPO:questdb/questdb +NAME:QuestDB +STARS:16.5k +COMMIT:10h + +REPO:realm/realm-java +NAME:Realm +STARS:11.5k +COMMIT:3mo + +REPO:redisson/redisson +NAME:Redisson +STARS:24.2k +COMMIT:2d + +REPO:requery/requery +NAME:requery +STARS:3.1k +COMMIT:5y + +REPO:speedment/speedment +NAME:Speedment +STARS:2.1k +COMMIT:2y + +REPO:mhewedy/spring-data-jpa-mongodb-expressions +NAME:Spring Data JPA MongoDB Expressions +STARS:101 +COMMIT:19d + +REPO: +NAME:Trino +STARS:- +COMMIT:- + +REPO: +NAME:Vibur DBCP +STARS:- +COMMIT:- + +REPO:JetBrains/xodus +NAME:Xodus +STARS:1.3k +COMMIT:3mo + +REPO:Ahoo-Wang/CosId +NAME:CosId +STARS:599 +COMMIT:1d + +REPO:ical4j/ical4j +NAME:iCal4j +STARS:821 +COMMIT:9d + +REPO:svendiedrichsen/jollyday +NAME:Jollyday +STARS:192 +COMMIT:3y + +REPO:ThreeTen/threeten-extra +NAME:ThreeTen-Extra +STARS:420 +COMMIT:4mo + +REPO:MenoData/Time4J +NAME:Time4J +STARS:470 +COMMIT:1y + +REPO: +NAME:Apache DeltaSpike +STARS:- +COMMIT:- + +REPO: +NAME:Avaje Inject +STARS:- +COMMIT:- + +REPO: +NAME:Dagger +STARS:- +COMMIT:- + +REPO:zsoltherpai/feather +NAME:Feather +STARS:362 +COMMIT:8y + +REPO:Netflix/governator +NAME:Governator +STARS:826 +COMMIT:22d + +REPO:google/guice +NAME:Guice +STARS:12.7k +COMMIT:1mo + +REPO: +NAME:HK2 +STARS:- +COMMIT:- + +REPO:vanillasource/jaywire +NAME:JayWire +STARS:60 +COMMIT:5y + +REPO: +NAME:AspectJ +STARS:- +COMMIT:- + +REPO: +NAME:DCEVM +STARS:- +COMMIT:- + +REPO:zalando/faux-pas +NAME:Faux Pas +STARS:140 +COMMIT:6mo + +REPO:HotswapProjects/HotswapAgent +NAME:HotswapAgent +STARS:2.5k +COMMIT:19d + +REPO:javaparser/javaparser +NAME:JavaParser +STARS:6.0k +COMMIT:6h + +REPO:javaparser/javasymbolsolver +NAME:JavaSymbolSolver +STARS:296 +COMMIT:7y + +REPO:manifold-systems/manifold +NAME:Manifold +STARS:2.7k +COMMIT:7d + +REPO: +NAME:NoException +STARS:- +COMMIT:- + +REPO:rainerhahnekamp/sneakythrow +NAME:SneakyThrow +STARS:79 +COMMIT:6y + +REPO: +NAME:Tail +STARS:- +COMMIT:- + +REPO: +NAME:Apache Geode +STARS:- +COMMIT:- + +REPO: +NAME:Apache Storm +STARS:- +COMMIT:- + +REPO: +NAME:Apache ZooKeeper +STARS:- +COMMIT:- + +REPO: +NAME:Atomix +STARS:- +COMMIT:- + +REPO: +NAME:Axon +STARS:- +COMMIT:- + +REPO:mtakaki/dropwizard-circuitbreaker +NAME:Dropwizard Circuit Breaker +STARS:45 +COMMIT:6y + +REPO:jhalterman/failsafe +NAME:Failsafe +STARS:- +COMMIT:- + +REPO:hazelcast/hazelcast +NAME:Hazelcast +STARS:6.5k +COMMIT:2h + +REPO: +NAME:JGroups +STARS:- +COMMIT:- + +REPO: +NAME:Quasar +STARS:- +COMMIT:- + +REPO:resilience4j/resilience4j +NAME:resilience4j +STARS:10.5k +COMMIT:6d + +REPO:OpenIdentityPlatform/OpenIG +NAME:OpenIG +STARS:86 +COMMIT:22d + +REPO:scalecube/scalecube-services +NAME:ScaleCube Services +STARS:636 +COMMIT:10h + +REPO:Netflix/zuul +NAME:Zuul +STARS:14.0k +COMMIT:2d + +REPO: +NAME:Atomikos +STARS:- +COMMIT:- + +REPO:bitronix/btm +NAME:Bitronix +STARS:- +COMMIT:- + +REPO: +NAME:Narayana +STARS:- +COMMIT:- + +REPO:seata/seata +NAME:Seata +STARS:- +COMMIT:- + +REPO:artipie/artipie +NAME:Artipie +STARS:649 +COMMIT:10mo + +REPO:puniverse/capsule +NAME:Capsule +STARS:1.2k +COMMIT:9y + +REPO: +NAME:Central Repository +STARS:- +COMMIT:- + +REPO:threerings/getdown +NAME:Getdown +STARS:526 +COMMIT:1y + +REPO: +NAME:IzPack +STARS:- +COMMIT:- + +REPO:fvarrui/JavaPackager +NAME:JavaPackager +STARS:- +COMMIT:- + +REPO: +NAME:jDeploy +STARS:- +COMMIT:- + +REPO:AdoptOpenJDK/jlink.online +NAME:jlink.online +STARS:50 +COMMIT:1y + +REPO:libgdx/packr +NAME:packr +STARS:2.6k +COMMIT:1y + +REPO:brianm/really-executable-jars-maven-plugin +NAME:really-executable-jars-maven-plugin +STARS:133 +COMMIT:2y + +REPO: +NAME:Apache POI +STARS:- +COMMIT:- + +REPO: +NAME:documents4j +STARS:- +COMMIT:- + +REPO: +NAME:docx4j +STARS:- +COMMIT:- + +REPO:dhatim/fastexcel +NAME:fastexcel +STARS:855 +COMMIT:22d + +REPO:creditdatamw/zerocell +NAME:zerocell +STARS:81 +COMMIT:1y + +REPO:cassandre-tech/cassandre-trading-bot +NAME:Cassandre +STARS:650 +COMMIT:1y + +REPO:paritytrading/parity +NAME:Parity +STARS:501 +COMMIT:3y + +REPO:paritytrading/philadelphia +NAME:Philadelphia +STARS:339 +COMMIT:12d + +REPO:square/connect-java-sdk +NAME:Square +STARS:40 +COMMIT:6y + +REPO:stripe/stripe-java +NAME:Stripe +STARS:942 +COMMIT:1d + +REPO:ta4j/ta4j +NAME:ta4j +STARS:2.3k +COMMIT:1d + +REPO:ksen007/janala2 +NAME:CATG +STARS:N/A +COMMIT:N/A + +REPO: +NAME:Checker Framework +STARS:- +COMMIT:- + +REPO: +NAME:Daikon +STARS:- +COMMIT:- + +REPO:javapathfinder/jpf-core +NAME:Java Path Finder (JPF) +STARS:593 +COMMIT:22d + +REPO: +NAME:JMLOK 2.0 +STARS:- +COMMIT:- + +REPO: +NAME:KeY +STARS:- +COMMIT:- + +REPO: +NAME:OpenJML +STARS:- +COMMIT:- + +REPO:aol/cyclops +NAME:Cyclops +STARS:1.3k +COMMIT:3y + +REPO:derive4j/derive4j +NAME:derive4j +STARS:577 +COMMIT:4y + +REPO: +NAME:Fugue +STARS:- +COMMIT:- + +REPO: +NAME:Functional Java +STARS:- +COMMIT:- + +REPO:jOOQ/jOOL +NAME:jOOλ +STARS:2.1k +COMMIT:1y + +REPO:jhspetersson/packrat +NAME:Packrat +STARS:24 +COMMIT:3d + +REPO:poetix/protonpack +NAME:protonpack +STARS:485 +COMMIT:1y + +REPO:amaembo/streamex +NAME:StreamEx +STARS:2.3k +COMMIT:4mo + +REPO: +NAME:Vavr +STARS:- +COMMIT:- + +REPO: +NAME:FXGL +STARS:- +COMMIT:- + +REPO: +NAME:JBox2D +STARS:- +COMMIT:- + +REPO: +NAME:jMonkeyEngine +STARS:- +COMMIT:- + +REPO: +NAME:libGDX +STARS:- +COMMIT:- + +REPO: +NAME:Litiengine +STARS:- +COMMIT:- + +REPO: +NAME:LWJGL +STARS:- +COMMIT:- + +REPO: +NAME:Mini2Dx +STARS:- +COMMIT:- + +REPO:xzripper/Void2D +NAME:Void2D +STARS:N/A +COMMIT:N/A + +REPO:chuigda/vulkan4j +NAME:vulkan4j +STARS:- +COMMIT:- + +REPO: +NAME:Apache SIS +STARS:- +COMMIT:- + +REPO:davidmoten/geo +NAME:Geo +STARS:431 +COMMIT:16d + +REPO: +NAME:GeoTools +STARS:- +COMMIT:- + +REPO:graphhopper/graphhopper +NAME:GraphHopper +STARS:6.2k +COMMIT:2d + +REPO: +NAME:H2GIS +STARS:- +COMMIT:- + +REPO: +NAME:Jgeohash +STARS:- +COMMIT:- + +REPO:mapsforge/mapsforge +NAME:Mapsforge +STARS:1.3k +COMMIT:1d + +REPO:locationtech/spatial4j +NAME:Spatial4j +STARS:955 +COMMIT:7mo + +REPO: +NAME:JavaFX +STARS:- +COMMIT:- + +REPO: +NAME:Scene Builder +STARS:- +COMMIT:- + +REPO:reportmill/SnapKit +NAME:SnapKit +STARS:310 +COMMIT:16h + +REPO: +NAME:SWT +STARS:- +COMMIT:- + +REPO:real-logic/Agrona +NAME:Agrona +STARS:- +COMMIT:- + +REPO: +NAME:Disruptor +STARS:- +COMMIT:- + +REPO:eclipse/eclipse-collections +NAME:Eclipse Collections +STARS:- +COMMIT:- + +REPO: +NAME:fastutil +STARS:- +COMMIT:- + +REPO: +NAME:HPPC +STARS:- +COMMIT:- + +REPO:JCTools/JCTools +NAME:JCTools +STARS:3.8k +COMMIT:1y + +REPO:leventov/Koloboke +NAME:Koloboke +STARS:1.0k +COMMIT:9y + +REPO: +NAME:Apache HttpComponents +STARS:- +COMMIT:- + +REPO:AsyncHttpClient/async-http-client +NAME:Async Http Client +STARS:6.4k +COMMIT:7d + +REPO: +NAME:Avaje Http Client +STARS:- +COMMIT:- + +REPO:OpenFeign/feign +NAME:Feign +STARS:9.8k +COMMIT:1h + +REPO:googleapis/google-http-java-client +NAME:Google HTTP Client +STARS:1.4k +COMMIT:19d + +REPO:mizosoft/methanol +NAME:methanol +STARS:286 +COMMIT:17d + +REPO: +NAME:Retrofit +STARS:- +COMMIT:- + +REPO:Netflix/ribbon +NAME:Ribbon +STARS:4.6k +COMMIT:22d + +REPO:zalando/riptide +NAME:Riptide +STARS:327 +COMMIT:4mo + +REPO:Kong/unirest-java +NAME:unirest-java +STARS:2.7k +COMMIT:1mo + +REPO:blackdoor/hate +NAME:hate +STARS:25 +COMMIT:2y + +REPO:jsonld-java/jsonld-java +NAME:JSON-LD +STARS:386 +COMMIT:2y + +REPO:eserating-chwy/siren4j +NAME:Siren4J +STARS:28 +COMMIT:8y + +REPO:spring-projects/spring-hateoas +NAME:Spring HATEOAS +STARS:1.1k +COMMIT:27d + +REPO: +NAME:Eclipse +STARS:- +COMMIT:- + +REPO: +NAME:jGRASP +STARS:- +COMMIT:- + +REPO: +NAME:NetBeans +STARS:- +COMMIT:- + +REPO: +NAME:SnapCode +STARS:- +COMMIT:- + +REPO: +NAME:Visual Studio Code +STARS:- +COMMIT:- + +REPO:vws-java/Barcode-Lib4J +NAME:Barcode-Lib4J +STARS:9 +COMMIT:15d + +REPO:rkalla/imgscalr +NAME:Imgscalr +STARS:1.2k +COMMIT:2y + +REPO:nguyenq/tess4j +NAME:Tess4J +STARS:1.7k +COMMIT:11d + +REPO:coobird/thumbnailator +NAME:Thumbnailator +STARS:5.4k +COMMIT:5d + +REPO:haraldk/TwelveMonkeys +NAME:TwelveMonkeys +STARS:2.1k +COMMIT:21h + +REPO:zxing/zxing +NAME:ZXing +STARS:33.8k +COMMIT:1mo + +REPO:romankh3/image-comparison +NAME:image-comparison +STARS:385 +COMMIT:7mo + +REPO:lopcode/vips-ffm +NAME:vips-ffm +STARS:98 +COMMIT:8d + +REPO: +NAME:scrimage +STARS:- +COMMIT:- + +REPO:classgraph/classgraph +NAME:ClassGraph +STARS:3.0k +COMMIT:2mo + +REPO:jOOQ/jOOR +NAME:jOOR +STARS:2.8k +COMMIT:1y + +REPO: +NAME:Mirror +STARS:- +COMMIT:- + +REPO: +NAME:Objenesis +STARS:- +COMMIT:- + +REPO:EsotericSoftware/reflectasm +NAME:ReflectASM +STARS:1.5k +COMMIT:7mo + +REPO:ronmamo/reflections +NAME:Reflections +STARS:4.8k +COMMIT:2y + +REPO:jobrunr/jobrunr +NAME:JobRunr +STARS:2.8k +COMMIT:2d + +REPO:quartz-scheduler/quartz +NAME:Quartz +STARS:6.7k +COMMIT:1mo + +REPO:knowm/Sundial +NAME:Sundial +STARS:276 +COMMIT:1y + +REPO:Coreoz/Wisp +NAME:Wisp +STARS:141 +COMMIT:7mo + +REPO:kagkarlsson/db-scheduler +NAME:db-scheduler +STARS:1.5k +COMMIT:1d + +REPO:j-easy/easy-batch +NAME:easy-batch +STARS:629 +COMMIT:4y + +REPO:lukas-krecan/ShedLock +NAME:shedlock +STARS:4.1k +COMMIT:9h + +REPO: +NAME:Avaje Jsonb +STARS:- +COMMIT:- + +REPO:ngs-doo/dsl-json +NAME:DSL-JSON +STARS:1.1k +COMMIT:1y + +REPO: +NAME:Genson +STARS:- +COMMIT:- + +REPO:google/gson +NAME:Gson +STARS:24.3k +COMMIT:6d + +REPO:brettwooldridge/HikariJSON +NAME:HikariJSON +STARS:465 +COMMIT:8y + +REPO:FasterXML/jackson-modules-java8 +NAME:jackson-modules-java8 +STARS:417 +COMMIT:8d + +REPO:zalando/jackson-datatype-money +NAME:Jackson-datatype-money +STARS:264 +COMMIT:6mo + +REPO:FasterXML/jackson +NAME:Jackson +STARS:9.6k +COMMIT:5d + +REPO:jdereg/json-io +NAME:JSON-io +STARS:343 +COMMIT:2d + +REPO: +NAME:jsoniter +STARS:- +COMMIT:- + +REPO:bluelinelabs/LoganSquare +NAME:LoganSquare +STARS:3.2k +COMMIT:9y + +REPO:square/moshi +NAME:Moshi +STARS:10.1k +COMMIT:3d + +REPO:eclipse-ee4j/yasson +NAME:Yasson +STARS:215 +COMMIT:5mo + +REPO:alibaba/fastjson +NAME:fastjson +STARS:25.7k +COMMIT:2y + +REPO:bazaarvoice/jolt +NAME:Jolt +STARS:1.7k +COMMIT:2y + +REPO:json-path/JsonPath +NAME:JsonPath +STARS:9.4k +COMMIT:2mo + +REPO:jsurfer/JsonSurfer +NAME:JsonSurfer +STARS:- +COMMIT:- + +REPO: +NAME:Which JDK +STARS:- +COMMIT:- + +REPO: +NAME:Adopt Open JDK +STARS:- +COMMIT:- + +REPO: +NAME:Corretto +STARS:- +COMMIT:- + +REPO:alibaba/dragonwell8 +NAME:Dragonwell8 +STARS:- +COMMIT:- + +REPO:oracle/graal +NAME:Graal +STARS:21.4k +COMMIT:14h + +REPO: +NAME:Liberica JDK +STARS:- +COMMIT:- + +REPO:eclipse/openj9 +NAME:OpenJ9 +STARS:- +COMMIT:- + +REPO: +NAME:Open JDK +STARS:- +COMMIT:- + +REPO:codenameone/CodenameOne/tree/master/vm +NAME:ParparVM +STARS:N/A +COMMIT:N/A + +REPO: +NAME:RedHat Open JDK +STARS:- +COMMIT:- + +REPO: +NAME:SAP Machine +STARS:- +COMMIT:- + +REPO: +NAME:Zulu +STARS:- +COMMIT:- + +REPO:microsoft/openjdk +NAME:Microsoft JDK +STARS:339 +COMMIT:2mo + +REPO: +NAME:Apache Log4j 2 +STARS:- +COMMIT:- + +REPO:tersesystems/echopraxia +NAME:Echopraxia +STARS:58 +COMMIT:1y + +REPO: +NAME:Graylog +STARS:- +COMMIT:- + +REPO: +NAME:Kibana +STARS:- +COMMIT:- + +REPO: +NAME:Logback +STARS:- +COMMIT:- + +REPO:zalando/logbook +NAME:Logbook +STARS:2.0k +COMMIT:8d + +REPO: +NAME:Logstash +STARS:- +COMMIT:- + +REPO:p6spy/p6spy +NAME:p6spy +STARS:2.2k +COMMIT:3y + +REPO: +NAME:SLF4J +STARS:- +COMMIT:- + +REPO: +NAME:tinylog +STARS:- +COMMIT:- + +REPO:zalando/opentracing-toolbox +NAME:OpenTracing Toolbox +STARS:180 +COMMIT:6mo + +REPO: +NAME:Flogger +STARS:- +COMMIT:- + +REPO: +NAME:Apache Flink +STARS:- +COMMIT:- + +REPO: +NAME:Apache Mahout +STARS:- +COMMIT:- + +REPO: +NAME:DatumBox +STARS:- +COMMIT:- + +REPO: +NAME:Deeplearning4j +STARS:- +COMMIT:- + +REPO: +NAME:DJL +STARS:- +COMMIT:- + +REPO:Barqawiz/IntelliJava +NAME:Intelligent java +STARS:- +COMMIT:- + +REPO:EdwardRaff/JSAT +NAME:JSAT +STARS:800 +COMMIT:3y + +REPO:BayesWitnesses/m2cgen +NAME:m2cgen +STARS:2.9k +COMMIT:3y + +REPO:Gleethos/neureka +NAME:Neureka +STARS:86 +COMMIT:1y + +REPO: +NAME:oj! Algorithms +STARS:- +COMMIT:- + +REPO:OryxProject/oryx +NAME:Oryx 2 +STARS:1.8k +COMMIT:4y + +REPO:siddhi-io/siddhi +NAME:Siddhi +STARS:1.6k +COMMIT:5mo + +REPO:haifengl/smile +NAME:Smile +STARS:6.3k +COMMIT:8h + +REPO: +NAME:Tribuo +STARS:- +COMMIT:- + +REPO: +NAME:Weka +STARS:- +COMMIT:- + +REPO:real-logic/Aeron +NAME:Aeron +STARS:- +COMMIT:- + +REPO: +NAME:Apache ActiveMQ +STARS:- +COMMIT:- + +REPO: +NAME:Apache Camel +STARS:- +COMMIT:- + +REPO: +NAME:Apache Kafka +STARS:- +COMMIT:- + +REPO: +NAME:Apache Pulsar +STARS:- +COMMIT:- + +REPO: +NAME:Apache RocketMQ +STARS:- +COMMIT:- + +REPO: +NAME:Apache Qpid +STARS:- +COMMIT:- + +REPO:AutoMQ/automq-for-kafka +NAME:AutoMQ +STARS:- +COMMIT:- + +REPO:joel-jeremy/deezpatch +NAME:Deezpatch +STARS:64 +COMMIT:3mo + +REPO:greenrobot/EventBus +NAME:EventBus +STARS:24.8k +COMMIT:3y + +REPO: +NAME:Hermes +STARS:- +COMMIT:- + +REPO:zeromq/jeromq +NAME:JeroMQ +STARS:2.4k +COMMIT:10mo + +REPO:zalando/nakadi +NAME:Nakadi +STARS:968 +COMMIT:1y + +REPO:rabbitmq/rabbitmq-java-client +NAME:RabbitMQ Java client +STARS:1.3k +COMMIT:48m + +REPO:igniterealtime/Smack +NAME:Smack +STARS:2.4k +COMMIT:1mo + +REPO:nats-io/nats.java +NAME:NATS client +STARS:640 +COMMIT:16h + +REPO: +NAME:ActiveRPC +STARS:- +COMMIT:- + +REPO:line/armeria +NAME:Armeria +STARS:5.1k +COMMIT:23h + +REPO:Ecwid/consul-api +NAME:consul-api +STARS:423 +COMMIT:3y + +REPO:Netflix/eureka +NAME:Eureka +STARS:12.7k +COMMIT:21d + +REPO: +NAME:Helidon +STARS:- +COMMIT:- + +REPO:DV8FromTheWorld/JDA +NAME:JDA +STARS:- +COMMIT:- + +REPO:DaveJarvis/KeenType +NAME:KeenType +STARS:N/A +COMMIT:N/A + +REPO:fabric8io/kubernetes-client +NAME:kubernetes-client +STARS:3.6k +COMMIT:15d + +REPO: +NAME:Micronaut +STARS:- +COMMIT:- + +REPO: +NAME:Nacos +STARS:- +COMMIT:- + +REPO:TheoKanning/openai-java +NAME:OpenAI-Java +STARS:4.8k +COMMIT:1y + +REPO: +NAME:Quarkus +STARS:- +COMMIT:- + +REPO:alibaba/Sentinel +NAME:Sentinel +STARS:23.0k +COMMIT:16d + +REPO:npgall/cqengine +NAME:CQEngine +STARS:1.8k +COMMIT:3y + +REPO:iluwatar/java-design-patterns +NAME:Design Patterns +STARS:93.6k +COMMIT:7mo + +REPO:ff4j/ff4j +NAME:FF4J +STARS:1.4k +COMMIT:18d + +REPO:EnterpriseQualityCoding/FizzBuzzEnterpriseEdition +NAME:FizzBuzz Enterprise Edition +STARS:23.1k +COMMIT:6y + +REPO:ip2location/ip2location-io-java +NAME:IP2Location.io Java SDK +STARS:7 +COMMIT:8d + +REPO:ladutsko/isbn-core +NAME:ISBN core +STARS:3 +COMMIT:11d + +REPO:google/j2objc +NAME:J2ObjC +STARS:6.0k +COMMIT:14h + +REPO: +NAME:JBake +STARS:- +COMMIT:- + +REPO:rampatra/jbot +NAME:JBot +STARS:1.2k +COMMIT:3mo + +REPO: +NAME:JCuda +STARS:- +COMMIT:- + +REPO:felldo/JEmoji +NAME:JEmoji +STARS:102 +COMMIT:22d + +REPO:google/jimfs +NAME:Jimfs +STARS:2.5k +COMMIT:6d + +REPO: +NAME:Joda-Money +STARS:- +COMMIT:- + +REPO:jooq/joox +NAME:jOOX +STARS:505 +COMMIT:1y + +REPO: +NAME:JPad +STARS:- +COMMIT:- + +REPO:cincheo/jsweet +NAME:jsweet +STARS:1.5k +COMMIT:2y + +REPO:takari/maven-wrapper +NAME:Maven Wrapper +STARS:1.6k +COMMIT:4y + +REPO:membrane/service-proxy +NAME:Membrane Service Proxy +STARS:- +COMMIT:- + +REPO:Guichaguri/MinimalFTP +NAME:MinimalFTP +STARS:186 +COMMIT:6mo + +REPO:adamfisk/LittleProxy +NAME:LittleProxy +STARS:2.1k +COMMIT:8y + +REPO:winterbe/java8-tutorial +NAME:Modern Java - A Guide to Java 8 +STARS:16.8k +COMMIT:2y + +REPO:gaul/modernizer-maven-plugin +NAME:Modernizer +STARS:383 +COMMIT:6d + +REPO:OctoLinker/OctoLinker +NAME:OctoLinker +STARS:5.3k +COMMIT:2y + +REPO: +NAME:OpenRefine +STARS:- +COMMIT:- + +REPO:sizovs/pipelinr +NAME:PipelinR +STARS:476 +COMMIT:4mo + +REPO:takari/polyglot-maven +NAME:Polyglot for Maven +STARS:915 +COMMIT:6mo + +REPO:Kartikvk1996/RR4J +NAME:RR4J +STARS:25 +COMMIT:3y + +REPO:bbottema/simple-java-mail +NAME:Simple Java Mail +STARS:1.3k +COMMIT:8mo + +REPO:smooks/smooks +NAME:Smooks +STARS:414 +COMMIT:10mo + +REPO:svix/svix-webhooks/tree/main/java +NAME:Svix +STARS:N/A +COMMIT:N/A + +REPO: +NAME:Togglz +STARS:- +COMMIT:- + +REPO:jhalterman/typetools +NAME:TypeTools +STARS:628 +COMMIT:2y + +REPO:sarxos/webcam-capture +NAME:webcam-capture +STARS:2.3k +COMMIT:2mo + +REPO:SvenEwald/xmlbeam +NAME:XMLBeam +STARS:76 +COMMIT:5mo + +REPO:yWorks/yGuard +NAME:yGuard +STARS:450 +COMMIT:6mo + +REPO:maxandersen/jbang/ +NAME:JBang +STARS:N/A +COMMIT:N/A + +REPO: +NAME:Codename One +STARS:- +COMMIT:- + +REPO: +NAME:MobileUI +STARS:- +COMMIT:- + +REPO: +NAME:Multi-OS Engine +STARS:- +COMMIT:- + +REPO:apitally/apitally-java +NAME:Apitally +STARS:5 +COMMIT:3d + +REPO:stevensouza/automon +NAME:Automon +STARS:573 +COMMIT:1y + +REPO:dropwizard/metrics +NAME:Dropwizard Metrics +STARS:7.9k +COMMIT:16d + +REPO:zalando/failsafe-actuator +NAME:Failsafe Actuator +STARS:54 +COMMIT:4y + +REPO: +NAME:Glowroot +STARS:- +COMMIT:- + +REPO:dromara/hertzbeat +NAME:HertzBeat +STARS:- +COMMIT:- + +REPO:opengoofy/hippo4j/blob/develop/README-EN.md +NAME:hippo4j +STARS:N/A +COMMIT:N/A + +REPO: +NAME:inspectIT +STARS:- +COMMIT:- + +REPO:jaegertracing/jaeger-client-java +NAME:Jaeger client +STARS:490 +COMMIT:3y + +REPO:javamelody/javamelody +NAME:JavaMelody +STARS:3.0k +COMMIT:9d + +REPO:jmxtrans/jmxtrans +NAME:jmxtrans +STARS:1.7k +COMMIT:4y + +REPO: +NAME:Jolokia +STARS:- +COMMIT:- + +REPO:micrometer-metrics/micrometer +NAME:Micrometer +STARS:4.8k +COMMIT:7h + +REPO:micrometer-metrics/tracing +NAME:Micrometer Tracing +STARS:287 +COMMIT:6h + +REPO:lorenzoongithub/nudge4j +NAME:nudge4j +STARS:164 +COMMIT:5y + +REPO:open-telemetry/opentelemetry-java +NAME:OpenTelemetry +STARS:2.3k +COMMIT:14h + +REPO:naver/pinpoint +NAME:Pinpoint +STARS:- +COMMIT:- + +REPO:prometheus/client_java +NAME:Prometheus +STARS:2.3k +COMMIT:6h + +REPO:stagemonitor/stagemonitor +NAME:Stagemonitor +STARS:1.7k +COMMIT:2y + +REPO:palantir/Sysmon +NAME:Sysmon +STARS:156 +COMMIT:9y + +REPO: +NAME:zipkin +STARS:- +COMMIT:- + +REPO:Syncleus/aparapi +NAME:Aparapi +STARS:482 +COMMIT:4y + +REPO:bytedeco/javacpp +NAME:JavaCPP +STARS:4.7k +COMMIT:29d + +REPO:java-native-access/jna +NAME:JNA +STARS:8.9k +COMMIT:29d + +REPO:jnr/jnr-ffi +NAME:JNR +STARS:1.3k +COMMIT:2mo + +REPO:scijava/native-lib-loader +NAME:native-lib-loader +STARS:215 +COMMIT:1y + +REPO:CogComp/cogcomp-nlp +NAME:CogCompNLP +STARS:480 +COMMIT:3y + +REPO: +NAME:CoreNLP +STARS:- +COMMIT:- + +REPO: +NAME:DKPro +STARS:- +COMMIT:- + +REPO:ejossev/hypherator-java +NAME:Hypherator +STARS:3 +COMMIT:6mo + +REPO: +NAME:LingPipe +STARS:- +COMMIT:- + +REPO:CiscoSE/commons-networking +NAME:Commons-networking +STARS:20 +COMMIT:3y + +REPO:puniverse/comsat +NAME:Comsat +STARS:595 +COMMIT:9y + +REPO:apache/dubbo +NAME:Dubbo +STARS:41.7k +COMMIT:1d + +REPO: +NAME:Grizzly +STARS:- +COMMIT:- + +REPO:grpc/grpc-java +NAME:gRPC +STARS:11.9k +COMMIT:15h + +REPO:EsotericSoftware/kryonet +NAME:KryoNet +STARS:1.8k +COMMIT:5y + +REPO: +NAME:MINA +STARS:- +COMMIT:- + +REPO: +NAME:Netty +STARS:- +COMMIT:- + +REPO:airlift/drift +NAME:Drift +STARS:248 +COMMIT:3mo + +REPO:apple/servicetalk +NAME:ServiceTalk +STARS:1.0k +COMMIT:9h + +REPO:hierynomus/sshj +NAME:sshj +STARS:2.6k +COMMIT:7mo + +REPO:marianobarrios/tls-channel +NAME:TLS Channel +STARS:207 +COMMIT:1d + +REPO: +NAME:Undertow +STARS:- +COMMIT:- + +REPO:slub/urnlib +NAME:urnlib +STARS:34 +COMMIT:9d + +REPO:komamitsu/fluency +NAME:Fluency +STARS:163 +COMMIT:3d + +REPO: +NAME:Apache Cayenne +STARS:- +COMMIT:- + +REPO:domaframework/doma +NAME:Doma +STARS:494 +COMMIT:1d + +REPO: +NAME:Ebean +STARS:- +COMMIT:- + +REPO: +NAME:EclipseLink +STARS:- +COMMIT:- + +REPO: +NAME:Hibernate +STARS:- +COMMIT:- + +REPO:mybatis/mybatis-3 +NAME:MyBatis +STARS:20.3k +COMMIT:6d + +REPO:baomidou/mybatis-plus +NAME:MyBatis-Plus +STARS:17.3k +COMMIT:8d + +REPO:braisdom/ObjectiveSql +NAME:ObjectiveSql +STARS:1.3k +COMMIT:1y + +REPO:permazen/permazen +NAME:Permazen +STARS:422 +COMMIT:3mo + +REPO:arnaudroger/SimpleFlatMapper +NAME:SimpleFlatMapper +STARS:454 +COMMIT:1y + +REPO:bsommerfeld/pathetic +NAME:Pathetic +STARS:236 +COMMIT:1h + +REPO: +NAME:Apache FOP +STARS:- +COMMIT:- + +REPO: +NAME:Apache PDFBox +STARS:- +COMMIT:- + +REPO: +NAME:Dynamic Jasper +STARS:- +COMMIT:- + +REPO:dynamicreports/dynamicreports +NAME:DynamicReports +STARS:240 +COMMIT:4mo + +REPO: +NAME:Eclipse BIRT +STARS:- +COMMIT:- + +REPO:flyingsaucerproject/flyingsaucer +NAME:flyingsaucer +STARS:2.2k +COMMIT:5h + +REPO: +NAME:JasperReports +STARS:- +COMMIT:- + +REPO:danfickle/openhtmltopdf +NAME:Open HTML to PDF +STARS:2.1k +COMMIT:3y + +REPO:LibrePDF/OpenPDF +NAME:OpenPDF +STARS:4.1k +COMMIT:4mo + +REPO:tabulapdf/tabula-java +NAME:Tabula +STARS:2.0k +COMMIT:9mo + +REPO:jvm-profiling-tools/honest-profiler +NAME:honest-profiler +STARS:1.3k +COMMIT:3y + +REPO:giltene/jHiccup +NAME:jHiccup +STARS:697 +COMMIT:4y + +REPO:AdoptOpenJDK/jitwatch +NAME:JITWatch +STARS:3.3k +COMMIT:10d + +REPO: +NAME:JMH +STARS:- +COMMIT:- + +REPO:LatencyUtils/LatencyUtils +NAME:LatencyUtils +STARS:465 +COMMIT:1y + +REPO: +NAME:BCEL +STARS:- +COMMIT:- + +REPO: +NAME:BeanUtils +STARS:- +COMMIT:- + +REPO: +NAME:BeanUtils2 +STARS:- +COMMIT:- + +REPO: +NAME:BSF +STARS:- +COMMIT:- + +REPO: +NAME:Chain +STARS:- +COMMIT:- + +REPO: +NAME:ClassScan +STARS:- +COMMIT:- + +REPO: +NAME:CLI +STARS:- +COMMIT:- + +REPO: +NAME:CLI2 +STARS:- +COMMIT:- + +REPO: +NAME:Codec +STARS:- +COMMIT:- + +REPO: +NAME:Collections +STARS:- +COMMIT:- + +REPO: +NAME:Compress +STARS:- +COMMIT:- + +REPO: +NAME:Configuration +STARS:- +COMMIT:- + +REPO: +NAME:Convert +STARS:- +COMMIT:- + +REPO: +NAME:CSV +STARS:- +COMMIT:- + +REPO: +NAME:Daemon +STARS:- +COMMIT:- + +REPO: +NAME:DBCP +STARS:- +COMMIT:- + +REPO: +NAME:DbUtils +STARS:- +COMMIT:- + +REPO: +NAME:Digester +STARS:- +COMMIT:- + +REPO: +NAME:Email +STARS:- +COMMIT:- + +REPO: +NAME:Exec +STARS:- +COMMIT:- + +REPO: +NAME:FileUpload +STARS:- +COMMIT:- + +REPO: +NAME:Finder +STARS:- +COMMIT:- + +REPO: +NAME:Flatfile +STARS:- +COMMIT:- + +REPO: +NAME:Functor +STARS:- +COMMIT:- + +REPO: +NAME:Graph +STARS:- +COMMIT:- + +REPO: +NAME:I18n +STARS:- +COMMIT:- + +REPO: +NAME:Id +STARS:- +COMMIT:- + +REPO: +NAME:Imaging +STARS:- +COMMIT:- + +REPO: +NAME:IO +STARS:- +COMMIT:- + +REPO: +NAME:Javaflow +STARS:- +COMMIT:- + +REPO: +NAME:JCI +STARS:- +COMMIT:- + +REPO: +NAME:JCS +STARS:- +COMMIT:- + +REPO: +NAME:Jelly +STARS:- +COMMIT:- + +REPO: +NAME:Jexl +STARS:- +COMMIT:- + +REPO: +NAME:JNet +STARS:- +COMMIT:- + +REPO: +NAME:JXPath +STARS:- +COMMIT:- + +REPO: +NAME:Lang +STARS:- +COMMIT:- + +REPO: +NAME:Logging +STARS:- +COMMIT:- + +REPO: +NAME:Math +STARS:- +COMMIT:- + +REPO: +NAME:Monitoring +STARS:- +COMMIT:- + +REPO: +NAME:Nabla +STARS:- +COMMIT:- + +REPO: +NAME:Net +STARS:- +COMMIT:- + +REPO: +NAME:OGNL +STARS:- +COMMIT:- + +REPO: +NAME:OpenPGP +STARS:- +COMMIT:- + +REPO: +NAME:Performance +STARS:- +COMMIT:- + +REPO: +NAME:Pipeline +STARS:- +COMMIT:- + +REPO: +NAME:Pool +STARS:- +COMMIT:- + +REPO: +NAME:Proxy +STARS:- +COMMIT:- + +REPO: +NAME:RDF +STARS:- +COMMIT:- + +REPO: +NAME:RNG +STARS:- +COMMIT:- + +REPO: +NAME:SCXML +STARS:- +COMMIT:- + +REPO: +NAME:Validator +STARS:- +COMMIT:- + +REPO: +NAME:VFS +STARS:- +COMMIT:- + +REPO: +NAME:Weaver +STARS:- +COMMIT:- + +REPO: +NAME:CUBA Platform +STARS:- +COMMIT:- + +REPO:networknt/light-4j/ +NAME:Light-4J +STARS:N/A +COMMIT:N/A + +REPO:OrienteerBAP/Orienteer/ +NAME:Orienteer +STARS:N/A +COMMIT:N/A + +REPO: +NAME:Spring +STARS:- +COMMIT:- + +REPO:vorburger/ch.vorburger.exec +NAME:ch.vorburger.exec +STARS:38 +COMMIT:2d + +REPO:zeroturnaround/zt-exec +NAME:zt-exec +STARS:910 +COMMIT:1y + +REPO:zeroturnaround/zt-process-killer +NAME:zt-process-killer +STARS:136 +COMMIT:2y + +REPO: +NAME:Akka +STARS:- +COMMIT:- + +REPO:reactive-streams/reactive-streams-jvm +NAME:Reactive Streams +STARS:4.9k +COMMIT:2y + +REPO:reactor/reactor +NAME:Reactor +STARS:3.7k +COMMIT:29d + +REPO:ReactiveX/RxJava +NAME:RxJava +STARS:48.5k +COMMIT:21d + +REPO: +NAME:vert.x +STARS:- +COMMIT:- + +REPO:dropwizard/dropwizard +NAME:Dropwizard +STARS:8.6k +COMMIT:43m + +REPO: +NAME:Elide +STARS:- +COMMIT:- + +REPO: +NAME:Jersey +STARS:- +COMMIT:- + +REPO:aol/micro-server +NAME:Microserver +STARS:934 +COMMIT:5y + +REPO: +NAME:Rapidoid +STARS:- +COMMIT:- + +REPO:linkedin/rest.li +NAME:rest.li +STARS:2.5k +COMMIT:2mo + +REPO: +NAME:RESTEasy +STARS:- +COMMIT:- + +REPO:RestExpress/RestExpress +NAME:RestExpress +STARS:940 +COMMIT:1y + +REPO:restlet/restlet-framework-java +NAME:Restlet Framework +STARS:661 +COMMIT:1mo + +REPO: +NAME:Spark +STARS:- +COMMIT:- + +REPO: +NAME:Crnk +STARS:- +COMMIT:- + +REPO:springdoc/springdoc-openapi +NAME:springdoc-openapi +STARS:3.7k +COMMIT:6d + +REPO: +NAME:Swagger +STARS:- +COMMIT:- + +REPO: +NAME:BioJava +STARS:- +COMMIT:- + +REPO:GSI-CS-CO/chart-fx +NAME:Chart-FX +STARS:- +COMMIT:- + +REPO: +NAME:DataMelt +STARS:- +COMMIT:- + +REPO:Erdos-Graph-Framework/Erdos +NAME:Erdos +STARS:127 +COMMIT:2y + +REPO: +NAME:GraphStream +STARS:- +COMMIT:- + +REPO: +NAME:JFreeChart +STARS:- +COMMIT:- + +REPO:jgrapht/jgrapht +NAME:JGraphT +STARS:2.7k +COMMIT:11h + +REPO:jgraph/jgraphx +NAME:JGraphX +STARS:687 +COMMIT:5y + +REPO:logic-ng/LogicNG +NAME:LogicNG +STARS:149 +COMMIT:1y + +REPO:MinesJTK/jtk +NAME:Mines Java Toolkit +STARS:82 +COMMIT:5y + +REPO:zavtech/morpheus-core +NAME:Morpheus +STARS:244 +COMMIT:7y + +REPO: +NAME:Orekit +STARS:- +COMMIT:- + +REPO:jfree/orson-charts +NAME:Orson-Charts +STARS:120 +COMMIT:6mo + +REPO:jtablesaw/tablesaw +NAME:Tablesaw +STARS:3.7k +COMMIT:6mo + +REPO:knowm/XChart +NAME:XChart +STARS:1.6k +COMMIT:3mo + +REPO: +NAME:Apache Lucene +STARS:- +COMMIT:- + +REPO: +NAME:Apache Solr +STARS:- +COMMIT:- + +REPO: +NAME:Elasticsearch +STARS:- +COMMIT:- + +REPO:haeungun/indexer4j +NAME:Indexer4j +STARS:56 +COMMIT:6y + +REPO: +NAME:Apache Shiro +STARS:- +COMMIT:- + +REPO:Hakky54/ayza +NAME:Ayza +STARS:564 +COMMIT:5d + +REPO: +NAME:Bouncy Castle +STARS:- +COMMIT:- + +REPO:jeremylong/DependencyCheck +NAME:DependencyCheck +STARS:40 +COMMIT:10mo + +REPO: +NAME:Cryptomator +STARS:- +COMMIT:- + +REPO:hdiv/hdiv +NAME:Hdiv +STARS:219 +COMMIT:4y + +REPO:jwtk/jjwt +NAME:jjwt +STARS:11.0k +COMMIT:2mo + +REPO:BastiaanJansen/jwt-java +NAME:jwt-java +STARS:14 +COMMIT:5mo + +REPO:auth0/jwks-rsa-java +NAME:Jwks RSA +STARS:204 +COMMIT:3mo + +REPO:abstractj/kalium +NAME:Kalium +STARS:218 +COMMIT:7y + +REPO: +NAME:Keycloak +STARS:- +COMMIT:- + +REPO:square/keywhiz +NAME:Keywhiz +STARS:2.6k +COMMIT:2y + +REPO:GoSimpleLLC/nbvcxz +NAME:Nbvcxz +STARS:308 +COMMIT:4mo + +REPO: +NAME:OACC +STARS:- +COMMIT:- + +REPO:OpenIdentityPlatform/OpenAM +NAME:OpenAM +STARS:860 +COMMIT:22d + +REPO:BastiaanJansen/OTP-Java +NAME:OTP-Java +STARS:232 +COMMIT:1y + +REPO:pac4j/pac4j +NAME:pac4j +STARS:2.5k +COMMIT:2h + +REPO: +NAME:Passay +STARS:- +COMMIT:- + +REPO:Password4j/password4j +NAME:Password4j +STARS:398 +COMMIT:4mo + +REPO:tersesystems/securitybuilder +NAME:SecurityBuilder +STARS:47 +COMMIT:4y + +REPO:cossacklabs/themis +NAME:Themis +STARS:1.9k +COMMIT:1y + +REPO:google/tink +NAME:Tink +STARS:- +COMMIT:- + +REPO: +NAME:Topaz +STARS:- +COMMIT:- + +REPO:google/flatbuffers +NAME:FlatBuffers +STARS:25.3k +COMMIT:17d + +REPO:RuedigerMoeller/fast-serialization +NAME:FST +STARS:1.6k +COMMIT:4y + +REPO:alipay/fury +NAME:Fury +STARS:- +COMMIT:- + +REPO:EsotericSoftware/kryo +NAME:Kryo +STARS:6.5k +COMMIT:23d + +REPO:msgpack/msgpack-java +NAME:MessagePack +STARS:1.5k +COMMIT:2d + +REPO:marcospassos/java-php-serializer +NAME:PHP Serializer +STARS:19 +COMMIT:7y + +REPO: +NAME:Apache Tomcat +STARS:- +COMMIT:- + +REPO: +NAME:Apache TomEE +STARS:- +COMMIT:- + +REPO: +NAME:Jetty +STARS:- +COMMIT:- + +REPO:NanoHttpd/nanohttpd +NAME:nanohttpd +STARS:7.2k +COMMIT:6y + +REPO: +NAME:WildFly +STARS:- +COMMIT:- + +REPO: +NAME:Freemarker +STARS:- +COMMIT:- + +REPO: +NAME:Handlebars.java +STARS:- +COMMIT:- + +REPO:neuland/jade4j +NAME:Jade4J +STARS:706 +COMMIT:4y + +REPO:verhas/jamal +NAME:Jamal +STARS:65 +COMMIT:8mo + +REPO:jstachio/jstachio +NAME:jstachio +STARS:315 +COMMIT:8mo + +REPO:casid/jte +NAME:jte +STARS:1.1k +COMMIT:2d + +REPO:jtwig/jtwig +NAME:Jtwig +STARS:300 +COMMIT:8y + +REPO: +NAME:Pebble +STARS:- +COMMIT:- + +REPO:fizzed/rocker +NAME:Rocker +STARS:781 +COMMIT:2mo + +REPO:antlr/stringtemplate4 +NAME:StringTemplate +STARS:1.0k +COMMIT:7mo + +REPO: +NAME:Thymeleaf +STARS:- +COMMIT:- + +REPO:awaitility/awaitility +NAME:Awaitility +STARS:4.0k +COMMIT:10mo + +REPO:jhalterman/concurrentunit +NAME:ConcurrentUnit +STARS:427 +COMMIT:2y + +REPO: +NAME:GreenMail +STARS:- +COMMIT:- + +REPO:SpectoLabs/hoverfly-java +NAME:Hoverfly Java +STARS:174 +COMMIT:18d + +REPO:intuit/karate +NAME:Karate +STARS:- +COMMIT:- + +REPO:rest-assured/rest-assured +NAME:REST Assured +STARS:7.1k +COMMIT:26d + +REPO:testingisdocumenting/webtau +NAME:WebTau +STARS:379 +COMMIT:3mo + +REPO:cucumber/cucumber-jvm +NAME:Cucumber +STARS:2.8k +COMMIT:1d + +REPO:ctco/cukes +NAME:Cukes-REST +STARS:110 +COMMIT:3y + +REPO:j8spec/j8spec +NAME:J8Spec +STARS:48 +COMMIT:3y + +REPO: +NAME:JBehave +STARS:- +COMMIT:- + +REPO: +NAME:JGiven +STARS:- +COMMIT:- + +REPO:RichardWarburton/lambda-behave +NAME:Lamdba Behave +STARS:253 +COMMIT:5y + +REPO:serenity-bdd/serenity-core +NAME:Serenity BDD +STARS:744 +COMMIT:12h + +REPO:AutoParams/AutoParams +NAME:AutoParams +STARS:368 +COMMIT:5mo + +REPO:keepcosmos/beanmother +NAME:Beanmother +STARS:121 +COMMIT:3y + +REPO:datafaker-net/datafaker +NAME:Datafaker +STARS:1.7k +COMMIT:5h + +REPO:six2six/fixture-factory +NAME:Fixture Factory +STARS:446 +COMMIT:3y + +REPO:Devskiller/jfairy +NAME:jFairy +STARS:- +COMMIT:- + +REPO:instancio/instancio +NAME:Instancio +STARS:1.1k +COMMIT:6m + +REPO:randomizedtesting/randomizedtesting +NAME:Randomized Testing +STARS:180 +COMMIT:10mo + +REPO:DiUS/java-faker +NAME:Java Faker +STARS:4.9k +COMMIT:3y + +REPO:nomemory/mockneat +NAME:Mockneat +STARS:536 +COMMIT:3y + +REPO:xcancloud/JMock +NAME:JMock +STARS:422 +COMMIT:2mo + +REPO: +NAME:Apache JMeter +STARS:- +COMMIT:- + +REPO: +NAME:JMeter DSL.java +STARS:- +COMMIT:- + +REPO: +NAME:Arquillian +STARS:- +COMMIT:- + +REPO:guhilling/cdi-test +NAME:cdi-test +STARS:27 +COMMIT:1d + +REPO: +NAME:Citrus +STARS:- +COMMIT:- + +REPO: +NAME:Gatling +STARS:- +COMMIT:- + +REPO: +NAME:JUnit +STARS:- +COMMIT:- + +REPO: +NAME:jqwik +STARS:- +COMMIT:- + +REPO:DiUS/pact-jvm +NAME:Pact JVM +STARS:- +COMMIT:- + +REPO: +NAME:PIT +STARS:- +COMMIT:- + +REPO:weld/weld-testing +NAME:weld-testing +STARS:112 +COMMIT:2d + +REPO: +NAME:AssertJ +STARS:- +COMMIT:- + +REPO: +NAME:Hamcrest +STARS:- +COMMIT:- + +REPO: +NAME:JSONAssert +STARS:- +COMMIT:- + +REPO:lukas-krecan/JsonUnit +NAME:JsonUnit +STARS:975 +COMMIT:13h + +REPO: +NAME:Truth +STARS:- +COMMIT:- + +REPO:xmlunit/xmlunit +NAME:XMLUnit +STARS:314 +COMMIT:2mo + +REPO:Hakky54/console-captor +NAME:ConsoleCaptor +STARS:33 +COMMIT:16d + +REPO:TNG/junit-dataprovider +NAME:junit-dataprovider +STARS:249 +COMMIT:25d + +REPO: +NAME:junit-pioneer +STARS:- +COMMIT:- + +REPO:Hakky54/log-captor +NAME:LogCaptor +STARS:421 +COMMIT:16d + +REPO:dm-drogeriemarkt/log-capture +NAME:log-capture +STARS:15 +COMMIT:1mo + +REPO:MutabilityDetector/MutabilityDetector +NAME:Mutability Detector +STARS:241 +COMMIT:2mo + +REPO: +NAME:pojo-tester +STARS:- +COMMIT:- + +REPO:nidi3/raml-tester +NAME:raml-tester +STARS:73 +COMMIT:7y + +REPO:diffplug/selfie +NAME:Selfie +STARS:87 +COMMIT:1mo + +REPO:stebz/stebz +NAME:Stebz +STARS:17 +COMMIT:1d + +REPO:testcontainers/testcontainers-java +NAME:Testcontainers +STARS:8.6k +COMMIT:23d + +REPO: +NAME:JMockit +STARS:- +COMMIT:- + +REPO:mockito/mockito +NAME:Mockito +STARS:15.4k +COMMIT:2d + +REPO: +NAME:MockServer +STARS:- +COMMIT:- + +REPO:dreamhead/moco +NAME:Moco +STARS:4.4k +COMMIT:1y + +REPO:powermock/powermock +NAME:PowerMock +STARS:4.2k +COMMIT:3y + +REPO: +NAME:WireMock +STARS:- +COMMIT:- + +REPO:easymock/easymock +NAME:EasyMock +STARS:831 +COMMIT:2d + +REPO:alibaba/arthas +NAME:Arthas +STARS:37.0k +COMMIT:2d + +REPO:vladimir-bukhtoyarov/bucket4j +NAME:bucket4j +STARS:- +COMMIT:- + +REPO:yegor256/cactoos +NAME:cactoos +STARS:763 +COMMIT:19h + +REPO:cleopatra27/chocotea +NAME:Chocotea +STARS:48 +COMMIT:2y + +REPO: +NAME:CRaSH +STARS:- +COMMIT:- + +REPO:PatMartin/Dex +NAME:Dex +STARS:1.3k +COMMIT:6y + +REPO:marianobarrios/dregex +NAME:dregex +STARS:48 +COMMIT:23h + +REPO:embulk/embulk +NAME:Embulk +STARS:1.8k +COMMIT:1mo + +REPO:vorburger/ch.vorburger.fswatch +NAME:fswatch +STARS:31 +COMMIT:5d + +REPO:gephi/gephi +NAME:Gephi +STARS:6.3k +COMMIT:2d + +REPO:google/guava +NAME:Guava +STARS:51.4k +COMMIT:1d + +REPO: +NAME:JADE +STARS:- +COMMIT:- + +REPO:MathieuSoysal/Javadoc-publisher.yml +NAME:Javadoc Publisher +STARS:55 +COMMIT:1mo + +REPO: +NAME:Java Diff Utils +STARS:- +COMMIT:- + +REPO:VerbalExpressions/JavaVerbalExpressions +NAME:JavaVerbalExpressions +STARS:2.6k +COMMIT:1mo + +REPO: +NAME:JGit +STARS:- +COMMIT:- + +REPO:evpl/jkscope +NAME:JKScope +STARS:21 +COMMIT:11mo + +REPO:minio/minio-java +NAME:minio-java +STARS:1.3k +COMMIT:22d + +REPO: +NAME:Protégé +STARS:- +COMMIT:- + +REPO:semver4j/semver4j +NAME:Semver4j +STARS:106 +COMMIT:23h + +REPO:javadev/underscore-java +NAME:Underscore-java +STARS:547 +COMMIT:29d + +REPO:shyiko/jabba +NAME:jabba +STARS:3.3k +COMMIT:4y + +REPO:jenv/jenv +NAME:jenv +STARS:6.5k +COMMIT:14d + +REPO:sdkman/sdkman-cli +NAME:SDKMan +STARS:6.6k +COMMIT:10h + +REPO: +NAME:Apache Nutch +STARS:- +COMMIT:- + +REPO:yasserg/crawler4j +NAME:Crawler4j +STARS:4.6k +COMMIT:5y + +REPO: +NAME:jsoup +STARS:- +COMMIT:- + +REPO: +NAME:StormCrawler +STARS:- +COMMIT:- + +REPO:code4craft/webmagic +NAME:webmagic +STARS:11.7k +COMMIT:6mo + +REPO: +NAME:ActiveJ +STARS:- +COMMIT:- + +REPO: +NAME:Apache Tapestry +STARS:- +COMMIT:- + +REPO: +NAME:Apache Wicket +STARS:- +COMMIT:- + +REPO:lets-blade/blade +NAME:Blade +STARS:5.9k +COMMIT:11mo + +REPO: +NAME:Bootique +STARS:- +COMMIT:- + +REPO: +NAME:Firefly +STARS:- +COMMIT:- + +REPO: +NAME:Javalin +STARS:- +COMMIT:- + +REPO: +NAME:Jooby +STARS:- +COMMIT:- + +REPO: +NAME:Ninja +STARS:- +COMMIT:- + +REPO: +NAME:Pippo +STARS:- +COMMIT:- + +REPO: +NAME:Play +STARS:- +COMMIT:- + +REPO: +NAME:PrimeFaces +STARS:- +COMMIT:- + +REPO: +NAME:Ratpack +STARS:- +COMMIT:- + +REPO:yegor256/takes +NAME:Takes +STARS:868 +COMMIT:6d + +REPO: +NAME:Vaadin +STARS:- +COMMIT:- + +REPO: +NAME:WebForms Core +STARS:- +COMMIT:- + +REPO: +NAME:Cadence +STARS:- +COMMIT:- + +REPO:flowable/flowable-engine +NAME:flowable +STARS:9.0k +COMMIT:1d + +REPO: +NAME:Temporal +STARS:- +COMMIT:- \ No newline at end of file diff --git a/.tmp/parsed-projects.txt b/.tmp/parsed-projects.txt new file mode 100644 index 00000000..6bf250bd --- /dev/null +++ b/.tmp/parsed-projects.txt @@ -0,0 +1,5186 @@ +NAME:ArchUnit +URL:https://github.com/TNG/ArchUnit +DESC:Test library for specifying and asserting architecture rules. +SKIP:1 +SECTION:Architecture +--- + +NAME:jMolecules +URL:https://github.com/xmolecules/jmolecules +DESC:Annotations and interfaces to express design and architecture concepts in code. +SKIP:1 +SECTION:Architecture +--- + +NAME:LangChain4j +URL:https://github.com/langchain4j/langchain4j +DESC:Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. +SKIP:1 +SECTION:Artificial Intelligence +--- + +NAME:MCP Java SDK +URL:https://github.com/modelcontextprotocol/java-sdk +DESC: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. +SKIP:1 +SECTION:Artificial Intelligence +--- + +NAME:simple-openai +URL:https://github.com/sashirestela/simple-openai +DESC:Library to use the OpenAI API (and compatible ones) in the simplest possible way. +SKIP:1 +SECTION:Artificial Intelligence +--- + +NAME:Spring AI +URL:https://spring.io/projects/spring-ai +DESC:Application framework for AI engineering for Spring. +SKIP:1 +SECTION:Artificial Intelligence +--- + +NAME:dOOv +URL:https://github.com/doov-io/doov +DESC:Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +SKIP:1 +SECTION:Bean Mapping +--- + +NAME:JMapper +URL:https://github.com/jmapper-framework/jmapper-core +DESC:Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. +SKIP:1 +SECTION:Bean Mapping +--- + +NAME:MapStruct +URL:https://github.com/mapstruct/mapstruct +DESC:Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. +SKIP:1 +SECTION:Bean Mapping +--- + +NAME:ModelMapper +URL:https://github.com/modelmapper/modelmapper +DESC:Intelligent object mapping library that automatically maps objects to each other. +SKIP:1 +SECTION:Bean Mapping +--- + +NAME:Orika +URL:https://github.com/orika-mapper/orika +DESC:JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. +SKIP:1 +SECTION:Bean Mapping +--- + +NAME:reMap +URL:https://github.com/remondis-it/remap +DESC:Lambda and method handle-based mapping which requires code and not annotations if objects have different names. +SKIP:1 +SECTION:Bean Mapping +--- + +NAME:Selma +URL:https://github.com/xebia-france/selma +DESC:Annotation processor-based bean mapper. +SKIP:1 +SECTION:Bean Mapping +--- + +NAME:Apache Maven +URL:https://maven.apache.org +DESC: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. +SKIP:1 +SECTION:Build +--- + +NAME:Bazel +URL:https://bazel.build +DESC:Tool from Google that builds code quickly and reliably. +SKIP:1 +SECTION:Build +--- + +NAME:Buck2 +URL:https://github.com/facebook/buck2 +DESC:Encourages the creation of small, reusable modules consisting of code and resources. +SKIP:1 +SECTION:Build +--- + +NAME:Gradle +URL:https://gradle.org +DESC:Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. +SKIP:1 +SECTION:Build +--- + +NAME:ASM +URL:https://asm.ow2.io +DESC:All-purpose, low-level bytecode manipulation and analysis. +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:Byte Buddy +URL:https://bytebuddy.net +DESC:Further simplifies bytecode generation with a fluent API. +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:bytecode-viewer +URL:https://github.com/Konloch/bytecode-viewer +DESC:Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:Byteman +URL:https://byteman.jboss.org +DESC:Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:cglib +URL:https://github.com/cglib/cglib +DESC:Bytecode generation library. +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:Javassist +URL:https://github.com/jboss-javassist/javassist +DESC:Tries to simplify bytecode editing. +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:Maker +URL:https://github.com/cojen/maker +DESC:Provides low level bytecode generation. +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:Mixin +URL:https://github.com/SpongePowered/Mixin +DESC:Manipulate bytecode at runtime using real Java code. +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:Perses +URL:https://github.com/nicolasmanic/perses +DESC:Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:Recaf +URL:https://www.coley.software/Recaf/ +DESC:JVM reverse engineering toolkit, essentially an IDE for Java bytecode. +SKIP:1 +SECTION:Bytecode Manipulation +--- + +NAME:cache2k +URL:https://cache2k.org +DESC:In-memory high performance caching library. +SKIP:1 +SECTION:Caching +--- + +NAME:Caffeine +URL:https://github.com/ben-manes/caffeine +DESC:High-performance, near-optimal caching library. +SKIP:1 +SECTION:Caching +--- + +NAME:Ehcache +URL:http://www.ehcache.org +DESC:Distributed general-purpose cache. +SKIP:1 +SECTION:Caching +--- + +NAME:Infinispan +URL:https://infinispan.org +DESC:Highly concurrent key/value datastore used for caching. +SKIP:1 +SECTION:Caching +--- + +NAME:Airline +URL:https://rvesse.github.io/airline/ +DESC:Annotation-based framework for parsing Git-like command-line arguments. +SKIP:1 +SECTION:CLI +--- + +NAME:JCommander +URL:http://jcommander.org +DESC:Command-line argument-parsing framework with custom types and validation via implementing interfaces. +SKIP:1 +SECTION:CLI +--- + +NAME:jbock +URL:https://github.com/jbock-java/jbock +DESC:Reflectionless command line parser. +SKIP:1 +SECTION:CLI +--- + +NAME:JLine +URL:https://github.com/jline/jline3 +DESC:Includes features from modern shells like completion or history. +SKIP:1 +SECTION:CLI +--- + +NAME:picocli +URL:https://picocli.info +DESC:ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +SKIP:1 +SECTION:CLI +--- + +NAME:Jansi +URL:https://github.com/fusesource/jansi +DESC:ANSI escape codes to format console output. +SKIP:1 +SECTION:CLI +--- + +NAME:Jexer +URL:https://gitlab.com/AutumnMeowMeow/jexer +DESC:Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). +SKIP:1 +SECTION:CLI +--- + +NAME:Text-IO +URL:https://github.com/beryx/text-io +DESC:Aids the creation of full console-based applications. +SKIP:1 +SECTION:CLI +--- + +NAME:Lanterna +URL:https://github.com/mabe02/lanterna +DESC:Easy console text-GUI library, similar to curses. (LGPL-3.0-only) +SKIP:1 +SECTION:CLI +--- + +NAME:AWS SDK for Java +URL:https://github.com/aws/aws-sdk-java +DESC:Provides Java APIs for interacting with Amazon Web Services. +SKIP:1 +SECTION:Cloud +--- + +NAME:Google Cloud Client Libraries +URL:https://github.com/googleapis/google-cloud-java +DESC:Client libraries for accessing Google Cloud services from Java applications. +SKIP:1 +SECTION:Cloud +--- + +NAME:Checkstyle +URL:https://github.com/checkstyle/checkstyle +DESC:Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +SKIP:1 +SECTION:Code Analysis +--- + +NAME:Error Prone +URL:https://github.com/google/error-prone +DESC:Catches common programming mistakes as compile-time errors. +SKIP:1 +SECTION:Code Analysis +--- + +NAME:Error Prone Support +URL:https://github.com/PicnicSupermarket/error-prone-support +DESC:Error Prone extensions: extra bug checkers and a large battery of Refaster templates. +SKIP:1 +SECTION:Code Analysis +--- + +NAME:Infer +URL:https://github.com/facebook/infer +DESC:Modern static analysis tool for verifying the correctness of code. +SKIP:1 +SECTION:Code Analysis +--- + +NAME:jQAssistant +URL:https://jqassistant.org +DESC:Static code analysis with Neo4J-based query language. (GPL-3.0-only) +SKIP:1 +SECTION:Code Analysis +--- + +NAME:NullAway +URL:https://github.com/uber/NullAway +DESC:Eliminates NullPointerExceptions with low build-time overhead. +SKIP:1 +SECTION:Code Analysis +--- + +NAME:PMD +URL:https://github.com/pmd/pmd +DESC:Source code analysis for finding bad coding practices. +SKIP:1 +SECTION:Code Analysis +--- + +NAME:p3c +URL:https://github.com/alibaba/p3c +DESC:Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +SKIP:1 +SECTION:Code Analysis +--- + +NAME:RefactorFirst +URL:https://github.com/jimbethancourt/RefactorFirst +DESC:Identifies and prioritizes God Classes and Highly Coupled classes. +SKIP:1 +SECTION:Code Analysis +--- + +NAME:SonarJava +URL:https://github.com/SonarSource/sonar-java +DESC:Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) +SKIP:1 +SECTION:Code Analysis +--- + +NAME:Spoon +URL:https://github.com/INRIA/spoon +DESC:Library for analyzing and transforming Java source code. +SKIP:1 +SECTION:Code Analysis +--- + +NAME:Spotbugs +URL:https://github.com/spotbugs/spotbugs +DESC:Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +SKIP:1 +SECTION:Code Analysis +--- + +NAME:Clover +URL:https://www.atlassian.com/software/clover +DESC:Relies on source-code instrumentation instead of bytecode instrumentation. +SKIP:1 +SECTION:Code Coverage +--- + +NAME:Cobertura +URL:https://cobertura.github.io/cobertura/ +DESC:Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +SKIP:1 +SECTION:Code Coverage +--- + +NAME:JaCoCo +URL:https://www.eclemma.org/jacoco/ +DESC:Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. +SKIP:1 +SECTION:Code Coverage +--- + +NAME:ADT4J +URL:https://github.com/sviperll/adt4j +DESC:JSR-269 code generator for algebraic data types. +SKIP:1 +SECTION:Code Generators +--- + +NAME:Auto +URL:https://github.com/google/auto +DESC:Generates factory, service, and value classes. +SKIP:1 +SECTION:Code Generators +--- + +NAME:Avaje Http Server +URL:https://avaje.io/http/ +DESC:Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +SKIP:1 +SECTION:Code Generators +--- + +NAME:EasyEntityToDTO +URL:https://github.com/Marcel091004/EasyEntityToDTO +DESC:Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +SKIP:1 +SECTION:Code Generators +--- + +NAME:FreeBuilder +URL:https://github.com/inferred/FreeBuilder +DESC:Automatically generates the Builder pattern. +SKIP:1 +SECTION:Code Generators +--- + +NAME:Geci +URL:https://github.com/verhas/javageci +DESC:Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +SKIP:1 +SECTION:Code Generators +--- + +NAME:Immutables +URL:https://immutables.github.io +DESC:Annotation processors to generate simple, safe and consistent value objects. +SKIP:1 +SECTION:Code Generators +--- + +NAME:JavaPoet +URL:https://github.com/square/javapoet +DESC:API to generate source files. +SKIP:1 +SECTION:Code Generators +--- + +NAME:JHipster +URL:https://github.com/jhipster/generator-jhipster +DESC:Yeoman source code generator for Spring Boot and AngularJS. +SKIP:1 +SECTION:Code Generators +--- + +NAME:Joda-Beans +URL:https://www.joda.org/joda-beans/ +DESC:Small framework that adds queryable properties to Java, enhancing JavaBeans. +SKIP:1 +SECTION:Code Generators +--- + +NAME:JSpecify Package-Info Generator +URL:https://github.com/bcaillard/jspecify-packageinfo-generator +DESC:Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +SKIP:1 +SECTION:Code Generators +--- + +NAME:Lombok +URL:https://projectlombok.org +DESC:Code generator that aims to reduce verbosity. +SKIP:1 +SECTION:Code Generators +--- + +NAME:Record-Builder +URL:https://github.com/Randgalt/record-builder +DESC:Companion builder class, withers and templates for Java records. +SKIP:1 +SECTION:Code Generators +--- + +NAME:Telosys +URL:https://www.telosys.org/ +DESC:Simple and light code generator available as an Eclipse Plugin and also as a CLI. +SKIP:1 +SECTION:Code Generators +--- + +NAME:ANTLR +URL:https://www.antlr.org +DESC:Complex full-featured framework for top-down parsing. +SKIP:1 +SECTION:Compiler-compiler +--- + +NAME:JavaCC +URL:https://javacc.github.io/javacc/ +DESC:Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +SKIP:1 +SECTION:Compiler-compiler +--- + +NAME:JFlex +URL:https://jflex.de +DESC:Lexical analyzer generator. +SKIP:1 +SECTION:Compiler-compiler +--- + +NAME:BoofCV +URL:https://boofcv.org +DESC:Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +SKIP:1 +SECTION:Computer Vision +--- + +NAME:ImageJ +URL:https://imagej.net/ImageJ +DESC:Medical image processing application with an API. +SKIP:1 +SECTION:Computer Vision +--- + +NAME:JavaCV +URL:https://github.com/bytedeco/javacv +DESC:Java interface to OpenCV, FFmpeg, and much more. +SKIP:1 +SECTION:Computer Vision +--- + +NAME:avaje config +URL:https://avaje.io/config/ +DESC:Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +SKIP:1 +SECTION:Configuration +--- + +NAME:centraldogma +URL:https://github.com/line/centraldogma +DESC:Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +SKIP:1 +SECTION:Configuration +--- + +NAME:config +URL:https://github.com/lightbend/config +DESC:Configuration library supporting Java properties, JSON or its human optimized superset HOCON. +SKIP:1 +SECTION:Configuration +--- + +NAME:Configurate +URL:https://github.com/SpongePowered/Configurate +DESC:Configuration library with support for various configuration formats and transformations. +SKIP:1 +SECTION:Configuration +--- + +NAME:Curator Framework +URL:https://curator.apache.org/ +DESC:High-level API for Apache ZooKeeper. +SKIP:1 +SECTION:Configuration +--- + +NAME:dotenv +URL:https://github.com/shyiko/dotenv +DESC:Twelve-factor configuration library which uses environment-specific files. +SKIP:1 +SECTION:Configuration +--- + +NAME:Externalized Properties +URL:https://github.com/joel-jeremy/externalized-properties +DESC:Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. +SKIP:1 +SECTION:Configuration +--- + +NAME:Gestalt +URL:https://github.com/gestalt-config/gestalt +DESC: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. +SKIP:1 +SECTION:Configuration +--- + +NAME:ini4j +URL:http://ini4j.sourceforge.net +DESC:Provides an API for handling Windows' INI files. +SKIP:1 +SECTION:Configuration +--- + +NAME:KAConf +URL:https://github.com/mariomac/kaconf +DESC:Annotation-based configuration system for Java and Kotlin. +SKIP:1 +SECTION:Configuration +--- + +NAME:microconfig +URL:https://microconfig.io +DESC: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. +SKIP:1 +SECTION:Configuration +--- + +NAME:owner +URL:https://github.com/lviggiano/owner +DESC:Reduces boilerplate of properties. +SKIP:1 +SECTION:Configuration +--- + +NAME:Choco +URL:https://choco-solver.org +DESC:Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +SKIP:1 +SECTION:Constraint Satisfaction Problem Solver +--- + +NAME:JaCoP +URL:https://github.com/radsz/jacop +DESC:Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) +SKIP:1 +SECTION:Constraint Satisfaction Problem Solver +--- + +NAME:OptaPlanner +URL:https://www.optaplanner.org +DESC:Business planning and resource scheduling optimization solver. +SKIP:1 +SECTION:Constraint Satisfaction Problem Solver +--- + +NAME:Timefold +URL:https://timefold.ai/docs +DESC:Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. +SKIP:1 +SECTION:Constraint Satisfaction Problem Solver +--- + +NAME:FastCSV +URL:https://github.com/osiegmar/FastCSV +DESC:Performance-optimized, dependency-free and RFC 4180 compliant. +SKIP:1 +SECTION:CSV +--- + +NAME:jackson-dataformat-csv +URL:https://github.com/FasterXML/jackson-dataformat-csv +DESC:Jackson extension for reading and writing CSV. +SKIP:1 +SECTION:CSV +--- + +NAME:opencsv +URL:http://opencsv.sourceforge.net +DESC:Simple CSV parser. +SKIP:1 +SECTION:CSV +--- + +NAME:Super CSV +URL:https://super-csv.github.io/super-csv/ +DESC:Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +SKIP:1 +SECTION:CSV +--- + +NAME:uniVocity-parsers +URL:https://github.com/uniVocity/univocity-parsers +DESC:One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. +SKIP:1 +SECTION:CSV +--- + +NAME:Apache Avro +URL:https://avro.apache.org +DESC:Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Apache Orc +URL:https://orc.apache.org +DESC:Fast and efficient columnar storage format for Hadoop-based workloads. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Apache Parquet +URL:https://parquet.apache.org +DESC:Columnar storage format based on assembly algorithms from Google's paper on Dremel. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Apache Thrift +URL:https://thrift.apache.org +DESC:Data interchange format that originated at Facebook. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Big Queue +URL:https://github.com/bulldog2011/bigqueue +DESC:Fast and persistent queue based on memory-mapped files. +SKIP:1 +SECTION:Data Structures +--- + +NAME:HyperMinHash-java +URL:https://github.com/LiveRamp/HyperMinHash-java +DESC:Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Persistent Collection +URL:https://github.com/hrldcpr/pcollections +DESC:Persistent and immutable analogue of the Java Collections Framework. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Protobuf +URL:https://github.com/protocolbuffers/protobuf +DESC:Google's data interchange format. +SKIP:1 +SECTION:Data Structures +--- + +NAME:RoaringBitmap +URL:https://github.com/RoaringBitmap/RoaringBitmap +DESC:Fast and efficient compressed bitmap. +SKIP:1 +SECTION:Data Structures +--- + +NAME:SBE +URL:https://github.com/real-logic/simple-binary-encoding +DESC:Simple Binary Encoding, one of the fastest message formats around. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Tape +URL:https://github.com/square/tape +DESC:Lightning-fast, transactional, file-based FIFO. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Wire +URL:https://github.com/square/wire +DESC:Clean, lightweight protocol buffers. +SKIP:1 +SECTION:Data Structures +--- + +NAME:Apache Calcite +URL:https://calcite.apache.org +DESC:Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +SKIP:1 +SECTION:Database +--- + +NAME:Apache Drill +URL:https://drill.apache.org +DESC:Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +SKIP:1 +SECTION:Database +--- + +NAME:Apache Phoenix +URL:https://phoenix.apache.org +DESC:High-performance relational database layer over HBase for low-latency applications. +SKIP:1 +SECTION:Database +--- + +NAME:ArangoDB +URL:https://github.com/arangodb/arangodb-java-driver +DESC:ArangoDB Java driver. +SKIP:1 +SECTION:Database +--- + +NAME:Chronicle Map +URL:https://github.com/OpenHFT/Chronicle-Map +DESC:Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +SKIP:1 +SECTION:Database +--- + +NAME:Debezium +URL:https://debezium.io/ +DESC:Low latency data streaming platform for change data capture. +SKIP:1 +SECTION:Database +--- + +NAME:druid +URL:https://druid.apache.org +DESC:High-performance, column-oriented, distributed data store. +SKIP:1 +SECTION:Database +--- + +NAME:eXist +URL:https://github.com/eXist-db/exist +DESC:NoSQL document database and application platform. (LGPL-2.1-only) +SKIP:1 +SECTION:Database +--- + +NAME:FlexyPool +URL:https://github.com/vladmihalcea/flexy-pool +DESC:Brings metrics and failover strategies to the most common connection pooling solutions. +SKIP:1 +SECTION:Database +--- + +NAME:Flyway +URL:https://flywaydb.org +DESC:Simple database migration tool. +SKIP:1 +SECTION:Database +--- + +NAME:H2 +URL:https://h2database.com +DESC:Small SQL database notable for its in-memory functionality. +SKIP:1 +SECTION:Database +--- + +NAME:HikariCP +URL:https://github.com/brettwooldridge/HikariCP +DESC:High-performance JDBC connection pool. +SKIP:1 +SECTION:Database +--- + +NAME:HSQLDB +URL:https://hsqldb.org/ +DESC:HyperSQL 100% Java database. +SKIP:1 +SECTION:Database +--- + +NAME:JDBI +URL:http://jdbi.org +DESC:Convenient abstraction of JDBC. +SKIP:1 +SECTION:Database +--- + +NAME:Jedis +URL:https://github.com/xetorthio/jedis +DESC:Small client for interaction with Redis, with methods for commands. +SKIP:1 +SECTION:Database +--- + +NAME:Jest +URL:https://github.com/searchbox-io/Jest +DESC:Client for the Elasticsearch REST API. +SKIP:1 +SECTION:Database +--- + +NAME:jetcd +URL:https://github.com/justinsb/jetcd +DESC:Client library for etcd. +SKIP:1 +SECTION:Database +--- + +NAME:Jinq +URL:https://github.com/my2iu/Jinq +DESC:Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). +SKIP:1 +SECTION:Database +--- + +NAME:jOOQ +URL:https://www.jooq.org +DESC:Generates typesafe code based on SQL schema. +SKIP:1 +SECTION:Database +--- + +NAME:Leaf +URL:https://github.com/Meituan-Dianping/Leaf +DESC:Distributed ID generate service. +SKIP:1 +SECTION:Database +--- + +NAME:Lettuce +URL:https://lettuce.io/ +DESC:Lettuce is a scalable Redis client for building non-blocking Reactive applications. +SKIP:1 +SECTION:Database +--- + +NAME:Liquibase +URL:http://www.liquibase.org +DESC:Database-independent library for tracking, managing and applying database schema changes. +SKIP:1 +SECTION:Database +--- + +NAME:MapDB +URL:http://www.mapdb.org +DESC:Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +SKIP:1 +SECTION:Database +--- + +NAME:MariaDB4j +URL:https://github.com/vorburger/MariaDB4j +DESC:Launcher for MariaDB that requires no installation or external dependencies. +SKIP:1 +SECTION:Database +--- + +NAME:Modality +URL:https://github.com/arkanovicz/modality +DESC:Lightweight ORM with database reverse engineering features. +SKIP:1 +SECTION:Database +--- + +NAME:OpenDJ +URL:https://github.com/OpenIdentityPlatform/OpenDJ +DESC:LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. +SKIP:1 +SECTION:Database +--- + +NAME:Querydsl +URL:http://www.querydsl.com +DESC:Typesafe unified queries. +SKIP:1 +SECTION:Database +--- + +NAME:QueryStream +URL:https://github.com/querystream/querystream +DESC:Build JPA Criteria queries using a Stream-like API. +SKIP:1 +SECTION:Database +--- + +NAME:QuestDB +URL:https://github.com/questdb/questdb +DESC:High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. +SKIP:1 +SECTION:Database +--- + +NAME:Realm +URL:https://github.com/realm/realm-java +DESC:Mobile database to run directly inside phones, tablets or wearables. +SKIP:1 +SECTION:Database +--- + +NAME:Redisson +URL:https://github.com/redisson/redisson +DESC:Allows for distributed and scalable data structures on top of a Redis server. +SKIP:1 +SECTION:Database +--- + +NAME:requery +URL:https://github.com/requery/requery +DESC:Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +SKIP:1 +SECTION:Database +--- + +NAME:Speedment +URL:https://github.com/speedment/speedment +DESC:Database access library that utilizes Java 8's Stream API for querying. +SKIP:1 +SECTION:Database +--- + +NAME:Spring Data JPA MongoDB Expressions +URL:https://github.com/mhewedy/spring-data-jpa-mongodb-expressions +DESC:Allows you to use MongoDB query language to query your relational database. +SKIP:1 +SECTION:Database +--- + +NAME:Trino +URL:https://trino.io +DESC:Distributed SQL query engine for big data. +SKIP:1 +SECTION:Database +--- + +NAME:Vibur DBCP +URL:https://www.vibur.org +DESC:JDBC connection pool library with advanced performance monitoring capabilities. +SKIP:1 +SECTION:Database +--- + +NAME:Xodus +URL:https://github.com/JetBrains/xodus +DESC:Highly concurrent transactional schema-less and ACID-compliant embedded database. +SKIP:1 +SECTION:Database +--- + +NAME:CosId +URL:https://github.com/Ahoo-Wang/CosId +DESC:Universal, flexible, high-performance distributed ID generator. +SKIP:1 +SECTION:Database +--- + +NAME:iCal4j +URL:https://github.com/ical4j/ical4j +DESC:Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. +SKIP:1 +SECTION:Date and Time +--- + +NAME:Jollyday +URL:https://github.com/svendiedrichsen/jollyday +DESC:Determines the holidays for a given year, country/name and eventually state/region. +SKIP:1 +SECTION:Date and Time +--- + +NAME:ThreeTen-Extra +URL:https://github.com/ThreeTen/threeten-extra +DESC:Additional date-time classes that complement those in JDK 8. +SKIP:1 +SECTION:Date and Time +--- + +NAME:Time4J +URL:https://github.com/MenoData/Time4J +DESC:Advanced date and time library. (LGPL-2.1-only) +SKIP:1 +SECTION:Date and Time +--- + +NAME:Apache DeltaSpike +URL:https://deltaspike.apache.org +DESC:CDI extension framework. +SKIP:1 +SECTION:Dependency Injection +--- + +NAME:Avaje Inject +URL:https://avaje.io/inject/ +DESC:Microservice-focused compile-time injection framework without reflection. +SKIP:1 +SECTION:Dependency Injection +--- + +NAME:Dagger +URL:https://dagger.dev/ +DESC:Compile-time injection framework without reflection. +SKIP:1 +SECTION:Dependency Injection +--- + +NAME:Feather +URL:https://github.com/zsoltherpai/feather +DESC:Ultra-lightweight, JSR-330-compliant dependency injection library. +SKIP:1 +SECTION:Dependency Injection +--- + +NAME:Governator +URL:https://github.com/Netflix/governator +DESC:Extensions and utilities that enhance Google Guice. +SKIP:1 +SECTION:Dependency Injection +--- + +NAME:Guice +URL:https://github.com/google/guice +DESC:Lightweight and opinionated framework that completes Dagger. +SKIP:1 +SECTION:Dependency Injection +--- + +NAME:HK2 +URL:https://eclipse-ee4j.github.io/glassfish-hk2/ +DESC:Lightweight and dynamic dependency injection framework. +SKIP:1 +SECTION:Dependency Injection +--- + +NAME:JayWire +URL:https://github.com/vanillasource/jaywire +DESC:Lightweight dependency injection framework. (LGPL-3.0-only) +SKIP:1 +SECTION:Dependency Injection +--- + +NAME:AspectJ +URL:https://www.eclipse.org/aspectj/ +DESC:Seamless aspect-oriented programming extension. +SKIP:1 +SECTION:Development +--- + +NAME:DCEVM +URL:https://dcevm.github.io +DESC:JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) +SKIP:1 +SECTION:Development +--- + +NAME:Faux Pas +URL:https://github.com/zalando/faux-pas +DESC:Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +SKIP:1 +SECTION:Development +--- + +NAME:HotswapAgent +URL:https://github.com/HotswapProjects/HotswapAgent +DESC:Unlimited runtime class and resource redefinition. (GPL-2.0-only) +SKIP:1 +SECTION:Development +--- + +NAME:JavaParser +URL:https://github.com/javaparser/javaparser +DESC:Parse, modify and generate Java code. +SKIP:1 +SECTION:Development +--- + +NAME:JavaSymbolSolver +URL:https://github.com/javaparser/javasymbolsolver +DESC:Symbol solver. +SKIP:1 +SECTION:Development +--- + +NAME:Manifold +URL:https://github.com/manifold-systems/manifold +DESC:Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. +SKIP:1 +SECTION:Development +--- + +NAME:NoException +URL:https://noexception.machinezoo.com +DESC:Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +SKIP:1 +SECTION:Development +--- + +NAME:SneakyThrow +URL:https://github.com/rainerhahnekamp/sneakythrow +DESC:Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. +SKIP:1 +SECTION:Development +--- + +NAME:Tail +URL:https://nrktkt.github.io/tail/ +DESC:Enable infinite recursion using tail call optimization. +SKIP:1 +SECTION:Development +--- + +NAME:Apache Geode +URL:https://geode.apache.org +DESC:In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Apache Storm +URL:https://storm.apache.org +DESC:Realtime computation system. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Apache ZooKeeper +URL:https://zookeeper.apache.org +DESC:Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Atomix +URL:https://atomix.io +DESC:Fault-tolerant distributed coordination framework. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Axon +URL:https://axoniq.io +DESC:Framework for creating CQRS applications. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Dropwizard Circuit Breaker +URL:https://github.com/mtakaki/dropwizard-circuitbreaker +DESC:Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Failsafe +URL:https://github.com/jhalterman/failsafe +DESC:Simple failure handling with retries and circuit breakers. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Hazelcast +URL:https://github.com/hazelcast/hazelcast +DESC:Highly scalable in-memory datagrid with a free open-source version. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:JGroups +URL:http://www.jgroups.org +DESC:Toolkit for reliable messaging and cluster creation. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Quasar +URL:http://docs.paralleluniverse.co/quasar/ +DESC:Lightweight threads and actors for the JVM. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:resilience4j +URL:https://github.com/resilience4j/resilience4j +DESC:Functional fault tolerance library. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:OpenIG +URL:https://github.com/OpenIdentityPlatform/OpenIG +DESC:High-performance reverse proxy server with specialized session management and credential replay functionality. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:ScaleCube Services +URL:https://github.com/scalecube/scalecube-services +DESC:Embeddable Cluster-Membership library based on SWIM and gossip protocol. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Zuul +URL:https://github.com/Netflix/zuul +DESC:Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. +SKIP:1 +SECTION:Distributed Applications +--- + +NAME:Atomikos +URL:https://www.atomikos.com +DESC:Provides transactions for REST, SOA and microservices with support for JTA and XA. +SKIP:1 +SECTION:Distributed Transactions +--- + +NAME:Bitronix +URL:https://github.com/bitronix/btm +DESC:Simple but complete implementation of the JTA 1.1 API. +SKIP:1 +SECTION:Distributed Transactions +--- + +NAME:Narayana +URL:https://narayana.io +DESC:Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +SKIP:1 +SECTION:Distributed Transactions +--- + +NAME:Seata +URL:https://github.com/seata/seata +DESC:Delivers high performance and easy to use distributed transaction services under a microservices architecture. +SKIP:1 +SECTION:Distributed Transactions +--- + +NAME:Artipie +URL:https://github.com/artipie/artipie +DESC:Binary artifact management toolkit which hosts them on the file system or S3. +SKIP:1 +SECTION:Distribution +--- + +NAME:Capsule +URL:https://github.com/puniverse/capsule +DESC:Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +SKIP:1 +SECTION:Distribution +--- + +NAME:Central Repository +URL:https://search.maven.org +DESC:Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +SKIP:1 +SECTION:Distribution +--- + +NAME:Getdown +URL:https://github.com/threerings/getdown +DESC:System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +SKIP:1 +SECTION:Distribution +--- + +NAME:IzPack +URL:http://izpack.org +DESC:Setup authoring tool for cross-platform deployments. +SKIP:1 +SECTION:Distribution +--- + +NAME:JavaPackager +URL:https://github.com/fvarrui/JavaPackager +DESC:Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +SKIP:1 +SECTION:Distribution +--- + +NAME:jDeploy +URL:https://www.jdeploy.com +DESC:Deploy desktop apps as native Mac, Windows or Linux bundles. +SKIP:1 +SECTION:Distribution +--- + +NAME:jlink.online +URL:https://github.com/AdoptOpenJDK/jlink.online +DESC:Builds optimized runtimes over HTTP. +SKIP:1 +SECTION:Distribution +--- + +NAME:packr +URL:https://github.com/libgdx/packr +DESC:Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. +SKIP:1 +SECTION:Distribution +--- + +NAME:really-executable-jars-maven-plugin +URL:https://github.com/brianm/really-executable-jars-maven-plugin +DESC:Maven plugin for making self-executing JARs. +SKIP:1 +SECTION:Distribution +--- + +NAME:Apache POI +URL:https://poi.apache.org +DESC:Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +SKIP:1 +SECTION:Document Processing +--- + +NAME:documents4j +URL:https://documents4j.com/#/ +DESC:API for document format conversion using third-party converters such as MS Word. +SKIP:1 +SECTION:Document Processing +--- + +NAME:docx4j +URL:https://www.docx4java.org/trac/docx4j +DESC:Create and manipulate Microsoft Open XML files. +SKIP:1 +SECTION:Document Processing +--- + +NAME:fastexcel +URL:https://github.com/dhatim/fastexcel +DESC:High performance library to read and write large Excel (XLSX) worksheets. +SKIP:1 +SECTION:Document Processing +--- + +NAME:zerocell +URL:https://github.com/creditdatamw/zerocell +DESC:Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. +SKIP:1 +SECTION:Document Processing +--- + +NAME:Cassandre +URL:https://github.com/cassandre-tech/cassandre-trading-bot +DESC:Trading bot framework. +SKIP:1 +SECTION:Financial +--- + +NAME:Parity +URL:https://github.com/paritytrading/parity +DESC:Platform for trading venues. +SKIP:1 +SECTION:Financial +--- + +NAME:Philadelphia +URL:https://github.com/paritytrading/philadelphia +DESC:Low-latency financial information exchange. +SKIP:1 +SECTION:Financial +--- + +NAME:Square +URL:https://github.com/square/connect-java-sdk +DESC:Integration with the Square API. +SKIP:1 +SECTION:Financial +--- + +NAME:Stripe +URL:https://github.com/stripe/stripe-java +DESC:Integration with the Stripe API. +SKIP:1 +SECTION:Financial +--- + +NAME:ta4j +URL:https://github.com/ta4j/ta4j +DESC:Library for technical analysis. +SKIP:1 +SECTION:Financial +--- + +NAME:CATG +URL:https://github.com/ksen007/janala2 +DESC:Concolic unit testing engine. Automatically generates unit tests using formal methods. +SKIP:1 +SECTION:Formal Verification +--- + +NAME:Checker Framework +URL:https://checkerframework.org +DESC:Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:Formal Verification +--- + +NAME:Daikon +URL:https://plse.cs.washington.edu/daikon/ +DESC:Detects likely program invariants and generates JML specs based on those invariants. +SKIP:1 +SECTION:Formal Verification +--- + +NAME:Java Path Finder (JPF) +URL:https://github.com/javapathfinder/jpf-core +DESC:JVM formal verification tool containing a model checker and more. Created by NASA. +SKIP:1 +SECTION:Formal Verification +--- + +NAME:JMLOK 2.0 +URL:https://massoni.computacao.ufcg.edu.br/home/jmlok +DESC: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) +SKIP:1 +SECTION:Formal Verification +--- + +NAME:KeY +URL:https://www.key-project.org +DESC: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) +SKIP:1 +SECTION:Formal Verification +--- + +NAME:OpenJML +URL:http://www.openjml.org +DESC:Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) +SKIP:1 +SECTION:Formal Verification +--- + +NAME:Cyclops +URL:https://github.com/aol/cyclops +DESC:Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. +SKIP:1 +SECTION:Functional Programming +--- + +NAME:derive4j +URL:https://github.com/derive4j/derive4j +DESC:Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) +SKIP:1 +SECTION:Functional Programming +--- + +NAME:Fugue +URL:https://bitbucket.org/atlassian/fugue +DESC:Functional extensions to Guava. +SKIP:1 +SECTION:Functional Programming +--- + +NAME:Functional Java +URL:http://www.functionaljava.org +DESC:Implements numerous basic and advanced programming abstractions that assist composition-oriented development. +SKIP:1 +SECTION:Functional Programming +--- + +NAME:jOOλ +URL:https://github.com/jOOQ/jOOL +DESC: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. +SKIP:1 +SECTION:Functional Programming +--- + +NAME:Packrat +URL:https://github.com/jhspetersson/packrat +DESC:Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. +SKIP:1 +SECTION:Functional Programming +--- + +NAME:protonpack +URL:https://github.com/poetix/protonpack +DESC:Collection of stream utilities. +SKIP:1 +SECTION:Functional Programming +--- + +NAME:StreamEx +URL:https://github.com/amaembo/streamex +DESC:Enhances Java 8 Streams. +SKIP:1 +SECTION:Functional Programming +--- + +NAME:Vavr +URL:https://www.vavr.io +DESC:Functional component library that provides persistent data types and functional control structures. +SKIP:1 +SECTION:Functional Programming +--- + +NAME:FXGL +URL:https://almasb.github.io/FXGL/ +DESC:JavaFX Game Development Framework. +SKIP:1 +SECTION:Game Development +--- + +NAME:JBox2D +URL:http://www.jbox2d.org/ +DESC:Port of the renowned C++ 2D physics engine. +SKIP:1 +SECTION:Game Development +--- + +NAME:jMonkeyEngine +URL:https://jmonkeyengine.org +DESC:Game engine for modern 3D development. +SKIP:1 +SECTION:Game Development +--- + +NAME:libGDX +URL:https://libgdx.com +DESC:All-round cross-platform, high-level framework. +SKIP:1 +SECTION:Game Development +--- + +NAME:Litiengine +URL:https://litiengine.com/ +DESC:AWT-based, lightweight 2D game engine. +SKIP:1 +SECTION:Game Development +--- + +NAME:LWJGL +URL:https://www.lwjgl.org +DESC:Robust framework that abstracts libraries like OpenGL/CL/AL. +SKIP:1 +SECTION:Game Development +--- + +NAME:Mini2Dx +URL:https://mini2dx.org +DESC:Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. +SKIP:1 +SECTION:Game Development +--- + +NAME:Void2D +URL:https://github.com/xzripper/Void2D +DESC:High-level 2D game engine with built-in physics based on Swing. +SKIP:1 +SECTION:Game Development +--- + +NAME:vulkan4j +URL:https://github.com/chuigda/vulkan4j +DESC:Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. +SKIP:1 +SECTION:Game Development +--- + +NAME:Apache SIS +URL:https://sis.apache.org +DESC:Library for developing geospatial applications. +SKIP:1 +SECTION:Geospatial +--- + +NAME:Geo +URL:https://github.com/davidmoten/geo +DESC:GeoHash utilities in Java. +SKIP:1 +SECTION:Geospatial +--- + +NAME:GeoTools +URL:https://geotools.org +DESC:Library that provides tools for geospatial data. (LGPL-2.1-only) +SKIP:1 +SECTION:Geospatial +--- + +NAME:GraphHopper +URL:https://github.com/graphhopper/graphhopper +DESC:Road-routing engine. Used as a Java library or standalone web service. +SKIP:1 +SECTION:Geospatial +--- + +NAME:H2GIS +URL:http://www.h2gis.org +DESC:Spatial extension of the H2 database. (LGPL-3.0-only) +SKIP:1 +SECTION:Geospatial +--- + +NAME:Jgeohash +URL:https://astrapi69.github.io/jgeohash/ +DESC:Library for using the GeoHash algorithm. +SKIP:1 +SECTION:Geospatial +--- + +NAME:Mapsforge +URL:https://github.com/mapsforge/mapsforge +DESC:Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +SKIP:1 +SECTION:Geospatial +--- + +NAME:Spatial4j +URL:https://github.com/locationtech/spatial4j +DESC:General-purpose spatial/geospatial library. +SKIP:1 +SECTION:Geospatial +--- + +NAME:JavaFX +URL:https://wiki.openjdk.java.net/display/OpenJFX/Main +DESC:Successor of Swing. +SKIP:1 +SECTION:GUI +--- + +NAME:Scene Builder +URL:https://gluonhq.com/products/scene-builder/ +DESC:Visual layout tool for JavaFX applications. +SKIP:1 +SECTION:GUI +--- + +NAME:SnapKit +URL:https://github.com/reportmill/SnapKit +DESC:Modern Java UI library for both desktop and web. +SKIP:1 +SECTION:GUI +--- + +NAME:SWT +URL:https://www.eclipse.org/swt/ +DESC:Graphical widget toolkit. +SKIP:1 +SECTION:GUI +--- + +NAME:Agrona +URL:https://github.com/real-logic/Agrona +DESC:Data structures and utility methods that are common in high-performance applications. +SKIP:1 +SECTION:High Performance +--- + +NAME:Disruptor +URL:https://lmax-exchange.github.io/disruptor/ +DESC:Inter-thread messaging library. +SKIP:1 +SECTION:High Performance +--- + +NAME:Eclipse Collections +URL:https://github.com/eclipse/eclipse-collections +DESC:Collections framework inspired by Smalltalk. +SKIP:1 +SECTION:High Performance +--- + +NAME:fastutil +URL:http://fastutil.di.unimi.it +DESC:Fast and compact type-specific collections. +SKIP:1 +SECTION:High Performance +--- + +NAME:HPPC +URL:https://labs.carrotsearch.com/hppc.html +DESC:Primitive collections. +SKIP:1 +SECTION:High Performance +--- + +NAME:JCTools +URL:https://github.com/JCTools/JCTools +DESC:Concurrency tools currently missing from the JDK. +SKIP:1 +SECTION:High Performance +--- + +NAME:Koloboke +URL:https://github.com/leventov/Koloboke +DESC:Carefully designed extension of the Java Collections Framework with primitive specializations and more. +SKIP:1 +SECTION:High Performance +--- + +NAME:Apache HttpComponents +URL:https://hc.apache.org/ +DESC:Toolset of low-level Java components focused on HTTP and associated protocols. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:Async Http Client +URL:https://github.com/AsyncHttpClient/async-http-client +DESC:Asynchronous HTTP and WebSocket client library. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:Avaje Http Client +URL:https://avaje.io/http-client +DESC:Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:Feign +URL:https://github.com/OpenFeign/feign +DESC:HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:Google HTTP Client +URL:https://github.com/googleapis/google-http-java-client +DESC:Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:methanol +URL:https://github.com/mizosoft/methanol +DESC:HTTP client extensions library. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:Retrofit +URL:https://square.github.io/retrofit/ +DESC:Typesafe REST client. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:Ribbon +URL:https://github.com/Netflix/ribbon +DESC:Client-side IPC library that is battle-tested in the cloud. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:Riptide +URL:https://github.com/zalando/riptide +DESC:Client-side response routing for Spring's RestTemplate. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:unirest-java +URL:https://github.com/Kong/unirest-java +DESC:Simplified, lightweight HTTP client library. +SKIP:1 +SECTION:HTTP Clients +--- + +NAME:hate +URL:https://github.com/blackdoor/hate +DESC:Builds hypermedia-friendly objects according to HAL specification. +SKIP:1 +SECTION:Hypermedia Types +--- + +NAME:JSON-LD +URL:https://github.com/jsonld-java/jsonld-java +DESC:JSON-LD implementation. +SKIP:1 +SECTION:Hypermedia Types +--- + +NAME:Siren4J +URL:https://github.com/eserating-chwy/siren4j +DESC:Library for the Siren specification. +SKIP:1 +SECTION:Hypermedia Types +--- + +NAME:Spring HATEOAS +URL:https://github.com/spring-projects/spring-hateoas +DESC:Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. +SKIP:1 +SECTION:Hypermedia Types +--- + +NAME:Eclipse +URL:https://www.eclipse.org +DESC:Established open-source project with support for lots of plugins and languages. +SKIP:1 +SECTION:IDE +--- + +NAME:jGRASP +URL:https://www.jgrasp.org +DESC:Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. +SKIP:1 +SECTION:IDE +--- + +NAME:NetBeans +URL:https://netbeans.apache.org +DESC:Provides integration for several Java SE and EE features, from database access to HTML5. +SKIP:1 +SECTION:IDE +--- + +NAME:SnapCode +URL:https://reportmill.com/SnapCode/ +DESC:Modern IDE for Java running in the browser, focused on education. +SKIP:1 +SECTION:IDE +--- + +NAME:Visual Studio Code +URL:https://code.visualstudio.com/docs/languages/java +DESC:Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. +SKIP:1 +SECTION:IDE +--- + +NAME:Barcode-Lib4J +URL:https://github.com/vws-java/Barcode-Lib4J +DESC:Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +SKIP:1 +SECTION:Imagery +--- + +NAME:Imgscalr +URL:https://github.com/rkalla/imgscalr +DESC:Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. +SKIP:1 +SECTION:Imagery +--- + +NAME:Tess4J +URL:https://github.com/nguyenq/tess4j +DESC:JNA wrapper for Tesseract OCR API. +SKIP:1 +SECTION:Imagery +--- + +NAME:Thumbnailator +URL:https://github.com/coobird/thumbnailator +DESC:High-quality thumbnail generation library. +SKIP:1 +SECTION:Imagery +--- + +NAME:TwelveMonkeys +URL:https://github.com/haraldk/TwelveMonkeys +DESC:Collection of plugins that extend the number of supported image file formats. +SKIP:1 +SECTION:Imagery +--- + +NAME:ZXing +URL:https://github.com/zxing/zxing +DESC:Multi-format 1D/2D barcode image processing library. +SKIP:1 +SECTION:Imagery +--- + +NAME:image-comparison +URL:https://github.com/romankh3/image-comparison +DESC: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. +SKIP:1 +SECTION:Imagery +--- + +NAME:vips-ffm +URL:https://github.com/lopcode/vips-ffm +DESC:Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. +SKIP:1 +SECTION:Imagery +--- + +NAME:scrimage +URL:https://sksamuel.github.io/scrimage +DESC:Immutable, functional, and performant JVM library for manipulation of images. +SKIP:1 +SECTION:Imagery +--- + +NAME:ClassGraph +URL:https://github.com/classgraph/classgraph +DESC:ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. +SKIP:1 +SECTION:Introspection +--- + +NAME:jOOR +URL:https://github.com/jOOQ/jOOR +DESC:jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. +SKIP:1 +SECTION:Introspection +--- + +NAME:Mirror +URL:http://projetos.vidageek.net/mirror/mirror/ +DESC:Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +SKIP:1 +SECTION:Introspection +--- + +NAME:Objenesis +URL:http://objenesis.org +DESC:Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +SKIP:1 +SECTION:Introspection +--- + +NAME:ReflectASM +URL:https://github.com/EsotericSoftware/reflectasm +DESC:ReflectASM is a very small Java library that provides high performance reflection by using code generation. +SKIP:1 +SECTION:Introspection +--- + +NAME:Reflections +URL:https://github.com/ronmamo/reflections +DESC:Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. +SKIP:1 +SECTION:Introspection +--- + +NAME:JobRunr +URL:https://github.com/jobrunr/jobrunr +DESC: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. +SKIP:1 +SECTION:Job Scheduling +--- + +NAME:Quartz +URL:https://github.com/quartz-scheduler/quartz +DESC:Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. +SKIP:1 +SECTION:Job Scheduling +--- + +NAME:Sundial +URL:https://github.com/knowm/Sundial +DESC:Lightweight framework to simply define jobs, define triggers and start the scheduler. +SKIP:1 +SECTION:Job Scheduling +--- + +NAME:Wisp +URL:https://github.com/Coreoz/Wisp +DESC:Simple library with minimal footprint and straightforward API. +SKIP:1 +SECTION:Job Scheduling +--- + +NAME:db-scheduler +URL:https://github.com/kagkarlsson/db-scheduler +DESC:Persistent and cluster-friendly scheduler. +SKIP:1 +SECTION:Job Scheduling +--- + +NAME:easy-batch +URL:https://github.com/j-easy/easy-batch +DESC: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. +SKIP:1 +SECTION:Job Scheduling +--- + +NAME:shedlock +URL:https://github.com/lukas-krecan/ShedLock +DESC: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. +SKIP:1 +SECTION:Job Scheduling +--- + +NAME:Avaje Jsonb +URL:https://avaje.io/jsonb/ +DESC:Reflection-free Json binding via source code generation with Jackson-like annotations. +SKIP:1 +SECTION:JSON +--- + +NAME:DSL-JSON +URL:https://github.com/ngs-doo/dsl-json +DESC:JSON library with advanced compile time databinding. +SKIP:1 +SECTION:JSON +--- + +NAME:Genson +URL:http://genson.io +DESC:Powerful and easy-to-use Java-to-JSON conversion library. +SKIP:1 +SECTION:JSON +--- + +NAME:Gson +URL:https://github.com/google/gson +DESC:Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. +SKIP:1 +SECTION:JSON +--- + +NAME:HikariJSON +URL:https://github.com/brettwooldridge/HikariJSON +DESC:High-performance JSON parser, 2x faster than Jackson. +SKIP:1 +SECTION:JSON +--- + +NAME:jackson-modules-java8 +URL:https://github.com/FasterXML/jackson-modules-java8 +DESC:Set of Jackson modules for Java 8 datatypes and features. +SKIP:1 +SECTION:JSON +--- + +NAME:Jackson-datatype-money +URL:https://github.com/zalando/jackson-datatype-money +DESC:Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. +SKIP:1 +SECTION:JSON +--- + +NAME:Jackson +URL:https://github.com/FasterXML/jackson +DESC:Similar to GSON, but offers performance gains if you need to instantiate the library more often. +SKIP:1 +SECTION:JSON +--- + +NAME:JSON-io +URL:https://github.com/jdereg/json-io +DESC:Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. +SKIP:1 +SECTION:JSON +--- + +NAME:jsoniter +URL:http://jsoniter.com +DESC:Fast and flexible library with iterator and lazy parsing API. +SKIP:1 +SECTION:JSON +--- + +NAME:LoganSquare +URL:https://github.com/bluelinelabs/LoganSquare +DESC:JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. +SKIP:1 +SECTION:JSON +--- + +NAME:Moshi +URL:https://github.com/square/moshi +DESC:Modern JSON library, less opinionated and uses built-in types like List and Map. +SKIP:1 +SECTION:JSON +--- + +NAME:Yasson +URL:https://github.com/eclipse-ee4j/yasson +DESC:Binding layer between classes and JSON documents similar to JAXB. +SKIP:1 +SECTION:JSON +--- + +NAME:fastjson +URL:https://github.com/alibaba/fastjson +DESC:Very fast processor with no additional dependencies and full data binding. +SKIP:1 +SECTION:JSON +--- + +NAME:Jolt +URL:https://github.com/bazaarvoice/jolt +DESC:JSON to JSON transformation tool. +SKIP:1 +SECTION:JSON +--- + +NAME:JsonPath +URL:https://github.com/json-path/JsonPath +DESC:Extract data from JSON using XPATH-like syntax. +SKIP:1 +SECTION:JSON +--- + +NAME:JsonSurfer +URL:https://github.com/jsurfer/JsonSurfer +DESC:Streaming JsonPath processor dedicated to processing big and complicated JSON data. +SKIP:1 +SECTION:JSON +--- + +NAME:Which JDK +URL:https://whichjdk.com/ +DESC:Overview of common JVMs with pros and cons. +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Adopt Open JDK +URL:https://adoptopenjdk.net +DESC:Community-driven OpenJDK builds, including both HotSpot and OpenJ9. +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Corretto +URL:https://aws.amazon.com/corretto/ +DESC:No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Dragonwell8 +URL:https://github.com/alibaba/dragonwell8 +DESC:Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Graal +URL:https://github.com/oracle/graal +DESC:Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Liberica JDK +URL:https://bell-sw.com +DESC:Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:OpenJ9 +URL:https://github.com/eclipse/openj9 +DESC: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. +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Open JDK +URL:https://openjdk.java.net +DESC:Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:ParparVM +URL:https://github.com/codenameone/CodenameOne/tree/master/vm +DESC:VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:RedHat Open JDK +URL:https://developers.redhat.com/products/openjdk/overview +DESC:RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:SAP Machine +URL:https://sap.github.io/SapMachine/ +DESC:SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Zulu +URL:https://www.azul.com/products/zulu-community/ +DESC:OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Microsoft JDK +URL:https://github.com/microsoft/openjdk +DESC:Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! +SKIP:1 +SECTION:JVM and JDK +--- + +NAME:Apache Log4j 2 +URL:https://logging.apache.org/log4j/ +DESC:Complete rewrite with a powerful plugin and configuration architecture. +SKIP:1 +SECTION:Logging +--- + +NAME:Echopraxia +URL:https://github.com/tersesystems/echopraxia +DESC: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. +SKIP:1 +SECTION:Logging +--- + +NAME:Graylog +URL:https://www.graylog.org +DESC:Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) +SKIP:1 +SECTION:Logging +--- + +NAME:Kibana +URL:https://www.elastic.co/kibana +DESC:Analyzes and visualizes log files. Some features require payment. +SKIP:1 +SECTION:Logging +--- + +NAME:Logback +URL:http://logback.qos.ch +DESC:Robust logging library with interesting configuration options via Groovy. +SKIP:1 +SECTION:Logging +--- + +NAME:Logbook +URL:https://github.com/zalando/logbook +DESC:Extensible, open-source library for HTTP request and response logging. +SKIP:1 +SECTION:Logging +--- + +NAME:Logstash +URL:https://www.elastic.co/logstash +DESC:Tool for managing log files. +SKIP:1 +SECTION:Logging +--- + +NAME:p6spy +URL:https://github.com/p6spy/p6spy +DESC:Enables logging for all JDBC transactions without changes to the code. +SKIP:1 +SECTION:Logging +--- + +NAME:SLF4J +URL:http://www.slf4j.org +DESC:Abstraction layer/simple logging facade. +SKIP:1 +SECTION:Logging +--- + +NAME:tinylog +URL:https://tinylog.org/v2/ +DESC:Lightweight logging framework with static logger class. +SKIP:1 +SECTION:Logging +--- + +NAME:OpenTracing Toolbox +URL:https://github.com/zalando/opentracing-toolbox +DESC:Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations. +SKIP:1 +SECTION:Logging +--- + +NAME:Flogger +URL:https://google.github.io/flogger/ +DESC:Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. +SKIP:1 +SECTION:Logging +--- + +NAME:Apache Flink +URL:https://flink.apache.org +DESC:Fast, reliable, large-scale data processing engine. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Apache Mahout +URL:https://mahout.apache.org +DESC:Scalable algorithms focused on collaborative filtering, clustering and classification. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:DatumBox +URL:http://www.datumbox.com +DESC:Provides several algorithms and pre-trained models for natural language processing. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Deeplearning4j +URL:https://deeplearning4j.org +DESC:Distributed and multi-threaded deep learning library. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:DJL +URL:https://djl.ai +DESC:High-level and engine-agnostic framework for deep learning. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Intelligent java +URL:https://github.com/Barqawiz/IntelliJava +DESC:Seamlessly integrate with remote deep learning and language models programmatically. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:JSAT +URL:https://github.com/EdwardRaff/JSAT +DESC:Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +SKIP:1 +SECTION:Machine Learning +--- + +NAME:m2cgen +URL:https://github.com/BayesWitnesses/m2cgen +DESC:CLI tool to transpile models into native code. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Neureka +URL:https://github.com/Gleethos/neureka +DESC:A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:oj! Algorithms +URL:https://www.ojalgo.org/ +DESC:High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Oryx 2 +URL:https://github.com/OryxProject/oryx +DESC:Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Siddhi +URL:https://github.com/siddhi-io/siddhi +DESC:Cloud native streaming and complex event processing engine. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Smile +URL:https://github.com/haifengl/smile +DESC:Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Tribuo +URL:https://tribuo.org/ +DESC:Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Weka +URL:https://www.cs.waikato.ac.nz/ml/weka/ +DESC:Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +SKIP:1 +SECTION:Machine Learning +--- + +NAME:Aeron +URL:https://github.com/real-logic/Aeron +DESC:Efficient, reliable, unicast and multicast message transport. +SKIP:1 +SECTION:Messaging +--- + +NAME:Apache ActiveMQ +URL:https://activemq.apache.org +DESC:Message broker that implements JMS and converts synchronous to asynchronous communication. +SKIP:1 +SECTION:Messaging +--- + +NAME:Apache Camel +URL:https://camel.apache.org +DESC:Glues together different transport APIs via Enterprise Integration Patterns. +SKIP:1 +SECTION:Messaging +--- + +NAME:Apache Kafka +URL:https://kafka.apache.org +DESC:High-throughput distributed messaging system. +SKIP:1 +SECTION:Messaging +--- + +NAME:Apache Pulsar +URL:https://pulsar.apache.org +DESC:Distributed pub/sub-messaging system. +SKIP:1 +SECTION:Messaging +--- + +NAME:Apache RocketMQ +URL:https://rocketmq.apache.org +DESC:Fast, reliable, and scalable distributed messaging platform. +SKIP:1 +SECTION:Messaging +--- + +NAME:Apache Qpid +URL:https://qpid.apache.org +DESC:Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +SKIP:1 +SECTION:Messaging +--- + +NAME:AutoMQ +URL:https://github.com/AutoMQ/automq-for-kafka +DESC:AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +SKIP:1 +SECTION:Messaging +--- + +NAME:Deezpatch +URL:https://github.com/joel-jeremy/deezpatch +DESC:Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. +SKIP:1 +SECTION:Messaging +--- + +NAME:EventBus +URL:https://github.com/greenrobot/EventBus +DESC:Simple publish/subscribe event bus. +SKIP:1 +SECTION:Messaging +--- + +NAME:Hermes +URL:http://hermes.allegro.tech +DESC:Fast and reliable message broker built on top of Kafka. +SKIP:1 +SECTION:Messaging +--- + +NAME:JeroMQ +URL:https://github.com/zeromq/jeromq +DESC:Implementation of ZeroMQ. +SKIP:1 +SECTION:Messaging +--- + +NAME:Nakadi +URL:https://github.com/zalando/nakadi +DESC:Provides a RESTful API on top of Kafka. +SKIP:1 +SECTION:Messaging +--- + +NAME:RabbitMQ Java client +URL:https://github.com/rabbitmq/rabbitmq-java-client +DESC:RabbitMQ client. +SKIP:1 +SECTION:Messaging +--- + +NAME:Smack +URL:https://github.com/igniterealtime/Smack +DESC:Cross-platform XMPP client library. +SKIP:1 +SECTION:Messaging +--- + +NAME:NATS client +URL:https://github.com/nats-io/nats.java +DESC:NATS client. +SKIP:1 +SECTION:Messaging +--- + +NAME:ActiveRPC +URL:https://rpc.activej.io +DESC:Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. +SKIP:1 +SECTION:Microservice +--- + +NAME:Armeria +URL:https://github.com/line/armeria +DESC:Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. +SKIP:1 +SECTION:Microservice +--- + +NAME:consul-api +URL:https://github.com/Ecwid/consul-api +DESC:Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. +SKIP:1 +SECTION:Microservice +--- + +NAME:Eureka +URL:https://github.com/Netflix/eureka +DESC:REST-based service registry for resilient load balancing and failover. +SKIP:1 +SECTION:Microservice +--- + +NAME:Helidon +URL:https://helidon.io +DESC:Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +SKIP:1 +SECTION:Microservice +--- + +NAME:JDA +URL:https://github.com/DV8FromTheWorld/JDA +DESC:Wrapping of the Discord REST API and its WebSocket events. +SKIP:1 +SECTION:Microservice +--- + +NAME:KeenType +URL:https://github.com/DaveJarvis/KeenType +DESC:Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. +SKIP:1 +SECTION:Microservice +--- + +NAME:kubernetes-client +URL:https://github.com/fabric8io/kubernetes-client +DESC:Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. +SKIP:1 +SECTION:Microservice +--- + +NAME:Micronaut +URL:https://micronaut.io +DESC:Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +SKIP:1 +SECTION:Microservice +--- + +NAME:Nacos +URL:https://nacos.io +DESC:Dynamic service discovery, configuration and service management platform for building cloud native applications. +SKIP:1 +SECTION:Microservice +--- + +NAME:OpenAI-Java +URL:https://github.com/TheoKanning/openai-java +DESC:Java libraries for using OpenAI's GPT-3 API. +SKIP:1 +SECTION:Microservice +--- + +NAME:Quarkus +URL:https://quarkus.io +DESC:Kubernetes stack tailored for the HotSpot and Graal VM. +SKIP:1 +SECTION:Microservice +--- + +NAME:Sentinel +URL:https://github.com/alibaba/Sentinel +DESC:Flow control component enabling reliability, resilience and monitoring for microservices. +SKIP:1 +SECTION:Microservice +--- + +NAME:CQEngine +URL:https://github.com/npgall/cqengine +DESC:Ultra-fast, SQL-like queries on Java collections. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Design Patterns +URL:https://github.com/iluwatar/java-design-patterns +DESC:Implementation and explanation of the most common design patterns. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:FF4J +URL:https://github.com/ff4j/ff4j +DESC:Feature Flags for Java. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:FizzBuzz Enterprise Edition +URL:https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition +DESC:No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:IP2Location.io Java SDK +URL:https://github.com/ip2location/ip2location-io-java +DESC:Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:ISBN core +URL:https://github.com/ladutsko/isbn-core +DESC:A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:J2ObjC +URL:https://github.com/google/j2objc +DESC:Java-to-Objective-C translator for porting Android libraries to iOS. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:JBake +URL:https://jbake.org +DESC:Static website generator. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:JBot +URL:https://github.com/rampatra/jbot +DESC:Framework for building chatbots. (GPL-3.0-only) +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:JCuda +URL:http://jcuda.org +DESC:JCuda offers Java bindings for CUDA and CUDA-related libraries. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:JEmoji +URL:https://github.com/felldo/JEmoji +DESC:An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Jimfs +URL:https://github.com/google/jimfs +DESC:In-memory file system. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Joda-Money +URL:https://www.joda.org/joda-money/ +DESC:Basic currency and money classes and algorithms not provided by the JDK. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:jOOX +URL:https://github.com/jooq/joox +DESC:Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:JPad +URL:http://jpad.io +DESC:Snippet runner. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:jsweet +URL:https://github.com/cincheo/jsweet +DESC:Source transpiler to TypeScript/JavaScript. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Maven Wrapper +URL:https://github.com/takari/maven-wrapper +DESC:Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Membrane Service Proxy +URL:https://github.com/membrane/service-proxy +DESC:Open-source, reverse-proxy framework. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:MinimalFTP +URL:https://github.com/Guichaguri/MinimalFTP +DESC:Lightweight, small and customizable FTP server. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:LittleProxy +URL:https://github.com/adamfisk/LittleProxy +DESC:High performance HTTP proxy atop Netty's event-based networking library. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Modern Java - A Guide to Java 8 +URL:https://github.com/winterbe/java8-tutorial +DESC:Popular Java 8 guide. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Modernizer +URL:https://github.com/gaul/modernizer-maven-plugin +DESC:Detect uses of legacy Java APIs. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:OctoLinker +URL:https://github.com/OctoLinker/OctoLinker +DESC:Browser extension which allows to navigate through code on GitHub more efficiently. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:OpenRefine +URL:http://openrefine.org +DESC:Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:PipelinR +URL:https://github.com/sizovs/pipelinr +DESC:Small utility library for using handlers and commands with pipelines. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Polyglot for Maven +URL:https://github.com/takari/polyglot-maven +DESC:Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:RR4J +URL:https://github.com/Kartikvk1996/RR4J +DESC:RR4J is a tool that records java bytecode execution and later allows developers to replay locally. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Simple Java Mail +URL:https://github.com/bbottema/simple-java-mail +DESC:Mailing with a clean and fluent API. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Smooks +URL:https://github.com/smooks/smooks +DESC:Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Svix +URL:https://github.com/svix/svix-webhooks/tree/main/java +DESC:Library for the Svix API to send webhooks and verify signatures. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:Togglz +URL:https://www.togglz.org +DESC:Implementation of the Feature Toggles pattern. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:TypeTools +URL:https://github.com/jhalterman/typetools +DESC:Tools for resolving generic types. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:webcam-capture +URL:https://github.com/sarxos/webcam-capture +DESC:Library for using built-in and external webcams directly in Java. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:XMLBeam +URL:https://github.com/SvenEwald/xmlbeam +DESC:Processes XML by using annotations or XPath within code. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:yGuard +URL:https://github.com/yWorks/yGuard +DESC:Obfuscation via renaming and shrinking. +SKIP:1 +SECTION:Miscellaneous +--- + +NAME:JBang +URL:https://github.com/maxandersen/jbang/ +DESC:JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. +SKIP:2 +SECTION:Miscellaneous +--- + +NAME:Codename One +URL:https://www.codenameone.com +DESC:Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:Mobile Development +--- + +NAME:MobileUI +URL:https://mobileui.dev +DESC:Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +SKIP:1 +SECTION:Mobile Development +--- + +NAME:Multi-OS Engine +URL:https://multi-os-engine.org +DESC:Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +SKIP:1 +SECTION:Mobile Development +--- + +NAME:Apitally +URL:https://github.com/apitally/apitally-java +DESC:Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Automon +URL:https://github.com/stevensouza/automon +DESC:Combines the power of AOP with monitoring and/or logging tools. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Dropwizard Metrics +URL:https://github.com/dropwizard/metrics +DESC:Expose metrics via JMX or HTTP and send them to a database. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Failsafe Actuator +URL:https://github.com/zalando/failsafe-actuator +DESC:Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Glowroot +URL:https://glowroot.org +DESC:Open-source Java APM. +SKIP:1 +SECTION:Monitoring +--- + +NAME:HertzBeat +URL:https://github.com/dromara/hertzbeat +DESC:Real-time monitoring system with custom-monitor and agentless. +SKIP:1 +SECTION:Monitoring +--- + +NAME:hippo4j +URL:https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md +DESC:Dynamic and observable thread pool framework. +SKIP:1 +SECTION:Monitoring +--- + +NAME:inspectIT +URL:https://www.inspectit.rocks +DESC: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. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Jaeger client +URL:https://github.com/jaegertracing/jaeger-client-java +DESC:Jaeger client. +SKIP:1 +SECTION:Monitoring +--- + +NAME:JavaMelody +URL:https://github.com/javamelody/javamelody +DESC:Performance monitoring and profiling. +SKIP:1 +SECTION:Monitoring +--- + +NAME:jmxtrans +URL:https://github.com/jmxtrans/jmxtrans +DESC: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. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Jolokia +URL:https://jolokia.org +DESC:JMX over REST. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Micrometer +URL:https://github.com/micrometer-metrics/micrometer +DESC:Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Micrometer Tracing +URL:https://github.com/micrometer-metrics/tracing +DESC:Vendor-neutral distributed tracing facade for the most popular tracer libraries. +SKIP:1 +SECTION:Monitoring +--- + +NAME:nudge4j +URL:https://github.com/lorenzoongithub/nudge4j +DESC:Remote developer console from the browser for Java 8 via bytecode injection. +SKIP:1 +SECTION:Monitoring +--- + +NAME:OpenTelemetry +URL:https://github.com/open-telemetry/opentelemetry-java +DESC:Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Pinpoint +URL:https://github.com/naver/pinpoint +DESC:Open-source APM tool. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Prometheus +URL:https://github.com/prometheus/client_java +DESC:Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Stagemonitor +URL:https://github.com/stagemonitor/stagemonitor +DESC:Open-source performance monitoring and transaction tracing for JVM apps. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Sysmon +URL:https://github.com/palantir/Sysmon +DESC:Lightweight platform monitoring tool for Java VMs. +SKIP:1 +SECTION:Monitoring +--- + +NAME:zipkin +URL:https://zipkin.io +DESC:Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +SKIP:1 +SECTION:Monitoring +--- + +NAME:Aparapi +URL:https://github.com/Syncleus/aparapi +DESC:Converts bytecode to OpenCL which allows execution on GPUs. +SKIP:1 +SECTION:Native +--- + +NAME:JavaCPP +URL:https://github.com/bytedeco/javacpp +DESC:Provides efficient and easy access to native C++. +SKIP:1 +SECTION:Native +--- + +NAME:JNA +URL:https://github.com/java-native-access/jna +DESC:Work with native libraries without writing JNI. Also provides interfaces to common system libraries. +SKIP:1 +SECTION:Native +--- + +NAME:JNR +URL:https://github.com/jnr/jnr-ffi +DESC: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). +SKIP:1 +SECTION:Native +--- + +NAME:native-lib-loader +URL:https://github.com/scijava/native-lib-loader +DESC:Native library loader for extracting and loading native libraries from Java. +SKIP:1 +SECTION:Native +--- + +NAME:CogCompNLP +URL:https://github.com/CogComp/cogcomp-nlp +DESC:Provides common annotators for plain text input. (Research and Academic Use License) +SKIP:1 +SECTION:Natural Language Processing +--- + +NAME:CoreNLP +URL:https://nlp.stanford.edu/software/corenlp.shtml +DESC:Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +SKIP:1 +SECTION:Natural Language Processing +--- + +NAME:DKPro +URL:https://dkpro.github.io +DESC:Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +SKIP:1 +SECTION:Natural Language Processing +--- + +NAME:Hypherator +URL:https://github.com/ejossev/hypherator-java +DESC:Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. +SKIP:1 +SECTION:Natural Language Processing +--- + +NAME:LingPipe +URL:http://alias-i.com/lingpipe/ +DESC:Toolkit for tasks ranging from POS tagging to sentiment analysis. +SKIP:1 +SECTION:Natural Language Processing +--- + +NAME:Commons-networking +URL:https://github.com/CiscoSE/commons-networking +DESC:Client for server-sent events (SSE). +SKIP:1 +SECTION:Networking +--- + +NAME:Comsat +URL:https://github.com/puniverse/comsat +DESC:Integrates standard Java web-related APIs with Quasar fibers and actors. +SKIP:1 +SECTION:Networking +--- + +NAME:Dubbo +URL:https://github.com/apache/dubbo +DESC:High-performance RPC framework. +SKIP:1 +SECTION:Networking +--- + +NAME:Grizzly +URL:https://javaee.github.io/grizzly/ +DESC:NIO framework. Used as a network layer in Glassfish. +SKIP:1 +SECTION:Networking +--- + +NAME:gRPC +URL:https://github.com/grpc/grpc-java +DESC:RPC framework based on protobuf and HTTP/2. +SKIP:1 +SECTION:Networking +--- + +NAME:KryoNet +URL:https://github.com/EsotericSoftware/kryonet +DESC:Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +SKIP:1 +SECTION:Networking +--- + +NAME:MINA +URL:https://mina.apache.org +DESC:Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +SKIP:1 +SECTION:Networking +--- + +NAME:Netty +URL:https://netty.io +DESC:Framework for building high-performance network applications. +SKIP:1 +SECTION:Networking +--- + +NAME:Drift +URL:https://github.com/airlift/drift +DESC:Easy-to-use, annotation-based library for creating Thrift clients and serializable types. +SKIP:1 +SECTION:Networking +--- + +NAME:ServiceTalk +URL:https://github.com/apple/servicetalk +DESC:Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. +SKIP:1 +SECTION:Networking +--- + +NAME:sshj +URL:https://github.com/hierynomus/sshj +DESC:Programmatically use SSH, SCP or SFTP. +SKIP:1 +SECTION:Networking +--- + +NAME:TLS Channel +URL:https://github.com/marianobarrios/tls-channel +DESC:Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. +SKIP:1 +SECTION:Networking +--- + +NAME:Undertow +URL:http://undertow.io +DESC:Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +SKIP:1 +SECTION:Networking +--- + +NAME:urnlib +URL:https://github.com/slub/urnlib +DESC:Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +SKIP:1 +SECTION:Networking +--- + +NAME:Fluency +URL:https://github.com/komamitsu/fluency +DESC:High throughput data ingestion logger to Fluentd and Fluent Bit. +SKIP:1 +SECTION:Networking +--- + +NAME:Apache Cayenne +URL:https://cayenne.apache.org +DESC:Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +SKIP:1 +SECTION:ORM +--- + +NAME:Doma +URL:https://github.com/domaframework/doma +DESC:Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. +SKIP:1 +SECTION:ORM +--- + +NAME:Ebean +URL:https://ebean.io +DESC:Provides simple and fast data access. +SKIP:1 +SECTION:ORM +--- + +NAME:EclipseLink +URL:https://www.eclipse.org/eclipselink/ +DESC:Supports a number of persistence standards: JPA, JAXB, JCA and SDO. +SKIP:1 +SECTION:ORM +--- + +NAME:Hibernate +URL:http://hibernate.org/orm/ +DESC:Robust and widely used, with an active community. (LGPL-2.1-only) +SKIP:1 +SECTION:ORM +--- + +NAME:MyBatis +URL:https://github.com/mybatis/mybatis-3 +DESC:Couples objects with stored procedures or SQL statements. +SKIP:1 +SECTION:ORM +--- + +NAME:MyBatis-Plus +URL:https://github.com/baomidou/mybatis-plus +DESC:A powerful enhanced toolkit of MyBatis for simplifying development. +SKIP:1 +SECTION:ORM +--- + +NAME:ObjectiveSql +URL:https://github.com/braisdom/ObjectiveSql +DESC:ActiveRecord ORM for rapid development and convention over configuration. +SKIP:1 +SECTION:ORM +--- + +NAME:Permazen +URL:https://github.com/permazen/permazen +DESC:Language-natural persistence layer. +SKIP:1 +SECTION:ORM +--- + +NAME:SimpleFlatMapper +URL:https://github.com/arnaudroger/SimpleFlatMapper +DESC:Simple database and CSV mapper. +SKIP:1 +SECTION:ORM +--- + +NAME:Pathetic +URL:https://github.com/bsommerfeld/pathetic +DESC:A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. +SKIP:1 +SECTION:Pathfinding +--- + +NAME:Apache FOP +URL:https://xmlgraphics.apache.org/fop/ +DESC:Creates PDFs from XSL-FO. +SKIP:1 +SECTION:PDF +--- + +NAME:Apache PDFBox +URL:https://pdfbox.apache.org +DESC:Toolbox for creating and manipulating PDFs. +SKIP:1 +SECTION:PDF +--- + +NAME:Dynamic Jasper +URL:https://intive-fdv.github.io/DynamicJasper/ +DESC:Abstraction layer to JasperReports. (LGPL-3.0-only) +SKIP:1 +SECTION:PDF +--- + +NAME:DynamicReports +URL:https://github.com/dynamicreports/dynamicreports +DESC:Simplifies JasperReports. (LGPL-3.0-only) +SKIP:1 +SECTION:PDF +--- + +NAME:Eclipse BIRT +URL:https://www.eclipse.org/birt +DESC:Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +SKIP:1 +SECTION:PDF +--- + +NAME:flyingsaucer +URL:https://github.com/flyingsaucerproject/flyingsaucer +DESC:XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) +SKIP:1 +SECTION:PDF +--- + +NAME:JasperReports +URL:https://community.jaspersoft.com/project/jasperreports-library +DESC:Complex reporting engine. (LGPL-3.0-only) +SKIP:1 +SECTION:PDF +--- + +NAME:Open HTML to PDF +URL:https://github.com/danfickle/openhtmltopdf +DESC:Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +SKIP:1 +SECTION:PDF +--- + +NAME:OpenPDF +URL:https://github.com/LibrePDF/OpenPDF +DESC:Open-source iText fork. (LGPL-3.0-only & MPL-2.0) +SKIP:1 +SECTION:PDF +--- + +NAME:Tabula +URL:https://github.com/tabulapdf/tabula-java +DESC:Extracts tables from PDF files. +SKIP:1 +SECTION:PDF +--- + +NAME:honest-profiler +URL:https://github.com/jvm-profiling-tools/honest-profiler +DESC:Low-overhead, bias-free sampling profiler. +SKIP:1 +SECTION:Performance analysis +--- + +NAME:jHiccup +URL:https://github.com/giltene/jHiccup +DESC:Logs and records platform JVM stalls. +SKIP:1 +SECTION:Performance analysis +--- + +NAME:JITWatch +URL:https://github.com/AdoptOpenJDK/jitwatch +DESC:Analyze the JIT compiler optimisations made by the HotSpot JVM. +SKIP:1 +SECTION:Performance analysis +--- + +NAME:JMH +URL:http://openjdk.java.net/projects/code-tools/jmh/ +DESC:Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +SKIP:1 +SECTION:Performance analysis +--- + +NAME:LatencyUtils +URL:https://github.com/LatencyUtils/LatencyUtils +DESC:Utilities for latency measurement and reporting. +SKIP:1 +SECTION:Performance analysis +--- + +NAME:BCEL +URL:http://commons.apache.org/proper/commons-bcel/ +DESC:Byte Code Engineering Library - analyze, create, and manipulate Java class files. +SKIP:1 +SECTION:Platform +--- + +NAME:BeanUtils +URL:http://commons.apache.org/proper/commons-beanutils/ +DESC:Easy-to-use wrappers around the Java reflection and introspection APIs. +SKIP:1 +SECTION:Platform +--- + +NAME:BeanUtils2 +URL:http://commons.apache.org/sandbox/commons-beanutils2/ +DESC:Redesign of Commons BeanUtils. +SKIP:1 +SECTION:Platform +--- + +NAME:BSF +URL:http://commons.apache.org/proper/commons-bsf/ +DESC:Bean Scripting Framework - interface to scripting languages, including JSR-223. +SKIP:1 +SECTION:Platform +--- + +NAME:Chain +URL:http://commons.apache.org/proper/commons-chain/ +DESC:Chain of Responsibility pattern implementation. +SKIP:1 +SECTION:Platform +--- + +NAME:ClassScan +URL:http://commons.apache.org/sandbox/commons-classscan/ +DESC:Find Class interfaces, methods, fields, and annotations without loading. +SKIP:1 +SECTION:Platform +--- + +NAME:CLI +URL:http://commons.apache.org/proper/commons-cli/ +DESC:Command-line arguments parser. +SKIP:1 +SECTION:Platform +--- + +NAME:CLI2 +URL:http://commons.apache.org/sandbox/commons-cli2/ +DESC:Redesign of Commons CLI. +SKIP:1 +SECTION:Platform +--- + +NAME:Codec +URL:http://commons.apache.org/proper/commons-codec/ +DESC:General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +SKIP:1 +SECTION:Platform +--- + +NAME:Collections +URL:http://commons.apache.org/proper/commons-collections/ +DESC:Extends or augments the Java Collections Framework. +SKIP:1 +SECTION:Platform +--- + +NAME:Compress +URL:http://commons.apache.org/proper/commons-compress/ +DESC:Defines an API for working with tar, zip and bzip2 files. +SKIP:1 +SECTION:Platform +--- + +NAME:Configuration +URL:http://commons.apache.org/proper/commons-configuration/ +DESC:Reading of configuration/preferences files in various formats. +SKIP:1 +SECTION:Platform +--- + +NAME:Convert +URL:http://commons.apache.org/sandbox/commons-convert/ +DESC:Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. +SKIP:1 +SECTION:Platform +--- + +NAME:CSV +URL:http://commons.apache.org/proper/commons-csv/ +DESC:Component for reading and writing comma separated value files. +SKIP:1 +SECTION:Platform +--- + +NAME:Daemon +URL:http://commons.apache.org/proper/commons-daemon/ +DESC:Alternative invocation mechanism for unix-daemon-like java code. +SKIP:1 +SECTION:Platform +--- + +NAME:DBCP +URL:http://commons.apache.org/proper/commons-dbcp/ +DESC:Database connection pooling services. +SKIP:1 +SECTION:Platform +--- + +NAME:DbUtils +URL:http://commons.apache.org/proper/commons-dbutils/ +DESC:JDBC helper library. +SKIP:1 +SECTION:Platform +--- + +NAME:Digester +URL:http://commons.apache.org/proper/commons-digester/ +DESC:XML-to-Java-object mapping utility. +SKIP:1 +SECTION:Platform +--- + +NAME:Email +URL:http://commons.apache.org/proper/commons-email/ +DESC:Library for sending e-mail from Java. +SKIP:1 +SECTION:Platform +--- + +NAME:Exec +URL:http://commons.apache.org/proper/commons-exec/ +DESC:API for dealing with external process execution and environment management in Java. +SKIP:1 +SECTION:Platform +--- + +NAME:FileUpload +URL:http://commons.apache.org/proper/commons-fileupload/ +DESC:File upload capability for your servlets and web applications. +SKIP:1 +SECTION:Platform +--- + +NAME:Finder +URL:http://commons.apache.org/sandbox/commons-finder/ +DESC:Java library inspired by the UNIX find command. +SKIP:1 +SECTION:Platform +--- + +NAME:Flatfile +URL:http://commons.apache.org/sandbox/commons-flatfile/ +DESC:Java library for working with flat data structures. +SKIP:1 +SECTION:Platform +--- + +NAME:Functor +URL:http://commons.apache.org/proper/commons-functor/ +DESC:Function that can be manipulated as an object, or an object representing a single, generic function. +SKIP:1 +SECTION:Platform +--- + +NAME:Graph +URL:http://commons.apache.org/sandbox/commons-graph/ +DESC:General purpose graph APIs and algorithms. +SKIP:1 +SECTION:Platform +--- + +NAME:I18n +URL:http://commons.apache.org/sandbox/commons-i18n/ +DESC:Adds the feature of localized message bundles that consist of one or many localized texts that belong together. +SKIP:1 +SECTION:Platform +--- + +NAME:Id +URL:http://commons.apache.org/sandbox/commons-id/ +DESC:Id is a component used to generate identifiers. +SKIP:1 +SECTION:Platform +--- + +NAME:Imaging +URL:http://commons.apache.org/proper/commons-imaging/ +DESC:Image library. +SKIP:1 +SECTION:Platform +--- + +NAME:IO +URL:http://commons.apache.org/proper/commons-io/ +DESC:Collection of I/O utilities. +SKIP:1 +SECTION:Platform +--- + +NAME:Javaflow +URL:http://commons.apache.org/sandbox/commons-javaflow/ +DESC:Continuation implementation to capture the state of the application. +SKIP:1 +SECTION:Platform +--- + +NAME:JCI +URL:http://commons.apache.org/proper/commons-jci/ +DESC:Java Compiler Interface. +SKIP:1 +SECTION:Platform +--- + +NAME:JCS +URL:http://commons.apache.org/proper/commons-jcs/ +DESC:Java Caching System. +SKIP:1 +SECTION:Platform +--- + +NAME:Jelly +URL:http://commons.apache.org/proper/commons-jelly/ +DESC:XML based scripting and processing engine. +SKIP:1 +SECTION:Platform +--- + +NAME:Jexl +URL:http://commons.apache.org/proper/commons-jexl/ +DESC:Expression language which extends the Expression Language of the JSTL. +SKIP:1 +SECTION:Platform +--- + +NAME:JNet +URL:http://commons.apache.org/sandbox/commons-jnet/ +DESC:JNet allows to use dynamically register url stream handlers through the java.net API. +SKIP:1 +SECTION:Platform +--- + +NAME:JXPath +URL:http://commons.apache.org/proper/commons-jxpath/ +DESC:Utilities for manipulating Java Beans using the XPath syntax. +SKIP:1 +SECTION:Platform +--- + +NAME:Lang +URL:http://commons.apache.org/proper/commons-lang/ +DESC:Provides extra functionality for classes in java.lang. +SKIP:1 +SECTION:Platform +--- + +NAME:Logging +URL:https://commons.apache.org/proper/commons-logging/ +DESC:Wrapper around a variety of logging API implementations. +SKIP:1 +SECTION:Platform +--- + +NAME:Math +URL:http://commons.apache.org/proper/commons-math/ +DESC:Lightweight, self-contained mathematics and statistics components. +SKIP:1 +SECTION:Platform +--- + +NAME:Monitoring +URL:http://commons.apache.org/sandbox/commons-monitoring/ +DESC:Monitoring aims to provide a simple but extensible monitoring solution for Java applications. +SKIP:1 +SECTION:Platform +--- + +NAME:Nabla +URL:http://commons.apache.org/sandbox/commons-nabla/ +DESC:Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. +SKIP:1 +SECTION:Platform +--- + +NAME:Net +URL:http://commons.apache.org/proper/commons-net/ +DESC:Collection of network utilities and protocol implementations. +SKIP:1 +SECTION:Platform +--- + +NAME:OGNL +URL:http://commons.apache.org/proper/commons-ognl/ +DESC:Object-graph navigation language. +SKIP:1 +SECTION:Platform +--- + +NAME:OpenPGP +URL:http://commons.apache.org/sandbox/commons-openpgp/ +DESC:Interface to signing and verifying data using OpenPGP. +SKIP:1 +SECTION:Platform +--- + +NAME:Performance +URL:http://commons.apache.org/sandbox/commons-performance/ +DESC:Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. +SKIP:1 +SECTION:Platform +--- + +NAME:Pipeline +URL:http://commons.apache.org/sandbox/commons-pipeline/ +DESC:Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. +SKIP:1 +SECTION:Platform +--- + +NAME:Pool +URL:http://commons.apache.org/proper/commons-pool/ +DESC:Generic object pooling component. +SKIP:1 +SECTION:Platform +--- + +NAME:Proxy +URL:http://commons.apache.org/proper/commons-proxy/ +DESC:Library for creating dynamic proxies. +SKIP:1 +SECTION:Platform +--- + +NAME:RDF +URL:https://commons.apache.org/proper/commons-rdf/ +DESC:Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +SKIP:1 +SECTION:Platform +--- + +NAME:RNG +URL:https://commons.apache.org/proper/commons-rng/ +DESC:Commons Rng provides implementations of pseudo-random numbers generators. +SKIP:1 +SECTION:Platform +--- + +NAME:SCXML +URL:http://commons.apache.org/proper/commons-scxml/ +DESC:Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +SKIP:1 +SECTION:Platform +--- + +NAME:Validator +URL:http://commons.apache.org/proper/commons-validator/ +DESC:Framework to define validators and validation rules in an xml file. +SKIP:1 +SECTION:Platform +--- + +NAME:VFS +URL:http://commons.apache.org/proper/commons-vfs/ +DESC:Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +SKIP:1 +SECTION:Platform +--- + +NAME:Weaver +URL:http://commons.apache.org/proper/commons-weaver/ +DESC:Provides an easy way to enhance (weave) compiled bytecode. +SKIP:1 +SECTION:Platform +--- + +NAME:CUBA Platform +URL:https://www.cuba-platform.com/ +DESC:High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +SKIP:1 +SECTION:Platform +--- + +NAME:Light-4J +URL:https://github.com/networknt/light-4j/ +DESC:Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). +SKIP:1 +SECTION:Platform +--- + +NAME:Orienteer +URL:https://github.com/OrienteerBAP/Orienteer/ +DESC:Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. +SKIP:1 +SECTION:Platform +--- + +NAME:Spring +URL:https://spring.io/projects/ +DESC:Provides many packages for dependency injection, aspect-oriented programming, security, etc. +SKIP:1 +SECTION:Platform +--- + +NAME:ch.vorburger.exec +URL:https://github.com/vorburger/ch.vorburger.exec +DESC:Convenient API around Apache Commons Exec. +SKIP:1 +SECTION:Processes +--- + +NAME:zt-exec +URL:https://github.com/zeroturnaround/zt-exec +DESC:Provides a unified API to Apache Commons Exec and ProcessBuilder. +SKIP:1 +SECTION:Processes +--- + +NAME:zt-process-killer +URL:https://github.com/zeroturnaround/zt-process-killer +DESC:Stops processes started from Java or the system processes via PID. +SKIP:1 +SECTION:Processes +--- + +NAME:Akka +URL:https://akka.io +DESC:Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. +SKIP:1 +SECTION:Reactive libraries +--- + +NAME:Reactive Streams +URL:https://github.com/reactive-streams/reactive-streams-jvm +DESC:Provides a standard for asynchronous stream processing with non-blocking backpressure. +SKIP:1 +SECTION:Reactive libraries +--- + +NAME:Reactor +URL:https://github.com/reactor/reactor +DESC:A framework for building non-blocking applications on the JVM, providing support for reactive programming. +SKIP:1 +SECTION:Reactive libraries +--- + +NAME:RxJava +URL:https://github.com/ReactiveX/RxJava +DESC:Allows for composing asynchronous and event-based programs using observable sequences. +SKIP:1 +SECTION:Reactive libraries +--- + +NAME:vert.x +URL:https://vertx.io +DESC:Polyglot event-driven application framework. +SKIP:1 +SECTION:Reactive libraries +--- + +NAME:Dropwizard +URL:https://github.com/dropwizard/dropwizard +DESC:Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:Elide +URL:https://elide.io +DESC:Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:Jersey +URL:https://jersey.github.io +DESC:JAX-RS reference implementation. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:Microserver +URL:https://github.com/aol/micro-server +DESC: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. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:Rapidoid +URL:https://www.rapidoid.org +DESC:Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:rest.li +URL:https://github.com/linkedin/rest.li +DESC: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. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:RESTEasy +URL:https://resteasy.github.io +DESC:Fully certified and portable implementation of the JAX-RS specification. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:RestExpress +URL:https://github.com/RestExpress/RestExpress +DESC:Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:Restlet Framework +URL:https://github.com/restlet/restlet-framework-java +DESC:Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:Spark +URL:http://sparkjava.com +DESC:Sinatra inspired framework. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:Crnk +URL:http://www.crnk.io +DESC:Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:springdoc-openapi +URL:https://github.com/springdoc/springdoc-openapi +DESC:Automates the generation of API documentation using Spring Boot projects. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:Swagger +URL:https://swagger.io +DESC:Standard, language-agnostic interface to REST APIs. +SKIP:1 +SECTION:REST Frameworks +--- + +NAME:BioJava +URL:https://biojava.org/ +DESC:Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +SKIP:1 +SECTION:Science +--- + +NAME:Chart-FX +URL:https://github.com/GSI-CS-CO/chart-fx +DESC:Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +SKIP:1 +SECTION:Science +--- + +NAME:DataMelt +URL:https://datamelt.org/ +DESC:Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) +SKIP:1 +SECTION:Science +--- + +NAME:Erdos +URL:https://github.com/Erdos-Graph-Framework/Erdos +DESC:Modular, light and easy graph framework for theoretic algorithms. +SKIP:1 +SECTION:Science +--- + +NAME:GraphStream +URL:http://graphstream-project.org +DESC:Library for modeling and analyzing dynamic graphs. +SKIP:1 +SECTION:Science +--- + +NAME:JFreeChart +URL:http://www.jfree.org/jfreechart/ +DESC:2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +SKIP:1 +SECTION:Science +--- + +NAME:JGraphT +URL:https://github.com/jgrapht/jgrapht +DESC:Graph library that provides mathematical graph-theory objects and algorithms. +SKIP:1 +SECTION:Science +--- + +NAME:JGraphX +URL:https://github.com/jgraph/jgraphx +DESC:Library for visualizing (mainly Swing) and interacting with node-edge graphs. +SKIP:1 +SECTION:Science +--- + +NAME:LogicNG +URL:https://github.com/logic-ng/LogicNG +DESC:Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. +SKIP:1 +SECTION:Science +--- + +NAME:Mines Java Toolkit +URL:https://github.com/MinesJTK/jtk +DESC:Library for geophysical scientific computation, visualization and digital signal analysis. +SKIP:1 +SECTION:Science +--- + +NAME:Morpheus +URL:https://github.com/zavtech/morpheus-core +DESC:Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +SKIP:1 +SECTION:Science +--- + +NAME:Orekit +URL:https://www.orekit.org/ +DESC:A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +SKIP:1 +SECTION:Science +--- + +NAME:Orson-Charts +URL:https://github.com/jfree/orson-charts +DESC:Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +SKIP:1 +SECTION:Science +--- + +NAME:Tablesaw +URL:https://github.com/jtablesaw/tablesaw +DESC:Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +SKIP:1 +SECTION:Science +--- + +NAME:XChart +URL:https://github.com/knowm/XChart +DESC:Light-weight library for plotting data. Many customizable chart types are available. +SKIP:1 +SECTION:Science +--- + +NAME:Apache Lucene +URL:https://lucene.apache.org +DESC:High-performance, full-featured, cross-platform, text search engine library. +SKIP:1 +SECTION:Search +--- + +NAME:Apache Solr +URL:https://lucene.apache.org/solr/ +DESC:Enterprise search engine optimized for high-volume traffic. +SKIP:1 +SECTION:Search +--- + +NAME:Elasticsearch +URL:https://www.elastic.co +DESC:Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. +SKIP:1 +SECTION:Search +--- + +NAME:Indexer4j +URL:https://github.com/haeungun/indexer4j +DESC:Simple and light full text indexing and searching library. +SKIP:1 +SECTION:Search +--- + +NAME:Apache Shiro +URL:https://shiro.apache.org +DESC:Performs authentication, authorization, cryptography and session management. +SKIP:1 +SECTION:Security +--- + +NAME:Ayza +URL:https://github.com/Hakky54/ayza +DESC:High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. +SKIP:1 +SECTION:Security +--- + +NAME:Bouncy Castle +URL:https://www.bouncycastle.org/java.html +DESC:All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. +SKIP:1 +SECTION:Security +--- + +NAME:DependencyCheck +URL:https://github.com/jeremylong/DependencyCheck +DESC:Detects publicly disclosed vulnerabilities contained within a project's dependencies. +SKIP:1 +SECTION:Security +--- + +NAME:Cryptomator +URL:https://cryptomator.org +DESC:Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) +SKIP:1 +SECTION:Security +--- + +NAME:Hdiv +URL:https://github.com/hdiv/hdiv +DESC: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. +SKIP:1 +SECTION:Security +--- + +NAME:jjwt +URL:https://github.com/jwtk/jjwt +DESC:JSON web token for Java and Android. +SKIP:1 +SECTION:Security +--- + +NAME:jwt-java +URL:https://github.com/BastiaanJansen/jwt-java +DESC:Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. +SKIP:1 +SECTION:Security +--- + +NAME:Jwks RSA +URL:https://github.com/auth0/jwks-rsa-java +DESC:JSON Web Key Set parser. +SKIP:1 +SECTION:Security +--- + +NAME:Kalium +URL:https://github.com/abstractj/kalium +DESC:Binding for the Networking and Cryptography (NaCl) library. +SKIP:1 +SECTION:Security +--- + +NAME:Keycloak +URL:https://www.keycloak.org +DESC:Integrated SSO and IDM for browser apps and RESTful web services. +SKIP:1 +SECTION:Security +--- + +NAME:Keywhiz +URL:https://github.com/square/keywhiz +DESC:System for distributing and managing secrets. +SKIP:1 +SECTION:Security +--- + +NAME:Nbvcxz +URL:https://github.com/GoSimpleLLC/nbvcxz +DESC:Advanced password strength estimation. +SKIP:1 +SECTION:Security +--- + +NAME:OACC +URL:http://oaccframework.org +DESC:Provides permission-based authorization services. +SKIP:1 +SECTION:Security +--- + +NAME:OpenAM +URL:https://github.com/OpenIdentityPlatform/OpenAM +DESC:Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. +SKIP:1 +SECTION:Security +--- + +NAME:OTP-Java +URL:https://github.com/BastiaanJansen/OTP-Java +DESC:One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +SKIP:1 +SECTION:Security +--- + +NAME:pac4j +URL:https://github.com/pac4j/pac4j +DESC:Security engine. +SKIP:1 +SECTION:Security +--- + +NAME:Passay +URL:http://www.passay.org/ +DESC:Enforce password policy by validating candidate passwords against a configurable rule set. +SKIP:1 +SECTION:Security +--- + +NAME:Password4j +URL:https://github.com/Password4j/password4j +DESC:User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. +SKIP:1 +SECTION:Security +--- + +NAME:SecurityBuilder +URL:https://github.com/tersesystems/securitybuilder +DESC:Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. +SKIP:1 +SECTION:Security +--- + +NAME:Themis +URL:https://github.com/cossacklabs/themis +DESC: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. +SKIP:1 +SECTION:Security +--- + +NAME:Tink +URL:https://github.com/google/tink +DESC:Provides a simple and misuse-proof API for common cryptographic tasks. +SKIP:1 +SECTION:Security +--- + +NAME:Topaz +URL:https://www.topaz.sh +DESC:Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. +SKIP:1 +SECTION:Security +--- + +NAME:FlatBuffers +URL:https://github.com/google/flatbuffers +DESC:Memory-efficient serialization library that can access serialized data without unpacking and parsing it. +SKIP:1 +SECTION:Serialization +--- + +NAME:FST +URL:https://github.com/RuedigerMoeller/fast-serialization +DESC:JDK-compatible, high-performance object graph serialization. +SKIP:1 +SECTION:Serialization +--- + +NAME:Fury +URL:https://github.com/alipay/fury +DESC:Blazing fast object graph serialization framework powered by JIT and zero-copy. +SKIP:1 +SECTION:Serialization +--- + +NAME:Kryo +URL:https://github.com/EsotericSoftware/kryo +DESC:Fast and efficient object graph serialization framework. +SKIP:1 +SECTION:Serialization +--- + +NAME:MessagePack +URL:https://github.com/msgpack/msgpack-java +DESC:Efficient binary serialization format. +SKIP:1 +SECTION:Serialization +--- + +NAME:PHP Serializer +URL:https://github.com/marcospassos/java-php-serializer +DESC:Serializing objects in the PHP serialization format. +SKIP:1 +SECTION:Serialization +--- + +NAME:Apache Tomcat +URL:https://tomcat.apache.org +DESC:Robust, all-round server for Servlet and JSP. +SKIP:1 +SECTION:Server +--- + +NAME:Apache TomEE +URL:https://tomee.apache.org +DESC:Tomcat plus Java EE. +SKIP:1 +SECTION:Server +--- + +NAME:Jetty +URL:https://www.eclipse.org/jetty/ +DESC:Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +SKIP:1 +SECTION:Server +--- + +NAME:nanohttpd +URL:https://github.com/NanoHttpd/nanohttpd +DESC:Tiny, easily embeddable HTTP server. +SKIP:1 +SECTION:Server +--- + +NAME:WildFly +URL:https://www.wildfly.org +DESC:Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +SKIP:1 +SECTION:Server +--- + +NAME:Freemarker +URL:https://freemarker.apache.org +DESC:Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +SKIP:1 +SECTION:Template Engine +--- + +NAME:Handlebars.java +URL:https://jknack.github.io/handlebars.java/ +DESC:Logicless and semantic Mustache templates. +SKIP:1 +SECTION:Template Engine +--- + +NAME:Jade4J +URL:https://github.com/neuland/jade4j +DESC:Implementation of Pug (formerly known as Jade). +SKIP:1 +SECTION:Template Engine +--- + +NAME:Jamal +URL:https://github.com/verhas/jamal +DESC:Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +SKIP:1 +SECTION:Template Engine +--- + +NAME:jstachio +URL:https://github.com/jstachio/jstachio +DESC:Typesafe Mustache templating engine. +SKIP:1 +SECTION:Template Engine +--- + +NAME:jte +URL:https://github.com/casid/jte +DESC:Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. +SKIP:1 +SECTION:Template Engine +--- + +NAME:Jtwig +URL:https://github.com/jtwig/jtwig +DESC:Modular, configurable and fully tested template engine. +SKIP:1 +SECTION:Template Engine +--- + +NAME:Pebble +URL:https://pebbletemplates.io +DESC: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. +SKIP:1 +SECTION:Template Engine +--- + +NAME:Rocker +URL:https://github.com/fizzed/rocker +DESC:Optimized, memory efficient and speedy template engine producing statically typed, plain objects. +SKIP:1 +SECTION:Template Engine +--- + +NAME:StringTemplate +URL:https://github.com/antlr/stringtemplate4 +DESC:Template engine for generating source code, web pages, emails, or any other formatted text output. +SKIP:1 +SECTION:Template Engine +--- + +NAME:Thymeleaf +URL:https://www.thymeleaf.org +DESC:Aims to be a substitute for JSP and works for XML files. +SKIP:1 +SECTION:Template Engine +--- + +NAME:Awaitility +URL:https://github.com/awaitility/awaitility +DESC:DSL for synchronizing asynchronous operations. +SKIP:1 +SECTION:Testing +--- + +NAME:ConcurrentUnit +URL:https://github.com/jhalterman/concurrentunit +DESC:Toolkit for testing multi-threaded and asynchronous applications. +SKIP:1 +SECTION:Testing +--- + +NAME:GreenMail +URL:https://greenmail-mail-test.github.io/greenmail/ +DESC:In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +SKIP:1 +SECTION:Testing +--- + +NAME:Hoverfly Java +URL:https://github.com/SpectoLabs/hoverfly-java +DESC:Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +SKIP:1 +SECTION:Testing +--- + +NAME:Karate +URL:https://github.com/intuit/karate +DESC:DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +SKIP:1 +SECTION:Testing +--- + +NAME:REST Assured +URL:https://github.com/rest-assured/rest-assured +DESC:DSL for easy testing of REST/HTTP services. +SKIP:1 +SECTION:Testing +--- + +NAME:WebTau +URL:https://github.com/testingisdocumenting/webtau +DESC:Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. +SKIP:1 +SECTION:Testing +--- + +NAME:Cucumber +URL:https://github.com/cucumber/cucumber-jvm +DESC:Provides a way to describe features in a plain language which customers can understand. +SKIP:1 +SECTION:Testing +--- + +NAME:Cukes-REST +URL:https://github.com/ctco/cukes +DESC:Collection of Gherkin steps for REST-service testing using Cucumber. +SKIP:1 +SECTION:Testing +--- + +NAME:J8Spec +URL:https://github.com/j8spec/j8spec +DESC:Follows a Jasmine-like syntax. +SKIP:1 +SECTION:Testing +--- + +NAME:JBehave +URL:https://jbehave.org +DESC:Extensively configurable framework that describes stories. +SKIP:1 +SECTION:Testing +--- + +NAME:JGiven +URL:http://jgiven.org +DESC:Provides a fluent API which allows for simpler composition. +SKIP:1 +SECTION:Testing +--- + +NAME:Lamdba Behave +URL:https://github.com/RichardWarburton/lambda-behave +DESC:Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. +SKIP:1 +SECTION:Testing +--- + +NAME:Serenity BDD +URL:https://github.com/serenity-bdd/serenity-core +DESC:Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. +SKIP:1 +SECTION:Testing +--- + +NAME:AutoParams +URL:https://github.com/AutoParams/AutoParams +DESC:Supports generating test data or combining scenarios for parameterized tests. +SKIP:1 +SECTION:Testing +--- + +NAME:Beanmother +URL:https://github.com/keepcosmos/beanmother +DESC:Sets up beans from YAML fixtures. +SKIP:1 +SECTION:Testing +--- + +NAME:Datafaker +URL:https://github.com/datafaker-net/datafaker +DESC:Modern fake data generator forked from Java Faker. +SKIP:1 +SECTION:Testing +--- + +NAME:Fixture Factory +URL:https://github.com/six2six/fixture-factory +DESC:Generates fake objects from a template. +SKIP:1 +SECTION:Testing +--- + +NAME:jFairy +URL:https://github.com/Devskiller/jfairy +DESC:Fake data generator. +SKIP:1 +SECTION:Testing +--- + +NAME:Instancio +URL:https://github.com/instancio/instancio +DESC:Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. +SKIP:1 +SECTION:Testing +--- + +NAME:Randomized Testing +URL:https://github.com/randomizedtesting/randomizedtesting +DESC:JUnit test runner and plugins for running JUnit tests with pseudo-randomness. +SKIP:1 +SECTION:Testing +--- + +NAME:Java Faker +URL:https://github.com/DiUS/java-faker +DESC:Port of Ruby's fake data generator. +SKIP:1 +SECTION:Testing +--- + +NAME:Mockneat +URL:https://github.com/nomemory/mockneat +DESC:Another fake data generator. +SKIP:1 +SECTION:Testing +--- + +NAME:JMock +URL:https://github.com/xcancloud/JMock +DESC:JMock is a high-performance data generation and simulation component library implemented in Java. +SKIP:1 +SECTION:Testing +--- + +NAME:Apache JMeter +URL:http://jmeter.apache.org +DESC:Functional testing and performance measurements. +SKIP:1 +SECTION:Testing +--- + +NAME:JMeter DSL.java +URL:https://abstracta.github.io/jmeter-java-dsl/ +DESC:Load tests with JMeter as simple as a JUnit test. +SKIP:1 +SECTION:Testing +--- + +NAME:Arquillian +URL:http://arquillian.org +DESC:Integration and functional testing platform for Java EE containers. +SKIP:1 +SECTION:Testing +--- + +NAME:cdi-test +URL:https://github.com/guhilling/cdi-test +DESC:JUnit extension for easy and efficient testing of CDI components. +SKIP:1 +SECTION:Testing +--- + +NAME:Citrus +URL:https://citrusframework.org +DESC:Integration testing framework that focuses on both client- and server-side messaging. +SKIP:1 +SECTION:Testing +--- + +NAME:Gatling +URL:https://gatling.io +DESC:Load testing tool designed for ease of use, maintainability and high performance. +SKIP:1 +SECTION:Testing +--- + +NAME:JUnit +URL:https://junit.org/junit5/ +DESC:Common testing framework. +SKIP:1 +SECTION:Testing +--- + +NAME:jqwik +URL:https://jqwik.net +DESC:Engine for property-based testing built on JUnit 5. +SKIP:1 +SECTION:Testing +--- + +NAME:Pact JVM +URL:https://github.com/DiUS/pact-jvm +DESC:Consumer-driven contract testing. +SKIP:1 +SECTION:Testing +--- + +NAME:PIT +URL:http://pitest.org +DESC:Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. +SKIP:1 +SECTION:Testing +--- + +NAME:weld-testing +URL:https://github.com/weld/weld-testing +DESC:Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. +SKIP:1 +SECTION:Testing +--- + +NAME:AssertJ +URL:https://joel-costigliola.github.io/assertj/ +DESC:Fluent assertions that improve readability. +SKIP:1 +SECTION:Testing +--- + +NAME:Hamcrest +URL:http://hamcrest.org/JavaHamcrest/ +DESC:Matchers that can be combined to create flexible expressions of intent. +SKIP:1 +SECTION:Testing +--- + +NAME:JSONAssert +URL:http://jsonassert.skyscreamer.org +DESC:Simplifies testing JSON strings. +SKIP:1 +SECTION:Testing +--- + +NAME:JsonUnit +URL:https://github.com/lukas-krecan/JsonUnit +DESC:Library that simplifies JSON comparison in tests. +SKIP:1 +SECTION:Testing +--- + +NAME:Truth +URL:https://truth.dev +DESC:Google's fluent assertion and proposition framework. +SKIP:1 +SECTION:Testing +--- + +NAME:XMLUnit +URL:https://github.com/xmlunit/xmlunit +DESC:Simplifies testing for XML output. +SKIP:1 +SECTION:Testing +--- + +NAME:ConsoleCaptor +URL:https://github.com/Hakky54/console-captor +DESC:Captures console output for unit testing purposes. +SKIP:1 +SECTION:Testing +--- + +NAME:junit-dataprovider +URL:https://github.com/TNG/junit-dataprovider +DESC:TestNG-like data provider/runner for JUnit. +SKIP:1 +SECTION:Testing +--- + +NAME:junit-pioneer +URL:https://junit-pioneer.org/ +DESC:JUnit 5 extension pack, pushing the frontiers on Jupiter. +SKIP:1 +SECTION:Testing +--- + +NAME:LogCaptor +URL:https://github.com/Hakky54/log-captor +DESC:Captures log entries for unit testing purposes. +SKIP:1 +SECTION:Testing +--- + +NAME:log-capture +URL:https://github.com/dm-drogeriemarkt/log-capture +DESC:Captures log entries and provides assertions for unit and integration testing. +SKIP:1 +SECTION:Testing +--- + +NAME:Mutability Detector +URL:https://github.com/MutabilityDetector/MutabilityDetector +DESC:Reports whether instances of a given class are immutable. +SKIP:1 +SECTION:Testing +--- + +NAME:pojo-tester +URL:https://www.pojo.pl +DESC:Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +SKIP:1 +SECTION:Testing +--- + +NAME:raml-tester +URL:https://github.com/nidi3/raml-tester +DESC:Tests if a request/response matches a given RAML definition. +SKIP:1 +SECTION:Testing +--- + +NAME:Selfie +URL:https://github.com/diffplug/selfie +DESC:Snapshot testing (inline and on disk). +SKIP:1 +SECTION:Testing +--- + +NAME:Stebz +URL:https://github.com/stebz/stebz +DESC:Multi-approach framework for test steps managing. +SKIP:1 +SECTION:Testing +--- + +NAME:Testcontainers +URL:https://github.com/testcontainers/testcontainers-java +DESC:Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. +SKIP:1 +SECTION:Testing +--- + +NAME:JMockit +URL:http://jmockit.github.io +DESC:Integration testing, API mocking and faking, and code coverage. +SKIP:1 +SECTION:Testing +--- + +NAME:Mockito +URL:https://github.com/mockito/mockito +DESC:Mocking framework that lets you write tests with a clean and simple API. +SKIP:1 +SECTION:Testing +--- + +NAME:MockServer +URL:https://www.mock-server.com +DESC:Allows mocking of systems integrated with HTTPS. +SKIP:1 +SECTION:Testing +--- + +NAME:Moco +URL:https://github.com/dreamhead/moco +DESC:Concise web services for stubs and mocks. +SKIP:1 +SECTION:Testing +--- + +NAME:PowerMock +URL:https://github.com/powermock/powermock +DESC:Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. +SKIP:1 +SECTION:Testing +--- + +NAME:WireMock +URL:http://wiremock.org +DESC:Stubs and mocks web services. +SKIP:1 +SECTION:Testing +--- + +NAME:EasyMock +URL:https://github.com/easymock/easymock +DESC:EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. +SKIP:1 +SECTION:Testing +--- + +NAME:Arthas +URL:https://github.com/alibaba/arthas +DESC:Allows to troubleshoot production issues for applications without modifying code or restarting servers. +SKIP:1 +SECTION:Utility +--- + +NAME:bucket4j +URL:https://github.com/vladimir-bukhtoyarov/bucket4j +DESC:Rate limiting library based on token-bucket algorithm. +SKIP:1 +SECTION:Utility +--- + +NAME:cactoos +URL:https://github.com/yegor256/cactoos +DESC:Collection of object-oriented primitives. +SKIP:1 +SECTION:Utility +--- + +NAME:Chocotea +URL:https://github.com/cleopatra27/chocotea +DESC:Generates postman collection, environment and integration tests from java code. +SKIP:1 +SECTION:Utility +--- + +NAME:CRaSH +URL:http://www.crashub.org +DESC:Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +SKIP:1 +SECTION:Utility +--- + +NAME:Dex +URL:https://github.com/PatMartin/Dex +DESC:Java/JavaFX tool capable of powerful ETL and data visualization. +SKIP:1 +SECTION:Utility +--- + +NAME:dregex +URL:https://github.com/marianobarrios/dregex +DESC:Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. +SKIP:1 +SECTION:Utility +--- + +NAME:Embulk +URL:https://github.com/embulk/embulk +DESC:Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +SKIP:1 +SECTION:Utility +--- + +NAME:fswatch +URL:https://github.com/vorburger/ch.vorburger.fswatch +DESC:Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. +SKIP:1 +SECTION:Utility +--- + +NAME:Gephi +URL:https://github.com/gephi/gephi +DESC:Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +SKIP:1 +SECTION:Utility +--- + +NAME:Guava +URL:https://github.com/google/guava +DESC:Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. +SKIP:1 +SECTION:Utility +--- + +NAME:JADE +URL:https://jade.tilab.com +DESC:Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +SKIP:1 +SECTION:Utility +--- + +NAME:Javadoc Publisher +URL:https://github.com/MathieuSoysal/Javadoc-publisher.yml +DESC:Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. +SKIP:1 +SECTION:Utility +--- + +NAME:Java Diff Utils +URL:https://java-diff-utils.github.io/java-diff-utils/ +DESC:Utilities for text or data comparison and patching. +SKIP:1 +SECTION:Utility +--- + +NAME:JavaVerbalExpressions +URL:https://github.com/VerbalExpressions/JavaVerbalExpressions +DESC:Library that helps with constructing difficult regular expressions. +SKIP:1 +SECTION:Utility +--- + +NAME:JGit +URL:https://www.eclipse.org/jgit/ +DESC:Lightweight, pure Java library implementing the Git version control system. +SKIP:1 +SECTION:Utility +--- + +NAME:JKScope +URL:https://github.com/evpl/jkscope +DESC:Java scope functions inspired by Kotlin. +SKIP:1 +SECTION:Utility +--- + +NAME:minio-java +URL:https://github.com/minio/minio-java +DESC:Provides simple APIs to access any Amazon S3-compatible object storage server. +SKIP:1 +SECTION:Utility +--- + +NAME:Protégé +URL:https://protege.stanford.edu +DESC:Provides an ontology editor and a framework to build knowledge-based systems. +SKIP:1 +SECTION:Utility +--- + +NAME:Semver4j +URL:https://github.com/semver4j/semver4j +DESC:Lightweight library that helps you handling semantic versioning with different modes. +SKIP:1 +SECTION:Utility +--- + +NAME:Underscore-java +URL:https://github.com/javadev/underscore-java +DESC:Port of Underscore.js functions. +SKIP:1 +SECTION:Utility +--- + +NAME:jabba +URL:https://github.com/shyiko/jabba +DESC:Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +SKIP:1 +SECTION:Version Managers +--- + +NAME:jenv +URL:https://github.com/jenv/jenv +DESC:Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. +SKIP:1 +SECTION:Version Managers +--- + +NAME:SDKMan +URL:https://github.com/sdkman/sdkman-cli +DESC:Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. +SKIP:1 +SECTION:Version Managers +--- + +NAME:Apache Nutch +URL:https://nutch.apache.org +DESC:Highly extensible, highly scalable web crawler for production environments. +SKIP:1 +SECTION:Web Crawling +--- + +NAME:Crawler4j +URL:https://github.com/yasserg/crawler4j +DESC:Simple and lightweight web crawler. +SKIP:1 +SECTION:Web Crawling +--- + +NAME:jsoup +URL:https://jsoup.org +DESC:Scrapes, parses, manipulates and cleans HTML. +SKIP:1 +SECTION:Web Crawling +--- + +NAME:StormCrawler +URL:http://stormcrawler.net +DESC:SDK for building low-latency and scalable web crawlers. +SKIP:1 +SECTION:Web Crawling +--- + +NAME:webmagic +URL:https://github.com/code4craft/webmagic +DESC:Scalable crawler with downloading, url management, content extraction and persistent. +SKIP:1 +SECTION:Web Crawling +--- + +NAME:ActiveJ +URL:https://activej.io +DESC:Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Apache Tapestry +URL:https://tapestry.apache.org +DESC:Component-oriented framework for creating dynamic, robust, highly scalable web applications. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Apache Wicket +URL:https://wicket.apache.org +DESC:Component-based web application framework similar to Tapestry, with a stateful GUI. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Blade +URL:https://github.com/lets-blade/blade +DESC:Lightweight, modular framework that aims to be elegant and simple. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Bootique +URL:https://bootique.io +DESC:Minimally opinionated framework for runnable apps. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Firefly +URL:http://www.fireflysource.com +DESC:Asynchronous framework for rapid development of high-performance web application. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Javalin +URL:https://javalin.io/ +DESC:Microframework for web applications. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Jooby +URL:http://www.jooby.org +DESC:Scalable, fast and modular micro-framework that offers multiple programming models. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Ninja +URL:http://www.ninjaframework.org +DESC:Full-stack web framework. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Pippo +URL:http://www.pippo.ro +DESC:Small, highly modularized, Sinatra-like framework. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Play +URL:https://www.playframework.com +DESC:Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:PrimeFaces +URL:https://www.primefaces.org +DESC:JSF framework with both free and commercial/support versions and frontend components. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Ratpack +URL:https://ratpack.io +DESC:Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Takes +URL:https://github.com/yegor256/takes +DESC:Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Vaadin +URL:https://vaadin.com +DESC: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. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:WebForms Core +URL:https://github.com/webforms-core +DESC:A technology for managing HTML tags from the server. +SKIP:1 +SECTION:Web Frameworks +--- + +NAME:Cadence +URL:https://cadenceworkflow.io +DESC:Stateful code platform from Uber. +SKIP:1 +SECTION:Workflow Orchestration Engines +--- + +NAME:flowable +URL:https://github.com/flowable/flowable-engine +DESC:Compact and efficient workflow and business process management platform. +SKIP:1 +SECTION:Workflow Orchestration Engines +--- + +NAME:Temporal +URL:https://temporal.io +DESC:Microservice orchestration platform, forked from Cadence but gRPC based. +SKIP:1 +SECTION:Workflow Orchestration Engines +--- diff --git a/CONTRIBUTE_README.md b/CONTRIBUTE_README.md new file mode 100644 index 00000000..6ccfd4b1 --- /dev/null +++ b/CONTRIBUTE_README.md @@ -0,0 +1,1388 @@ +# 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) + - [Cloud](#cloud) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [Pathfinding](#pathfinding) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) +- [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Websites](#websites) +- [Contributing](#contributing) + +## 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. +- [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. +- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. + +### Bean Mapping + +_Frameworks that ease bean mapping._ + +- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. +- [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. +- [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. +- [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. +- [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. +- [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. + +### Build + +_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. +- [Bazel](https://bazel.build) - Tool from Google that builds code quickly and reliably. +- [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 + +_Libraries to manipulate bytecode programmatically._ + +- [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. +- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. +- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +- [cglib](https://github.com/cglib/cglib) - Bytecode generation library. +- [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. +- [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. +- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. +- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. +- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. + +### Caching + +_Libraries that provide caching facilities._ + +- [cache2k](https://cache2k.org) - In-memory high performance caching library. +- [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. +- [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. +- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. + +### CLI + +_Libraries for everything related to the CLI._ + +#### Argument Parsing + +_Libraries to assist with parsing command line arguments._ + +- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. +- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. +- [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. +- [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. +- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. + +#### Text-Based User Interfaces + +_Libraries that provide TUI frameworks, or building blocks related functions._ + +- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. +- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). +- [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) + +### Cloud + +_Libraries to integrate or use cloud-specific features._ + +- [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 + +_Tools that provide metrics and quality measurements._ + +- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +- [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. +- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. +- [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. +- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) +- [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. +- [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. +- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. +- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) +- [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. +- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) + +### Code Coverage + +_Frameworks and tools that enable code coverage metrics collection for test suites._ + +- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. +- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. + +### Code Generators + +_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ + +- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. +- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. +- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. +- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. +- [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. +- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +- [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. + +### Compiler-compiler + +_Frameworks that help to create parsers, interpreters or compilers._ + +- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. +- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +- [JFlex](https://jflex.de) - Lexical analyzer generator. + +### Computer Vision + +_Libraries which seek to gain high level information from images and videos._ + +- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. +- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. + +### Configuration + +_Libraries that provide external configuration._ + +- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +- [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +- [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. +- [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. +- [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 distributed. +- [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. + +### Constraint Satisfaction Problem Solver + +_Libraries that help with implementing optimization and satisfiability problems._ + +- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) +- [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. +- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. + +### CSV + +_Frameworks and libraries that simplify reading/writing CSV data._ + +- [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. +- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. +- [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. +- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. + +### Data Structures + +_Efficient and specific data structures._ + +- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. +- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. +- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. +- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. +- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. +- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. +- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. +- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. +- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. +- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. +- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. + +### Database + +_Everything that simplifies interactions with the database._ + +- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +- [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. +- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. +- [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. +- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. +- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) +- [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. +- [Flyway](https://flywaydb.org) - Simple database migration tool. +- [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. +- [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. +- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. +- [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. +- [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. +- [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. +- [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. +- [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). +- [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. +- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. +- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. +- [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. +- [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +- [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. +- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. +- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. +- [Querydsl](http://www.querydsl.com) - Typesafe unified queries. +- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. +- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. +- [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. +- [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. +- [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +- [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. +- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. +- [Trino](https://trino.io) - Distributed SQL query engine for big data. +- [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. +- [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. +- [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. + +### Date and Time + +_Libraries related to handling date and time._ + +- [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. +- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. +- [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. +- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) + +### Dependency Injection + +_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ + +- [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. +- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. +- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. +- [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://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 + +_Augmentation of the development process at a fundamental level._ + +- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. +- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) +- [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) +- [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. +- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. +- [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. +- [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. +- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. + +### Distributed Applications + +_Libraries and frameworks for writing distributed and fault-tolerant applications._ + +- [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +- [Apache Storm](https://storm.apache.org) - Realtime computation system. +- [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. +- [Axon](https://axoniq.io) - Framework for creating CQRS applications. +- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. +- [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. +- [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. +- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +- [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. +- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. +- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. +- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + +### Distributed Transactions + +_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ + +- [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. +- [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. +- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. + +### Distribution + +_Tools that handle the distribution of applications in native formats._ + +- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. +- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. +- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. +- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. +- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. +- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. +- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. +- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. + +### Document Processing + +_Libraries that assist with processing office document formats._ + +- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. +- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. +- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. +- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + +### Financial + +_Libraries related to the financial domain._ + +- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. +- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. +- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. +- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. +- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. +- [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. + +### Formal Verification + +_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ + +- [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. +- [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) +- [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 + +_Libraries that facilitate functional programming._ + +- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. +- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) +- [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. + +### Game Development + +_Frameworks that support the development of games._ + +- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. +- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. +- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. +- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. +- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. +- [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 + +_Libraries for working with geospatial data and algorithms._ + +- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. +- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. +- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. +- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) +- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. +- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) +- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. +- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. + +### GUI + +_Libraries to create modern graphical user interfaces._ + +- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. +- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. +- [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. +- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. + +### High Performance + +_Everything about high-performance computation, from collections to specific libraries._ + +- [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. +- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. +- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. +- [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. +- [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. +- [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. +- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. + +### HTTP Clients + +_Libraries that assist with creating HTTP requests and/or binding responses._ + +- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. +- [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. +- [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. +- [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. +- [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. + +### Hypermedia Types + +_Libraries that handle serialization to hypermedia types._ + +- [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 + +_Integrated development environments that try to simplify several aspects of development._ + +- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. +- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. +- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. +- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. +- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. + +### Imagery + +_Libraries that assist with the creation, evaluation or manipulation of graphical images._ + +- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +- [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. +- [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. +- [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. +- [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 + +_Libraries that help make the Java introspection and reflection API easier and faster to use._ + +- [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. +- [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. +- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. +- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. + +### Job Scheduling + +_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 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. + +### JSON + +_Libraries for serializing and deserializing JSON to and from Java objects._ + +- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. +- [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. +- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. +- [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. +- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. +- [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. +- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. +- [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. +- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. +- [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. +- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. +- [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. +- [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. +- [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. +- [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. +- [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. +- [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. + +### JVM and JDK + +_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. +- [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. +- [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) +- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! + +### Logging + +_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. +- [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. +- [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. +- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. +- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. +- [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 + +_Tools that provide specific statistical algorithms for learning from data._ + +- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. +- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. +- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. +- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. +- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. +- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. +- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. +- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. +- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. +- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. +- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) + +### Messaging + +_Tools that help send messages between clients to ensure protocol independency._ + +- [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. +- [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. +- [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. +- [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. +- [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. +- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. +- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. +- [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. +- [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. +- [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. +- [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. +- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. +- [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. +- [NATS client](https://github.com/nats-io/nats.java) - NATS client. + +### Microservice + +_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. +- [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. +- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. +- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. +- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. +- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. +- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. +- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. +- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. + +### Miscellaneous + +_Everything else._ + +- [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) +- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. +- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. +- [Jimfs](https://github.com/google/jimfs) - In-memory file system. +- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. +- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. +- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. +- [JPad](http://jpad.io) - Snippet runner. +- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. +- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. +- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. +- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. +- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. +- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. +- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. +- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. +- [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. +- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. +- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. +- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) +- [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. +- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for + code and dependency management and allows you to run it directly. + +### Mobile Development + +_Tools for creating or managing mobile applications._ + +- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. + +### Monitoring + +_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. +- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. +- [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. +- [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. +- [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 software’s 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. +- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. +- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. +- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. +- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. + +### Native + +_For working with platform-specific native libraries._ + +- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. +- [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. +- [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 + +_Libraries that specialize in processing text._ + +- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) +- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +- [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. +- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. + +### Networking + +_Libraries for building network servers._ + +- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). +- [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. +- [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. +- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. +- [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. +- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +- [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +- [Netty](https://netty.io) - Framework for building high-performance network applications. +- [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. +- [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. +- [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. +- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. +- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +- [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. + +### ORM + +_APIs that handle the persistence of objects._ + +- [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +- [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. +- [Ebean](https://ebean.io) - Provides simple and fast data access. +- [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. + +### PaaS + +_Java platform as a service._ + +- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. +- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. +- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. +- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. +- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. +- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. + +### Pathfinding + +_Algorithms and libraries for finding routes in graphs and spatial environments._ + +- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. + +### PDF + +_Tools to help with PDF files._ + +- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. +- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. +- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) +- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) +- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) +- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. +- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) +- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) +- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. + +### Performance analysis + +_Tools for performance analysis, profiling and benchmarking._ + +- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. +- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. +- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. +- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. +- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. + +### Platform + +_Frameworks that are suites of multiple libraries encompassing several categories._ + +#### Apache Commons + +- [BCEL](http://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. +- [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. +- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. +- [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. +- [Chain](http://commons.apache.org/proper/commons-chain/) - Chain of Responsibility pattern implementation. +- [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. +- [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. +- [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. +- [Codec](http://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +- [Collections](http://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. +- [Compress](http://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. +- [Configuration](http://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. +- [Convert](http://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. +- [CSV](http://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. +- [Daemon](http://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. +- [DBCP](http://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. +- [DbUtils](http://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. +- [Digester](http://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. +- [Email](http://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. +- [Exec](http://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. +- [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. +- [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. +- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. +- [Functor](http://commons.apache.org/proper/commons-functor/) - Function that can be manipulated as an object, or an object representing a single, generic function. +- [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. +- [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. +- [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. +- [Imaging](http://commons.apache.org/proper/commons-imaging/) - Image library. +- [IO](http://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. +- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. +- [JCI](http://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. +- [JCS](http://commons.apache.org/proper/commons-jcs/) - Java Caching System. +- [Jelly](http://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. +- [Jexl](http://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. +- [JNet](http://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. +- [JXPath](http://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. +- [Lang](http://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. +- [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. +- [Math](http://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. +- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. +- [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. +- [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. +- [OGNL](http://commons.apache.org/proper/commons-ognl/) - Object-graph navigation language. +- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. +- [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. +- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. +- [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. +- [Proxy](http://commons.apache.org/proper/commons-proxy/) - Library for creating dynamic proxies. +- [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +- [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. +- [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +- [Validator](http://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. +- [VFS](http://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +- [Weaver](http://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. + +#### Other + +- [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). +- [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. +- [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. + +### Processes + +_Libraries that help the management of operating system processes._ + +- [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) - Convenient API around Apache Commons Exec. +- [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. +- [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) - Stops processes started from Java or the system processes via PID. + +### Reactive libraries + +_Libraries for developing reactive applications._ + +- [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) - 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. + +### REST Frameworks + +_Frameworks specifically for creating RESTful services._ + +- [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +- [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. +- [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. +- [Spark](http://sparkjava.com) - Sinatra inspired framework. +- [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. +- [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. + +### Science + +_Libraries for scientific computing, analysis and visualization._ + +- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +- [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) +- [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. +- [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. +- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +- [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. +- [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. +- [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. +- [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. +- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +- [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. + +### Search + +_Engines that index documents for search and analysis._ + +- [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. +- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. +- [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. +- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. + +### Security + +_Libraries that handle security, authentication, authorization or session management._ + +- [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. +- [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. +- [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. +- [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. +- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. +- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. +- [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. +- [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. +- [OACC](http://oaccframework.org) - Provides permission-based authorization services. +- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. +- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +- [pac4j](https://github.com/pac4j/pac4j) - Security engine. +- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. +- [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. +- [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. + +### Serialization + +_Libraries that handle serialization with high efficiency._ + +- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. +- [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. +- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. +- [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. +- [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. +- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. + +### Server + +_Servers specifically used to deploy applications._ + +- [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. +- [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. +- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. +- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) + +### Template Engine + +_Tools that substitute expressions in a template._ + +- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. +- [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). +- [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +- [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. +- [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. + +### Testing + +_Tools that test from model to the view._ + +#### Asynchronous + +_Tools that simplify testing asynchronous services._ + +- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. +- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. +- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. +- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. + +#### BDD + +_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ + +- [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. +- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. +- [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. +- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. +- [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. +- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. +- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. + +#### Fixtures + +_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. +- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. +- [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. +- [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. +- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. +- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. +- [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. + +#### Frameworks + +_Provide environments to run tests for a specific use case._ + +- [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 + +_Libraries that provide custom matchers._ + +- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. +- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. +- [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. +- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. +- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. +- [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. + +#### Miscellaneous + +_Other stuff related to testing._ + +- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. +- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. +- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. +- [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. +- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. +- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. +- [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). +- [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. +- [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 + +_Tools which mock collaborators to help testing single, isolated units._ + +- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. +- [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. +- [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. +- [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. +- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. +- [WireMock](http://wiremock.org) - Stubs and mocks web services. +- [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. + +### Utility + +_Libraries which provide general utility functions._ + +- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. +- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. +- [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. +- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. +- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +- [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. +- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. +- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. +- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +- [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. +- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. +- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. +- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. +- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. +- [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. +- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. +- [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. +- [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. +- [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. + +### Version Managers + +_Utilities that help create the development shell environment and switch between different Java versions._ + +- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +- [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. +- [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. + +### Web Crawling + +_Libraries that analyze the content of websites._ + +- [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. +- [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. +- [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. +- [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. +- [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. + +### Web Frameworks + +_Frameworks that handle the communication between the layers of a web application._ + +- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +- [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. +- [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. +- [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. +- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. +- [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. +- [Javalin](https://javalin.io/) - Microframework for web applications. +- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. +- [Ninja](http://www.ninjaframework.org) - Full-stack web framework. +- [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. +- [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +- [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) - 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. +- [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. + +### Workflow Orchestration Engines + +_Platforms and frameworks for orchestrating workflows and business processes._ + +- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. +- [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. +- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. + + + +## Resources + +### Related Awesome Lists + +_Awesome Lists related to the Java & JVM ecosystem._ + +- [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) +- [Awesome REST](https://github.com/marmelab/awesome-rest) +- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) +- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) +- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) +- [Useful Java Links](https://github.com/Vedenin/useful-java-links) +- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) +- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) + +### Communities + +_Active discussions._ + +- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. +- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. + +### Frontends + +_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ + +- [java.libhunt.com](https://java.libhunt.com) + +### Influential Books + +_Books that made a big impact and are still worth reading._ + +- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) +- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) +- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) +- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) +- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) +- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) +- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) + +### Podcasts and Screencasts + +_Something to look at or listen to while programming._ + +- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. +- [A Bootiful Podcast](https://bootifulpodcast.fm) +- [Foojay Podcast](https://foojay.io/today/category/podcast/) +- [Inside Java](https://inside.java/podcast) (Official) +- [Java Off Heap](http://www.javaoffheap.com) +- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. + +### People + +#### Socials + +_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://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://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](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://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. +- [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. +- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. +- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. +- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. +- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. +- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. +- [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://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. + +### Websites + +_Sites to read._ + +- [Baeldung](https://www.baeldung.com) +- [Dzone](https://dzone.com) +- [foojay.io](https://foojay.io) +- [Google Java Style](https://google.github.io/styleguide/javaguide.html) +- [InfoQ](https://www.infoq.com) +- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) +- [Java, SQL, and jOOQ](https://blog.jooq.org) +- [Java.net](https://community.oracle.com/community/java) +- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) +- [JavaWorld](https://www.javaworld.com) +- [JAXenter](https://jaxenter.com) +- [RebelLabs](https://zeroturnaround.com/rebellabs) +- [OverOps Blog](https://blog.overops.com) +- [TheServerSide.com](http://www.theserverside.com) +- [Vanilla Java](https://vanilla-java.github.io) +- [Voxxed](https://www.voxxed.com) +- [Java Weekly](https://discu.eu/weekly/java/) + +## Contributing + +Contributions are very welcome! + +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 diff --git a/README.md b/README.md index 71f77ae7..fe1d3d51 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Data Structures](#data-structures) - [Database](#database) - [Date and Time](#date-and-time) - - [Decentralization](#decentraliation) - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) @@ -93,122 +92,127 @@ A curated list of awesome Java frameworks, libraries and software. _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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | 3.6k | 23h | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | 1.5k | 1mo | ### 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. -- [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. -- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | 10.3k | 14h | +| [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. | 3.0k | 23d | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | 370 | 3mo | +| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | ### Bean Mapping _Frameworks that ease bean mapping._ -- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. -- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. -- [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. -- [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. -- [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. -- [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -- [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | - | - | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | 241 | 2y | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | 7.6k | 6d | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | 2.3k | 1mo | +| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | 1.3k | 1y | +| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | 126 | 5mo | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | - | - | ### Build _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. -- [Bazel](https://bazel.build) - Tool from Google that builds code quickly and reliably. -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | - | - | +| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | 4.2k | 54m | +| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | ### Bytecode Manipulation _Libraries to manipulate bytecode programmatically._ -- [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. -- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. -- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) -- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -- [cglib](https://github.com/cglib/cglib) - Bytecode generation library. -- [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. -- [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. -- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. -- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. -- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | +| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | 15.4k | 1d | +| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | +| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | 4.9k | 1y | +| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | 4.2k | 1y | +| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | 65 | 13d | +| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | 1.7k | 1y | +| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | - | - | +| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | ### Caching _Libraries that provide caching facilities._ -- [cache2k](https://cache2k.org) - In-memory high performance caching library. -- [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. -- [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. -- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | 17.4k | 2d | +| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | +| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | ### CLI _Libraries for everything related to the CLI._ #### Argument Parsing - _Libraries to assist with parsing command line arguments._ -- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. -- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. -- [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. -- [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. -- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. - -#### Text-Based User Interfaces - -_Libraries that provide TUI frameworks, or building blocks related functions._ - -- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. -- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -- [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) - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | +| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | +| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | +| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | +| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | +| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | 2.5k | 5mo | ### Cloud _Libraries to integrate or use cloud-specific features._ -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | 4.2k | 2d | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | 2.0k | 16d | ### Code Analysis _Tools that provide metrics and quality measurements._ -- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) -- [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. -- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. -- [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. -- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) -- [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. -- [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. -- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. -- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. -- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) -- [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. -- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | 8.8k | 2h | +| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | 7.1k | 8h | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | 232 | 1d | +| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | 15.5k | 1d | +| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | +| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | 4.0k | 10h | +| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | 5.3k | 18h | +| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | 30.8k | 3y | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | - | - | +| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | 1.2k | 14h | +| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | 1.9k | 1d | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | 3.8k | 3d | ### Code Coverage _Frameworks and tools that enable code coverage metrics collection for test suites._ -- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. -- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) -- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | ### Code Generators _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ +<<<<<<< Updated upstream - [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. - [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. @@ -226,194 +230,236 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [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. +||||||| Stash base +- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. +- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. +- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. +- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. +- [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. +- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +- [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. + +======= +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | 147 | 7y | +| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | 10.5k | 11h | +| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | 6 | 7mo | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | 833 | 1y | +| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | 135 | 3y | +| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | +| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | 10.9k | 1y | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | 22.3k | 3h | +| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | 1 | 1mo | +| [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. | 900 | 1mo | +| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | +>>>>>>> Stashed changes ### Compiler-compiler _Frameworks that help to create parsers, interpreters or compilers._ -- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. -- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -- [JFlex](https://jflex.de) - Lexical analyzer generator. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | +| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | ### Computer Vision _Libraries which seek to gain high level information from images and videos._ -- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. -- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | 8.3k | 10d | ### Configuration _Libraries that provide external configuration._ -- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -- [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. -- [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. -- [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. -- [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 distributed. -- [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | 654 | 5h | +| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | 6.3k | 3mo | +| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | 449 | 3mo | +| [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. | 50 | 7y | +| [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. | 32 | 3mo | +| [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. | 94 | 1mo | +| [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. | 61 | 3y | +| [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. | - | - | ### Constraint Satisfaction Problem Solver _Libraries that help with implementing optimization and satisfiability problems._ -- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. -- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -- [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. -- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | 231 | 2y | +| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | +| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | ### CSV _Frameworks and libraries that simplify reading/writing CSV data._ -- [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. -- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. -- [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. -- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. -- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | 656 | 19d | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | 194 | 8y | +| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | 931 | 4y | ### Data Structures _Efficient and specific data structures._ -- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. -- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. -- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. -- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. -- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. -- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. -- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. -- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. -- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. -- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. -- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | +| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | +| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | 567 | 9y | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | N/A | N/A | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | 784 | 5mo | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | 70.2k | 2h | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | 3.8k | 23d | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | - | - | +| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | 2.5k | 7y | +| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | 4.4k | 2d | ### Database _Everything that simplifies interactions with the database._ -- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -- [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. -- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. -- [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. -- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. -- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) -- [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. -- [Flyway](https://flywaydb.org) - Simple database migration tool. -- [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. -- [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. -- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. -- [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. -- [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. -- [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. -- [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. -- [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). -- [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. -- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. -- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. -- [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. -- [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. -- [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. -- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. -- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -- [Querydsl](http://www.querydsl.com) - Typesafe unified queries. -- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. -- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. -- [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. -- [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. -- [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. -- [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. -- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. -- [Trino](https://trino.io) - Distributed SQL query engine for big data. -- [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. -- [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. -- [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. -- [Apache ShardingSphere](https://github.com/apache/shardingsphere) - Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | +| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | 205 | 2d | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | 2.9k | 16d | +| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | +| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | +| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | 457 | 1d | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | 1.2k | 1mo | +| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | +| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | 20.9k | 2mo | +| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | +| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | - | - | +| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | 2.1k | 4y | +| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | 140 | 11y | +| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | 663 | 7mo | +| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | 6.7k | 5y | +| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | +| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | +| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | 15 | 5d | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | 15 | 1mo | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | 422 | 27d | +| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | 20 | 8mo | +| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | 16.5k | 10h | +| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | 11.5k | 3mo | +| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | 24.2k | 2d | +| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | 3.1k | 5y | +| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | 2.1k | 2y | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | 101 | 19d | +| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | 1.3k | 3mo | +| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | 599 | 1d | ### Date and Time _Libraries related to handling date and time._ -- [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. -- [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. -- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) - -### Decentralization - -_Libraries that handle decentralization tasks._ - -- [java-tron](https://github.com/tronprotocol/java-tron) Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | 821 | 9d | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | 192 | 3y | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | 420 | 4mo | +| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | 470 | 1y | ### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ -- [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. -- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. -- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. -- [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://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) - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | +| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | 362 | 8y | +| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | 826 | 22d | +| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | 12.7k | 1mo | +| [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) | 60 | 5y | ### Development _Augmentation of the development process at a fundamental level._ -- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. -- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) -- [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) -- [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. -- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. -- [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -- [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. -- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | +| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | 140 | 6mo | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | 2.5k | 19d | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | 6.0k | 6h | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | 296 | 7y | +| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | 2.7k | 7d | +| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | 79 | 6y | +| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | ### Distributed Applications _Libraries and frameworks for writing distributed and fault-tolerant applications._ -- [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -- [Apache Storm](https://storm.apache.org) - Realtime computation system. -- [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. -- [Axon](https://axoniq.io) - Framework for creating CQRS applications. -- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) -- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. -- [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. -- [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. -- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. -- [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. -- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. -- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. -- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | +| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | +| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | +| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | 45 | 6y | +| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | - | - | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | 6.5k | 2h | +| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | 10.5k | 6d | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | 86 | 22d | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | 636 | 10h | +| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | 14.0k | 2d | ### Distributed Transactions _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ -- [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. -- [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. -- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) -- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | - | - | +| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | +| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | - | - | ### Distribution _Tools that handle the distribution of applications in native formats._ +<<<<<<< Updated upstream - [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. - [Boxfuse](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. - [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. @@ -428,71 +474,106 @@ _Tools that handle the distribution of applications in native formats._ - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. +||||||| Stash base +- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. +- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. +- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. +- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. +- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. +- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. +- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. +- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. + +======= +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | 649 | 10mo | +| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | 1.2k | 9y | +| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | +| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | 526 | 1y | +| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | - | - | +| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | 50 | 1y | +| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | 2.6k | 1y | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | 133 | 2y | +>>>>>>> Stashed changes ### Document Processing _Libraries that assist with processing office document formats._ -- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. -- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. -- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. -- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | +| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | 855 | 22d | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | 81 | 1y | ### Financial _Libraries related to the financial domain._ -- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. -- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. -- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. -- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. -- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. -- [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | 650 | 1y | +| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | 501 | 3y | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | 339 | 12d | +| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | 40 | 6y | +| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | 942 | 1d | +| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | 2.3k | 1d | ### Formal Verification _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -- [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. -- [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) -- [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) - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | N/A | N/A | +| [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. | 593 | 22d | +| [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 _Libraries that facilitate functional programming._ -- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. -- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | 1.3k | 3y | +| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | 577 | 4y | +| [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. | 2.1k | 1y | +| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | 24 | 3d | +| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | 485 | 1y | +| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | 2.3k | 4mo | +| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | ### Game Development _Frameworks that support the development of games._ -- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. -- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. -- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. -- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. -- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | +| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | +| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | +| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | +| [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. | N/A | N/A | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | - | - | ### Geospatial _Libraries for working with geospatial data and algorithms._ +<<<<<<< Updated upstream - [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. - [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. @@ -503,55 +584,83 @@ _Libraries for working with geospatial data and algorithms._ - [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. +||||||| Stash base +- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. +- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. +- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. +- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) +- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. +- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) +- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. +- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. + +======= +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | +| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | 431 | 16d | +| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | 6.2k | 2d | +| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | 1.3k | 1d | +| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | 955 | 7mo | +>>>>>>> Stashed changes ### GUI _Libraries to create modern graphical user interfaces._ -- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. -- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. -- [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. -- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | 310 | 16h | +| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | ### High Performance _Everything about high-performance computation, from collections to specific libraries._ -- [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. -- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. -- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. -- [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. -- [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. -- [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. -- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | - | - | +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | - | - | +| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | 3.8k | 1y | +| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | 1.0k | 9y | ### HTTP Clients _Libraries that assist with creating HTTP requests and/or binding responses._ -- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. -- [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. -- [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. -- [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. -- [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | 6.4k | 7d | +| [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. | 9.8k | 1h | +| [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. | 1.4k | 19d | +| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | 286 | 17d | +| [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. | 4.6k | 22d | +| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | 327 | 4mo | +| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | 2.7k | 1mo | ### Hypermedia Types _Libraries that handle serialization to hypermedia types._ -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | 25 | 2y | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | 386 | 2y | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | 28 | 8y | +| [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. | 1.1k | 27d | ### IDE _Integrated development environments that try to simplify several aspects of development._ +<<<<<<< Updated upstream - [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. - [IntelliJ IDEA](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. @@ -559,104 +668,128 @@ _Integrated development environments that try to simplify several aspects of dev - [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. - [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. +||||||| Stash base +- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. +- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. +- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. +- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. +- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. + +======= +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | +| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | +| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | +>>>>>>> Stashed changes ### Imagery _Libraries that assist with the creation, evaluation or manipulation of graphical images._ -- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. -- [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -- [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. -- [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. -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | 9 | 15d | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | 1.2k | 2y | +| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | 1.7k | 11d | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | 5.4k | 5d | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | 2.1k | 21h | +| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | 33.8k | 1mo | +| [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. | 385 | 7mo | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | 98 | 8d | +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | ### Introspection _Libraries that help make the Java introspection and reflection API easier and faster to use._ -- [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. -- [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. -- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. -- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | 3.0k | 2mo | +| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | 2.8k | 1y | +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | +| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | 1.5k | 7mo | +| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | 4.8k | 2y | ### Job Scheduling _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 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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 2.8k | 2d | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | 6.7k | 1mo | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | 276 | 1y | +| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | 141 | 7mo | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | 1.5k | 1d | +| [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. | 629 | 4y | +| [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. | 4.1k | 9h | ### JSON _Libraries for serializing and deserializing JSON to and from Java objects._ -- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. -- [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. -- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. -- [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. -- [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. -- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. -- [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. -- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. -- [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. -- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. -- [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. -- [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. -- [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. -- [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. -- [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. -- [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | 1.1k | 1y | +| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | +| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | 24.3k | 6d | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | 465 | 8y | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | 417 | 8d | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | 264 | 6mo | +| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | 9.6k | 5d | +| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | 343 | 2d | +| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | 3.2k | 9y | +| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | 10.1k | 3d | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | 215 | 5mo | +| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | 25.7k | 2y | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | 1.7k | 2y | +| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | 9.4k | 2mo | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | - | - | ### JVM and JDK _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. -- [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. -- [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) -- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | - | - | +| [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) | 21.4k | 14h | +| [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. | - | - | +| [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) | N/A | N/A | +| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | 339 | 2mo | ### Logging _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. -- [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. -- [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. -- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. -- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 58 | 1y | +| [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. | - | - | +| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | 2.0k | 8d | +| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | 2.2k | 3y | +| [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. | 180 | 6mo | +| [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 _Tools that provide specific statistical algorithms for learning from data._ +<<<<<<< Updated upstream - [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. - [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. - [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. @@ -674,100 +807,140 @@ _Tools that provide specific statistical algorithms for learning from data._ - [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. - [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +||||||| Stash base +- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. +- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. +- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. +- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. +- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. +- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. +- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. +- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. +- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. +- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. +- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) + +======= +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | +| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | +| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | +| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | - | - | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | 800 | 3y | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | 2.9k | 3y | +| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | 86 | 1y | +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | 1.8k | 4y | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | 1.6k | 5mo | +| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | 6.3k | 8h | +| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | +>>>>>>> Stashed changes ### Messaging _Tools that help send messages between clients to ensure protocol independency._ -- [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. -- [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. -- [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. -- [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. -- [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. -- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. -- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. -- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. -- [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. -- [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. -- [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. -- [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. -- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. -- [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. -- [NATS client](https://github.com/nats-io/nats.java) - NATS client. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | - | - | +| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | +| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | +| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | +| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | - | - | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | 64 | 3mo | +| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | 24.8k | 3y | +| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | 2.4k | 10mo | +| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | 968 | 1y | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | 1.3k | 48m | +| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | 2.4k | 1mo | +| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | 640 | 16h | ### Microservice _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. -- [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. -- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. -- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. -- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. -- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. -- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. -- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | +| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | 5.1k | 23h | +| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | 423 | 3y | +| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | 12.7k | 21d | +| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | - | - | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | N/A | N/A | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | 3.6k | 15d | +| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | +| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | 4.8k | 1y | +| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | 23.0k | 16d | ### Miscellaneous _Everything else._ -- [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) -- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. -- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -- [Jimfs](https://github.com/google/jimfs) - In-memory file system. -- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. -- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. -- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. -- [JPad](http://jpad.io) - Snippet runner. -- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. -- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. -- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. -- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. -- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. -- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. -- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. -- [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. -- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. -- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. -- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -- [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. -- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for - code and dependency management and allows you to run it directly. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | 1.8k | 3y | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | 93.6k | 7mo | +| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | 1.4k | 18d | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | 23.1k | 6y | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | 7 | 8d | +| [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. | 3 | 11d | +| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | 6.0k | 14h | +| [JBake](https://jbake.org) | Static website generator. | - | - | +| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | 1.2k | 3mo | +| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | 102 | 22d | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | 2.5k | 6d | +| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | +| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | 505 | 1y | +| [JPad](http://jpad.io) | Snippet runner. | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | 1.5k | 2y | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | 1.6k | 4y | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | - | - | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | 186 | 6mo | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | 2.1k | 8y | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | 16.8k | 2y | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | 383 | 6d | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | 5.3k | 2y | +| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | 476 | 4mo | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | 915 | 6mo | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | 25 | 3y | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | 1.3k | 8mo | +| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | 414 | 10mo | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | N/A | N/A | +| [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | +| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | 628 | 2y | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | 2.3k | 2mo | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | 76 | 5mo | +| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | 450 | 6mo | +| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | N/A | N/A | ### Mobile Development _Tools for creating or managing mobile applications._ -- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | +| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | ### Monitoring _Tools that observe/monitor applications in production by providing telemetry._ +<<<<<<< Updated upstream - [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](https://github.com/DataDog/dd-trace-java) - Modern monitoring & analytics. @@ -794,65 +967,122 @@ _Tools that observe/monitor applications in production by providing telemetry._ - [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. - [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +||||||| Stash base +- [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. +- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. +- [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. +- [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. +- [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 software’s 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. +- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. +- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. +- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. +- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. + +======= +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | 5 | 3d | +| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | 573 | 1y | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | 7.9k | 16d | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | 54 | 4y | +| [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. | N/A | N/A | +| [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. | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | 490 | 3y | +| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | 3.0k | 9d | +| [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. | 1.7k | 4y | +| [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. | 4.8k | 7h | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | 287 | 6h | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | 164 | 5y | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | 2.3k | 14h | +| [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. | 2.3k | 6h | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | 1.7k | 2y | +| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | 156 | 9y | +| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | +>>>>>>> Stashed changes ### Native _For working with platform-specific native libraries._ -- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. -- [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | 482 | 4y | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | 4.7k | 29d | +| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | 8.9k | 29d | +| [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). | 1.3k | 2mo | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | 215 | 1y | ### Natural Language Processing _Libraries that specialize in processing text._ -- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) -- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) -- [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. -- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | 480 | 3y | +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | +| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | 3 | 6mo | +| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | ### Networking _Libraries for building network servers._ -- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). -- [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. -- [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. -- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. -- [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. -- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -- [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -- [Netty](https://netty.io) - Framework for building high-performance network applications. -- [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. -- [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. -- [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. -- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) -- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) -- [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | 20 | 3y | +| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | 595 | 9y | +| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | 41.7k | 1d | +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | +| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 15h | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | 1.8k | 5y | +| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | +| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | +| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | 248 | 3mo | +| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | 1.0k | 9h | +| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | 2.6k | 7mo | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | 207 | 1d | +| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | +| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | 34 | 9d | +| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | 163 | 3d | ### ORM _APIs that handle the persistence of objects._ -- [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -- [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -- [Ebean](https://ebean.io) - Provides simple and fast data access. -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | +| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | 494 | 1d | +| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | +| [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. | 20.3k | 6d | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | 17.3k | 8d | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | 1.3k | 1y | +| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | 422 | 3mo | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | 454 | 1y | ### PaaS _Java platform as a service._ +<<<<<<< Updated upstream - [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. - [AWS Lambda](https://aws.amazon.com/lambda/) - Serverless computation. - [Google Cloud](https://cloud.google.com) - Google's cloud infrastructure. @@ -860,16 +1090,28 @@ _Java platform as a service._ - [Microsoft Azure](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. - [OpenShift](https://www.openshift.com) - Provides additionally an on-premise solution. +||||||| Stash base +- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. +- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. +- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. +- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. +- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. +- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. + +======= +>>>>>>> Stashed changes ### Pathfinding _Algorithms and libraries for finding routes in graphs and spatial environments._ -- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | 236 | 1h | ### PDF _Tools to help with PDF files._ +<<<<<<< Updated upstream - [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. - [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) @@ -882,10 +1124,38 @@ _Tools to help with PDF files._ - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. +||||||| Stash base +- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. +- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. +- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) +- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) +- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) +- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. +- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) +- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) +- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. + +======= +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | 240 | 4mo | +| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | 2.2k | 5h | +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | 2.1k | 3y | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | 4.1k | 4mo | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | 2.0k | 9mo | +>>>>>>> Stashed changes ### Performance analysis _Tools for performance analysis, profiling and benchmarking._ +<<<<<<< Updated upstream - [fastThread](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. - [GCeasy](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. - [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. @@ -894,374 +1164,375 @@ _Tools for performance analysis, profiling and benchmarking._ - [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. +||||||| Stash base +- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. +- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. +- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. +- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. +- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. + +======= +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | 1.3k | 3y | +| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | 697 | 4y | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | 3.3k | 10d | +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | 465 | 1y | +>>>>>>> Stashed changes ### Platform _Frameworks that are suites of multiple libraries encompassing several categories._ #### Apache Commons - -- [BCEL](http://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. -- [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. -- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. -- [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. -- [Chain](http://commons.apache.org/proper/commons-chain/) - Chain of Responsibility pattern implementation. -- [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. -- [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. -- [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. -- [Codec](http://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -- [Collections](http://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. -- [Compress](http://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. -- [Configuration](http://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. -- [Convert](http://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -- [CSV](http://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. -- [Daemon](http://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. -- [DBCP](http://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. -- [DbUtils](http://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. -- [Digester](http://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. -- [Email](http://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. -- [Exec](http://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. -- [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. -- [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. -- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. -- [Functor](http://commons.apache.org/proper/commons-functor/) - Function that can be manipulated as an object, or an object representing a single, generic function. -- [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. -- [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. -- [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. -- [Imaging](http://commons.apache.org/proper/commons-imaging/) - Image library. -- [IO](http://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. -- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. -- [JCI](http://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. -- [JCS](http://commons.apache.org/proper/commons-jcs/) - Java Caching System. -- [Jelly](http://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. -- [Jexl](http://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. -- [JNet](http://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. -- [JXPath](http://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. -- [Lang](http://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. -- [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. -- [Math](http://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. -- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. -- [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -- [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. -- [OGNL](http://commons.apache.org/proper/commons-ognl/) - Object-graph navigation language. -- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. -- [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. -- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -- [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. -- [Proxy](http://commons.apache.org/proper/commons-proxy/) - Library for creating dynamic proxies. -- [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -- [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. -- [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -- [Validator](http://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. -- [VFS](http://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -- [Weaver](http://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. - -#### Other - -- [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). -- [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -- [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | ### Processes _Libraries that help the management of operating system processes._ -- [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) - Convenient API around Apache Commons Exec. -- [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. -- [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) - Stops processes started from Java or the system processes via PID. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 2d | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 1y | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | ### Reactive libraries _Libraries for developing reactive applications._ -- [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) - 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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 4.9k | 2y | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 29d | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 21d | +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | ### REST Frameworks _Frameworks specifically for creating RESTful services._ -- [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -- [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. -- [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. -- [Spark](http://sparkjava.com) - Sinatra inspired framework. -- [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. -- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. -- [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. -- [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | 8.6k | 43m | +| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | +| [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. | 934 | 5y | +| [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. | 2.5k | 2mo | +| [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. | 940 | 1y | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | 661 | 1mo | +| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | +| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | 3.7k | 6d | +| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | ### Science _Libraries for scientific computing, analysis and visualization._ -- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. -- [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) -- [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. -- [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) -- [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. -- [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. -- [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. -- [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. -- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) -- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -- [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | - | - | +| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | 127 | 2y | +| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | 2.7k | 11h | +| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | 687 | 5y | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | 149 | 1y | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | 82 | 5y | +| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | 244 | 7y | +| [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | 120 | 6mo | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | 3.7k | 6mo | +| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | 1.6k | 3mo | ### Search _Engines that index documents for search and analysis._ -- [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. -- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. -- [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. -- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | 56 | 6y | ### Security _Libraries that handle security, authentication, authorization or session management._ -- [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. -- [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -- [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. -- [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. -- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. -- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. -- [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. -- [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. -- [OACC](http://oaccframework.org) - Provides permission-based authorization services. -- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. -- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). -- [pac4j](https://github.com/pac4j/pac4j) - Security engine. -- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. -- [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. -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | 564 | 5d | +| [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. | 40 | 10mo | +| [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. | 219 | 4y | +| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | 11.0k | 2mo | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | 14 | 5mo | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | 204 | 3mo | +| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | 218 | 7y | +| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | 2.6k | 2y | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | 308 | 4mo | +| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | 860 | 22d | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | 232 | 1y | +| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | 2.5k | 2h | +| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | +| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | 398 | 4mo | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | 47 | 4y | +| [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. | 1.9k | 1y | +| [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. | - | - | ### Serialization _Libraries that handle serialization with high efficiency._ -- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. -- [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. -- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. -- [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. -- [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. -- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | 25.3k | 17d | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | 1.6k | 4y | +| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | - | - | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | 6.5k | 23d | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | 1.5k | 2d | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | 19 | 7y | ### Server _Servers specifically used to deploy applications._ -- [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. -- [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. -- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | 7.2k | 6y | +| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | ### Template Engine _Tools that substitute expressions in a template._ -- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. -- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. -- [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). -- [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. -- [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. -- [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. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | 706 | 4y | +| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | 65 | 8mo | +| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | 315 | 8mo | +| [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. | 1.1k | 2d | +| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | 300 | 8y | +| [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. | 781 | 2mo | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | 1.0k | 7mo | +| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | ### Testing _Tools that test from model to the view._ #### Asynchronous - _Tools that simplify testing asynchronous services._ -- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. -- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) -- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. -- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - -#### BDD - -_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - -- [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. -- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. -- [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. -- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. -- [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. -- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. -- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. - -#### Fixtures - -_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. -- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. -- [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. -- [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. -- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. -- [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. - -#### Frameworks - -_Provide environments to run tests for a specific use case._ - -- [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. -- [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. - -#### Matchers - -_Libraries that provide custom matchers._ - -- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. -- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. -- [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. -- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. -- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. -- [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. - -#### Miscellaneous - -_Other stuff related to testing._ - -- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. -- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. -- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. -- [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. -- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. -- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. -- [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). -- [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. -- [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 - -_Tools which mock collaborators to help testing single, isolated units._ - -- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. -- [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. -- [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. -- [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. -- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -- [WireMock](http://wiremock.org) - Stubs and mocks web services. -- [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | 4.0k | 10mo | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | 427 | 2y | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | 174 | 18d | +| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | +| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | +| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | +| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | +| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 12h | +| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | +| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 5h | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | 446 | 3y | +| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | - | - | +| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | 1.1k | 6m | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | 180 | 10mo | +| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | +| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | +| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | +| [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. | 27 | 1d | +| [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. | 112 | 2d | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 13h | +| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | 421 | 16d | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | 15 | 1mo | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | 241 | 2mo | +| [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. | 73 | 7y | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | +| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | +| [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. | 8.6k | 23d | +| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | +| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | +| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | +| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | 4.4k | 1y | +| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | 4.2k | 3y | +| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | +| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | 831 | 2d | ### Utility _Libraries which provide general utility functions._ -- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. -- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. -- [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. -- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. -- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) -- [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. -- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. -- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) -- [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. -- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. -- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. -- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. -- [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. -- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. -- [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. -- [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. -- [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | 37.0k | 2d | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | - | - | +| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | 763 | 19h | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | 48 | 2y | +| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | 1.3k | 6y | +| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | 48 | 23h | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | 1.8k | 1mo | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | 31 | 5d | +| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | 6.3k | 2d | +| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | 51.4k | 1d | +| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | 55 | 1mo | +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | 2.6k | 1mo | +| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | 21 | 11mo | +| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | 1.3k | 22d | +| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | 106 | 23h | +| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | 547 | 29d | ### Version Managers _Utilities that help create the development shell environment and switch between different Java versions._ -- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. -- [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. -- [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | 3.3k | 4y | +| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | 6.5k | 14d | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | 6.6k | 10h | ### Web Crawling _Libraries that analyze the content of websites._ -- [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. -- [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. -- [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. -- [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. -- [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | 4.6k | 5y | +| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | +| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | 11.7k | 6mo | ### Web Frameworks _Frameworks that handle the communication between the layers of a web application._ -- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -- [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. -- [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. -- [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. -- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. -- [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. -- [Javalin](https://javalin.io/) - Microframework for web applications. -- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. -- [Ninja](http://www.ninjaframework.org) - Full-stack web framework. -- [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. -- [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -- [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) - 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. -- [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. - +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | +| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | 5.9k | 11mo | +| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | +| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | +| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | +| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | +| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | +| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | +| [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. | 868 | 6d | +| [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. | - | - | +| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | ### Workflow Orchestration Engines -- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. -- [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. -- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. +_Platforms and frameworks for orchestrating workflows and business processes._ + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | 9.0k | 1d | +| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | + ## Resources diff --git a/scripts/Constants.java b/scripts/Constants.java index b296511d..bdf968f8 100644 --- a/scripts/Constants.java +++ b/scripts/Constants.java @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream import java.util.regex.Pattern; /** @@ -55,3 +56,54 @@ private Constants() {} public static final String NO_DESCRIPTION = "No description available"; public static final String NO_BADGE = "-"; } +||||||| Stash base +======= +import java.util.regex.Pattern; + +/** + * Constants used across all processing scripts. + */ +public final class Constants { + + private Constants() {} + + // Markdown section markers + public static final String SECTION = "## "; + public static final String SUBSECTION = "### "; + public static final String PROJECTS_SECTION = "## Projects"; + + // File patterns and markers + public static final String ENTRY_PATTERN = "^\\s*-\\s*\\[.*"; + public static final Pattern PROJECT_PATTERN = Pattern.compile("^\\s*-\\s*\\[([^\\]]+)\\]\\(([^)]+)\\)\\s*-\\s*(.+)"); + public static final String INDENTED_LINE_PATTERN = "^\\s+.*"; + + // File extensions and names + public static final String PARSED_PROJECTS_FILE = "parsed-projects.txt"; + public static final String GITHUB_STATS_FILE = "github-stats.txt"; + public static final String GENERATED_TABLES_FILE = "generated-tables.md"; + public static final String CONTRIBUTE_README_FILE = "CONTRIBUTE_README.md"; + public static final String README_FILE = "README.md"; + + // Temporary directory + public static final String TMP_DIR = ".tmp"; + + // File content markers + public static final String SECTION_SEPARATOR = "---"; + public static final String HTML_COMMENT_PREFIX = ""; + public static final String NAME_PREFIX = "NAME:"; + public static final String URL_PREFIX = "URL:"; + public static final String DESC_PREFIX = "DESC:"; + public static final String SKIP_PREFIX = "SKIP:"; + public static final String SECTION_PREFIX = "SECTION:"; + public static final String REPO_PREFIX = "REPO:"; + public static final String STARS_PREFIX = "STARS:"; + public static final String COMMIT_PREFIX = "COMMIT:"; + + // Default values + public static final String NO_DESCRIPTION = "No description available"; + public static final String NO_STATS = "-"; + public static final String INVALID_REPO = "N/A"; +} +>>>>>>> Stashed changes diff --git a/scripts/README.md b/scripts/README.md index 5d41bcf6..4f3ccb0d 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream # README Processing Scripts This directory contains a modular workflow for processing the `CONTRIBUTE_README.md` file into a formatted `README.md` with HTML tables and GitHub badges. @@ -119,3 +120,138 @@ The workflow is now integrated with GitHub Actions and runs as separate steps: 6. **Step 6 - Validate Transformation**: Ensures all entries are present and in correct sections Each step runs independently in the GitHub Actions workflow, making it easy to identify where issues occur if the workflow fails. +||||||| Stash base +======= +# README Processing Scripts + +This directory contains a modular workflow for processing the `CONTRIBUTE_README.md` file into a formatted `README.md` with HTML tables and GitHub badges. + +## Workflow Steps + +The processing is split into 6 logical steps, each with its own script: + +### 1. Input Validation (`1-validate-input.java`) + +- Validates that `CONTRIBUTE_README.md` exists and is readable +- Provides file statistics +- **Output**: Validation status + +### 2. Project Parsing (`2-parse-projects.java`) + +- Parses markdown content to extract project entries +- Handles multi-line descriptions +- **Input**: `CONTRIBUTE_README.md` +- **Output**: `parsed-projects.txt` + +### 3. Stats Generation (`3-generate-badges.java`) + +- Fetches GitHub stats for repositories (stars and last commit) +- Creates text values for stars and last commit dates +- Detects invalid repositories (404 responses) +- **Input**: `parsed-projects.txt` +- **Output**: `github-stats.txt` + +### 4. Table Generation (`4-generate-tables.java`) + +- Combines parsed projects with stats +- Generates markdown tables +- **Input**: `parsed-projects.txt`, `github-stats.txt` +- **Output**: `generated-tables.md` + +### 5. Final Assembly (`5-assemble-readme.java`) + +- Combines original content with generated tables +- Produces the final `README.md` +- **Input**: `CONTRIBUTE_README.md`, `generated-tables.md` +- **Output**: `README.md` + +### 6. Validation (`6-validate-transformation.java`) + +- Validates that all entries from original README are present in transformed README +- Ensures entries are in the correct sections +- Reports missing entries, wrong sections, and extra entries +- **Input**: `CONTRIBUTE_README.md`, `README.md` +- **Output**: Validation report + +## Usage + +### Run Complete Workflow + +```bash +java --enable-preview --source 25 scripts/run_workflow.java +``` + +### Run Individual Steps + +```bash +# Run step 1 (validation) +java --enable-preview --source 25 scripts/run_workflow.java 1 + +# Run step 2 (parsing) with custom input +java --enable-preview --source 25 scripts/run_workflow.java 2 custom-input.md + +# Run step 3 (stats generation) +java --enable-preview --source 25 scripts/run_workflow.java 3 + +# Run step 6 (validation) +java --enable-preview --source 25 scripts/run_workflow.java 6 +``` + +### Run Steps Directly + +```bash +# Validate input +java --enable-preview --source 25 scripts/step_1_validate_input.java + +# Parse projects +java --enable-preview --source 25 scripts/step_2_parse_projects.java CONTRIBUTE_README.md .tmp/parsed-projects.txt + +# Generate stats +java --enable-preview --source 25 scripts/step_3_generate_badges.java .tmp/parsed-projects.txt .tmp/github-stats.txt + +# Generate tables +java --enable-preview --source 25 scripts/step_4_generate_tables.java .tmp/parsed-projects.txt .tmp/github-stats.txt .tmp/generated-tables.md + +# Assemble final README +java --enable-preview --source 25 scripts/step_5_assemble_readme.java CONTRIBUTE_README.md .tmp/generated-tables.md README.md + +# Validate transformation +java --enable-preview --source 25 scripts/step_6_validate_transformation.java CONTRIBUTE_README.md README.md +``` + +## Benefits of Modular Approach + +1. **Easy Debugging**: Each step can be run independently to identify where issues occur +2. **Incremental Processing**: Can re-run specific steps without re-processing everything +3. **Clear Separation**: Each script has a single responsibility +4. **Better Error Handling**: Failures are isolated to specific steps +5. **Maintainability**: Easier to modify individual steps without affecting others + +## Temporary Files + +The workflow creates several temporary files in the `.tmp/` directory: + +- `.tmp/parsed-projects.txt` - Parsed project entries +- `.tmp/github-stats.txt` - Stats mappings (stars and last commit) +- `.tmp/generated-tables.md` - Generated markdown tables + +These files are intermediate outputs and can be safely deleted after processing. The `.tmp/` directory is automatically created if it doesn't exist. + +## Dependencies + +- Java 25+ (uses modern Java features like records and switch expressions) +- No external dependencies required + +## GitHub Actions Integration + +The workflow is now integrated with GitHub Actions and runs as separate steps: + +1. **Step 1 - Validate Input**: Ensures CONTRIBUTE_README.md exists +2. **Step 2 - Parse Projects**: Extracts project entries from markdown +3. **Step 3 - Generate Stats**: Fetches GitHub stats (stars and last commit) for repositories +4. **Step 4 - Generate Tables**: Combines projects with stats into markdown tables +5. **Step 5 - Assemble README**: Produces the final README.md +6. **Step 6 - Validate Transformation**: Ensures all entries are present and in correct sections + +Each step runs independently in the GitHub Actions workflow, making it easy to identify where issues occur if the workflow fails. +>>>>>>> Stashed changes diff --git a/scripts/run_workflow.java b/scripts/run_workflow.java index 66e23509..040e9232 100644 --- a/scripts/run_workflow.java +++ b/scripts/run_workflow.java @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream import java.io.IOException; import java.nio.file.Path; import java.util.List; @@ -136,3 +137,144 @@ String[] buildCommand(String scriptName, String... args) { return Stream.concat(baseCommand.stream(), allArgs.stream()) .toArray(String[]::new); } +||||||| Stash base +======= +import java.io.IOException; +import java.nio.file.Path; +import java.util.List; +import java.util.stream.Stream; + +/** + * Orchestrates the entire README processing workflow by running each step in sequence. + * + * Usage: + * java run-workflow.java # Run complete workflow + * java run-workflow.java [step] # Run specific step (1-5) + * java run-workflow.java [step] [input] # Run step with custom input + */ +void main(String[] args) { + try { + var startTime = System.currentTimeMillis(); + + if (args.length == 0) { + // Run complete workflow + runCompleteWorkflow(); + } else { + // Run specific step + var step = Integer.parseInt(args[0]); + var input = args.length > 1 ? args[1] : null; + runStep(step, input); + } + var duration = System.currentTimeMillis() - startTime; + System.out.printf("Total execution time: %dms%n", duration); + } catch (Exception e) { + var errorMessage = e.getMessage(); + System.err.printf("ERROR: Workflow failed: %s%n", errorMessage); + e.printStackTrace(); + System.exit(1); + } +} + +/** + * Runs the complete workflow + */ +void runCompleteWorkflow() throws IOException, InterruptedException { + System.out.println("Starting complete README processing workflow...\n"); + + // Step 1: Validate input + System.out.println("=".repeat(50)); + runStep(1, null); + + // Step 2: Parse projects + System.out.println("=".repeat(50)); + runStep(2, null); + + // Step 3: Generate stats + System.out.println("=".repeat(50)); + runStep(3, null); + + // Step 4: Generate tables + System.out.println("=".repeat(50)); + runStep(4, null); + + // Step 5: Assemble final README + System.out.println("=".repeat(50)); + runStep(5, null); + + // Step 6: Validate transformation + System.out.println("=".repeat(50)); + runStep(6, null); + + System.out.println("=".repeat(50)); + System.out.println("Workflow completed successfully!"); +} + +/** + * Runs a specific step + */ +void runStep(int step, String input) throws IOException, InterruptedException { + var command = switch (step) { + case 1 -> buildCommand( + "step_1_validate_input.java", + input != null ? input : Constants.CONTRIBUTE_README_FILE + ); + case 2 -> buildCommand( + "step_2_parse_projects.java", + input != null ? input : Constants.CONTRIBUTE_README_FILE, + Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE + ); + case 3 -> buildCommand( + "step_3_generate_badges.java", + Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE, + Constants.TMP_DIR + "/" + Constants.GITHUB_STATS_FILE + ); + case 4 -> buildCommand( + "step_4_generate_tables.java", + Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE, + Constants.TMP_DIR + "/" + Constants.GITHUB_STATS_FILE, + Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE + ); + case 5 -> buildCommand( + "step_5_assemble_readme.java", + input != null ? input : Constants.CONTRIBUTE_README_FILE, + Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE, + Constants.README_FILE + ); + case 6 -> buildCommand( + "step_6_validate_transformation.java", + input != null ? input : Constants.CONTRIBUTE_README_FILE, + Constants.README_FILE + ); + default -> throw new IllegalArgumentException("Invalid step: %d. Must be 1-6.".formatted(step)); + }; + System.out.printf("Running Step %d...%n", step); + + var processBuilder = new ProcessBuilder(command); + processBuilder.directory(Path.of(".").toFile()); + + var process = processBuilder.start(); + var exitCode = process.waitFor(); + + if (exitCode != 0) { + throw new RuntimeException("Step %d failed with exit code: %d".formatted(step, exitCode)); + } + System.out.printf("Step %d completed successfully!%n", step); +} + +/** + * Builds a command array for running a script. + */ +String[] buildCommand(String scriptName, String... args) { + var baseCommand = List.of( + "java", + "--enable-preview", + "--source", + "25", + "scripts/" + scriptName + ); + var allArgs = List.of(args); + + return Stream.concat(baseCommand.stream(), allArgs.stream()) + .toArray(String[]::new); +} +>>>>>>> Stashed changes diff --git a/scripts/step_2_parse_projects.java b/scripts/step_2_parse_projects.java index 63b37762..58a2bc3b 100644 --- a/scripts/step_2_parse_projects.java +++ b/scripts/step_2_parse_projects.java @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream import java.io.IOException; import java.nio.file.*; import java.util.*; @@ -187,3 +188,158 @@ void writeParsedEntries(Path outputPath, List entries) throws IOEx FileUtils.writeOutputFile(outputPath, content); } +||||||| Stash base +======= +import java.io.IOException; +import java.nio.file.*; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Parses the markdown content to extract project entries and saves it in a temporary file. + * + * Usage: java step_2_parse_projects.java [input_file] [output_file] + */ +void main(String[] args) throws IOException { + var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); + var tmpDir = FileUtils.ensureTmpDirectory(); + var outputPath = args.length > 1 ? Path.of(args[1]) : tmpDir.resolve(Constants.PARSED_PROJECTS_FILE); + + System.out.println("Step 2: Parsing project entries..."); + System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); + System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); + + FileUtils.validateInputFile(inputPath); + var content = FileUtils.readFileContent(inputPath); + var projectEntries = parseProjectEntries(content); + writeParsedEntries(outputPath, projectEntries); + + System.out.printf( + "SUCCESS: Successfully parsed %d project entries!%n", + projectEntries.size() + ); + System.out.printf( + "GitHub repos: %d%n", + projectEntries.stream().filter(ProjectEntry::isGitHubRepo).count() + ); +} + +/** + * Parses project entries from markdown content. + */ +List parseProjectEntries(String content) { + var lines = content.split("\n"); + var projectEntries = new ArrayList(); + var inProjectSection = false; + var currentSection = ""; + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + var isSubsection = line.startsWith(Constants.SUBSECTION); + + // Check if we're entering the Projects section + if (line.startsWith(Constants.PROJECTS_SECTION)) { + inProjectSection = true; + continue; + } + // Check if we're leaving the Projects section + if (inProjectSection && + line.startsWith(Constants.SECTION) && + !isSubsection && + !line.equals(Constants.PROJECTS_SECTION) + ) { + inProjectSection = false; + } + if (!inProjectSection) { + continue; + } + // Track current subsection + if (isSubsection) { + currentSection = line.substring(Constants.SUBSECTION.length()); + continue; + } + // Skip headers and empty lines + var isHeader = (line.startsWith("_") && line.endsWith("_")); + if (isHeader || line.isBlank()) { + continue; + } + // List entries + if (line.matches(Constants.ENTRY_PATTERN)) { + var projectEntry = parseProjectEntry(lines, i, currentSection); + if (projectEntry != null) { + projectEntries.add(projectEntry); + i += projectEntry.linesToSkip() - 1; + } + } + } + return projectEntries; +} + +/** + * Parses a single project entry from the list format. + */ +ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { + var matcher = Constants.PROJECT_PATTERN.matcher(lines[startIndex]); + + if (matcher.find()) { + var name = matcher.group(1); + var url = matcher.group(2); + var description = new StringBuilder(matcher.group(3)); + var linesToSkip = 1; + + // Handle multi-line descriptions + for (int i = startIndex + 1; i < lines.length; i++) { + var nextLine = lines[i]; + + if (nextLine.isBlank() || + nextLine.startsWith(Constants.SECTION) || + nextLine.startsWith(Constants.SUBSECTION) || + nextLine.matches(Constants.ENTRY_PATTERN) + ) { + break; + } + + if (nextLine.matches(Constants.INDENTED_LINE_PATTERN)) { + description.append(" ").append(nextLine.trim()); + linesToSkip++; + } else if (!nextLine.trim().isEmpty()) { + description.append(" ").append(nextLine.trim()); + linesToSkip++; + } + } + return new ProjectEntry( + name, + url, + description.toString(), + linesToSkip, + section + ); + } + return null; +} + +/** + * Writes parsed entries to a temporary file in a simple format. + */ +void writeParsedEntries(Path outputPath, List entries) throws IOException { + var content = entries.stream() + .map(e -> """ + %s%s + %s%s + %s%s + %s%d + %s%s + %s + """.formatted( + Constants.NAME_PREFIX, e.name(), + Constants.URL_PREFIX, e.url(), + Constants.DESC_PREFIX, e.description(), + Constants.SKIP_PREFIX, e.linesToSkip(), + Constants.SECTION_PREFIX, e.section(), + Constants.SECTION_SEPARATOR + )) + .collect(Collectors.joining("\n")); + + FileUtils.writeOutputFile(outputPath, content); +} +>>>>>>> Stashed changes diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java index 949a3891..38ff35af 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_badges.java @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream import java.io.*; import java.nio.file.*; import java.util.*; @@ -132,3 +133,428 @@ record BadgeMapping( String starsBadge, String lastCommitBadge ) {} +||||||| Stash base +======= +import java.io.*; +import java.net.http.*; +import java.net.URI; +import java.nio.file.*; +import java.time.*; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Fetches GitHub stars and last commit data for repositories and creates a mapping file. + * + * Usage: step_3_generate_badges.java [parsed_projects_file] [stats_file] + */ +void main(String[] args) throws IOException, InterruptedException { + var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE); + var tmpDir = FileUtils.ensureTmpDirectory(); + var outputPath = args.length > 1 ? Path.of(args[1]) : tmpDir.resolve(Constants.GITHUB_STATS_FILE); + + System.out.println("Step 3: Fetching GitHub stars and last commit data..."); + System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); + System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); + + // Validate input + FileUtils.validateInputFile(inputPath); + + // Read parsed entries + var entries = readParsedEntries(inputPath); + + // Try to load existing stats mappings if available + Map existingMappings = new HashMap<>(); + if (Files.exists(outputPath)) { + try { + System.out.println("Loading existing stats data..."); + existingMappings = readStatsMappings(outputPath); + System.out.printf("Found %d existing stats entries%n", existingMappings.size()); + } catch (Exception e) { + System.out.println("Could not load existing stats data, will fetch all new data"); + } + } + + // Generate stats mappings with actual GitHub data (only fetch missing ones) + var statsMappings = generateStatsMappings(entries, existingMappings); + + // Write stats mappings + writeStatsMappings(outputPath, statsMappings); + + System.out.printf( + "SUCCESS: Successfully fetched data for %d repositories!%n", + statsMappings.size() + ); +} + +/** + * Reads parsed entries from the temporary file. + */ +List readParsedEntries(Path inputPath) throws IOException { + var content = FileUtils.readFileContent(inputPath); + var entries = new ArrayList(); + var sections = content.split(Constants.SECTION_SEPARATOR); + + for (var section : sections) { + if (section.isBlank()) { + continue; + } + + String name = null, url = null, description = null; + int linesToSkip = 0; + + for (var line : section.split("\n")) { + if (line.startsWith(Constants.NAME_PREFIX)) { + name = line.substring(Constants.NAME_PREFIX.length()); + } else if (line.startsWith(Constants.URL_PREFIX)) { + url = line.substring(Constants.URL_PREFIX.length()); + } else if (line.startsWith(Constants.DESC_PREFIX)) { + description = line.substring(Constants.DESC_PREFIX.length()); + } else if (line.startsWith(Constants.SKIP_PREFIX)) { + linesToSkip = Integer.parseInt(line.substring(Constants.SKIP_PREFIX.length())); + } + } + if (name != null && url != null) { + entries.add(new ProjectEntry( + name, + url, + description != null ? description : "", + linesToSkip, + "" + )); + } + } + return entries; +} + +/** + * Reads existing stats mappings from file. + */ +Map readStatsMappings(Path statsPath) throws IOException { + var content = FileUtils.readFileContent(statsPath); + var mappings = new HashMap(); + + for (var section : content.split("\n\n")) { + if (section.isBlank()) { + continue; + } + String repo = null, name = null, starsText = null, lastCommitText = null; + + for (var line : section.split("\n")) { + if (line.trim().isEmpty()) { + continue; + } + if (line.startsWith(Constants.REPO_PREFIX)) { + repo = line.substring(Constants.REPO_PREFIX.length()); + } else if (line.startsWith(Constants.NAME_PREFIX)) { + name = line.substring(Constants.NAME_PREFIX.length()); + } else if (line.startsWith(Constants.STARS_PREFIX)) { + starsText = line.substring(Constants.STARS_PREFIX.length()); + } else if (line.startsWith(Constants.COMMIT_PREFIX)) { + lastCommitText = line.substring(Constants.COMMIT_PREFIX.length()); + } + } + if (repo != null && name != null) { + mappings.put(name, new StatsMapping( + name, + repo, + starsText != null ? starsText : Constants.NO_STATS, + lastCommitText != null ? lastCommitText : Constants.NO_STATS + )); + } + } + return mappings; +} + +/** + * Generates stats mappings for GitHub repositories by fetching data from GitHub API. + * Reuses existing mappings when available. + */ +List generateStatsMappings(List entries, Map existingMappings) throws IOException, InterruptedException { + var mappings = new ArrayList(); + + // Check for GitHub Personal Access Token from environment variable + var githubToken = System.getenv("GITHUB_TOKEN"); + + if (githubToken == null || githubToken.isBlank()) { + System.err.println("ERROR: GITHUB_TOKEN environment variable is required!"); + System.err.println(" Without a PAT, the rate limit is only 60 requests/hour (not enough for all repositories)"); + System.err.println(" Please set GITHUB_TOKEN environment variable:"); + System.err.println(" export GITHUB_TOKEN=your_token_here"); + System.exit(1); + } + + System.out.println("Using GitHub PAT"); + var clientBuilder = HttpClient.newBuilder(); + var client = clientBuilder.build(); + var total = entries.stream().filter(ProjectEntry::isGitHubRepo).count(); + var processed = 0; + + for (var entry : entries) { + if (!entry.isGitHubRepo()) { + // Non-GitHub repos get NO_STATS for both stars and commit + mappings.add(new StatsMapping( + entry.name(), + "", + Constants.NO_STATS, + Constants.NO_STATS + )); + continue; + } + + var repo = entry.getGitHubRepo(); + if (repo == null) { + mappings.add(new StatsMapping( + entry.name(), + "", + Constants.NO_STATS, + Constants.NO_STATS + )); + continue; + } + + processed++; + + // Check if we already have data for this repository + var existing = existingMappings.get(entry.name()); + if (existing != null && existing.repo().equals(repo) && + !existing.starsText().equals(Constants.NO_STATS) && + !existing.lastCommitText().equals(Constants.NO_STATS) && + !existing.starsText().equals(Constants.INVALID_REPO) && + !existing.lastCommitText().equals(Constants.INVALID_REPO)) { + // Reuse existing data + mappings.add(existing); + if (processed % 50 == 0) { + System.out.printf("Processing %d/%d repositories... (using cached data)%n", processed, total); + } + continue; + } + + // Need to fetch new data + if (processed % 10 == 0) { + System.out.printf("Processing %d/%d repositories... (fetching from API)%n", processed, total); + } + + var starsText = fetchStars(client, repo, processed); + var lastCommitText = fetchLastCommit(client, repo, processed); + + mappings.add(new StatsMapping( + entry.name(), + repo, + starsText, + lastCommitText + )); + + // Rate limiting: GitHub API allows 60 requests per hour without auth + // We make 2 requests per repo (stars + commit), so we can process ~30 repos/hour + // Add a delay to avoid hitting the limit too quickly + Thread.sleep(1000); // 1 second delay between repositories (2 requests per repo = 2 seconds total) + } + + return mappings; +} + +/** + * Fetches the number of stars for a GitHub repository. + */ +String fetchStars(HttpClient client, String repo, int requestNumber) { + try { + var githubToken = System.getenv("GITHUB_TOKEN"); + var requestBuilder = HttpRequest.newBuilder() + .uri(URI.create("https://api.github.com/repos/" + repo)) + .header("Accept", "application/vnd.github.v3+json"); + + // Add authentication header if token is available + if (githubToken != null && !githubToken.isBlank()) { + requestBuilder.header("Authorization", "Bearer " + githubToken); + } + + var request = requestBuilder.GET().build(); + + var response = client.send(request, HttpResponse.BodyHandlers.ofString()); + + // Check rate limit headers + var rateLimitRemaining = response.headers().firstValue("X-RateLimit-Remaining"); + if (rateLimitRemaining.isPresent()) { + var remaining = Integer.parseInt(rateLimitRemaining.get()); + if (requestNumber % 10 == 0) { + System.out.printf(" API requests remaining: %d%n", remaining); + } + if (remaining <= 0) { + var rateLimitReset = response.headers().firstValue("X-RateLimit-Reset"); + if (rateLimitReset.isPresent()) { + var resetTime = Instant.ofEpochSecond(Long.parseLong(rateLimitReset.get())); + var waitSeconds = Duration.between(Instant.now(), resetTime).getSeconds() + 5; // Add 5 second buffer + System.err.printf("ERROR: Rate limit exceeded! Waiting %d seconds until reset...%n", waitSeconds); + Thread.sleep(Math.min(waitSeconds * 1000L, 3600000)); // Wait up to 1 hour + // Retry once + return fetchStars(client, repo, requestNumber); + } + } + } + + if (response.statusCode() == 200) { + var body = response.body(); + // Simple JSON parsing - extract stargazers_count + var pattern = java.util.regex.Pattern.compile("\"stargazers_count\"\\s*:\\s*(\\d+)"); + var matcher = pattern.matcher(body); + if (matcher.find()) { + var stars = Long.parseLong(matcher.group(1)); + return formatStars(stars); + } + } else if (response.statusCode() == 404) { + // Repository not found - mark as invalid + System.err.printf("WARNING: Repository %s not found (may have been deleted or moved)%n", repo); + return Constants.INVALID_REPO; + } else if (response.statusCode() == 403) { + System.err.printf("WARNING: Access forbidden for %s (may be private or rate limited)%n", repo); + return Constants.NO_STATS; + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + return Constants.NO_STATS; + } catch (Exception e) { + // Log error for debugging + System.err.printf("ERROR fetching stars for %s: %s%n", repo, e.getMessage()); + } + return Constants.NO_STATS; +} + +/** + * Formats stars count as text. + */ +String formatStars(long stars) { + if (stars >= 1000) { + return "%.1fk".formatted(stars / 1000.0); + } + return String.valueOf(stars); +} + +/** + * Fetches the last commit date for a GitHub repository. + */ +String fetchLastCommit(HttpClient client, String repo, int requestNumber) { + try { + var githubToken = System.getenv("GITHUB_TOKEN"); + var requestBuilder = HttpRequest.newBuilder() + .uri(URI.create("https://api.github.com/repos/" + repo + "/commits?per_page=1")) + .header("Accept", "application/vnd.github.v3+json"); + + // Add authentication header if token is available + if (githubToken != null && !githubToken.isBlank()) { + requestBuilder.header("Authorization", "Bearer " + githubToken); + } + + var request = requestBuilder.GET().build(); + + var response = client.send(request, HttpResponse.BodyHandlers.ofString()); + + // Check rate limit headers + var rateLimitRemaining = response.headers().firstValue("X-RateLimit-Remaining"); + if (rateLimitRemaining.isPresent()) { + var remaining = Integer.parseInt(rateLimitRemaining.get()); + if (remaining <= 0) { + var rateLimitReset = response.headers().firstValue("X-RateLimit-Reset"); + if (rateLimitReset.isPresent()) { + var resetTime = Instant.ofEpochSecond(Long.parseLong(rateLimitReset.get())); + var waitSeconds = Duration.between(Instant.now(), resetTime).getSeconds() + 5; // Add 5 second buffer + System.err.printf("ERROR: Rate limit exceeded! Waiting %d seconds until reset...%n", waitSeconds); + Thread.sleep(Math.min(waitSeconds * 1000L, 3600000)); // Wait up to 1 hour + // Retry once + return fetchLastCommit(client, repo, requestNumber); + } + } + } + + if (response.statusCode() == 200) { + var body = response.body(); + // Extract commit date from JSON - look for "committer" -> "date" + var pattern = java.util.regex.Pattern.compile("\"committer\"\\s*:\\s*\\{[^}]*\"date\"\\s*:\\s*\"([^\"]+)\""); + var matcher = pattern.matcher(body); + if (matcher.find()) { + var dateStr = matcher.group(1); + return formatDate(dateStr); + } + } else if (response.statusCode() == 404) { + // Repository not found - mark as invalid + return Constants.INVALID_REPO; + } else if (response.statusCode() == 403) { + System.err.printf("WARNING: Access forbidden for %s (may be private or rate limited)%n", repo); + return Constants.NO_STATS; + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + return Constants.NO_STATS; + } catch (Exception e) { + // Log error for debugging + System.err.printf("ERROR fetching last commit for %s: %s%n", repo, e.getMessage()); + } + return Constants.NO_STATS; +} + +/** + * Formats date as relative time (e.g., "2d", "1mo") or absolute date. + */ +String formatDate(String dateStr) { + try { + var formatter = DateTimeFormatter.ISO_DATE_TIME; + var dateTime = ZonedDateTime.parse(dateStr, formatter); + var now = ZonedDateTime.now(); + var duration = Duration.between(dateTime, now); + + var days = duration.toDays(); + if (days == 0) { + var hours = duration.toHours(); + if (hours == 0) { + var minutes = duration.toMinutes(); + return minutes <= 1 ? "now" : minutes + "m"; + } + return hours + "h"; + } else if (days < 30) { + return days + "d"; + } else if (days < 365) { + var months = days / 30; + return months + "mo"; + } else { + var years = days / 365; + return years + "y"; + } + } catch (Exception e) { + // If parsing fails, try to extract just the date part + try { + var datePart = dateStr.substring(0, 10); // YYYY-MM-DD + return datePart; + } catch (Exception e2) { + return Constants.NO_STATS; + } + } +} + +/** + * Writes stats mappings to a file. + */ +void writeStatsMappings(Path outputPath, List mappings) throws IOException { + var content = mappings.stream() + .map(m -> String.format( + "%s%s\n%s%s\n%s%s\n%s%s", + Constants.REPO_PREFIX, m.repo(), + Constants.NAME_PREFIX, m.name(), + Constants.STARS_PREFIX, m.starsText(), + Constants.COMMIT_PREFIX, m.lastCommitText() + )) + .collect(Collectors.joining("\n\n")); + + FileUtils.writeOutputFile(outputPath, content); +} + +/** + * Stats mapping for GitHub repository data. + */ +record StatsMapping( + String name, + String repo, + String starsText, + String lastCommitText +) {} +>>>>>>> Stashed changes diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 9b031d05..87e0b471 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream import java.io.*; import java.nio.file.*; import java.util.*; @@ -182,3 +183,195 @@ record BadgeMapping( String starsBadge, String lastCommitBadge ) {} +||||||| Stash base +======= +import java.io.*; +import java.nio.file.*; +import java.util.*; + +/** + * Generates markdown tables from parsed project entries and stats mappings. + * + * Usage: java step_4_generate_tables.java [parsed_projects_file] [stats_file] [output_file] + */ +void main(String[] args) throws IOException { + var projectsPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE); + var statsPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.TMP_DIR + "/" + Constants.GITHUB_STATS_FILE); + var tmpDir = FileUtils.ensureTmpDirectory(); + var outputPath = args.length > 2 ? Path.of(args[2]) : tmpDir.resolve(Constants.GENERATED_TABLES_FILE); + + System.out.println("Step 4: Generating markdown tables..."); + System.out.printf("Projects: %s%n", projectsPath.toAbsolutePath()); + System.out.printf("Stats: %s%n", statsPath.toAbsolutePath()); + System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); + + FileUtils.validateInputFile(projectsPath); + FileUtils.validateInputFile(statsPath); + + var projectEntries = readParsedEntries(projectsPath); + var statsMappings = readStatsMappings(statsPath); + + var tables = generateMarkdownTables(projectEntries, statsMappings); + FileUtils.writeOutputFile(outputPath, tables); + + System.out.println("SUCCESS: Successfully generated markdown tables!"); + System.out.printf("Tables created: %d%n", countTables(tables)); + System.out.printf("Total entries: %d%n", projectEntries.size()); +} + +/** + * Reads parsed entries. + */ +List readParsedEntries(Path inputPath) throws IOException { + var content = FileUtils.readFileContent(inputPath); + var entries = new ArrayList(); + + for (var section : content.split(Constants.SECTION_SEPARATOR)) { + if (section.isBlank()) { + continue; + } + String name = null, url = null, description = null, sectionName = null; + int linesToSkip = 0; + + for (var line : section.split("\n")) { + if (line.startsWith(Constants.NAME_PREFIX)) { + name = line.substring(Constants.NAME_PREFIX.length()); + } else if (line.startsWith(Constants.URL_PREFIX)) { + url = line.substring(Constants.URL_PREFIX.length()); + } else if (line.startsWith(Constants.DESC_PREFIX)) { + description = line.substring(Constants.DESC_PREFIX.length()); + } else if (line.startsWith(Constants.SKIP_PREFIX)) { + linesToSkip = Integer.parseInt(line.substring(Constants.SKIP_PREFIX.length())); + } else if (line.startsWith(Constants.SECTION_PREFIX)) { + sectionName = line.substring(Constants.SECTION_PREFIX.length()); + } + } + if (name != null && url != null) { + entries.add(new ProjectEntry( + name, + url, + description != null ? description : "", + linesToSkip, + sectionName != null ? sectionName : "" + )); + } + } + return entries; +} + +/** + * Reads stats mappings. + */ +Map readStatsMappings(Path statsPath) throws IOException { + var content = FileUtils.readFileContent(statsPath); + var mappings = new HashMap(); + + for (var section : content.split("\n\n")) { + if (section.isBlank()) { + continue; + } + String repo = null, name = null, starsText = null, lastCommitText = null; + + for (var line : section.split("\n")) { + if (line.trim().isEmpty()) { + continue; + } + if (line.startsWith(Constants.REPO_PREFIX)) { + repo = line.substring(Constants.REPO_PREFIX.length()); + } else if (line.startsWith(Constants.NAME_PREFIX)) { + name = line.substring(Constants.NAME_PREFIX.length()); + } else if (line.startsWith(Constants.STARS_PREFIX)) { + starsText = line.substring(Constants.STARS_PREFIX.length()); + } else if (line.startsWith(Constants.COMMIT_PREFIX)) { + lastCommitText = line.substring(Constants.COMMIT_PREFIX.length()); + } + } + if (repo != null && name != null) { + mappings.put(name, new StatsMapping( + name, + repo, + starsText, + lastCommitText + )); + } + } + return mappings; +} + +/** + * Generates markdown tables from project entries and stats mappings. + */ +String generateMarkdownTables(List entries, Map statsMappings) { + var tables = new StringBuilder(); + var current = new ArrayList(); + var currentSection = ""; + + for (var entry : entries) { + // Check if we're starting a new section + if (!currentSection.equals(entry.section())) { + // Finish current table if we have entries + if (!current.isEmpty()) { + tables.append(createMarkdownTable(current, statsMappings)); + current.clear(); + } + currentSection = entry.section(); + } + + current.add(entry); + } + // Finish any remaining entries + if (!current.isEmpty()) { + tables.append(createMarkdownTable(current, statsMappings)); + } + return tables.toString(); +} + +/** + * Creates a single markdown table from project entries. + */ +String createMarkdownTable(List entries, Map statsMappings) { + if (entries.isEmpty()) { + return ""; + } + var sectionName = entries.get(0).section(); + var table = new StringBuilder(); + table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); + // Don't add section header here - it's already in the original file + table.append("| Name | Description | Stars | Updated |\n"); + table.append("| :--- | :---------- | :---: | :-----: |\n"); + + for (var entry : entries) { + var desc = entry.description().isEmpty() ? Constants.NO_DESCRIPTION : entry.description(); + var stats = statsMappings.get(entry.name()); + var stars = stats != null ? stats.starsText() : Constants.NO_STATS; + var commit = stats != null ? stats.lastCommitText() : Constants.NO_STATS; + + // Escape pipe characters in description for markdown + desc = desc.replace("|", "\\|"); + + table.append("| [").append(entry.name()).append("](").append(entry.url()).append(") | "); + table.append(desc).append(" | "); + table.append(stars).append(" | "); + table.append(commit).append(" |\n"); + } + table.append("\n"); + return table.toString(); +} + +/** + * Counts the number of tables in the generated content. + */ +int countTables(String content) { + return (int) content.lines().filter(l -> l.startsWith("| Name |")).count(); +} + +/** + * Stats mapping for GitHub repository data. + */ +record StatsMapping( + String name, + String repo, + String starsText, + String lastCommitText +) {} +>>>>>>> Stashed changes diff --git a/scripts/step_5_assemble_readme.java b/scripts/step_5_assemble_readme.java index e8f32cd6..94d7086f 100644 --- a/scripts/step_5_assemble_readme.java +++ b/scripts/step_5_assemble_readme.java @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream import java.io.*; import java.nio.file.*; import java.util.*; @@ -198,3 +199,219 @@ String findCurrentSubsection(String[] lines, int currentIndex) { return currentMainSection; } +||||||| Stash base +======= +import java.io.*; +import java.nio.file.*; +import java.util.*; + +/** + * Assembles the final README.md by combining the original content with generated markdown tables. + * + * Usage: step_5_assemble_readme.java [input_file] [tables_file] [output_file] + */ +void main(String[] args) throws IOException { + var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); + var tablesPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE); + var outputPath = args.length > 2 ? Path.of(args[2]) : Path.of(Constants.README_FILE); + + System.out.println("Step 5: Assembling final README..."); + System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); + System.out.printf("Tables: %s%n", tablesPath.toAbsolutePath()); + System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); + + FileUtils.validateInputFile(inputPath); + FileUtils.validateInputFile(tablesPath); + + var originalContent = FileUtils.readFileContent(inputPath); + var tablesContent = FileUtils.readFileContent(tablesPath); + var finalContent = assembleReadme(originalContent, tablesContent); + FileUtils.writeOutputFile(outputPath, finalContent); + + System.out.println("SUCCESS: Successfully assembled final README!"); + System.out.println("Statistics:"); + System.out.printf(" - %s%n", FileUtils.getFileStats(outputPath)); + System.out.printf(" - Badges: %d%n", countBadges(finalContent)); +} + +/** + * Replaces project sections with markdown tables. + */ +String assembleReadme(String originalContent, String tablesContent) { + var lines = originalContent.split("\n"); + var result = new StringBuilder(); + var inProjectSection = false; + + // Split tables by section comments (markdown format) + var allTables = tablesContent.split(Constants.SECTION_COMMENT_PREFIX); + // Filter out empty tables and process each table + var tables = java.util.Arrays.stream(allTables) + .filter(t -> t.trim().length() > 0 && t.contains("-->")) + .toArray(String[]::new); + + // Create a mapping of sections to their tables + var sectionToTableMap = createSectionToTableMap(tables); + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + + if (line.startsWith(Constants.PROJECTS_SECTION)) { + inProjectSection = true; + result.append(line).append("\n\n"); + continue; + } + // Check for the hidden delimiter that marks the end of Projects section + if (inProjectSection && line.contains(Constants.END_PROJECTS_SECTION_COMMENT)) { + System.out.printf( + "FOUND %s delimiter at line %d%n", Constants.END_PROJECTS_SECTION_COMMENT, + i + ); + inProjectSection = false; + } + // Check if we're leaving the Projects section + if (inProjectSection && + line.startsWith(Constants.SECTION) && + !line.equals(Constants.PROJECTS_SECTION) + ) { + inProjectSection = false; + } + if (!inProjectSection) { + result.append(line).append("\n"); + continue; + } + // Handle subsection headers + if (line.startsWith(Constants.SUBSECTION)) { + result.append(line).append("\n\n"); + continue; + } + // Handle headers + if (line.startsWith("_") && line.endsWith("_")) { + result.append(line).append("\n\n"); + continue; + } + // Skip empty lines + if (line.isBlank()) { + continue; + } + // Replace list items with markdown tables + if (line.matches(Constants.ENTRY_PATTERN)) { + // Find the current subsection + var currentSubsection = findCurrentSubsection(lines, i); + if (currentSubsection != null && sectionToTableMap.containsKey(currentSubsection)) { + var tableContent = sectionToTableMap.get(currentSubsection); + result.append(tableContent); + if (!tableContent.endsWith("\n")) { + result.append("\n"); + } + } + // Skip ALL remaining list items in this section until we hit the next subsection or end delimiter + while (i + 1 < lines.length && + !lines[i + 1].startsWith(Constants.SUBSECTION) && + !lines[i + 1].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { + i++; + if (lines[i].matches(Constants.ENTRY_PATTERN)) { + // Skip this list item + continue; + } + if (lines[i].startsWith(Constants.SECTION) && + !lines[i].startsWith(Constants.SUBSECTION) + ) { + // We've hit the end of the Projects section + inProjectSection = false; + break; + } + if (lines[i].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { + // We've hit the end delimiter + inProjectSection = false; + break; + } + } + continue; + } + // Handle other content + if (line.isBlank() || line.startsWith(Constants.HTML_COMMENT_PREFIX)) { + result.append(line).append("\n"); + continue; + } + result.append(line).append("\n"); + } + return result.toString(); +} + +/** + * Counts the number of badges in the content. + */ +long countBadges(String content) { + return content.lines() + .filter(line -> line.contains("|") && (line.contains("Stars") || line.contains("Updated"))) + .count() / 2; // Approximate count based on table rows +} + +/** + * Creates a mapping of section names to their corresponding markdown tables. + */ +Map createSectionToTableMap(String[] tables) { + var sectionToTableMap = new HashMap(); + + for (var table : tables) { + if (table.trim().isEmpty()) { + continue; + } + + // Extract section name from the comment (format: SectionName --> or ) + var lines = table.split("\n"); + String sectionName = null; + + for (var line : lines) { + if (line.contains(Constants.SECTION_COMMENT_PREFIX)) { + // Format: + var startIdx = line.indexOf(Constants.SECTION_COMMENT_PREFIX) + Constants.SECTION_COMMENT_PREFIX.length(); + var endIdx = line.indexOf(" -->"); + if (endIdx > startIdx) { + sectionName = line.substring(startIdx, endIdx).trim(); + break; + } + } else if (line.contains("-->") && !line.contains(Constants.HTML_COMMENT_PREFIX)) { + // Format: SectionName --> + var endIdx = line.indexOf(" -->"); + if (endIdx > 0) { + sectionName = line.substring(0, endIdx).trim(); + break; + } + } + } + + if (sectionName != null) { + // Remove the comment line(s) and keep the rest of the table + var tableContent = new StringBuilder(); + var skipComment = true; + for (var line : lines) { + if (skipComment && (line.contains("-->") || line.trim().isEmpty())) { + if (line.contains("-->")) { + skipComment = false; + } + continue; + } + skipComment = false; + tableContent.append(line).append("\n"); + } + sectionToTableMap.put(sectionName, tableContent.toString().trim()); + } + } + + return sectionToTableMap; +} + +/** + * Finds the current subsection by looking backwards from the given line index. + */ +String findCurrentSubsection(String[] lines, int currentIndex) { + for (int i = currentIndex; i >= 0; i--) { + var line = lines[i]; + if (line.startsWith(Constants.SUBSECTION)) { + return line.substring(Constants.SUBSECTION.length()); + } + } + return null; +} +>>>>>>> Stashed changes diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index 69648eaf..cca9a66b 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -1,3 +1,4 @@ +<<<<<<< Updated upstream import java.io.IOException; import java.nio.file.*; import java.util.*; @@ -539,3 +540,356 @@ record SectionInfo( int level, int lineNumber ) {} +||||||| Stash base +======= +import java.io.IOException; +import java.nio.file.*; +import java.util.*; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +/** + * Validates that all entries from the original README are present in the transformed README + * and are in the correct sections. + * + * Usage: java step_6_validate_transformation.java [original_file] [transformed_file] + */ +void main(String[] args) throws IOException { + var originalPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); + var transformedPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.README_FILE); + + System.out.println("Step 6: Validating transformation..."); + System.out.printf("Original: %s%n", originalPath.toAbsolutePath()); + System.out.printf("Transformed: %s%n", transformedPath.toAbsolutePath()); + + FileUtils.validateInputFile(originalPath); + FileUtils.validateInputFile(transformedPath); + + var originalContent = FileUtils.readFileContent(originalPath); + var transformedContent = FileUtils.readFileContent(transformedPath); + + var originalEntries = extractProjectEntries(originalContent); + var transformedEntries = extractProjectEntriesFromTables(transformedContent); + + System.out.printf("Found %d entries in original README%n", originalEntries.size()); + System.out.printf("Found %d entries in transformed README%n", transformedEntries.size()); + + var validationResult = validateTransformation(originalEntries, transformedEntries); + printValidationResults(validationResult); + + if (!validationResult.isValid()) { + System.err.println("VALIDATION FAILED!"); + System.exit(1); + } + + System.out.println("SUCCESS: All entries validated successfully!"); +} + +/** + * Extracts project entries from the original markdown format. + */ +List extractProjectEntries(String content) { + var lines = content.split("\n"); + var projectEntries = new ArrayList(); + var inProjectSection = false; + var currentSection = ""; + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + var isSubsection = line.startsWith(Constants.SUBSECTION); + + // Check if we're entering the Projects section + if (line.startsWith(Constants.PROJECTS_SECTION)) { + inProjectSection = true; + continue; + } + // Check if we're leaving the Projects section + if (inProjectSection && + line.startsWith(Constants.SECTION) && + !isSubsection && + !line.equals(Constants.PROJECTS_SECTION) + ) { + inProjectSection = false; + } + if (!inProjectSection) { + continue; + } + // Track current subsection + if (isSubsection) { + currentSection = line.substring(Constants.SUBSECTION.length()); + continue; + } + // Skip headers and empty lines + var isHeader = (line.startsWith("_") && line.endsWith("_")); + if (isHeader || line.isBlank()) { + continue; + } + // List entries + if (line.matches(Constants.ENTRY_PATTERN)) { + var projectEntry = parseProjectEntry(lines, i, currentSection); + if (projectEntry != null) { + projectEntries.add(projectEntry); + i += projectEntry.linesToSkip() - 1; + } + } + } + return projectEntries; +} + +/** + * Extracts project entries from markdown tables in the transformed README. + */ +List extractProjectEntriesFromTables(String content) { + var entries = new ArrayList(); + var lines = content.split("\n"); + var inProjectSection = false; + var currentSection = ""; + var inTable = false; + var tableSection = ""; + + for (int i = 0; i < lines.length; i++) { + var line = lines[i]; + + // Track section changes + if (line.startsWith(Constants.PROJECTS_SECTION)) { + inProjectSection = true; + continue; + } + if (inProjectSection && + line.startsWith(Constants.SECTION) && + !line.startsWith(Constants.SUBSECTION) + ) { + inProjectSection = false; + continue; + } + if (!inProjectSection) { + continue; + } + + // Track subsection changes + if (line.startsWith(Constants.SUBSECTION)) { + currentSection = line.substring(Constants.SUBSECTION.length()); + continue; + } + + // Track table boundaries - look for Markdown table headers + if (line.startsWith("|") && line.contains("| Name |")) { + inTable = true; + tableSection = currentSection; + continue; + } + if (inTable && line.startsWith("|") && line.contains("| :--- |")) { + // Skip the separator row + continue; + } + if (inTable && !line.startsWith("|") && !line.trim().isEmpty() && !line.startsWith("_")) { + // End of table + inTable = false; + continue; + } + + // Extract entries from Markdown table rows + if (inTable && line.startsWith("|") && !line.contains("| Name |") && !line.contains("| :--- |")) { + var entry = extractEntryFromMarkdownTableRow(line, tableSection); + if (entry != null) { + entries.add(entry); + } + } + } + return entries; +} + +/** + * Extracts a project entry from a Markdown table row. + */ +ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { + // Split by | and clean up + var parts = line.split("\\|"); + if (parts.length < 5) { + return null; + } + + // Extract name and URL from [Name](URL) format in first cell + var nameUrlPart = parts[1].trim(); + var nameUrlMatch = Pattern.compile("\\[([^\\]]+)\\]\\(([^)]+)\\)").matcher(nameUrlPart); + if (!nameUrlMatch.find()) { + return null; + } + + var name = nameUrlMatch.group(1); + var url = nameUrlMatch.group(2); + var description = parts[2].trim(); + + if (!name.isEmpty() && !url.isEmpty()) { + return new ProjectEntry( + name, + url, + description, + 1, + section + ); + } + return null; +} + +/** + * Parses a single project entry from the original markdown format. + */ +ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { + var matcher = Constants.PROJECT_PATTERN.matcher(lines[startIndex]); + + if (matcher.find()) { + var name = matcher.group(1); + var url = matcher.group(2); + var description = new StringBuilder(matcher.group(3)); + var linesToSkip = 1; + + // Handle multi-line descriptions + for (int i = startIndex + 1; i < lines.length; i++) { + var nextLine = lines[i]; + + if (nextLine.isBlank() || + nextLine.startsWith(Constants.SECTION) || + nextLine.startsWith(Constants.SUBSECTION) || + nextLine.matches(Constants.ENTRY_PATTERN) + ) { + break; + } + + if (nextLine.matches(Constants.INDENTED_LINE_PATTERN)) { + description.append(" ").append(nextLine.trim()); + linesToSkip++; + } else if (!nextLine.trim().isEmpty()) { + description.append(" ").append(nextLine.trim()); + linesToSkip++; + } + } + return new ProjectEntry( + name, + url, + description.toString(), + linesToSkip, + section + ); + } + + return null; +} + +/** + * Validates that all original entries are present in the transformed version. + */ +ValidationResult validateTransformation(List original, List transformed) { + var missingEntries = new ArrayList(); + var wrongSectionEntries = new ArrayList(); + var extraEntries = new ArrayList(); + + // Create maps for easier lookup + var originalMap = original.stream() + .collect(Collectors.toMap( + e -> e.name().toLowerCase(), + e -> e, + (e1, e2) -> e1 + )); + + var transformedMap = transformed.stream() + .collect(Collectors.toMap( + e -> e.name().toLowerCase(), + e -> e, + (e1, e2) -> e1 + )); + + // Check for missing entries + for (var originalEntry : original) { + var key = originalEntry.name().toLowerCase(); + if (!transformedMap.containsKey(key)) { + missingEntries.add(originalEntry); + } else { + var transformedEntry = transformedMap.get(key); + if (!originalEntry.section().equals(transformedEntry.section())) { + wrongSectionEntries.add(new SectionMismatch( + originalEntry, + transformedEntry + )); + } + } + } + + // Check for extra entries (entries in transformed but not in original) + for (var transformedEntry : transformed) { + var key = transformedEntry.name().toLowerCase(); + if (!originalMap.containsKey(key)) { + extraEntries.add(transformedEntry); + } + } + return new ValidationResult( + missingEntries, + wrongSectionEntries, + extraEntries + ); +} + +/** + * Prints validation results in a readable format. + */ +void printValidationResults(ValidationResult result) { + System.out.printf("%n%s%n", "=".repeat(60)); + System.out.println("VALIDATION RESULTS"); + System.out.printf("%s%n", "=".repeat(60)); + + if (result.missingEntries().isEmpty() && + result.wrongSectionEntries().isEmpty() && + result.extraEntries().isEmpty()) { + System.out.println("All validations passed!"); + return; + } + + if (!result.missingEntries().isEmpty()) { + System.out.printf("MISSING ENTRIES (%d):%n", result.missingEntries().size()); + for (var entry : result.missingEntries()) { + System.out.printf(" - %s (Section: %s)%n", entry.name(), entry.section()); + } + System.out.println(); + } + + if (!result.wrongSectionEntries().isEmpty()) { + System.out.printf("WRONG SECTIONS (%d):%n", result.wrongSectionEntries().size()); + for (var mismatch : result.wrongSectionEntries()) { + System.out.printf(" - %s: Expected '%s', Found '%s'%n", + mismatch.original().name(), + mismatch.original().section(), + mismatch.transformed().section()); + } + System.out.println(); + } + + if (!result.extraEntries().isEmpty()) { + System.out.printf("EXTRA ENTRIES (%d):%n", result.extraEntries().size()); + for (var entry : result.extraEntries()) { + System.out.printf(" - %s (Section: %s)%n", entry.name(), entry.section()); + } + System.out.println(); + } +} + +/** + * Represents the result of validation. + */ +record ValidationResult( + List missingEntries, + List wrongSectionEntries, + List extraEntries +) { + boolean isValid() { + return missingEntries.isEmpty() && wrongSectionEntries.isEmpty(); + } +} + +/** + * Represents a section mismatch between original and transformed entries. + */ +record SectionMismatch( + ProjectEntry original, + ProjectEntry transformed +) {} +>>>>>>> Stashed changes From b941f6cb69c131ca9ae1e2d88d1f20ddc0b33ac3 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 9 Jan 2026 14:56:31 +0400 Subject: [PATCH 405/533] Update --- .github/workflows/update-readme.yml | 64 +++ .tmp/generated-tables.md | 5 +- .tmp/github-stats.txt | 19 +- .tmp/parsed-projects.txt | 23 +- CONTRIBUTE_README.md | 16 +- README.md | 289 +---------- scripts/Constants.java | 61 --- scripts/README.md | 136 +++++ scripts/run_workflow.java | 142 ----- scripts/step_2_parse_projects.java | 193 ------- scripts/step_3_generate_badges.java | 138 ----- scripts/step_4_generate_tables.java | 188 ------- scripts/step_5_assemble_readme.java | 204 -------- scripts/step_6_validate_transformation.java | 545 -------------------- 14 files changed, 265 insertions(+), 1758 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index d07c30ad..ec7b45a0 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -1,4 +1,5 @@ <<<<<<< Updated upstream +<<<<<<< Updated upstream name: Update README from CONTRIBUTE_README # Workflow disabled @@ -173,3 +174,66 @@ jobs: fi >>>>>>> Stashed changes +||||||| Stash base +======= +name: Update README + +on: + schedule: + # Run once a week on Monday at 00:00 UTC + - cron: '0 0 * * 1' + workflow_dispatch: # Allow manual triggering + push: + branches: + - master + paths: + - 'CONTRIBUTE_README.md' + - 'scripts/**' + +jobs: + update-readme: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for git operations + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '25' + + - name: Checkout existing stats cache + run: | + mkdir -p .tmp + # Try to restore stats cache from previous run + if git show HEAD:.tmp/github-stats.txt > .tmp/github-stats.txt 2>/dev/null; then + echo "Restored existing stats cache from previous commit" + else + echo "No existing stats cache found, will fetch all data" + fi + + - name: Run workflow + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + java --enable-preview --source 25 scripts/run_workflow.java + + - name: Commit changes + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add README.md + # Always commit the stats cache so it persists for next run + git add .tmp/github-stats.txt || true + if git diff --staged --quiet; then + echo "No changes to commit" + else + git commit -m "Update README with latest GitHub stars and commit dates [skip ci]" + git push + fi + +>>>>>>> Stashed changes diff --git a/.tmp/generated-tables.md b/.tmp/generated-tables.md index cf33d1e7..cb04fe9f 100644 --- a/.tmp/generated-tables.md +++ b/.tmp/generated-tables.md @@ -235,6 +235,7 @@ | [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | | [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | 1.3k | 3mo | | [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | 599 | 1d | +| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. | 20.6k | 1h | @@ -701,7 +702,7 @@ | [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | 595 | 9y | | [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | 41.7k | 1d | | [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | -| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 15h | +| [gRPC-java](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 1d | | [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | 1.8k | 5y | | [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | | [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | @@ -857,6 +858,7 @@ | [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | | [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | 3.7k | 6d | | [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | +| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. | 25.6k | 22m | @@ -991,6 +993,7 @@ | [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. | 112 | 2d | +| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation framework and ecosystem. | 33.9k | 1h | | [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | | [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | | [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | diff --git a/.tmp/github-stats.txt b/.tmp/github-stats.txt index 05337164..fe528a94 100644 --- a/.tmp/github-stats.txt +++ b/.tmp/github-stats.txt @@ -738,6 +738,11 @@ NAME:CosId STARS:599 COMMIT:1d +REPO:apache/shardingsphere +NAME:Apache ShardingSphere +STARS:20.6k +COMMIT:1h + REPO:ical4j/ical4j NAME:iCal4j STARS:821 @@ -2269,9 +2274,9 @@ STARS:- COMMIT:- REPO:grpc/grpc-java -NAME:gRPC +NAME:gRPC-java STARS:11.9k -COMMIT:15h +COMMIT:1d REPO:EsotericSoftware/kryonet NAME:KryoNet @@ -2848,6 +2853,11 @@ NAME:Swagger STARS:- COMMIT:- +REPO:OpenAPITools/openapi-generator +NAME:openapi-generator +STARS:25.6k +COMMIT:22m + REPO: NAME:BioJava STARS:- @@ -3343,6 +3353,11 @@ NAME:weld-testing STARS:112 COMMIT:2d +REPO:SeleniumHQ/selenium +NAME:selenium +STARS:33.9k +COMMIT:1h + REPO: NAME:AssertJ STARS:- diff --git a/.tmp/parsed-projects.txt b/.tmp/parsed-projects.txt index 6bf250bd..d33b1373 100644 --- a/.tmp/parsed-projects.txt +++ b/.tmp/parsed-projects.txt @@ -1034,6 +1034,13 @@ SKIP:1 SECTION:Database --- +NAME:Apache ShardingSphere +URL:https://github.com/apache/shardingsphere +DESC:Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. +SKIP:1 +SECTION:Database +--- + NAME:iCal4j URL:https://github.com/ical4j/ical4j DESC:Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. @@ -3176,7 +3183,7 @@ SKIP:1 SECTION:Networking --- -NAME:gRPC +NAME:gRPC-java URL:https://github.com/grpc/grpc-java DESC:RPC framework based on protobuf and HTTP/2. SKIP:1 @@ -3988,6 +3995,13 @@ SKIP:1 SECTION:REST Frameworks --- +NAME:openapi-generator +URL:https://github.com/OpenAPITools/openapi-generator +DESC:Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. +SKIP:1 +SECTION:REST Frameworks +--- + NAME:BioJava URL:https://biojava.org/ DESC:Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. @@ -4681,6 +4695,13 @@ SKIP:1 SECTION:Testing --- +NAME:selenium +URL:https://github.com/SeleniumHQ/selenium +DESC:Browser automation framework and ecosystem. +SKIP:1 +SECTION:Testing +--- + NAME:AssertJ URL:https://joel-costigliola.github.io/assertj/ DESC:Fluent assertions that improve readability. diff --git a/CONTRIBUTE_README.md b/CONTRIBUTE_README.md index 6ccfd4b1..a87f7897 100644 --- a/CONTRIBUTE_README.md +++ b/CONTRIBUTE_README.md @@ -24,6 +24,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Data Structures](#data-structures) - [Database](#database) - [Date and Time](#date-and-time) + - [Decentralization](#decentraliation) - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) @@ -336,6 +337,7 @@ _Everything that simplifies interactions with the database._ - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. - [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. - [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. +- [Apache ShardingSphere](https://github.com/apache/shardingsphere) - Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. ### Date and Time @@ -346,6 +348,12 @@ _Libraries related to handling date and time._ - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. - [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) +### Decentralization + +_Libraries that handle decentralization tasks._ + +- [java-tron](https://github.com/tronprotocol/java-tron) Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. + ### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ @@ -814,7 +822,7 @@ _Libraries for building network servers._ - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. - [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. - [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. -- [gRPC](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. +- [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. - [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://netty.io) - Framework for building high-performance network applications. @@ -989,6 +997,7 @@ _Frameworks specifically for creating RESTful services._ - [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. - [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. +- [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. ### Science @@ -1142,6 +1151,7 @@ _Provide environments to run tests for a specific use case._ - [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. +- [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. #### Matchers @@ -1249,14 +1259,10 @@ _Frameworks that handle the communication between the layers of a web applicatio ### Workflow Orchestration Engines -_Platforms and frameworks for orchestrating workflows and business processes._ - - [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. - [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. - [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. - - ## Resources ### Related Awesome Lists diff --git a/README.md b/README.md index fe1d3d51..26cfd8ad 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Data Structures](#data-structures) - [Database](#database) - [Date and Time](#date-and-time) + - [Decentralization](#decentraliation) - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) @@ -212,43 +213,6 @@ _Frameworks and tools that enable code coverage metrics collection for test suit _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ -<<<<<<< Updated upstream -- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. -- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. -- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -- [Bootify](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. -- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. -- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. -- [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](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. -- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -- [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. - -||||||| Stash base -- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. -- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. -- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. -- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. -- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. -- [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. -- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -- [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. - -======= | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | 147 | 7y | @@ -265,7 +229,6 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a | [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. | 900 | 1mo | | [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | ->>>>>>> Stashed changes ### Compiler-compiler _Frameworks that help to create parsers, interpreters or compilers._ @@ -385,6 +348,7 @@ _Everything that simplifies interactions with the database._ | [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | | [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | 1.3k | 3mo | | [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | 599 | 1d | +| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. | 20.6k | 1h | ### Date and Time _Libraries related to handling date and time._ @@ -395,6 +359,10 @@ _Libraries related to handling date and time._ | [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | 192 | 3y | | [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | 420 | 4mo | | [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | 470 | 1y | +### Decentralization + +_Libraries that handle decentralization tasks._ + ### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ @@ -459,37 +427,6 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ -<<<<<<< Updated upstream -- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. -- [Boxfuse](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. -- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. -- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- [Cloudsmith](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. -- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. -- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. -- [Nexus](https://www.sonatype.com) - Binary management with proxy and caching capabilities. -- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. -- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. - -||||||| Stash base -- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. -- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. -- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. -- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. -- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. -- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. -- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. -- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. -- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. - -======= | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | 649 | 10mo | @@ -502,7 +439,6 @@ _Tools that handle the distribution of applications in native formats._ | [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | 50 | 1y | | [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | 2.6k | 1y | | [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | 133 | 2y | ->>>>>>> Stashed changes ### Document Processing _Libraries that assist with processing office document formats._ @@ -573,29 +509,6 @@ _Frameworks that support the development of games._ _Libraries for working with geospatial data and algorithms._ -<<<<<<< Updated upstream -- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. -- [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. -- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) -- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) -- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. -- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) -- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. - -||||||| Stash base -- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. -- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. -- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) -- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) -- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. -- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) -- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. - -======= | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | @@ -606,7 +519,6 @@ _Libraries for working with geospatial data and algorithms._ | [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | | [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | 1.3k | 1d | | [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | 955 | 7mo | ->>>>>>> Stashed changes ### GUI _Libraries to create modern graphical user interfaces._ @@ -660,23 +572,6 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ -<<<<<<< Updated upstream -- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. -- [IntelliJ IDEA](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. -- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. -- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. -- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. - -||||||| Stash base -- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. -- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. -- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. -- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. -- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. - -======= | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | @@ -684,7 +579,6 @@ _Integrated development environments that try to simplify several aspects of dev | [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | | [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | | [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | ->>>>>>> Stashed changes ### Imagery _Libraries that assist with the creation, evaluation or manipulation of graphical images._ @@ -789,43 +683,6 @@ _Libraries that log the behavior of an application._ _Tools that provide specific statistical algorithms for learning from data._ -<<<<<<< Updated upstream -- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. -- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. -- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. -- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. -- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. -- [H2O](https://www.h2o.ai) - Analytics engine for statistics over big data. -- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. -- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) -- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. -- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. -- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. -- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) - -||||||| Stash base -- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. -- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. -- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. -- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. -- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. -- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. -- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. -- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) -- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. -- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. -- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. -- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) - -======= | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | @@ -843,7 +700,6 @@ _Tools that provide specific statistical algorithms for learning from data._ | [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | 6.3k | 8h | | [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | | [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | ->>>>>>> Stashed changes ### Messaging _Tools that help send messages between clients to ensure protocol independency._ @@ -940,61 +796,6 @@ _Tools for creating or managing mobile applications._ _Tools that observe/monitor applications in production by providing telemetry._ -<<<<<<< Updated upstream -- [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](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. -- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. -- [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. -- [Instrumental](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. -- [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 software’s 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](https://github.com/getsentry/sentry-java) - Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. -- [SPM](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. -- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. -- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. -- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. - -||||||| Stash base -- [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. -- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. -- [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. -- [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. -- [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 software’s 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. -- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. -- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. -- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. -- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. - -======= | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | 5 | 3d | @@ -1018,7 +819,6 @@ _Tools that observe/monitor applications in production by providing telemetry._ | [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | 1.7k | 2y | | [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | 156 | 9y | | [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | ->>>>>>> Stashed changes ### Native _For working with platform-specific native libraries._ @@ -1051,7 +851,7 @@ _Libraries for building network servers._ | [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | 595 | 9y | | [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | 41.7k | 1d | | [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | -| [gRPC](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 15h | +| [gRPC-java](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 1d | | [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | 1.8k | 5y | | [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | | [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | @@ -1082,24 +882,6 @@ _APIs that handle the persistence of objects._ _Java platform as a service._ -<<<<<<< Updated upstream -- [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. -- [AWS Lambda](https://aws.amazon.com/lambda/) - Serverless computation. -- [Google Cloud](https://cloud.google.com) - Google's cloud infrastructure. -- [Heroku](https://www.heroku.com) - Abstract computing environments. -- [Microsoft Azure](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. -- [OpenShift](https://www.openshift.com) - Provides additionally an on-premise solution. - -||||||| Stash base -- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. -- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. -- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. -- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. -- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. -- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. - -======= ->>>>>>> Stashed changes ### Pathfinding _Algorithms and libraries for finding routes in graphs and spatial environments._ @@ -1111,33 +893,6 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. _Tools to help with PDF files._ -<<<<<<< Updated upstream -- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. -- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) -- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) -- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. -- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -- [iText](https://itextpdf.com/en) - Creates PDF files programmatically. -- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) -- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. -- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. - -||||||| Stash base -- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. -- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) -- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) -- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. -- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. -- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) -- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. -- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. - -======= | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | @@ -1150,30 +905,10 @@ _Tools to help with PDF files._ | [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | 2.1k | 3y | | [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | 4.1k | 4mo | | [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | 2.0k | 9mo | ->>>>>>> Stashed changes ### Performance analysis _Tools for performance analysis, profiling and benchmarking._ -<<<<<<< Updated upstream -- [fastThread](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. -- [GCeasy](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. -- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. -- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. - -||||||| Stash base -- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. -- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. -- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. -- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. - -======= | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | 1.3k | 3y | @@ -1181,7 +916,6 @@ _Tools for performance analysis, profiling and benchmarking._ | [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | 3.3k | 10d | | [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | | [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | 465 | 1y | ->>>>>>> Stashed changes ### Platform _Frameworks that are suites of multiple libraries encompassing several categories._ @@ -1286,6 +1020,7 @@ _Frameworks specifically for creating RESTful services._ | [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | | [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | 3.7k | 6d | | [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | +| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. | 25.6k | 22m | ### Science _Libraries for scientific computing, analysis and visualization._ @@ -1430,6 +1165,7 @@ _Tools that simplify testing asynchronous services._ | [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. | 112 | 2d | +| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation framework and ecosystem. | 33.9k | 1h | | [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | | [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | | [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | @@ -1525,16 +1261,11 @@ _Frameworks that handle the communication between the layers of a web applicatio | [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | ### Workflow Orchestration Engines -_Platforms and frameworks for orchestrating workflows and business processes._ - | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | | [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | 9.0k | 1d | | [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | - - -## Resources ### Related Awesome Lists @@ -1661,3 +1392,5 @@ _Sites to read._ Contributions are very welcome! 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 diff --git a/scripts/Constants.java b/scripts/Constants.java index bdf968f8..6a8f1b17 100644 --- a/scripts/Constants.java +++ b/scripts/Constants.java @@ -1,63 +1,3 @@ -<<<<<<< Updated upstream -import java.util.regex.Pattern; - -/** - * Constants used across all processing scripts. - */ -public final class Constants { - - private Constants() {} - - // Markdown section markers - public static final String SECTION = "## "; - public static final String SUBSECTION = "### "; - public static final String PROJECTS_SECTION = "## Projects"; - - // File patterns and markers - public static final String ENTRY_PATTERN = "^\\s*-\\s*\\[.*"; - public static final Pattern PROJECT_PATTERN = Pattern.compile("^\\s*-\\s*\\[([^\\]]+)\\]\\(([^)]+)\\)\\s*-\\s*(.+)"); - public static final String INDENTED_LINE_PATTERN = "^\\s+.*"; - - // File extensions and names - public static final String PARSED_PROJECTS_FILE = "parsed-projects.txt"; - public static final String GITHUB_BADGES_FILE = "github-badges.txt"; - public static final String GENERATED_TABLES_FILE = "generated-tables.html"; - public static final String CONTRIBUTE_README_FILE = "CONTRIBUTE_README.md"; - public static final String README_FILE = "README.md"; - - // Temporary directory - public static final String TMP_DIR = ".tmp"; - - // File content markers - public static final String SECTION_SEPARATOR = "---"; - public static final String HTML_COMMENT_PREFIX = ""; - public static final String NAME_PREFIX = "NAME:"; - public static final String URL_PREFIX = "URL:"; - public static final String DESC_PREFIX = "DESC:"; - public static final String SKIP_PREFIX = "SKIP:"; - public static final String SECTION_PREFIX = "SECTION:"; - public static final String REPO_PREFIX = "REPO:"; - public static final String STARS_PREFIX = "STARS:"; - public static final String COMMIT_PREFIX = "COMMIT:"; - - // HTML and styling - public static final String TABLE_STYLE = "width:100%;table-layout:fixed;border-collapse:collapse;"; - public static final String NAME_CELL_STYLE = "width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"; - public static final String DESC_CELL_STYLE = "width:58%;word-wrap:break-word;"; - public static final String BADGE_CELL_STYLE = ""; - - // Badge URLs - Updated to remove labels - public static final String GITHUB_STARS_BADGE_URL = "https://img.shields.io/github/stars/%s?style=for-the-badge&label="; - public static final String GITHUB_LAST_COMMIT_BADGE_URL = "https://img.shields.io/github/last-commit/%s?style=for-the-badge&label="; - - // Default values - public static final String NO_DESCRIPTION = "No description available"; - public static final String NO_BADGE = "-"; -} -||||||| Stash base -======= import java.util.regex.Pattern; /** @@ -106,4 +46,3 @@ private Constants() {} public static final String NO_STATS = "-"; public static final String INVALID_REPO = "N/A"; } ->>>>>>> Stashed changes diff --git a/scripts/README.md b/scripts/README.md index 4f3ccb0d..45ca25ff 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -1,4 +1,5 @@ <<<<<<< Updated upstream +<<<<<<< Updated upstream # README Processing Scripts This directory contains a modular workflow for processing the `CONTRIBUTE_README.md` file into a formatted `README.md` with HTML tables and GitHub badges. @@ -255,3 +256,138 @@ The workflow is now integrated with GitHub Actions and runs as separate steps: Each step runs independently in the GitHub Actions workflow, making it easy to identify where issues occur if the workflow fails. >>>>>>> Stashed changes +||||||| Stash base +======= +# README Processing Scripts + +This directory contains a modular workflow for processing the `CONTRIBUTE_README.md` file into a formatted `README.md` with HTML tables and GitHub badges. + +## Workflow Steps + +The processing is split into 6 logical steps, each with its own script: + +### 1. Input Validation (`1-validate-input.java`) + +- Validates that `CONTRIBUTE_README.md` exists and is readable +- Provides file statistics +- **Output**: Validation status + +### 2. Project Parsing (`2-parse-projects.java`) + +- Parses markdown content to extract project entries +- Handles multi-line descriptions +- **Input**: `CONTRIBUTE_README.md` +- **Output**: `parsed-projects.txt` + +### 3. Stats Generation (`3-generate-badges.java`) + +- Fetches GitHub stats for repositories (stars and last commit) +- Creates text values for stars and last commit dates +- Detects invalid repositories (404 responses) +- **Input**: `parsed-projects.txt` +- **Output**: `github-stats.txt` + +### 4. Table Generation (`4-generate-tables.java`) + +- Combines parsed projects with stats +- Generates markdown tables +- **Input**: `parsed-projects.txt`, `github-stats.txt` +- **Output**: `generated-tables.md` + +### 5. Final Assembly (`5-assemble-readme.java`) + +- Combines original content with generated tables +- Produces the final `README.md` +- **Input**: `CONTRIBUTE_README.md`, `generated-tables.md` +- **Output**: `README.md` + +### 6. Validation (`6-validate-transformation.java`) + +- Validates that all entries from original README are present in transformed README +- Ensures entries are in the correct sections +- Reports missing entries, wrong sections, and extra entries +- **Input**: `CONTRIBUTE_README.md`, `README.md` +- **Output**: Validation report + +## Usage + +### Run Complete Workflow + +```bash +java --enable-preview --source 25 scripts/run_workflow.java +``` + +### Run Individual Steps + +```bash +# Run step 1 (validation) +java --enable-preview --source 25 scripts/run_workflow.java 1 + +# Run step 2 (parsing) with custom input +java --enable-preview --source 25 scripts/run_workflow.java 2 custom-input.md + +# Run step 3 (stats generation) +java --enable-preview --source 25 scripts/run_workflow.java 3 + +# Run step 6 (validation) +java --enable-preview --source 25 scripts/run_workflow.java 6 +``` + +### Run Steps Directly + +```bash +# Validate input +java --enable-preview --source 25 scripts/step_1_validate_input.java + +# Parse projects +java --enable-preview --source 25 scripts/step_2_parse_projects.java CONTRIBUTE_README.md .tmp/parsed-projects.txt + +# Generate stats +java --enable-preview --source 25 scripts/step_3_generate_badges.java .tmp/parsed-projects.txt .tmp/github-stats.txt + +# Generate tables +java --enable-preview --source 25 scripts/step_4_generate_tables.java .tmp/parsed-projects.txt .tmp/github-stats.txt .tmp/generated-tables.md + +# Assemble final README +java --enable-preview --source 25 scripts/step_5_assemble_readme.java CONTRIBUTE_README.md .tmp/generated-tables.md README.md + +# Validate transformation +java --enable-preview --source 25 scripts/step_6_validate_transformation.java CONTRIBUTE_README.md README.md +``` + +## Benefits of Modular Approach + +1. **Easy Debugging**: Each step can be run independently to identify where issues occur +2. **Incremental Processing**: Can re-run specific steps without re-processing everything +3. **Clear Separation**: Each script has a single responsibility +4. **Better Error Handling**: Failures are isolated to specific steps +5. **Maintainability**: Easier to modify individual steps without affecting others + +## Temporary Files + +The workflow creates several temporary files in the `.tmp/` directory: + +- `.tmp/parsed-projects.txt` - Parsed project entries +- `.tmp/github-stats.txt` - Stats mappings (stars and last commit) +- `.tmp/generated-tables.md` - Generated markdown tables + +These files are intermediate outputs and can be safely deleted after processing. The `.tmp/` directory is automatically created if it doesn't exist. + +## Dependencies + +- Java 25+ (uses modern Java features like records and switch expressions) +- No external dependencies required + +## GitHub Actions Integration + +The workflow is now integrated with GitHub Actions and runs as separate steps: + +1. **Step 1 - Validate Input**: Ensures CONTRIBUTE_README.md exists +2. **Step 2 - Parse Projects**: Extracts project entries from markdown +3. **Step 3 - Generate Stats**: Fetches GitHub stats (stars and last commit) for repositories +4. **Step 4 - Generate Tables**: Combines projects with stats into markdown tables +5. **Step 5 - Assemble README**: Produces the final README.md +6. **Step 6 - Validate Transformation**: Ensures all entries are present and in correct sections + +Each step runs independently in the GitHub Actions workflow, making it easy to identify where issues occur if the workflow fails. +>>>>>>> Stashed changes diff --git a/scripts/run_workflow.java b/scripts/run_workflow.java index 040e9232..8d6a6634 100644 --- a/scripts/run_workflow.java +++ b/scripts/run_workflow.java @@ -1,144 +1,3 @@ -<<<<<<< Updated upstream -import java.io.IOException; -import java.nio.file.Path; -import java.util.List; -import java.util.stream.Stream; - -/** - * Orchestrates the entire README processing workflow by running each step in sequence. - * - * Usage: - * java run-workflow.java # Run complete workflow - * java run-workflow.java [step] # Run specific step (1-5) - * java run-workflow.java [step] [input] # Run step with custom input - */ -void main(String[] args) { - try { - var startTime = System.currentTimeMillis(); - - if (args.length == 0) { - // Run complete workflow - runCompleteWorkflow(); - } else { - // Run specific step - var step = Integer.parseInt(args[0]); - var input = args.length > 1 ? args[1] : null; - runStep(step, input); - } - var duration = System.currentTimeMillis() - startTime; - System.out.printf("Total execution time: %dms%n", duration); - } catch (Exception e) { - var errorMessage = e.getMessage(); - System.err.printf("ERROR: Workflow failed: %s%n", errorMessage); - e.printStackTrace(); - System.exit(1); - } -} - -/** - * Runs the complete workflow - */ -void runCompleteWorkflow() throws IOException, InterruptedException { - System.out.println("Starting complete README processing workflow...\n"); - - // Step 1: Validate input - System.out.println("=".repeat(50)); - runStep(1, null); - - // Step 2: Parse projects - System.out.println("=".repeat(50)); - runStep(2, null); - - // Step 3: Generate badges - System.out.println("=".repeat(50)); - runStep(3, null); - - // Step 4: Generate tables - System.out.println("=".repeat(50)); - runStep(4, null); - - // Step 5: Assemble final README - System.out.println("=".repeat(50)); - runStep(5, null); - - // Step 6: Validate transformation - System.out.println("=".repeat(50)); - runStep(6, null); - - System.out.println("=".repeat(50)); - System.out.println("Workflow completed successfully!"); -} - -/** - * Runs a specific step - */ -void runStep(int step, String input) throws IOException, InterruptedException { - var command = switch (step) { - case 1 -> buildCommand( - "step_1_validate_input.java", - input != null ? input : Constants.CONTRIBUTE_README_FILE - ); - case 2 -> buildCommand( - "step_2_parse_projects.java", - input != null ? input : Constants.CONTRIBUTE_README_FILE, - Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE - ); - case 3 -> buildCommand( - "step_3_generate_badges.java", - Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE, - Constants.TMP_DIR + "/" + Constants.GITHUB_BADGES_FILE - ); - case 4 -> buildCommand( - "step_4_generate_tables.java", - Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE, - Constants.TMP_DIR + "/" + Constants.GITHUB_BADGES_FILE, - Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE - ); - case 5 -> buildCommand( - "step_5_assemble_readme.java", - input != null ? input : Constants.CONTRIBUTE_README_FILE, - Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE, - Constants.README_FILE - ); - case 6 -> buildCommand( - "step_6_validate_transformation.java", - input != null ? input : Constants.CONTRIBUTE_README_FILE, - Constants.README_FILE - ); - default -> throw new IllegalArgumentException("Invalid step: %d. Must be 1-6.".formatted(step)); - }; - System.out.printf("Running Step %d...%n", step); - - var processBuilder = new ProcessBuilder(command); - processBuilder.directory(Path.of(".").toFile()); - - var process = processBuilder.start(); - var exitCode = process.waitFor(); - - if (exitCode != 0) { - throw new RuntimeException("Step %d failed with exit code: %d".formatted(step, exitCode)); - } - System.out.printf("Step %d completed successfully!%n", step); -} - -/** - * Builds a command array for running a script. - */ -String[] buildCommand(String scriptName, String... args) { - var baseCommand = List.of( - "java", - "--enable-preview", - "--source", - "25", - "scripts/" + scriptName - ); - var allArgs = List.of(args); - - return Stream.concat(baseCommand.stream(), allArgs.stream()) - .toArray(String[]::new); -} -||||||| Stash base -======= import java.io.IOException; import java.nio.file.Path; import java.util.List; @@ -277,4 +136,3 @@ String[] buildCommand(String scriptName, String... args) { return Stream.concat(baseCommand.stream(), allArgs.stream()) .toArray(String[]::new); } ->>>>>>> Stashed changes diff --git a/scripts/step_2_parse_projects.java b/scripts/step_2_parse_projects.java index 58a2bc3b..a9b83161 100644 --- a/scripts/step_2_parse_projects.java +++ b/scripts/step_2_parse_projects.java @@ -1,195 +1,3 @@ -<<<<<<< Updated upstream -import java.io.IOException; -import java.nio.file.*; -import java.util.*; -import java.util.stream.Collectors; - -/** - * Parses the markdown content to extract project entries and saves it in a temporary file. - * - * Usage: java step_2_parse_projects.java [input_file] [output_file] - */ -void main(String[] args) throws IOException { - var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); - var tmpDir = FileUtils.ensureTmpDirectory(); - var outputPath = args.length > 1 ? Path.of(args[1]) : tmpDir.resolve(Constants.PARSED_PROJECTS_FILE); - - System.out.println("Step 2: Parsing project entries..."); - System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); - System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); - - FileUtils.validateInputFile(inputPath); - var content = FileUtils.readFileContent(inputPath); - var projectEntries = parseProjectEntries(content); - writeParsedEntries(outputPath, projectEntries); - - System.out.printf( - "SUCCESS: Successfully parsed %d project entries!%n", - projectEntries.size() - ); - System.out.printf( - "GitHub repos: %d%n", - projectEntries.stream().filter(ProjectEntry::isGitHubRepo).count() - ); -} - -/** - * Parses project entries from markdown content. - */ -List parseProjectEntries(String content) { - var lines = content.split("\n"); - var projectEntries = new ArrayList(); - var inProjectSection = false; - var currentSection = ""; - var sectionStack = new ArrayList(); - - for (int i = 0; i < lines.length; i++) { - var line = lines[i]; - var isSubsection = line.startsWith(Constants.SUBSECTION); - var sectionLevel = getSectionLevel(line); - - // Check if we're entering the Projects section - if (line.startsWith(Constants.PROJECTS_SECTION)) { - inProjectSection = true; - continue; - } - // Check if we're leaving the Projects section - if (inProjectSection && - line.startsWith(Constants.SECTION) && - !isSubsection && - sectionLevel == 0 && - !line.equals(Constants.PROJECTS_SECTION) - ) { - inProjectSection = false; - } - if (!inProjectSection) { - continue; - } - // Track section hierarchy - maintain a stack of section levels - if (sectionLevel >= 3) { - var sectionName = line.substring(sectionLevel + 1).trim(); - - // Adjust stack size to match current level - while (sectionStack.size() >= sectionLevel - 2) { - sectionStack.remove(sectionStack.size() - 1); - } - - // Add current section to stack - sectionStack.add(sectionName); - - // Build full section path for entries - if (sectionStack.size() == 1) { - currentSection = sectionName; // Main section (###) - } else { - currentSection = String.join(" > ", sectionStack); // Subsection path - } - continue; - } - // Skip headers and empty lines - var isHeader = (line.startsWith("_") && line.endsWith("_")); - if (isHeader || line.isBlank()) { - continue; - } - // List entries - if (line.matches(Constants.ENTRY_PATTERN)) { - var projectEntry = parseProjectEntry(lines, i, currentSection); - if (projectEntry != null) { - projectEntries.add(projectEntry); - i += projectEntry.linesToSkip() - 1; - } - } - } - return projectEntries; -} - -/** - * Determines the section level based on the number of # symbols. - * Returns 0 if the line is not a section header. - */ -int getSectionLevel(String line) { - if (!line.startsWith("#")) { - return 0; - } - - int level = 0; - for (int i = 0; i < line.length() && line.charAt(i) == '#'; i++) { - level++; - } - - // Must have at least 3 # symbols and a space after them - return (level >= 3 && line.length() > level && line.charAt(level) == ' ') ? level : 0; -} - -/** - * Parses a single project entry from the list format. - */ -ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { - var matcher = Constants.PROJECT_PATTERN.matcher(lines[startIndex]); - - if (matcher.find()) { - var name = matcher.group(1); - var url = matcher.group(2); - var description = new StringBuilder(matcher.group(3)); - var linesToSkip = 1; - - // Handle multi-line descriptions - for (int i = startIndex + 1; i < lines.length; i++) { - var nextLine = lines[i]; - - if (nextLine.isBlank() || - nextLine.startsWith(Constants.SECTION) || - nextLine.startsWith(Constants.SUBSECTION) || - getSectionLevel(nextLine) > 0 || - nextLine.matches(Constants.ENTRY_PATTERN) - ) { - break; - } - - if (nextLine.matches(Constants.INDENTED_LINE_PATTERN)) { - description.append(" ").append(nextLine.trim()); - linesToSkip++; - } else if (!nextLine.trim().isEmpty()) { - description.append(" ").append(nextLine.trim()); - linesToSkip++; - } - } - return new ProjectEntry( - name, - url, - description.toString(), - linesToSkip, - section - ); - } - return null; -} - -/** - * Writes parsed entries to a temporary file in a simple format. - */ -void writeParsedEntries(Path outputPath, List entries) throws IOException { - var content = entries.stream() - .map(e -> """ - %s%s - %s%s - %s%s - %s%d - %s%s - %s - """.formatted( - Constants.NAME_PREFIX, e.name(), - Constants.URL_PREFIX, e.url(), - Constants.DESC_PREFIX, e.description(), - Constants.SKIP_PREFIX, e.linesToSkip(), - Constants.SECTION_PREFIX, e.section(), - Constants.SECTION_SEPARATOR - )) - .collect(Collectors.joining("\n")); - - FileUtils.writeOutputFile(outputPath, content); -} -||||||| Stash base -======= import java.io.IOException; import java.nio.file.*; import java.util.*; @@ -342,4 +150,3 @@ void writeParsedEntries(Path outputPath, List entries) throws IOEx FileUtils.writeOutputFile(outputPath, content); } ->>>>>>> Stashed changes diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_badges.java index 38ff35af..18580be9 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_badges.java @@ -1,140 +1,3 @@ -<<<<<<< Updated upstream -import java.io.*; -import java.nio.file.*; -import java.util.*; -import java.util.stream.Collectors; - -/** - * Generates GitHub badges idempotently for repositories and creates a badge mapping file. - * - * Usage: step_3_generate_badges.java [parsed_projects_file] [badges_file] - */ -void main(String[] args) throws IOException { - var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE); - var tmpDir = FileUtils.ensureTmpDirectory(); - var outputPath = args.length > 1 ? Path.of(args[1]) : tmpDir.resolve(Constants.GITHUB_BADGES_FILE); - - System.out.println("Step 3: Generating GitHub badges..."); - System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); - System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); - - // Validate input - FileUtils.validateInputFile(inputPath); - - // Read parsed entries - var entries = readParsedEntries(inputPath); - - // Generate badges - var badgeMappings = generateBadgeMappings(entries); - - // Write badge mappings - writeBadgeMappings(outputPath, badgeMappings); - - System.out.printf( - "SUCCESS: Successfully generated badges for %d repositories!%n", - badgeMappings.size() - ); -} - -/** - * Reads parsed entries from the temporary file. - */ -List readParsedEntries(Path inputPath) throws IOException { - var content = FileUtils.readFileContent(inputPath); - var entries = new ArrayList(); - var sections = content.split(Constants.SECTION_SEPARATOR); - - for (var section : sections) { - if (section.isBlank()) { - continue; - } - - String name = null, url = null, description = null; - int linesToSkip = 0; - - for (var line : section.split("\n")) { - if (line.startsWith(Constants.NAME_PREFIX)) { - name = line.substring(Constants.NAME_PREFIX.length()); - } else if (line.startsWith(Constants.URL_PREFIX)) { - url = line.substring(Constants.URL_PREFIX.length()); - } else if (line.startsWith(Constants.DESC_PREFIX)) { - description = line.substring(Constants.DESC_PREFIX.length()); - } else if (line.startsWith(Constants.SKIP_PREFIX)) { - linesToSkip = Integer.parseInt(line.substring(Constants.SKIP_PREFIX.length())); - } - } - if (name != null && url != null) { - entries.add(new ProjectEntry( - name, - url, - description != null ? description : "", - linesToSkip, - "" - )); - } - } - return entries; -} - -/** - * Generates badge mappings for GitHub repositories. - */ -List generateBadgeMappings(List entries) { - var mappings = new ArrayList(); - - for (var entry : entries) { - if (!entry.isGitHubRepo()) { - continue; - } - - var repo = entry.getGitHubRepo(); - if (repo == null) { - continue; - } - - var starsBadge = String.format("\"GitHub", Constants.GITHUB_STARS_BADGE_URL.formatted(repo)); - - var lastCommitBadge = String.format("\"Last", Constants.GITHUB_LAST_COMMIT_BADGE_URL.formatted(repo)); - - mappings.add(new BadgeMapping( - entry.name(), - repo, - starsBadge, - lastCommitBadge - )); - } - - return mappings; -} - -/** - * Writes badge mappings to a file. - */ -void writeBadgeMappings(Path outputPath, List mappings) throws IOException { - var content = mappings.stream() - .map(m -> String.format( - "%s%s\n%s%s\n%s%s\n%s%s", - Constants.REPO_PREFIX, m.repo(), - Constants.NAME_PREFIX, m.name(), - Constants.STARS_PREFIX, m.starsBadge(), - Constants.COMMIT_PREFIX, m.lastCommitBadge() - )) - .collect(Collectors.joining("\n\n")); - - FileUtils.writeOutputFile(outputPath, content); -} - -/** - * Badge mapping. - */ -record BadgeMapping( - String name, - String repo, - String starsBadge, - String lastCommitBadge -) {} -||||||| Stash base -======= import java.io.*; import java.net.http.*; import java.net.URI; @@ -557,4 +420,3 @@ record StatsMapping( String starsText, String lastCommitText ) {} ->>>>>>> Stashed changes diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 87e0b471..0ea5e70c 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -1,190 +1,3 @@ -<<<<<<< Updated upstream -import java.io.*; -import java.nio.file.*; -import java.util.*; - -/** - * Generates HTML tables from parsed project entries and badge mappings. - * - * Usage: java step_4_generate_tables.java [parsed_projects_file] [badges_file] [output_file] - */ -void main(String[] args) throws IOException { - var projectsPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE); - var badgesPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.TMP_DIR + "/" + Constants.GITHUB_BADGES_FILE); - var tmpDir = FileUtils.ensureTmpDirectory(); - var outputPath = args.length > 2 ? Path.of(args[2]) : tmpDir.resolve(Constants.GENERATED_TABLES_FILE); - - System.out.println("Step 4: Generating HTML tables..."); - System.out.printf("Projects: %s%n", projectsPath.toAbsolutePath()); - System.out.printf("Badges: %s%n", badgesPath.toAbsolutePath()); - System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); - - FileUtils.validateInputFile(projectsPath); - FileUtils.validateInputFile(badgesPath); - - var projectEntries = readParsedEntries(projectsPath); - var badgeMappings = readBadgeMappings(badgesPath); - - var tables = generateHtmlTables(projectEntries, badgeMappings); - FileUtils.writeOutputFile(outputPath, tables); - - System.out.println("SUCCESS: Successfully generated HTML tables!"); - System.out.printf("Tables created: %d%n", countTables(tables)); - System.out.printf("Total entries: %d%n", projectEntries.size()); -} - -/** - * Reads parsed entries. - */ -List readParsedEntries(Path inputPath) throws IOException { - var content = FileUtils.readFileContent(inputPath); - var entries = new ArrayList(); - - for (var section : content.split(Constants.SECTION_SEPARATOR)) { - if (section.isBlank()) { - continue; - } - String name = null, url = null, description = null, sectionName = null; - int linesToSkip = 0; - - for (var line : section.split("\n")) { - if (line.startsWith(Constants.NAME_PREFIX)) { - name = line.substring(Constants.NAME_PREFIX.length()); - } else if (line.startsWith(Constants.URL_PREFIX)) { - url = line.substring(Constants.URL_PREFIX.length()); - } else if (line.startsWith(Constants.DESC_PREFIX)) { - description = line.substring(Constants.DESC_PREFIX.length()); - } else if (line.startsWith(Constants.SKIP_PREFIX)) { - linesToSkip = Integer.parseInt(line.substring(Constants.SKIP_PREFIX.length())); - } else if (line.startsWith(Constants.SECTION_PREFIX)) { - sectionName = line.substring(Constants.SECTION_PREFIX.length()); - } - } - if (name != null && url != null) { - entries.add(new ProjectEntry( - name, - url, - description != null ? description : "", - linesToSkip, - sectionName != null ? sectionName : "" - )); - } - } - return entries; -} - -/** - * Reads badge mappings. - */ -Map readBadgeMappings(Path badgesPath) throws IOException { - var content = FileUtils.readFileContent(badgesPath); - var mappings = new HashMap(); - - for (var section : content.split("\n\n")) { - if (section.isBlank()) { - continue; - } - String repo = null, name = null, starsBadge = null, lastCommitBadge = null; - - for (var line : section.split("\n")) { - if (line.trim().isEmpty()) { - continue; - } - if (line.startsWith(Constants.REPO_PREFIX)) { - repo = line.substring(Constants.REPO_PREFIX.length()); - } else if (line.startsWith(Constants.NAME_PREFIX)) { - name = line.substring(Constants.NAME_PREFIX.length()); - } else if (line.startsWith(Constants.STARS_PREFIX)) { - starsBadge = line.substring(Constants.STARS_PREFIX.length()); - } else if (line.startsWith(Constants.COMMIT_PREFIX)) { - lastCommitBadge = line.substring(Constants.COMMIT_PREFIX.length()); - } - } - if (repo != null && name != null) { - mappings.put(name, new BadgeMapping( - name, - repo, - starsBadge, - lastCommitBadge - )); - } - } - return mappings; -} - -/** - * Generates HTML tables from project entries and badge mappings. - */ -String generateHtmlTables(List entries, Map badgeMappings) { - var tables = new StringBuilder(); - var current = new ArrayList(); - var currentSection = ""; - - for (var entry : entries) { - // Check if we're starting a new section - if (!currentSection.equals(entry.section())) { - // Finish current table if we have entries - if (!current.isEmpty()) { - tables.append(createHtmlTable(current, badgeMappings)); - current.clear(); - } - currentSection = entry.section(); - } - - current.add(entry); - } - // Finish any remaining entries - if (!current.isEmpty()) { - tables.append(createHtmlTable(current, badgeMappings)); - } - return tables.toString(); -} - -/** - * Creates a single HTML table from project entries. - */ -String createHtmlTable(List entries, Map badgeMappings) { - if (entries.isEmpty()) { - return ""; - } - var sectionName = entries.get(0).section(); - var table = new StringBuilder(); - table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); - table.append("### ").append(sectionName).append("\n\n"); - table.append("| Name | Description | Stars | Updated |\n"); - table.append("| :--- | :---------- | :---: | :-----: |\n"); - - for (var entry : entries) { - var desc = entry.description().isEmpty() ? Constants.NO_DESCRIPTION : entry.description(); - var badge = badgeMappings.get(entry.name()); - var stars = badge != null ? badge.starsBadge() : Constants.NO_BADGE; - var commit = badge != null ? badge.lastCommitBadge() : Constants.NO_BADGE; - - table.append("| [").append(entry.name()).append("](").append(entry.url()).append(") | ").append(desc).append(" | ").append(stars).append(" | ").append(commit).append(" |\n"); - } - - table.append("\n"); - return table.toString(); -} - -/** - * Counts the number of tables in the generated content. - */ -int countTables(String content) { - return (int) content.lines().filter(l -> l.contains(">>>>>> Stashed changes diff --git a/scripts/step_5_assemble_readme.java b/scripts/step_5_assemble_readme.java index 94d7086f..3f897bf9 100644 --- a/scripts/step_5_assemble_readme.java +++ b/scripts/step_5_assemble_readme.java @@ -1,206 +1,3 @@ -<<<<<<< Updated upstream -import java.io.*; -import java.nio.file.*; -import java.util.*; - -/** - * Assembles the final README.md by combining the original content with generated HTML tables. - * - * Usage: step_5_assemble_readme.java [input_file] [tables_file] [output_file] - */ -void main(String[] args) throws IOException { - var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); - var tablesPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.TMP_DIR + "/" + Constants.GENERATED_TABLES_FILE); - var outputPath = args.length > 2 ? Path.of(args[2]) : Path.of(Constants.README_FILE); - - System.out.println("Step 5: Assembling final README..."); - System.out.printf("Input: %s%n", inputPath.toAbsolutePath()); - System.out.printf("Tables: %s%n", tablesPath.toAbsolutePath()); - System.out.printf("Output: %s%n", outputPath.toAbsolutePath()); - - FileUtils.validateInputFile(inputPath); - FileUtils.validateInputFile(tablesPath); - - var originalContent = FileUtils.readFileContent(inputPath); - var tablesContent = FileUtils.readFileContent(tablesPath); - var finalContent = assembleReadme(originalContent, tablesContent); - FileUtils.writeOutputFile(outputPath, finalContent); - - System.out.println("SUCCESS: Successfully assembled final README!"); - System.out.println("Statistics:"); - System.out.printf(" - %s%n", FileUtils.getFileStats(outputPath)); - System.out.printf(" - Badges: %d%n", countBadges(finalContent)); -} - -/** - * Replaces project sections with HTML tables. - */ -String assembleReadme(String originalContent, String tablesContent) { - var lines = originalContent.split("\n"); - var result = new StringBuilder(); - var inProjectSection = false; - var allTables = tablesContent.split(""); - // Filter out empty tables - var tables = java.util.Arrays.stream(allTables) - .filter(t -> t.trim().length() > 0) - .toArray(String[]::new); - - // Create a mapping of sections to their tables - var sectionToTableMap = createSectionToTableMap(tables); - - - for (int i = 0; i < lines.length; i++) { - var line = lines[i]; - - if (line.startsWith(Constants.PROJECTS_SECTION)) { - inProjectSection = true; - result.append(line).append("\n\n"); - continue; - } - // Check for the hidden delimiter that marks the end of Projects section - if (inProjectSection && line.contains(Constants.END_PROJECTS_SECTION_COMMENT)) { - System.out.printf( - "FOUND %s delimiter at line %d%n", Constants.END_PROJECTS_SECTION_COMMENT, - i - ); - inProjectSection = false; - } - // Check if we're leaving the Projects section - if (inProjectSection && - line.startsWith(Constants.SECTION) && - !line.equals(Constants.PROJECTS_SECTION) - ) { - inProjectSection = false; - } - if (!inProjectSection) { - result.append(line).append("\n"); - continue; - } - // Handle subsection headers - if (line.startsWith(Constants.SUBSECTION)) { - result.append(line).append("\n\n"); - continue; - } - // Handle sub-subsection headers (####) - if (line.startsWith("#### ")) { - result.append(line).append("\n\n"); - continue; - } - // Handle headers - if (line.startsWith("_") && line.endsWith("_")) { - result.append(line).append("\n\n"); - continue; - } - // Skip empty lines - if (line.isBlank()) { - continue; - } - // Replace list items with HTML tables - if (line.matches(Constants.ENTRY_PATTERN)) { - // Find the current subsection - var currentSubsection = findCurrentSubsection(lines, i); - if (currentSubsection != null && sectionToTableMap.containsKey(currentSubsection)) { - result.append(sectionToTableMap.get(currentSubsection)).append("\n\n"); - } - // Skip remaining list items in this subsection until we hit the next subsection or end delimiter - while (i + 1 < lines.length && - !lines[i + 1].startsWith(Constants.SUBSECTION) && - !lines[i + 1].startsWith("#### ") && - !lines[i + 1].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { - i++; - if (lines[i].matches(Constants.ENTRY_PATTERN)) { - // Skip this list item - continue; - } - if (lines[i].startsWith(Constants.SECTION) && - !lines[i].startsWith(Constants.SUBSECTION) - ) { - // We've hit the end of the Projects section - inProjectSection = false; - break; - } - if (lines[i].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { - // We've hit the end delimiter - inProjectSection = false; - break; - } - } - continue; - } - // Handle other content - if (line.isBlank() || line.startsWith(Constants.HTML_COMMENT_PREFIX)) { - result.append(line).append("\n"); - continue; - } - result.append(line).append("\n"); - } - return result.toString(); -} - -/** - * Counts the number of badges in the content. - */ -long countBadges(String content) { - return content.lines() - .filter(line -> line.contains("img.shields.io")) - .count(); -} - -/** - * Creates a mapping of section names to their corresponding HTML tables. - */ -Map createSectionToTableMap(String[] tables) { - var sectionToTableMap = new HashMap(); - - for (var table : tables) { - // Extract section name from the comment - var lines = table.split("\n"); - for (var line : lines) { - if (line.contains(Constants.SECTION_COMMENT_PREFIX)) { - var sectionName = line.replace(Constants.SECTION_COMMENT_PREFIX, "").replace(" -->", "").trim(); - sectionToTableMap.put(sectionName, table); - break; - } - } - } - - return sectionToTableMap; -} - -/** - * Finds the current subsection by looking backwards from the given line index. - * Handles both flat sections (###) and hierarchical sections (####). - */ -String findCurrentSubsection(String[] lines, int currentIndex) { - String currentMainSection = null; - String currentSubsection = null; - - for (int i = currentIndex; i >= 0; i--) { - var line = lines[i]; - - // Check for subsection (####) first - if (line.startsWith("#### ") && currentSubsection == null) { - currentSubsection = line.substring(5).trim(); - } - - // Check for main section (###) - if (line.startsWith(Constants.SUBSECTION)) { - currentMainSection = line.substring(Constants.SUBSECTION.length()); - break; // Stop when we find the main section - } - } - - // If we found both main section and subsection, return hierarchical name - if (currentMainSection != null && currentSubsection != null) { - return currentMainSection + " > " + currentSubsection; - } - - // Otherwise return just the main section - return currentMainSection; -} - -||||||| Stash base -======= import java.io.*; import java.nio.file.*; import java.util.*; @@ -414,4 +211,3 @@ String findCurrentSubsection(String[] lines, int currentIndex) { } return null; } ->>>>>>> Stashed changes diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index cca9a66b..ba849fe7 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -1,547 +1,3 @@ -<<<<<<< Updated upstream -import java.io.IOException; -import java.nio.file.*; -import java.util.*; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -/** - * Validates that all entries from the original README are present in the transformed README - * and are in the correct sections. - * - * Usage: java step_6_validate_transformation.java [original_file] [transformed_file] - */ -void main(String[] args) throws IOException { - var originalPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.CONTRIBUTE_README_FILE); - var transformedPath = args.length > 1 ? Path.of(args[1]) : Path.of(Constants.README_FILE); - - System.out.println("Step 6: Validating transformation..."); - System.out.printf("Original: %s%n", originalPath.toAbsolutePath()); - System.out.printf("Transformed: %s%n", transformedPath.toAbsolutePath()); - - FileUtils.validateInputFile(originalPath); - FileUtils.validateInputFile(transformedPath); - - var originalContent = FileUtils.readFileContent(originalPath); - var transformedContent = FileUtils.readFileContent(transformedPath); - - var originalEntries = extractProjectEntries(originalContent); - var transformedEntries = extractProjectEntriesFromTables(transformedContent); - var originalSections = extractSections(originalContent); - var transformedSections = extractSections(transformedContent); - - System.out.printf("Found %d entries in original README%n", originalEntries.size()); - System.out.printf("Found %d entries in transformed README%n", transformedEntries.size()); - System.out.printf("Found %d sections in original README%n", originalSections.size()); - System.out.printf("Found %d sections in transformed README%n", transformedSections.size()); - - var validationResult = validateTransformation(originalEntries, transformedEntries, originalSections, transformedSections); - printValidationResults(validationResult); - - if (!validationResult.isValid()) { - System.err.println("VALIDATION FAILED!"); - System.exit(1); - } - - System.out.println("SUCCESS: All entries validated successfully!"); -} - -/** - * Extracts all sections (including subsections and arbitrary multi-level sections) from markdown content. - */ -List extractSections(String content) { - var sections = new ArrayList(); - var lines = content.split("\n"); - - for (int i = 0; i < lines.length; i++) { - var line = lines[i]; - - // Extract all sections and subsections throughout the document - if (line.startsWith(Constants.SUBSECTION)) { - var sectionName = line.substring(Constants.SUBSECTION.length()).trim(); - var level = 1; // Subsection level - sections.add(new SectionInfo(sectionName, level, i)); - } else { - // Handle arbitrary multi-level sections (####, #####, ######, etc.) - var level = getSectionLevel(line); - if (level > 1) { - var sectionName = line.substring(level + 1).trim(); // Remove the # symbols and space - sections.add(new SectionInfo(sectionName, level, i)); - } - } - } - - return sections; -} - -/** - * Determines the section level based on the number of # symbols. - * Returns 0 if the line is not a section header. - */ -int getSectionLevel(String line) { - if (!line.startsWith("#")) { - return 0; - } - - int level = 0; - for (int i = 0; i < line.length() && line.charAt(i) == '#'; i++) { - level++; - } - - // Must have at least 3 # symbols and a space after them - return (level >= 3 && line.length() > level && line.charAt(level) == ' ') ? level : 0; -} - -/** - * Extracts project entries from the original markdown format. - */ -List extractProjectEntries(String content) { - var lines = content.split("\n"); - var projectEntries = new ArrayList(); - var inProjectSection = false; - var currentSection = ""; - - for (int i = 0; i < lines.length; i++) { - var line = lines[i]; - var isSubsection = line.startsWith(Constants.SUBSECTION); - - // Check if we're entering the Projects section - if (line.startsWith(Constants.PROJECTS_SECTION)) { - inProjectSection = true; - continue; - } - // Check if we're leaving the Projects section - if (inProjectSection && - line.startsWith(Constants.SECTION) && - !isSubsection && - !line.equals(Constants.PROJECTS_SECTION) - ) { - inProjectSection = false; - } - if (!inProjectSection) { - continue; - } - // Track current subsection - if (isSubsection) { - currentSection = line.substring(Constants.SUBSECTION.length()); - continue; - } - // Skip headers and empty lines - var isHeader = (line.startsWith("_") && line.endsWith("_")); - if (isHeader || line.isBlank()) { - continue; - } - // List entries - if (line.matches(Constants.ENTRY_PATTERN)) { - var projectEntry = parseProjectEntry(lines, i, currentSection); - if (projectEntry != null) { - projectEntries.add(projectEntry); - i += projectEntry.linesToSkip() - 1; - } - } - } - return projectEntries; -} - -/** - * Extracts project entries from HTML tables in the transformed README. - */ -List extractProjectEntriesFromTables(String content) { - var entries = new ArrayList(); - var lines = content.split("\n"); - var inProjectSection = false; - var currentSection = ""; - var inTable = false; - var tableSection = ""; - - for (int i = 0; i < lines.length; i++) { - var line = lines[i]; - - // Track section changes - if (line.startsWith(Constants.PROJECTS_SECTION)) { - inProjectSection = true; - continue; - } - if (inProjectSection && - line.startsWith(Constants.SECTION) && - !line.startsWith(Constants.SUBSECTION) - ) { - inProjectSection = false; - continue; - } - if (!inProjectSection) { - continue; - } - - // Track section changes (both main sections and subsections) - if (line.startsWith(Constants.SUBSECTION)) { - currentSection = line.substring(Constants.SUBSECTION.length()); - continue; - } - if (line.startsWith(Constants.SECTION) && !line.equals(Constants.PROJECTS_SECTION)) { - currentSection = line.substring(Constants.SECTION.length()); - continue; - } - - // Track table boundaries - look for Markdown table headers - if (line.startsWith("|") && line.contains("| Name |")) { - inTable = true; - tableSection = currentSection; - continue; - } - if (inTable && line.startsWith("|") && line.contains("| :--- |")) { - // Skip the separator row - continue; - } - if (inTable && !line.startsWith("|") && !line.trim().isEmpty()) { - inTable = false; - continue; - } - - // Extract entries from Markdown table rows - if (inTable && line.startsWith("|") && !line.contains("| Name |") && !line.contains("| :--- |")) { - var entry = extractEntryFromMarkdownTableRow(line, tableSection); - if (entry != null) { - entries.add(entry); - } - } - } - return entries; -} - -/** - * Extracts a project entry from a Markdown table row. - */ -ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { - // Split by | and clean up - var parts = line.split("\\|"); - if (parts.length < 5) { - return null; - } - - // Extract name and URL from [Name](URL) format - var nameUrlPart = parts[1].trim(); - var nameUrlMatch = Pattern.compile("\\[([^\\]]+)\\]\\(([^)]+)\\)").matcher(nameUrlPart); - if (!nameUrlMatch.find()) { - return null; - } - - var name = nameUrlMatch.group(1); - var url = nameUrlMatch.group(2); - var description = parts[2].trim(); - - if (!name.isEmpty() && !url.isEmpty()) { - return new ProjectEntry( - name, - url, - description, - 1, - section - ); - } - return null; -} - -/** - * Extracts a project entry from a table row. - */ -ProjectEntry extractEntryFromTableRow(String[] lines, int startIndex, String section) { - var name = ""; - var url = ""; - var description = ""; - - // Look for the next few lines to find name, URL, and description - for (int i = startIndex; i < Math.min(startIndex + 10, lines.length); i++) { - var line = lines[i]; - - // Extract name and URL from Name - if (line.contains("([^<]+)").matcher(line); - if (hrefMatch.find()) { - url = hrefMatch.group(1); - name = hrefMatch.group(2); - } - } - - // Extract description from the second cell - if (line.contains("") && !line.contains("([^<]+)").matcher(line); - if (descMatch.find()) { - description = descMatch.group(1).trim(); - break; - } - } - } - - if (!name.isEmpty() && !url.isEmpty()) { - return new ProjectEntry( - name, - url, - description, - 1, - section - ); - } - return null; -} - -/** - * Parses a single project entry from the original markdown format. - */ -ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { - var matcher = Constants.PROJECT_PATTERN.matcher(lines[startIndex]); - - if (matcher.find()) { - var name = matcher.group(1); - var url = matcher.group(2); - var description = new StringBuilder(matcher.group(3)); - var linesToSkip = 1; - - // Handle multi-line descriptions - for (int i = startIndex + 1; i < lines.length; i++) { - var nextLine = lines[i]; - - if (nextLine.isBlank() || - nextLine.startsWith(Constants.SECTION) || - nextLine.startsWith(Constants.SUBSECTION) || - nextLine.matches(Constants.ENTRY_PATTERN) - ) { - break; - } - - if (nextLine.matches(Constants.INDENTED_LINE_PATTERN)) { - description.append(" ").append(nextLine.trim()); - linesToSkip++; - } else if (!nextLine.trim().isEmpty()) { - description.append(" ").append(nextLine.trim()); - linesToSkip++; - } - } - return new ProjectEntry( - name, - url, - description.toString(), - linesToSkip, - section - ); - } - - return null; -} - -/** - * Validates that all original entries and sections are present in the transformed version. - */ -ValidationResult validateTransformation(List original, List transformed, - List originalSections, List transformedSections) { - var missingEntries = new ArrayList(); - var wrongSectionEntries = new ArrayList(); - var extraEntries = new ArrayList(); - var missingSections = new ArrayList(); - var extraSections = new ArrayList(); - - // Create maps for easier lookup - var originalMap = original.stream() - .collect(Collectors.toMap( - e -> e.name().toLowerCase(), - e -> e, - (e1, e2) -> e1 - )); - - var transformedMap = transformed.stream() - .collect(Collectors.toMap( - e -> e.name().toLowerCase(), - e -> e, - (e1, e2) -> e1 - )); - - // Check for missing entries - for (var originalEntry : original) { - var key = originalEntry.name().toLowerCase(); - if (!transformedMap.containsKey(key)) { - missingEntries.add(originalEntry); - } else { - var transformedEntry = transformedMap.get(key); - // Compare base section names (before " > ") for hierarchical sections - var originalBaseSection = originalEntry.section(); - var transformedBaseSection = transformedEntry.section().split(" > ")[0]; - if (!originalBaseSection.equals(transformedBaseSection)) { - wrongSectionEntries.add(new SectionMismatch( - originalEntry, - transformedEntry - )); - } - } - } - - // Check for extra entries (entries in transformed but not in original) - for (var transformedEntry : transformed) { - var key = transformedEntry.name().toLowerCase(); - if (!originalMap.containsKey(key)) { - extraEntries.add(transformedEntry); - } - } - - // Create section maps for easier lookup - var originalSectionMap = originalSections.stream() - .collect(Collectors.toMap( - s -> s.name().toLowerCase(), - s -> s, - (s1, s2) -> s1 - )); - - var transformedSectionMap = transformedSections.stream() - .collect(Collectors.toMap( - s -> s.name().toLowerCase(), - s -> s, - (s1, s2) -> s1 - )); - - // Check for missing sections - only check main sections (### level) that have entries - var sectionsWithEntries = original.stream() - .map(ProjectEntry::section) - .distinct() - .collect(Collectors.toSet()); - - for (var originalSection : originalSections) { - var key = originalSection.name().toLowerCase(); - // Only check main sections (### level) that have entries and are missing from transformed - if (originalSection.level() == 3 && - sectionsWithEntries.contains(originalSection.name())) { - // Check if any transformed section starts with this base section name - var hasMatchingSection = transformedSections.stream() - .anyMatch(s -> s.name().toLowerCase().startsWith(key)); - if (!hasMatchingSection) { - missingSections.add(originalSection); - } - } - } - - // Check for extra sections (sections in transformed but not in original) - for (var transformedSection : transformedSections) { - var key = transformedSection.name().toLowerCase(); - var isSubsection = key.contains(" > "); - - if (!originalSectionMap.containsKey(key)) { - // For subsections, check if the parent section exists - if (isSubsection) { - var parentSection = key.split(" > ")[0]; - if (!originalSectionMap.containsKey(parentSection)) { - extraSections.add(transformedSection); - } - // Skip subsections as they are valid if parent exists - } else { - extraSections.add(transformedSection); - } - } - } - - return new ValidationResult( - missingEntries, - wrongSectionEntries, - extraEntries, - missingSections, - extraSections - ); -} - -/** - * Prints validation results in a readable format. - */ -void printValidationResults(ValidationResult result) { - System.out.printf("%n%s%n", "=".repeat(60)); - System.out.println("VALIDATION RESULTS"); - System.out.printf("%s%n", "=".repeat(60)); - - if (result.missingEntries().isEmpty() && - result.wrongSectionEntries().isEmpty() && - result.extraEntries().isEmpty() && - result.missingSections().isEmpty() && - result.extraSections().isEmpty()) { - System.out.println("All validations passed!"); - return; - } - - if (!result.missingEntries().isEmpty()) { - System.out.printf("MISSING ENTRIES (%d):%n", result.missingEntries().size()); - for (var entry : result.missingEntries()) { - System.out.printf(" - %s (Section: %s)%n", entry.name(), entry.section()); - } - System.out.println(); - } - - if (!result.wrongSectionEntries().isEmpty()) { - System.out.printf("WRONG SECTIONS (%d):%n", result.wrongSectionEntries().size()); - for (var mismatch : result.wrongSectionEntries()) { - System.out.printf(" - %s: Expected '%s', Found '%s'%n", - mismatch.original().name(), - mismatch.original().section(), - mismatch.transformed().section()); - } - System.out.println(); - } - - if (!result.extraEntries().isEmpty()) { - System.out.printf("EXTRA ENTRIES (%d):%n", result.extraEntries().size()); - for (var entry : result.extraEntries()) { - System.out.printf(" - %s (Section: %s)%n", entry.name(), entry.section()); - } - System.out.println(); - } - - if (!result.missingSections().isEmpty()) { - System.out.printf("MISSING SECTIONS (%d):%n", result.missingSections().size()); - for (var section : result.missingSections()) { - System.out.printf(" - %s (Level: %d, Line: %d)%n", section.name(), section.level(), section.lineNumber()); - } - System.out.println(); - } - - if (!result.extraSections().isEmpty()) { - System.out.printf("EXTRA SECTIONS (%d):%n", result.extraSections().size()); - for (var section : result.extraSections()) { - System.out.printf(" - %s (Level: %d, Line: %d)%n", section.name(), section.level(), section.lineNumber()); - } - System.out.println(); - } -} - -/** - * Represents the result of validation. - */ -record ValidationResult( - List missingEntries, - List wrongSectionEntries, - List extraEntries, - List missingSections, - List extraSections -) { - boolean isValid() { - return missingEntries.isEmpty() && - wrongSectionEntries.isEmpty() && - missingSections.isEmpty() && - extraSections.isEmpty(); - } -} - -/** - * Represents a section mismatch between original and transformed entries. - */ -record SectionMismatch( - ProjectEntry original, - ProjectEntry transformed -) {} - -/** - * Represents section information including name, level, and line number. - */ -record SectionInfo( - String name, - int level, - int lineNumber -) {} -||||||| Stash base -======= import java.io.IOException; import java.nio.file.*; import java.util.*; @@ -892,4 +348,3 @@ record SectionMismatch( ProjectEntry original, ProjectEntry transformed ) {} ->>>>>>> Stashed changes From 130a33487528ceb93afda9cbef93bf3f316622db Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 10 Jan 2026 11:28:18 +0400 Subject: [PATCH 406/533] Update --- CONTRIBUTING.md | 94 +++-- LICENSE.md | 2 + scripts/Constants.java | 8 +- scripts/FileUtils.java | 2 +- scripts/ProjectEntry.java | 5 +- scripts/README.md | 393 ------------------ scripts/run_workflow.java | 2 +- scripts/step_2_parse_projects.java | 2 +- ...badges.java => step_3_generate_stats.java} | 204 +++------ scripts/step_4_generate_tables.java | 5 +- scripts/step_5_assemble_readme.java | 18 +- scripts/step_6_validate_transformation.java | 6 +- 12 files changed, 149 insertions(+), 592 deletions(-) delete mode 100644 scripts/README.md rename scripts/{step_3_generate_badges.java => step_3_generate_stats.java} (57%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1b285a14..9ec74afc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contribution Guidelines -First and most importantly of all: Thank you for your interest in contributing to the Awesome Java list! +First and most importantly: Thank you for your interest in contributing to the Awesome Java list! ## Automated Workflow @@ -8,44 +8,46 @@ This repository uses an automated workflow to maintain the main `README.md` file ### For Contributors -1. **Edit `CONTRIBUTE_README.md`** - Make all your changes to this file, not `README.md` -2. **Submit a Pull Request** - Create a PR with your changes to `CONTRIBUTE_README.md` -3. **GitHub Actions will automatically**: - - Convert the list format to HTML tables - - Add GitHub stars and last commit badges +1. Edit `CONTRIBUTE_README.md`: Make all your changes in this file, **not** `README.md` +2. Submit a Pull Request: Create a PR with your changes to `CONTRIBUTE_README.md` +3. GitHub Actions will automatically: + - Convert the list format to markdown tables + - Add GitHub stars and last commit dates - Update `README.md` with the converted content - Commit and push the changes ### What NOT to do -- **Don't edit `README.md` directly** - It will be overwritten by the automated workflow -- **Don't edit the scripts** unless you're improving the conversion process -- **Don't manually run the conversion scripts** - GitHub Actions handles this +- Don't edit `README.md` directly, since it will be overwritten by the automated workflow +- Don't edit the scripts, unless you're improving the conversion process +- Don't manually run the conversion scripts, GitHub Actions handles this ## How to Contribute ### Adding a New Project -1. **Find the appropriate section** in `CONTRIBUTE_README.md` -2. **Add your entry** using this format: +1. Find the appropriate section in `CONTRIBUTE_README.md` +2. Add your entry using this format: + ```markdown - [Project Name](https://github.com/user/repo) - Brief description of what the project does. ``` -3. **Follow the existing style** -4. **Submit a Pull Request** + +3. Follow the existing style +4. Submit a Pull Request ### Updating an Existing Project -1. **Find the project** in `CONTRIBUTE_README.md` -2. **Update the description** or URL as needed -3. **Submit a Pull Request** with your changes +1. Find the project in `CONTRIBUTE_README.md` +2. Update the description or URL as needed +3. Submit a Pull Request with your changes ### Adding a New Category -1. **Add the category** to the Contents section -2. **Create a new section** with the appropriate heading -3. **Add projects** to the new section -4. **Submit a Pull Request** with your changes +1. Add the category to the Contents section +2. Create a new section with the appropriate heading +3. Add projects to the new section +4. Submit a Pull Request with your changes ## Guidelines @@ -75,31 +77,33 @@ This repository uses an automated workflow to maintain the main `README.md` file The automated workflow (`update-readme.yml`) runs when: +- **Weekly schedule** - Every Monday at 00:00 UTC - **Push to master** - When `CONTRIBUTE_README.md` or scripts are updated -- **Pull Request** - When `CONTRIBUTE_README.md` or scripts are modified - **Manual trigger** - Can be triggered manually from the Actions tab +The workflow requires a GitHub Personal Access Token (PAT) stored as `GITHUB_TOKEN` in repository secrets to fetch repository statistics. + ### File Structure -``` -├── CONTRIBUTE_README.md # Source file (edit this) -├── README.md # Generated file (don't edit) +```text +├── CONTRIBUTE_README.md # Source file (edit this) +├── README.md # Generated file (don't edit) ├── scripts/ │ ├── run_workflow.java # Main workflow orchestrator │ ├── step_1_validate_input.java # Input validation │ ├── step_2_parse_projects.java # Project parsing -│ ├── step_3_generate_badges.java # Badge generation -│ ├── step_4_generate_tables.java # HTML table generation +│ ├── step_3_generate_badges.java # Stats generation +│ ├── step_4_generate_tables.java # Markdown table generation │ ├── step_5_assemble_readme.java # Final assembly │ ├── step_6_validate_transformation.java # Data integrity validation │ ├── ProjectEntry.java # Data model │ ├── FileUtils.java # Utility functions │ ├── Constants.java # Shared constants │ └── README.md # Script documentation -├── .tmp/ # Temporary files (auto-generated) +├── .tmp/ # Temporary files (auto-generated) │ ├── parsed-projects.txt -│ ├── github-badges.txt -│ └── generated-tables.html +│ ├── github-stats.txt +│ └── generated-tables.md └── .github/workflows/ └── update-readme.yml # GitHub Actions workflow ``` @@ -109,25 +113,30 @@ The automated workflow (`update-readme.yml`) runs when: The README generation follows a 6-step modular process: 1. **Step 1 - Input Validation** (`step_1_validate_input.java`) + - Validates that `CONTRIBUTE_README.md` exists and is readable - Provides file statistics 2. **Step 2 - Project Parsing** (`step_2_parse_projects.java`) + - Parses markdown content to extract project entries - Handles multi-line descriptions - Outputs: `parsed-projects.txt` -3. **Step 3 - Badge Generation** (`step_3_generate_badges.java`) - - Generates GitHub badges for repositories - - Creates stars and last-commit badges - - Outputs: `github-badges.txt` +3. **Step 3 - Stats Generation** (`step_3_generate_badges.java`) + + - Fetches GitHub stars and last commit dates for repositories + - Creates text values for stars and last commit dates + - Outputs: `github-stats.txt` 4. **Step 4 - Table Generation** (`step_4_generate_tables.java`) - - Combines parsed projects with badges - - Generates HTML tables with proper styling - - Outputs: `generated-tables.html` + + - Combines parsed projects with stats + - Generates markdown tables with proper styling + - Outputs: `generated-tables.md` 5. **Step 5 - Final Assembly** (`step_5_assemble_readme.java`) + - Combines original content with generated tables - Produces the final `README.md` @@ -139,28 +148,33 @@ The README generation follows a 6-step modular process: ### Running the Workflow **Complete Workflow:** + ```bash java --enable-preview --source 25 scripts/run_workflow.java ``` **Individual Steps:** + ```bash java --enable-preview --source 25 scripts/run_workflow.java [step_number] ``` **Direct Step Execution:** + ```bash java --enable-preview --source 25 scripts/step_1_validate_input.java java --enable-preview --source 25 scripts/step_2_parse_projects.java -# ... etc +# ... ``` -## 🐛 Troubleshooting +**Note:** Step 3 requires the `GITHUB_TOKEN` environment variable to be set with a valid GitHub Personal Access Token. + +## Troubleshooting ### Common Issues 1. **Workflow fails** - Check the Actions tab for error details -2. **Badges not showing** - Ensure the repository URL is correct +2. **Stats not showing** - Ensure the repository URL is correct and accessible 3. **Formatting issues** - Check that your markdown is valid 4. **Validation fails** - Step 6 validates data integrity: - Missing entries: Projects in original but not in final README @@ -174,7 +188,7 @@ java --enable-preview --source 25 scripts/step_2_parse_projects.java - **Check existing issues** - Your question might already be answered - **Review the workflow logs** - In the Actions tab -## 📄 License +## License By contributing to this project, you agree that your contributions will be licensed under the same license as the project. diff --git a/LICENSE.md b/LICENSE.md index 50fdedc0..3e5fecbe 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1 +1,3 @@ +# License + [CC-BY-SA-4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode) diff --git a/scripts/Constants.java b/scripts/Constants.java index 6a8f1b17..3f958df3 100644 --- a/scripts/Constants.java +++ b/scripts/Constants.java @@ -12,9 +12,13 @@ private Constants() {} public static final String SUBSECTION = "### "; public static final String PROJECTS_SECTION = "## Projects"; - // File patterns and markers - public static final String ENTRY_PATTERN = "^\\s*-\\s*\\[.*"; + // Regex patterns public static final Pattern PROJECT_PATTERN = Pattern.compile("^\\s*-\\s*\\[([^\\]]+)\\]\\(([^)]+)\\)\\s*-\\s*(.+)"); + public static final Pattern GITHUB_REPO_PATTERN = Pattern.compile("https://github\\.com/([^)/\\s]+/[^)\\s#]+)"); + public static final Pattern MARKDOWN_LINK_PATTERN = Pattern.compile("\\[([^\\]]+)\\]\\(([^)]+)\\)"); + public static final Pattern STARS_PATTERN = Pattern.compile("\"stargazers_count\"\\s*:\\s*(\\d+)"); + public static final Pattern PUSHED_AT_PATTERN = Pattern.compile("\"pushed_at\"\\s*:\\s*\"([^\"]+)\""); + public static final String ENTRY_PATTERN = "^\\s*-\\s*\\[.*"; public static final String INDENTED_LINE_PATTERN = "^\\s+.*"; // File extensions and names diff --git a/scripts/FileUtils.java b/scripts/FileUtils.java index f29cd59d..c804ad08 100644 --- a/scripts/FileUtils.java +++ b/scripts/FileUtils.java @@ -45,7 +45,7 @@ public static String readFileContent(Path inputPath) throws IOException { * Gets file statistics. */ public static String getFileStats(Path filePath) throws IOException { - var lines = Files.readAllLines(filePath).size(); + var lines = Files.lines(filePath).count(); var size = Files.size(filePath); return "Lines: %d, Size: %d bytes".formatted(lines, size); } diff --git a/scripts/ProjectEntry.java b/scripts/ProjectEntry.java index 954437a1..83fadcbf 100644 --- a/scripts/ProjectEntry.java +++ b/scripts/ProjectEntry.java @@ -1,5 +1,3 @@ -import java.util.regex.Pattern; - /** * Represents a parsed project entry from the markdown file. */ @@ -24,8 +22,7 @@ public String getGitHubRepo() { if (!isGitHubRepo()) { return null; } - var pattern = Pattern.compile("https://github\\.com/([^)/\\s]+/[^)\\s#]+)"); - var matcher = pattern.matcher(url); + var matcher = Constants.GITHUB_REPO_PATTERN.matcher(url); return matcher.find() ? matcher.group(1) : null; } } diff --git a/scripts/README.md b/scripts/README.md deleted file mode 100644 index 45ca25ff..00000000 --- a/scripts/README.md +++ /dev/null @@ -1,393 +0,0 @@ -<<<<<<< Updated upstream -<<<<<<< Updated upstream -# README Processing Scripts - -This directory contains a modular workflow for processing the `CONTRIBUTE_README.md` file into a formatted `README.md` with HTML tables and GitHub badges. - -## Workflow Steps - -The processing is split into 6 logical steps, each with its own script: - -### 1. Input Validation (`1-validate-input.java`) -- Validates that `CONTRIBUTE_README.md` exists and is readable -- Provides file statistics -- **Output**: Validation status - -### 2. Project Parsing (`2-parse-projects.java`) -- Parses markdown content to extract project entries -- Handles multi-line descriptions -- **Input**: `CONTRIBUTE_README.md` -- **Output**: `parsed-projects.txt` - -### 3. Badge Generation (`3-generate-badges.java`) -- Generates GitHub badges for repositories -- Creates stars and last-commit badges -- **Input**: `parsed-projects.txt` -- **Output**: `github-badges.txt` - -### 4. Table Generation (`4-generate-tables.java`) -- Combines parsed projects with badges -- Generates HTML tables with proper styling -- **Input**: `parsed-projects.txt`, `github-badges.txt` -- **Output**: `generated-tables.html` - -### 5. Final Assembly (`5-assemble-readme.java`) -- Combines original content with generated tables -- Produces the final `README.md` -- **Input**: `CONTRIBUTE_README.md`, `generated-tables.html` -- **Output**: `README.md` - -### 6. Validation (`6-validate-transformation.java`) -- Validates that all entries from original README are present in transformed README -- Ensures entries are in the correct sections -- Reports missing entries, wrong sections, and extra entries -- **Input**: `CONTRIBUTE_README.md`, `README.md` -- **Output**: Validation report - -## Usage - -### Run Complete Workflow -```bash -java --enable-preview --source 25 scripts/run_workflow.java -``` - -### Run Individual Steps -```bash -# Run step 1 (validation) -java --enable-preview --source 25 scripts/run_workflow.java 1 - -# Run step 2 (parsing) with custom input -java --enable-preview --source 25 scripts/run_workflow.java 2 custom-input.md - -# Run step 3 (badge generation) -java --enable-preview --source 25 scripts/run_workflow.java 3 - -# Run step 6 (validation) -java --enable-preview --source 25 scripts/run_workflow.java 6 -``` - -### Run Steps Directly -```bash -# Validate input -java --enable-preview --source 25 scripts/step_1_validate_input.java - -# Parse projects -java --enable-preview --source 25 scripts/step_2_parse_projects.java CONTRIBUTE_README.md .tmp/parsed-projects.txt - -# Generate badges -java --enable-preview --source 25 scripts/step_3_generate_badges.java .tmp/parsed-projects.txt .tmp/github-badges.txt - -# Generate tables -java --enable-preview --source 25 scripts/step_4_generate_tables.java .tmp/parsed-projects.txt .tmp/github-badges.txt .tmp/generated-tables.html - -# Assemble final README -java --enable-preview --source 25 scripts/step_5_assemble_readme.java CONTRIBUTE_README.md .tmp/generated-tables.html README.md - -# Validate transformation -java --enable-preview --source 25 scripts/step_6_validate_transformation.java CONTRIBUTE_README.md README.md -``` - -## Benefits of Modular Approach - -1. **Easy Debugging**: Each step can be run independently to identify where issues occur -2. **Incremental Processing**: Can re-run specific steps without re-processing everything -3. **Clear Separation**: Each script has a single responsibility -4. **Better Error Handling**: Failures are isolated to specific steps -5. **Maintainability**: Easier to modify individual steps without affecting others - -## Temporary Files - -The workflow creates several temporary files in the `.tmp/` directory: -- `.tmp/parsed-projects.txt` - Parsed project entries -- `.tmp/github-badges.txt` - Badge mappings -- `.tmp/generated-tables.html` - Generated HTML tables - -These files are intermediate outputs and can be safely deleted after processing. The `.tmp/` directory is automatically created if it doesn't exist. - -## Dependencies - -- Java 25+ (uses modern Java features like records and switch expressions) -- No external dependencies required - -## GitHub Actions Integration - -The workflow is now integrated with GitHub Actions and runs as separate steps: - -1. **Step 1 - Validate Input**: Ensures CONTRIBUTE_README.md exists -2. **Step 2 - Parse Projects**: Extracts project entries from markdown -3. **Step 3 - Generate Badges**: Creates GitHub badges for repositories -4. **Step 4 - Generate Tables**: Combines projects with badges into HTML tables -5. **Step 5 - Assemble README**: Produces the final README.md -6. **Step 6 - Validate Transformation**: Ensures all entries are present and in correct sections - -Each step runs independently in the GitHub Actions workflow, making it easy to identify where issues occur if the workflow fails. -||||||| Stash base -======= -# README Processing Scripts - -This directory contains a modular workflow for processing the `CONTRIBUTE_README.md` file into a formatted `README.md` with HTML tables and GitHub badges. - -## Workflow Steps - -The processing is split into 6 logical steps, each with its own script: - -### 1. Input Validation (`1-validate-input.java`) - -- Validates that `CONTRIBUTE_README.md` exists and is readable -- Provides file statistics -- **Output**: Validation status - -### 2. Project Parsing (`2-parse-projects.java`) - -- Parses markdown content to extract project entries -- Handles multi-line descriptions -- **Input**: `CONTRIBUTE_README.md` -- **Output**: `parsed-projects.txt` - -### 3. Stats Generation (`3-generate-badges.java`) - -- Fetches GitHub stats for repositories (stars and last commit) -- Creates text values for stars and last commit dates -- Detects invalid repositories (404 responses) -- **Input**: `parsed-projects.txt` -- **Output**: `github-stats.txt` - -### 4. Table Generation (`4-generate-tables.java`) - -- Combines parsed projects with stats -- Generates markdown tables -- **Input**: `parsed-projects.txt`, `github-stats.txt` -- **Output**: `generated-tables.md` - -### 5. Final Assembly (`5-assemble-readme.java`) - -- Combines original content with generated tables -- Produces the final `README.md` -- **Input**: `CONTRIBUTE_README.md`, `generated-tables.md` -- **Output**: `README.md` - -### 6. Validation (`6-validate-transformation.java`) - -- Validates that all entries from original README are present in transformed README -- Ensures entries are in the correct sections -- Reports missing entries, wrong sections, and extra entries -- **Input**: `CONTRIBUTE_README.md`, `README.md` -- **Output**: Validation report - -## Usage - -### Run Complete Workflow - -```bash -java --enable-preview --source 25 scripts/run_workflow.java -``` - -### Run Individual Steps - -```bash -# Run step 1 (validation) -java --enable-preview --source 25 scripts/run_workflow.java 1 - -# Run step 2 (parsing) with custom input -java --enable-preview --source 25 scripts/run_workflow.java 2 custom-input.md - -# Run step 3 (stats generation) -java --enable-preview --source 25 scripts/run_workflow.java 3 - -# Run step 6 (validation) -java --enable-preview --source 25 scripts/run_workflow.java 6 -``` - -### Run Steps Directly - -```bash -# Validate input -java --enable-preview --source 25 scripts/step_1_validate_input.java - -# Parse projects -java --enable-preview --source 25 scripts/step_2_parse_projects.java CONTRIBUTE_README.md .tmp/parsed-projects.txt - -# Generate stats -java --enable-preview --source 25 scripts/step_3_generate_badges.java .tmp/parsed-projects.txt .tmp/github-stats.txt - -# Generate tables -java --enable-preview --source 25 scripts/step_4_generate_tables.java .tmp/parsed-projects.txt .tmp/github-stats.txt .tmp/generated-tables.md - -# Assemble final README -java --enable-preview --source 25 scripts/step_5_assemble_readme.java CONTRIBUTE_README.md .tmp/generated-tables.md README.md - -# Validate transformation -java --enable-preview --source 25 scripts/step_6_validate_transformation.java CONTRIBUTE_README.md README.md -``` - -## Benefits of Modular Approach - -1. **Easy Debugging**: Each step can be run independently to identify where issues occur -2. **Incremental Processing**: Can re-run specific steps without re-processing everything -3. **Clear Separation**: Each script has a single responsibility -4. **Better Error Handling**: Failures are isolated to specific steps -5. **Maintainability**: Easier to modify individual steps without affecting others - -## Temporary Files - -The workflow creates several temporary files in the `.tmp/` directory: - -- `.tmp/parsed-projects.txt` - Parsed project entries -- `.tmp/github-stats.txt` - Stats mappings (stars and last commit) -- `.tmp/generated-tables.md` - Generated markdown tables - -These files are intermediate outputs and can be safely deleted after processing. The `.tmp/` directory is automatically created if it doesn't exist. - -## Dependencies - -- Java 25+ (uses modern Java features like records and switch expressions) -- No external dependencies required - -## GitHub Actions Integration - -The workflow is now integrated with GitHub Actions and runs as separate steps: - -1. **Step 1 - Validate Input**: Ensures CONTRIBUTE_README.md exists -2. **Step 2 - Parse Projects**: Extracts project entries from markdown -3. **Step 3 - Generate Stats**: Fetches GitHub stats (stars and last commit) for repositories -4. **Step 4 - Generate Tables**: Combines projects with stats into markdown tables -5. **Step 5 - Assemble README**: Produces the final README.md -6. **Step 6 - Validate Transformation**: Ensures all entries are present and in correct sections - -Each step runs independently in the GitHub Actions workflow, making it easy to identify where issues occur if the workflow fails. ->>>>>>> Stashed changes -||||||| Stash base -======= -# README Processing Scripts - -This directory contains a modular workflow for processing the `CONTRIBUTE_README.md` file into a formatted `README.md` with HTML tables and GitHub badges. - -## Workflow Steps - -The processing is split into 6 logical steps, each with its own script: - -### 1. Input Validation (`1-validate-input.java`) - -- Validates that `CONTRIBUTE_README.md` exists and is readable -- Provides file statistics -- **Output**: Validation status - -### 2. Project Parsing (`2-parse-projects.java`) - -- Parses markdown content to extract project entries -- Handles multi-line descriptions -- **Input**: `CONTRIBUTE_README.md` -- **Output**: `parsed-projects.txt` - -### 3. Stats Generation (`3-generate-badges.java`) - -- Fetches GitHub stats for repositories (stars and last commit) -- Creates text values for stars and last commit dates -- Detects invalid repositories (404 responses) -- **Input**: `parsed-projects.txt` -- **Output**: `github-stats.txt` - -### 4. Table Generation (`4-generate-tables.java`) - -- Combines parsed projects with stats -- Generates markdown tables -- **Input**: `parsed-projects.txt`, `github-stats.txt` -- **Output**: `generated-tables.md` - -### 5. Final Assembly (`5-assemble-readme.java`) - -- Combines original content with generated tables -- Produces the final `README.md` -- **Input**: `CONTRIBUTE_README.md`, `generated-tables.md` -- **Output**: `README.md` - -### 6. Validation (`6-validate-transformation.java`) - -- Validates that all entries from original README are present in transformed README -- Ensures entries are in the correct sections -- Reports missing entries, wrong sections, and extra entries -- **Input**: `CONTRIBUTE_README.md`, `README.md` -- **Output**: Validation report - -## Usage - -### Run Complete Workflow - -```bash -java --enable-preview --source 25 scripts/run_workflow.java -``` - -### Run Individual Steps - -```bash -# Run step 1 (validation) -java --enable-preview --source 25 scripts/run_workflow.java 1 - -# Run step 2 (parsing) with custom input -java --enable-preview --source 25 scripts/run_workflow.java 2 custom-input.md - -# Run step 3 (stats generation) -java --enable-preview --source 25 scripts/run_workflow.java 3 - -# Run step 6 (validation) -java --enable-preview --source 25 scripts/run_workflow.java 6 -``` - -### Run Steps Directly - -```bash -# Validate input -java --enable-preview --source 25 scripts/step_1_validate_input.java - -# Parse projects -java --enable-preview --source 25 scripts/step_2_parse_projects.java CONTRIBUTE_README.md .tmp/parsed-projects.txt - -# Generate stats -java --enable-preview --source 25 scripts/step_3_generate_badges.java .tmp/parsed-projects.txt .tmp/github-stats.txt - -# Generate tables -java --enable-preview --source 25 scripts/step_4_generate_tables.java .tmp/parsed-projects.txt .tmp/github-stats.txt .tmp/generated-tables.md - -# Assemble final README -java --enable-preview --source 25 scripts/step_5_assemble_readme.java CONTRIBUTE_README.md .tmp/generated-tables.md README.md - -# Validate transformation -java --enable-preview --source 25 scripts/step_6_validate_transformation.java CONTRIBUTE_README.md README.md -``` - -## Benefits of Modular Approach - -1. **Easy Debugging**: Each step can be run independently to identify where issues occur -2. **Incremental Processing**: Can re-run specific steps without re-processing everything -3. **Clear Separation**: Each script has a single responsibility -4. **Better Error Handling**: Failures are isolated to specific steps -5. **Maintainability**: Easier to modify individual steps without affecting others - -## Temporary Files - -The workflow creates several temporary files in the `.tmp/` directory: - -- `.tmp/parsed-projects.txt` - Parsed project entries -- `.tmp/github-stats.txt` - Stats mappings (stars and last commit) -- `.tmp/generated-tables.md` - Generated markdown tables - -These files are intermediate outputs and can be safely deleted after processing. The `.tmp/` directory is automatically created if it doesn't exist. - -## Dependencies - -- Java 25+ (uses modern Java features like records and switch expressions) -- No external dependencies required - -## GitHub Actions Integration - -The workflow is now integrated with GitHub Actions and runs as separate steps: - -1. **Step 1 - Validate Input**: Ensures CONTRIBUTE_README.md exists -2. **Step 2 - Parse Projects**: Extracts project entries from markdown -3. **Step 3 - Generate Stats**: Fetches GitHub stats (stars and last commit) for repositories -4. **Step 4 - Generate Tables**: Combines projects with stats into markdown tables -5. **Step 5 - Assemble README**: Produces the final README.md -6. **Step 6 - Validate Transformation**: Ensures all entries are present and in correct sections - -Each step runs independently in the GitHub Actions workflow, making it easy to identify where issues occur if the workflow fails. ->>>>>>> Stashed changes diff --git a/scripts/run_workflow.java b/scripts/run_workflow.java index 8d6a6634..201a060e 100644 --- a/scripts/run_workflow.java +++ b/scripts/run_workflow.java @@ -83,7 +83,7 @@ void runStep(int step, String input) throws IOException, InterruptedException { Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE ); case 3 -> buildCommand( - "step_3_generate_badges.java", + "step_3_generate_stats.java", Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE, Constants.TMP_DIR + "/" + Constants.GITHUB_STATS_FILE ); diff --git a/scripts/step_2_parse_projects.java b/scripts/step_2_parse_projects.java index a9b83161..893f5dc9 100644 --- a/scripts/step_2_parse_projects.java +++ b/scripts/step_2_parse_projects.java @@ -36,7 +36,7 @@ void main(String[] args) throws IOException { * Parses project entries from markdown content. */ List parseProjectEntries(String content) { - var lines = content.split("\n"); + var lines = content.lines().toArray(String[]::new); var projectEntries = new ArrayList(); var inProjectSection = false; var currentSection = ""; diff --git a/scripts/step_3_generate_badges.java b/scripts/step_3_generate_stats.java similarity index 57% rename from scripts/step_3_generate_badges.java rename to scripts/step_3_generate_stats.java index 18580be9..2a78655d 100644 --- a/scripts/step_3_generate_badges.java +++ b/scripts/step_3_generate_stats.java @@ -5,12 +5,13 @@ import java.time.*; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.regex.Pattern; import java.util.stream.Collectors; /** * Fetches GitHub stars and last commit data for repositories and creates a mapping file. * - * Usage: step_3_generate_badges.java [parsed_projects_file] [stats_file] + * Usage: step_3_generate_stats.java [parsed_projects_file] [stats_file] */ void main(String[] args) throws IOException, InterruptedException { var inputPath = args.length > 0 ? Path.of(args[0]) : Path.of(Constants.TMP_DIR + "/" + Constants.PARSED_PROJECTS_FILE); @@ -39,7 +40,7 @@ void main(String[] args) throws IOException, InterruptedException { } } - // Generate stats mappings with actual GitHub data (only fetch missing ones) + // Generate stats mappings with actual GitHub data var statsMappings = generateStatsMappings(entries, existingMappings); // Write stats mappings @@ -67,7 +68,7 @@ List readParsedEntries(Path inputPath) throws IOException { String name = null, url = null, description = null; int linesToSkip = 0; - for (var line : section.split("\n")) { + for (var line : section.lines().toArray(String[]::new)) { if (line.startsWith(Constants.NAME_PREFIX)) { name = line.substring(Constants.NAME_PREFIX.length()); } else if (line.startsWith(Constants.URL_PREFIX)) { @@ -104,7 +105,7 @@ Map readStatsMappings(Path statsPath) throws IOException { } String repo = null, name = null, starsText = null, lastCommitText = null; - for (var line : section.split("\n")) { + for (var line : section.lines().toArray(String[]::new)) { if (line.trim().isEmpty()) { continue; } @@ -149,14 +150,12 @@ List generateStatsMappings(List entries, Map generateStatsMappings(List entries, Map generateStatsMappings(List entries, Map { + var body = response.body(); + var starsMatcher = Constants.STARS_PATTERN.matcher(body); + var pushedAtMatcher = Constants.PUSHED_AT_PATTERN.matcher(body); + + var starsText = starsMatcher.find() + ? formatStars(Long.parseLong(starsMatcher.group(1))) + : Constants.NO_STATS; + + var lastCommitText = pushedAtMatcher.find() + ? formatDate(pushedAtMatcher.group(1)) + : Constants.NO_STATS; + + yield new RepoStats(starsText, lastCommitText); } - if (remaining <= 0) { - var rateLimitReset = response.headers().firstValue("X-RateLimit-Reset"); - if (rateLimitReset.isPresent()) { - var resetTime = Instant.ofEpochSecond(Long.parseLong(rateLimitReset.get())); - var waitSeconds = Duration.between(Instant.now(), resetTime).getSeconds() + 5; // Add 5 second buffer - System.err.printf("ERROR: Rate limit exceeded! Waiting %d seconds until reset...%n", waitSeconds); - Thread.sleep(Math.min(waitSeconds * 1000L, 3600000)); // Wait up to 1 hour - // Retry once - return fetchStars(client, repo, requestNumber); - } + case 404 -> { + System.err.printf("ERROR: Repository %s not found%n", repo); + yield new RepoStats(Constants.INVALID_REPO, Constants.INVALID_REPO); } - } - - if (response.statusCode() == 200) { - var body = response.body(); - // Simple JSON parsing - extract stargazers_count - var pattern = java.util.regex.Pattern.compile("\"stargazers_count\"\\s*:\\s*(\\d+)"); - var matcher = pattern.matcher(body); - if (matcher.find()) { - var stars = Long.parseLong(matcher.group(1)); - return formatStars(stars); + case 403 -> { + System.err.printf("ERROR: Access forbidden for %s%n", repo); + yield new RepoStats(Constants.NO_STATS, Constants.NO_STATS); } - } else if (response.statusCode() == 404) { - // Repository not found - mark as invalid - System.err.printf("WARNING: Repository %s not found (may have been deleted or moved)%n", repo); - return Constants.INVALID_REPO; - } else if (response.statusCode() == 403) { - System.err.printf("WARNING: Access forbidden for %s (may be private or rate limited)%n", repo); - return Constants.NO_STATS; - } + default -> new RepoStats(Constants.NO_STATS, Constants.NO_STATS); + }; } catch (InterruptedException e) { Thread.currentThread().interrupt(); - return Constants.NO_STATS; + return new RepoStats(Constants.NO_STATS, Constants.NO_STATS); } catch (Exception e) { - // Log error for debugging - System.err.printf("ERROR fetching stars for %s: %s%n", repo, e.getMessage()); + System.err.printf("ERROR fetching stats for %s: %s%n", repo, e.getMessage()); + return new RepoStats(Constants.NO_STATS, Constants.NO_STATS); } - return Constants.NO_STATS; } /** @@ -294,68 +282,6 @@ String formatStars(long stars) { return String.valueOf(stars); } -/** - * Fetches the last commit date for a GitHub repository. - */ -String fetchLastCommit(HttpClient client, String repo, int requestNumber) { - try { - var githubToken = System.getenv("GITHUB_TOKEN"); - var requestBuilder = HttpRequest.newBuilder() - .uri(URI.create("https://api.github.com/repos/" + repo + "/commits?per_page=1")) - .header("Accept", "application/vnd.github.v3+json"); - - // Add authentication header if token is available - if (githubToken != null && !githubToken.isBlank()) { - requestBuilder.header("Authorization", "Bearer " + githubToken); - } - - var request = requestBuilder.GET().build(); - - var response = client.send(request, HttpResponse.BodyHandlers.ofString()); - - // Check rate limit headers - var rateLimitRemaining = response.headers().firstValue("X-RateLimit-Remaining"); - if (rateLimitRemaining.isPresent()) { - var remaining = Integer.parseInt(rateLimitRemaining.get()); - if (remaining <= 0) { - var rateLimitReset = response.headers().firstValue("X-RateLimit-Reset"); - if (rateLimitReset.isPresent()) { - var resetTime = Instant.ofEpochSecond(Long.parseLong(rateLimitReset.get())); - var waitSeconds = Duration.between(Instant.now(), resetTime).getSeconds() + 5; // Add 5 second buffer - System.err.printf("ERROR: Rate limit exceeded! Waiting %d seconds until reset...%n", waitSeconds); - Thread.sleep(Math.min(waitSeconds * 1000L, 3600000)); // Wait up to 1 hour - // Retry once - return fetchLastCommit(client, repo, requestNumber); - } - } - } - - if (response.statusCode() == 200) { - var body = response.body(); - // Extract commit date from JSON - look for "committer" -> "date" - var pattern = java.util.regex.Pattern.compile("\"committer\"\\s*:\\s*\\{[^}]*\"date\"\\s*:\\s*\"([^\"]+)\""); - var matcher = pattern.matcher(body); - if (matcher.find()) { - var dateStr = matcher.group(1); - return formatDate(dateStr); - } - } else if (response.statusCode() == 404) { - // Repository not found - mark as invalid - return Constants.INVALID_REPO; - } else if (response.statusCode() == 403) { - System.err.printf("WARNING: Access forbidden for %s (may be private or rate limited)%n", repo); - return Constants.NO_STATS; - } - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - return Constants.NO_STATS; - } catch (Exception e) { - // Log error for debugging - System.err.printf("ERROR fetching last commit for %s: %s%n", repo, e.getMessage()); - } - return Constants.NO_STATS; -} - /** * Formats date as relative time (e.g., "2d", "1mo") or absolute date. */ @@ -399,13 +325,17 @@ String formatDate(String dateStr) { */ void writeStatsMappings(Path outputPath, List mappings) throws IOException { var content = mappings.stream() - .map(m -> String.format( - "%s%s\n%s%s\n%s%s\n%s%s", - Constants.REPO_PREFIX, m.repo(), - Constants.NAME_PREFIX, m.name(), - Constants.STARS_PREFIX, m.starsText(), - Constants.COMMIT_PREFIX, m.lastCommitText() - )) + .map(m -> """ + %s%s + %s%s + %s%s + %s%s + """.formatted( + Constants.REPO_PREFIX, m.repo(), + Constants.NAME_PREFIX, m.name(), + Constants.STARS_PREFIX, m.starsText(), + Constants.COMMIT_PREFIX, m.lastCommitText() + ).trim()) .collect(Collectors.joining("\n\n")); FileUtils.writeOutputFile(outputPath, content); diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 0ea5e70c..3a530ec7 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -46,7 +46,7 @@ List readParsedEntries(Path inputPath) throws IOException { String name = null, url = null, description = null, sectionName = null; int linesToSkip = 0; - for (var line : section.split("\n")) { + for (var line : section.lines().toArray(String[]::new)) { if (line.startsWith(Constants.NAME_PREFIX)) { name = line.substring(Constants.NAME_PREFIX.length()); } else if (line.startsWith(Constants.URL_PREFIX)) { @@ -85,7 +85,7 @@ Map readStatsMappings(Path statsPath) throws IOException { } String repo = null, name = null, starsText = null, lastCommitText = null; - for (var line : section.split("\n")) { + for (var line : section.lines().toArray(String[]::new)) { if (line.trim().isEmpty()) { continue; } @@ -149,7 +149,6 @@ String createMarkdownTable(List entries, Map var sectionName = entries.get(0).section(); var table = new StringBuilder(); table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); - // Don't add section header here - it's already in the original file table.append("| Name | Description | Stars | Updated |\n"); table.append("| :--- | :---------- | :---: | :-----: |\n"); diff --git a/scripts/step_5_assemble_readme.java b/scripts/step_5_assemble_readme.java index 3f897bf9..108bb3eb 100644 --- a/scripts/step_5_assemble_readme.java +++ b/scripts/step_5_assemble_readme.java @@ -28,14 +28,14 @@ void main(String[] args) throws IOException { System.out.println("SUCCESS: Successfully assembled final README!"); System.out.println("Statistics:"); System.out.printf(" - %s%n", FileUtils.getFileStats(outputPath)); - System.out.printf(" - Badges: %d%n", countBadges(finalContent)); + System.out.printf(" - Stats entries: %d%n", countStats(finalContent)); } /** * Replaces project sections with markdown tables. */ String assembleReadme(String originalContent, String tablesContent) { - var lines = originalContent.split("\n"); + var lines = originalContent.lines().toArray(String[]::new); var result = new StringBuilder(); var inProjectSection = false; @@ -136,12 +136,16 @@ String assembleReadme(String originalContent, String tablesContent) { } /** - * Counts the number of badges in the content. + * Counts the number of stats entries in the content. */ -long countBadges(String content) { +long countStats(String content) { + // Count table rows (excluding header and separator rows) return content.lines() - .filter(line -> line.contains("|") && (line.contains("Stars") || line.contains("Updated"))) - .count() / 2; // Approximate count based on table rows + .filter(line -> line.startsWith("|") && + !line.contains("| Name |") && + !line.contains("| :--- |") && + line.contains("|")) + .count(); } /** @@ -156,7 +160,7 @@ Map createSectionToTableMap(String[] tables) { } // Extract section name from the comment (format: SectionName --> or ) - var lines = table.split("\n"); + var lines = table.lines().toArray(String[]::new); String sectionName = null; for (var line : lines) { diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index ba849fe7..fbb149e2 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -45,7 +45,7 @@ void main(String[] args) throws IOException { * Extracts project entries from the original markdown format. */ List extractProjectEntries(String content) { - var lines = content.split("\n"); + var lines = content.lines().toArray(String[]::new); var projectEntries = new ArrayList(); var inProjectSection = false; var currentSection = ""; @@ -97,7 +97,7 @@ List extractProjectEntries(String content) { */ List extractProjectEntriesFromTables(String content) { var entries = new ArrayList(); - var lines = content.split("\n"); + var lines = content.lines().toArray(String[]::new); var inProjectSection = false; var currentSection = ""; var inTable = false; @@ -167,7 +167,7 @@ ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { // Extract name and URL from [Name](URL) format in first cell var nameUrlPart = parts[1].trim(); - var nameUrlMatch = Pattern.compile("\\[([^\\]]+)\\]\\(([^)]+)\\)").matcher(nameUrlPart); + var nameUrlMatch = Constants.MARKDOWN_LINK_PATTERN.matcher(nameUrlPart); if (!nameUrlMatch.find()) { return null; } From f70f1bfc3a22f53abc6bf91063307d1469e42e3e Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 10 Jan 2026 13:59:25 +0400 Subject: [PATCH 407/533] Update --- .github/workflows/update-readme.yml | 213 ++------------- .tmp/generated-tables.md | 48 +++- .tmp/parsed-projects.txt | 256 +++++++++--------- CONTRIBUTE_README.md | 184 +++++++------ README.md | 406 ++++++++++++++++++++++------ scripts/step_2_parse_projects.java | 17 +- scripts/step_4_generate_tables.java | 1 + scripts/step_5_assemble_readme.java | 152 ++++++++++- 8 files changed, 768 insertions(+), 509 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index ec7b45a0..cc3df809 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -1,194 +1,16 @@ -<<<<<<< Updated upstream -<<<<<<< Updated upstream -name: Update README from CONTRIBUTE_README - -# Workflow disabled -# on: -# push: -# branches: [master] -# paths: -# - "CONTRIBUTE_README.md" -# - "scripts/*.java" -# pull_request: -# branches: [master] -# paths: -# - "CONTRIBUTE_README.md" -# - "scripts/*.java" -# workflow_dispatch: - -jobs: - update-readme: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - fetch-depth: 0 - - - name: Set up Java - uses: actions/setup-java@v4 - with: - distribution: "temurin" - java-version: "25" - - - name: Step 1 - Validate Input - run: | - echo "Step 1: Validating input file..." - java --enable-preview --source 25 scripts/step_1_validate_input.java - - - name: Step 2 - Parse Projects - run: | - echo "Step 2: Parsing project entries..." - java --enable-preview --source 25 scripts/step_2_parse_projects.java - - - name: Step 3 - Generate Badges - run: | - echo "Step 3: Generating GitHub badges..." - java --enable-preview --source 25 scripts/step_3_generate_badges.java - - - name: Step 4 - Generate Tables - run: | - echo "Step 4: Generating HTML tables..." - java --enable-preview --source 25 scripts/step_4_generate_tables.java - - - name: Step 5 - Assemble README - run: | - echo "Step 5: Assembling final README..." - java --enable-preview --source 25 scripts/step_5_assemble_readme.java - - - name: Step 6 - Validate Transformation - run: | - echo "Step 6: Validating transformation..." - java --enable-preview --source 25 scripts/step_6_validate_transformation.java - - - name: Check for changes - id: changes - run: | - if git diff --quiet README.md; then - echo "No changes to README.md" - echo "changed=false" >> $GITHUB_OUTPUT - else - echo "Changes detected in README.md" - echo "changed=true" >> $GITHUB_OUTPUT - fi - - - name: Commit and push changes - if: steps.changes.outputs.changed == 'true' - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add README.md - git commit -m "Auto-update README.md from CONTRIBUTE_README.md - - - Converted list format to HTML tables - - Added GitHub stars and last commit badges - - Updated via GitHub Actions workflow" - git push - echo "Changes committed and pushed to repository" - - - name: Create summary - run: | - echo "## Workflow Summary" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### Completed Steps:" >> $GITHUB_STEP_SUMMARY - echo "1. Checked out repository" >> $GITHUB_STEP_SUMMARY - echo "2. Set up Java 25" >> $GITHUB_STEP_SUMMARY - echo "3. Step 1: Validated input file" >> $GITHUB_STEP_SUMMARY - echo "4. Step 2: Parsed project entries" >> $GITHUB_STEP_SUMMARY - echo "5. Step 3: Generated GitHub badges" >> $GITHUB_STEP_SUMMARY - echo "6. Step 4: Generated HTML tables" >> $GITHUB_STEP_SUMMARY - echo "7. Step 5: Assembled final README" >> $GITHUB_STEP_SUMMARY - echo "8. Step 6: Validated transformation" >> $GITHUB_STEP_SUMMARY - if [ "${{ steps.changes.outputs.changed }}" == "true" ]; then - echo "9. Committed and pushed changes" >> $GITHUB_STEP_SUMMARY - else - echo "9. No changes detected" >> $GITHUB_STEP_SUMMARY - fi - echo "" >> $GITHUB_STEP_SUMMARY - echo "### File Statistics:" >> $GITHUB_STEP_SUMMARY - echo "- **Lines**: $(wc -l < README.md)" >> $GITHUB_STEP_SUMMARY - echo "- **Size**: $(du -h README.md | cut -f1)" >> $GITHUB_STEP_SUMMARY - echo "- **Badges**: $(grep -c 'img.shields.io' README.md)" >> $GITHUB_STEP_SUMMARY -||||||| Stash base -======= -name: Update README - -on: - schedule: - # Run once a week on Monday at 00:00 UTC - - cron: '0 0 * * 1' - workflow_dispatch: # Allow manual triggering - push: - branches: - - master - paths: - - 'CONTRIBUTE_README.md' - - 'scripts/**' - -jobs: - update-readme: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Fetch all history for git operations - - - name: Set up Java - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: '25' - - - name: Checkout existing stats cache - run: | - mkdir -p .tmp - # Try to restore stats cache from previous run - if git show HEAD:.tmp/github-stats.txt > .tmp/github-stats.txt 2>/dev/null; then - echo "Restored existing stats cache from previous commit" - else - echo "No existing stats cache found, will fetch all data" - fi - - - name: Run workflow - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - java --enable-preview --source 25 scripts/run_workflow.java - - - name: Commit changes - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add README.md - # Always commit the stats cache so it persists for next run - git add .tmp/github-stats.txt || true - if git diff --staged --quiet; then - echo "No changes to commit" - else - git commit -m "Update README with latest GitHub stars and commit dates [skip ci]" - git push - fi - ->>>>>>> Stashed changes -||||||| Stash base -======= name: Update README on: schedule: # Run once a week on Monday at 00:00 UTC - - cron: '0 0 * * 1' + - cron: "0 0 * * 1" workflow_dispatch: # Allow manual triggering push: branches: - master paths: - - 'CONTRIBUTE_README.md' - - 'scripts/**' + - "CONTRIBUTE_README.md" + - "scripts/**" jobs: update-readme: @@ -203,26 +25,33 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - distribution: 'temurin' - java-version: '25' + distribution: "temurin" + java-version: "25" - - name: Checkout existing stats cache + - name: Restore stats cache run: | mkdir -p .tmp - # Try to restore stats cache from previous run - if git show HEAD:.tmp/github-stats.txt > .tmp/github-stats.txt 2>/dev/null; then - echo "Restored existing stats cache from previous commit" + # On scheduled runs, refresh all stats by not restoring cache + # On manual/push runs, use cache to avoid unnecessary API calls + if [ "${{ github.event_name }}" == "schedule" ]; then + echo "Scheduled run detected - will fetch fresh data for all repositories" + # Don't restore cache, let script fetch everything fresh else - echo "No existing stats cache found, will fetch all data" + # Try to restore stats cache from previous run + if git show HEAD:.tmp/github-stats.txt > .tmp/github-stats.txt 2>/dev/null; then + echo "Restored existing stats cache from previous commit" + else + echo "No existing stats cache found, will fetch all data" + fi fi - - name: Run workflow + - name: Run README generation workflow env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | java --enable-preview --source 25 scripts/run_workflow.java - - name: Commit changes + - name: Commit updated README and stats cache run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" @@ -232,8 +61,6 @@ jobs: if git diff --staged --quiet; then echo "No changes to commit" else - git commit -m "Update README with latest GitHub stars and commit dates [skip ci]" + git commit -m "Update README with latest GitHub stats [skip ci]" git push fi - ->>>>>>> Stashed changes diff --git a/.tmp/generated-tables.md b/.tmp/generated-tables.md index cb04fe9f..3a86098b 100644 --- a/.tmp/generated-tables.md +++ b/.tmp/generated-tables.md @@ -59,7 +59,7 @@ | [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | | [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | - + | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | @@ -68,6 +68,11 @@ | [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | | [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | | [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | | [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | | [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | @@ -733,7 +738,7 @@ | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | 236 | 1h | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. | 236 | 1h | @@ -760,7 +765,7 @@ | [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | | [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | 465 | 1y | - + | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | @@ -818,6 +823,11 @@ | [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | | [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | | [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | | [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | | [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | @@ -954,7 +964,7 @@ | [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | 1.0k | 7mo | | [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | - + | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | @@ -965,6 +975,11 @@ | [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | | [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | | [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | | [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | | [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | @@ -972,6 +987,11 @@ | [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | | [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | | [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 12h | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | | [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | | [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 5h | @@ -982,6 +1002,11 @@ | [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | | [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | | [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [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. | - | - | @@ -994,12 +1019,22 @@ | [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. | 112 | 2d | | [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation framework and ecosystem. | 33.9k | 1h | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | | [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | | [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | | [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 13h | | [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | | [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | | [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | | [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | @@ -1011,6 +1046,11 @@ | [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | | [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | | [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. | 8.6k | 23d | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | | [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | | [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | diff --git a/.tmp/parsed-projects.txt b/.tmp/parsed-projects.txt index d33b1373..7520a076 100644 --- a/.tmp/parsed-projects.txt +++ b/.tmp/parsed-projects.txt @@ -219,63 +219,63 @@ NAME:Airline URL:https://rvesse.github.io/airline/ DESC:Annotation-based framework for parsing Git-like command-line arguments. SKIP:1 -SECTION:CLI +SECTION:CLI/Argument Parsing --- NAME:JCommander URL:http://jcommander.org DESC:Command-line argument-parsing framework with custom types and validation via implementing interfaces. SKIP:1 -SECTION:CLI +SECTION:CLI/Argument Parsing --- NAME:jbock URL:https://github.com/jbock-java/jbock DESC:Reflectionless command line parser. SKIP:1 -SECTION:CLI +SECTION:CLI/Argument Parsing --- NAME:JLine URL:https://github.com/jline/jline3 DESC:Includes features from modern shells like completion or history. SKIP:1 -SECTION:CLI +SECTION:CLI/Argument Parsing --- NAME:picocli URL:https://picocli.info DESC:ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. SKIP:1 -SECTION:CLI +SECTION:CLI/Argument Parsing --- NAME:Jansi URL:https://github.com/fusesource/jansi DESC:ANSI escape codes to format console output. SKIP:1 -SECTION:CLI +SECTION:CLI/Text-Based User Interfaces --- NAME:Jexer URL:https://gitlab.com/AutumnMeowMeow/jexer DESC:Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). SKIP:1 -SECTION:CLI +SECTION:CLI/Text-Based User Interfaces --- NAME:Text-IO URL:https://github.com/beryx/text-io DESC:Aids the creation of full console-based applications. SKIP:1 -SECTION:CLI +SECTION:CLI/Text-Based User Interfaces --- NAME:Lanterna URL:https://github.com/mabe02/lanterna DESC:Easy console text-GUI library, similar to curses. (LGPL-3.0-only) SKIP:1 -SECTION:CLI +SECTION:CLI/Text-Based User Interfaces --- NAME:AWS SDK for Java @@ -3332,7 +3332,7 @@ SECTION:ORM NAME:Pathetic URL:https://github.com/bsommerfeld/pathetic -DESC:A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. +DESC:A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. SKIP:1 SECTION:Pathfinding --- @@ -3446,406 +3446,406 @@ NAME:BCEL URL:http://commons.apache.org/proper/commons-bcel/ DESC:Byte Code Engineering Library - analyze, create, and manipulate Java class files. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:BeanUtils URL:http://commons.apache.org/proper/commons-beanutils/ DESC:Easy-to-use wrappers around the Java reflection and introspection APIs. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:BeanUtils2 URL:http://commons.apache.org/sandbox/commons-beanutils2/ DESC:Redesign of Commons BeanUtils. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:BSF URL:http://commons.apache.org/proper/commons-bsf/ DESC:Bean Scripting Framework - interface to scripting languages, including JSR-223. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Chain URL:http://commons.apache.org/proper/commons-chain/ DESC:Chain of Responsibility pattern implementation. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:ClassScan URL:http://commons.apache.org/sandbox/commons-classscan/ DESC:Find Class interfaces, methods, fields, and annotations without loading. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:CLI URL:http://commons.apache.org/proper/commons-cli/ DESC:Command-line arguments parser. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:CLI2 URL:http://commons.apache.org/sandbox/commons-cli2/ DESC:Redesign of Commons CLI. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Codec URL:http://commons.apache.org/proper/commons-codec/ DESC:General encoding/decoding algorithms, e.g. phonetic, base64 or URL. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Collections URL:http://commons.apache.org/proper/commons-collections/ DESC:Extends or augments the Java Collections Framework. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Compress URL:http://commons.apache.org/proper/commons-compress/ DESC:Defines an API for working with tar, zip and bzip2 files. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Configuration URL:http://commons.apache.org/proper/commons-configuration/ DESC:Reading of configuration/preferences files in various formats. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Convert URL:http://commons.apache.org/sandbox/commons-convert/ DESC:Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:CSV URL:http://commons.apache.org/proper/commons-csv/ DESC:Component for reading and writing comma separated value files. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Daemon URL:http://commons.apache.org/proper/commons-daemon/ DESC:Alternative invocation mechanism for unix-daemon-like java code. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:DBCP URL:http://commons.apache.org/proper/commons-dbcp/ DESC:Database connection pooling services. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:DbUtils URL:http://commons.apache.org/proper/commons-dbutils/ DESC:JDBC helper library. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Digester URL:http://commons.apache.org/proper/commons-digester/ DESC:XML-to-Java-object mapping utility. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Email URL:http://commons.apache.org/proper/commons-email/ DESC:Library for sending e-mail from Java. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Exec URL:http://commons.apache.org/proper/commons-exec/ DESC:API for dealing with external process execution and environment management in Java. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:FileUpload URL:http://commons.apache.org/proper/commons-fileupload/ DESC:File upload capability for your servlets and web applications. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Finder URL:http://commons.apache.org/sandbox/commons-finder/ DESC:Java library inspired by the UNIX find command. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Flatfile URL:http://commons.apache.org/sandbox/commons-flatfile/ DESC:Java library for working with flat data structures. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Functor URL:http://commons.apache.org/proper/commons-functor/ DESC:Function that can be manipulated as an object, or an object representing a single, generic function. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Graph URL:http://commons.apache.org/sandbox/commons-graph/ DESC:General purpose graph APIs and algorithms. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:I18n URL:http://commons.apache.org/sandbox/commons-i18n/ DESC:Adds the feature of localized message bundles that consist of one or many localized texts that belong together. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Id URL:http://commons.apache.org/sandbox/commons-id/ DESC:Id is a component used to generate identifiers. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Imaging URL:http://commons.apache.org/proper/commons-imaging/ DESC:Image library. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:IO URL:http://commons.apache.org/proper/commons-io/ DESC:Collection of I/O utilities. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Javaflow URL:http://commons.apache.org/sandbox/commons-javaflow/ DESC:Continuation implementation to capture the state of the application. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:JCI URL:http://commons.apache.org/proper/commons-jci/ DESC:Java Compiler Interface. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:JCS URL:http://commons.apache.org/proper/commons-jcs/ DESC:Java Caching System. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Jelly URL:http://commons.apache.org/proper/commons-jelly/ DESC:XML based scripting and processing engine. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Jexl URL:http://commons.apache.org/proper/commons-jexl/ DESC:Expression language which extends the Expression Language of the JSTL. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:JNet URL:http://commons.apache.org/sandbox/commons-jnet/ DESC:JNet allows to use dynamically register url stream handlers through the java.net API. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:JXPath URL:http://commons.apache.org/proper/commons-jxpath/ DESC:Utilities for manipulating Java Beans using the XPath syntax. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Lang URL:http://commons.apache.org/proper/commons-lang/ DESC:Provides extra functionality for classes in java.lang. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Logging URL:https://commons.apache.org/proper/commons-logging/ DESC:Wrapper around a variety of logging API implementations. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Math URL:http://commons.apache.org/proper/commons-math/ DESC:Lightweight, self-contained mathematics and statistics components. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Monitoring URL:http://commons.apache.org/sandbox/commons-monitoring/ DESC:Monitoring aims to provide a simple but extensible monitoring solution for Java applications. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Nabla URL:http://commons.apache.org/sandbox/commons-nabla/ DESC:Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Net URL:http://commons.apache.org/proper/commons-net/ DESC:Collection of network utilities and protocol implementations. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:OGNL URL:http://commons.apache.org/proper/commons-ognl/ DESC:Object-graph navigation language. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:OpenPGP URL:http://commons.apache.org/sandbox/commons-openpgp/ DESC:Interface to signing and verifying data using OpenPGP. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Performance URL:http://commons.apache.org/sandbox/commons-performance/ DESC:Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Pipeline URL:http://commons.apache.org/sandbox/commons-pipeline/ DESC:Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Pool URL:http://commons.apache.org/proper/commons-pool/ DESC:Generic object pooling component. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Proxy URL:http://commons.apache.org/proper/commons-proxy/ DESC:Library for creating dynamic proxies. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:RDF URL:https://commons.apache.org/proper/commons-rdf/ DESC:Common implementation of RDF 1.1 that could be implemented by systems on the JVM. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:RNG URL:https://commons.apache.org/proper/commons-rng/ DESC:Commons Rng provides implementations of pseudo-random numbers generators. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:SCXML URL:http://commons.apache.org/proper/commons-scxml/ DESC:Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Validator URL:http://commons.apache.org/proper/commons-validator/ DESC:Framework to define validators and validation rules in an xml file. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:VFS URL:http://commons.apache.org/proper/commons-vfs/ DESC:Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:Weaver URL:http://commons.apache.org/proper/commons-weaver/ DESC:Provides an easy way to enhance (weave) compiled bytecode. SKIP:1 -SECTION:Platform +SECTION:Platform/Apache Commons --- NAME:CUBA Platform URL:https://www.cuba-platform.com/ DESC:High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. SKIP:1 -SECTION:Platform +SECTION:Platform/Other --- NAME:Light-4J URL:https://github.com/networknt/light-4j/ DESC:Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). SKIP:1 -SECTION:Platform +SECTION:Platform/Other --- NAME:Orienteer URL:https://github.com/OrienteerBAP/Orienteer/ DESC:Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. SKIP:1 -SECTION:Platform +SECTION:Platform/Other --- NAME:Spring URL:https://spring.io/projects/ DESC:Provides many packages for dependency injection, aspect-oriented programming, security, etc. SKIP:1 -SECTION:Platform +SECTION:Platform/Other --- NAME:ch.vorburger.exec @@ -4454,420 +4454,420 @@ NAME:Awaitility URL:https://github.com/awaitility/awaitility DESC:DSL for synchronizing asynchronous operations. SKIP:1 -SECTION:Testing +SECTION:Testing/Asynchronous --- NAME:ConcurrentUnit URL:https://github.com/jhalterman/concurrentunit DESC:Toolkit for testing multi-threaded and asynchronous applications. SKIP:1 -SECTION:Testing +SECTION:Testing/Asynchronous --- NAME:GreenMail URL:https://greenmail-mail-test.github.io/greenmail/ DESC:In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) SKIP:1 -SECTION:Testing +SECTION:Testing/Asynchronous --- NAME:Hoverfly Java URL:https://github.com/SpectoLabs/hoverfly-java DESC:Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. SKIP:1 -SECTION:Testing +SECTION:Testing/Asynchronous --- NAME:Karate URL:https://github.com/intuit/karate DESC:DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. SKIP:1 -SECTION:Testing +SECTION:Testing/Asynchronous --- NAME:REST Assured URL:https://github.com/rest-assured/rest-assured DESC:DSL for easy testing of REST/HTTP services. SKIP:1 -SECTION:Testing +SECTION:Testing/Asynchronous --- NAME:WebTau URL:https://github.com/testingisdocumenting/webtau DESC:Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. SKIP:1 -SECTION:Testing +SECTION:Testing/Asynchronous --- NAME:Cucumber URL:https://github.com/cucumber/cucumber-jvm DESC:Provides a way to describe features in a plain language which customers can understand. SKIP:1 -SECTION:Testing +SECTION:Testing/BDD --- NAME:Cukes-REST URL:https://github.com/ctco/cukes DESC:Collection of Gherkin steps for REST-service testing using Cucumber. SKIP:1 -SECTION:Testing +SECTION:Testing/BDD --- NAME:J8Spec URL:https://github.com/j8spec/j8spec DESC:Follows a Jasmine-like syntax. SKIP:1 -SECTION:Testing +SECTION:Testing/BDD --- NAME:JBehave URL:https://jbehave.org DESC:Extensively configurable framework that describes stories. SKIP:1 -SECTION:Testing +SECTION:Testing/BDD --- NAME:JGiven URL:http://jgiven.org DESC:Provides a fluent API which allows for simpler composition. SKIP:1 -SECTION:Testing +SECTION:Testing/BDD --- NAME:Lamdba Behave URL:https://github.com/RichardWarburton/lambda-behave DESC:Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. SKIP:1 -SECTION:Testing +SECTION:Testing/BDD --- NAME:Serenity BDD URL:https://github.com/serenity-bdd/serenity-core DESC:Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. SKIP:1 -SECTION:Testing +SECTION:Testing/BDD --- NAME:AutoParams URL:https://github.com/AutoParams/AutoParams DESC:Supports generating test data or combining scenarios for parameterized tests. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:Beanmother URL:https://github.com/keepcosmos/beanmother DESC:Sets up beans from YAML fixtures. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:Datafaker URL:https://github.com/datafaker-net/datafaker DESC:Modern fake data generator forked from Java Faker. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:Fixture Factory URL:https://github.com/six2six/fixture-factory DESC:Generates fake objects from a template. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:jFairy URL:https://github.com/Devskiller/jfairy DESC:Fake data generator. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:Instancio URL:https://github.com/instancio/instancio DESC:Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:Randomized Testing URL:https://github.com/randomizedtesting/randomizedtesting DESC:JUnit test runner and plugins for running JUnit tests with pseudo-randomness. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:Java Faker URL:https://github.com/DiUS/java-faker DESC:Port of Ruby's fake data generator. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:Mockneat URL:https://github.com/nomemory/mockneat DESC:Another fake data generator. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:JMock URL:https://github.com/xcancloud/JMock DESC:JMock is a high-performance data generation and simulation component library implemented in Java. SKIP:1 -SECTION:Testing +SECTION:Testing/Fixtures --- NAME:Apache JMeter URL:http://jmeter.apache.org DESC:Functional testing and performance measurements. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:JMeter DSL.java URL:https://abstracta.github.io/jmeter-java-dsl/ DESC:Load tests with JMeter as simple as a JUnit test. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:Arquillian URL:http://arquillian.org DESC:Integration and functional testing platform for Java EE containers. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:cdi-test URL:https://github.com/guhilling/cdi-test DESC:JUnit extension for easy and efficient testing of CDI components. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:Citrus URL:https://citrusframework.org DESC:Integration testing framework that focuses on both client- and server-side messaging. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:Gatling URL:https://gatling.io DESC:Load testing tool designed for ease of use, maintainability and high performance. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:JUnit URL:https://junit.org/junit5/ DESC:Common testing framework. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:jqwik URL:https://jqwik.net DESC:Engine for property-based testing built on JUnit 5. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:Pact JVM URL:https://github.com/DiUS/pact-jvm DESC:Consumer-driven contract testing. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:PIT URL:http://pitest.org DESC:Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:weld-testing URL:https://github.com/weld/weld-testing DESC:Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:selenium URL:https://github.com/SeleniumHQ/selenium DESC:Browser automation framework and ecosystem. SKIP:1 -SECTION:Testing +SECTION:Testing/Frameworks --- NAME:AssertJ URL:https://joel-costigliola.github.io/assertj/ DESC:Fluent assertions that improve readability. SKIP:1 -SECTION:Testing +SECTION:Testing/Matchers --- NAME:Hamcrest URL:http://hamcrest.org/JavaHamcrest/ DESC:Matchers that can be combined to create flexible expressions of intent. SKIP:1 -SECTION:Testing +SECTION:Testing/Matchers --- NAME:JSONAssert URL:http://jsonassert.skyscreamer.org DESC:Simplifies testing JSON strings. SKIP:1 -SECTION:Testing +SECTION:Testing/Matchers --- NAME:JsonUnit URL:https://github.com/lukas-krecan/JsonUnit DESC:Library that simplifies JSON comparison in tests. SKIP:1 -SECTION:Testing +SECTION:Testing/Matchers --- NAME:Truth URL:https://truth.dev DESC:Google's fluent assertion and proposition framework. SKIP:1 -SECTION:Testing +SECTION:Testing/Matchers --- NAME:XMLUnit URL:https://github.com/xmlunit/xmlunit DESC:Simplifies testing for XML output. SKIP:1 -SECTION:Testing +SECTION:Testing/Matchers --- NAME:ConsoleCaptor URL:https://github.com/Hakky54/console-captor DESC:Captures console output for unit testing purposes. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:junit-dataprovider URL:https://github.com/TNG/junit-dataprovider DESC:TestNG-like data provider/runner for JUnit. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:junit-pioneer URL:https://junit-pioneer.org/ DESC:JUnit 5 extension pack, pushing the frontiers on Jupiter. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:LogCaptor URL:https://github.com/Hakky54/log-captor DESC:Captures log entries for unit testing purposes. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:log-capture URL:https://github.com/dm-drogeriemarkt/log-capture DESC:Captures log entries and provides assertions for unit and integration testing. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:Mutability Detector URL:https://github.com/MutabilityDetector/MutabilityDetector DESC:Reports whether instances of a given class are immutable. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:pojo-tester URL:https://www.pojo.pl DESC:Automatically performs tests on basic POJO methods. (LGPL-3.0-only) SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:raml-tester URL:https://github.com/nidi3/raml-tester DESC:Tests if a request/response matches a given RAML definition. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:Selfie URL:https://github.com/diffplug/selfie DESC:Snapshot testing (inline and on disk). SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:Stebz URL:https://github.com/stebz/stebz DESC:Multi-approach framework for test steps managing. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:Testcontainers URL:https://github.com/testcontainers/testcontainers-java DESC:Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. SKIP:1 -SECTION:Testing +SECTION:Testing/Testing Miscellaneous --- NAME:JMockit URL:http://jmockit.github.io DESC:Integration testing, API mocking and faking, and code coverage. SKIP:1 -SECTION:Testing +SECTION:Testing/Mocking --- NAME:Mockito URL:https://github.com/mockito/mockito DESC:Mocking framework that lets you write tests with a clean and simple API. SKIP:1 -SECTION:Testing +SECTION:Testing/Mocking --- NAME:MockServer URL:https://www.mock-server.com DESC:Allows mocking of systems integrated with HTTPS. SKIP:1 -SECTION:Testing +SECTION:Testing/Mocking --- NAME:Moco URL:https://github.com/dreamhead/moco DESC:Concise web services for stubs and mocks. SKIP:1 -SECTION:Testing +SECTION:Testing/Mocking --- NAME:PowerMock URL:https://github.com/powermock/powermock DESC:Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. SKIP:1 -SECTION:Testing +SECTION:Testing/Mocking --- NAME:WireMock URL:http://wiremock.org DESC:Stubs and mocks web services. SKIP:1 -SECTION:Testing +SECTION:Testing/Mocking --- NAME:EasyMock URL:https://github.com/easymock/easymock DESC:EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. SKIP:1 -SECTION:Testing +SECTION:Testing/Mocking --- NAME:Arthas diff --git a/CONTRIBUTE_README.md b/CONTRIBUTE_README.md index a87f7897..223d9af2 100644 --- a/CONTRIBUTE_README.md +++ b/CONTRIBUTE_README.md @@ -4,88 +4,102 @@ 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) - - [Cloud](#cloud) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Decentralization](#decentraliation) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [Pathfinding](#pathfinding) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) -- [Resources](#resources) - - [Related Awesome Lists](#related-awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Websites](#websites) -- [Contributing](#contributing) +- [Awesome Java](#awesome-java-) + - [Contents](#contents) + - [Projects](#projects) + - [Architecture](#architecture) + - [Artificial Intelligence](#artificial-intelligence) + - [Bean Mapping](#bean-mapping) + - [Build](#build) + - [Bytecode Manipulation](#bytecode-manipulation) + - [Caching](#caching) + - [CLI](#cli) + - [Argument Parsing](#argument-parsing) + - [Text-Based User Interfaces](#text-based-user-interfaces) + - [Cloud](#cloud) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Decentralization](#decentralization) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [Pathfinding](#pathfinding) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Apache Commons](#apache-commons) + - [Other](#other) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Asynchronous](#asynchronous) + - [BDD](#bdd) + - [Fixtures](#fixtures) + - [Frameworks](#frameworks) + - [Matchers](#matchers) + - [Testing Miscellaneous](#testing-miscellaneous) + - [Mocking](#mocking) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) + - [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Socials](#socials) + - [Websites](#websites) + - [Contributing](#contributing) ## Projects @@ -864,7 +878,7 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ -- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. +- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. ### PDF @@ -1164,7 +1178,7 @@ _Libraries that provide custom matchers._ - [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. -#### Miscellaneous +#### Testing Miscellaneous _Other stuff related to testing._ @@ -1390,5 +1404,3 @@ _Sites to read._ Contributions are very welcome! 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 diff --git a/README.md b/README.md index 26cfd8ad..ef770b10 100644 --- a/README.md +++ b/README.md @@ -4,88 +4,102 @@ 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) - - [Cloud](#cloud) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Decentralization](#decentraliation) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [Pathfinding](#pathfinding) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) -- [Resources](#resources) - - [Related Awesome Lists](#related-awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Websites](#websites) -- [Contributing](#contributing) +- [Awesome Java](#awesome-java-) + - [Contents](#contents) + - [Projects](#projects) + - [Architecture](#architecture) + - [Artificial Intelligence](#artificial-intelligence) + - [Bean Mapping](#bean-mapping) + - [Build](#build) + - [Bytecode Manipulation](#bytecode-manipulation) + - [Caching](#caching) + - [CLI](#cli) + - [Argument Parsing](#argument-parsing) + - [Text-Based User Interfaces](#text-based-user-interfaces) + - [Cloud](#cloud) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Decentralization](#decentralization) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [Pathfinding](#pathfinding) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Apache Commons](#apache-commons) + - [Other](#other) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Asynchronous](#asynchronous) + - [BDD](#bdd) + - [Fixtures](#fixtures) + - [Frameworks](#frameworks) + - [Matchers](#matchers) + - [Testing Miscellaneous](#testing-miscellaneous) + - [Mocking](#mocking) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) + - [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Socials](#socials) + - [Websites](#websites) + - [Contributing](#contributing) ## Projects @@ -97,6 +111,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | :--- | :---------- | :---: | :-----: | | [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | 3.6k | 23h | | [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | 1.5k | 1mo | + ### Artificial Intelligence _Frameworks that help you to leverage LLMs and AI._ @@ -107,6 +122,7 @@ _Frameworks that help you to leverage LLMs and AI._ | [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. | 3.0k | 23d | | [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | 370 | 3mo | | [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | + ### Bean Mapping _Frameworks that ease bean mapping._ @@ -120,6 +136,7 @@ _Frameworks that ease bean mapping._ | [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | 1.3k | 1y | | [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | 126 | 5mo | | [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | - | - | + ### Build _Tools that handle the build cycle and dependencies of an application._ @@ -130,6 +147,7 @@ _Tools that handle the build cycle and dependencies of an application._ | [Bazel](https://bazel.build) | Tool from Google that builds code quickly and reliably. | - | - | | [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | 4.2k | 54m | | [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | + ### Bytecode Manipulation _Libraries to manipulate bytecode programmatically._ @@ -146,6 +164,7 @@ _Libraries to manipulate bytecode programmatically._ | [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | 1.7k | 1y | | [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | - | - | | [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | + ### Caching _Libraries that provide caching facilities._ @@ -156,11 +175,13 @@ _Libraries that provide caching facilities._ | [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | 17.4k | 2d | | [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | | [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | + ### CLI _Libraries for everything related to the CLI._ #### Argument Parsing + _Libraries to assist with parsing command line arguments._ | Name | Description | Stars | Updated | @@ -170,10 +191,33 @@ _Libraries to assist with parsing command line arguments._ | [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | | [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | | [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | +| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | +| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | +| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | + +#### Text-Based User Interfaces + +_Libraries that provide TUI frameworks, or building blocks related functions._ + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | +| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | 2.5k | 5mo | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | | [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | | [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | | [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | 2.5k | 5mo | + ### Cloud _Libraries to integrate or use cloud-specific features._ @@ -182,6 +226,7 @@ _Libraries to integrate or use cloud-specific features._ | :--- | :---------- | :---: | :-----: | | [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | 4.2k | 2d | | [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | 2.0k | 16d | + ### Code Analysis _Tools that provide metrics and quality measurements._ @@ -200,6 +245,7 @@ _Tools that provide metrics and quality measurements._ | [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | 1.2k | 14h | | [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | 1.9k | 1d | | [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | 3.8k | 3d | + ### Code Coverage _Frameworks and tools that enable code coverage metrics collection for test suites._ @@ -209,6 +255,7 @@ _Frameworks and tools that enable code coverage metrics collection for test suit | [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | | [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | | [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | + ### Code Generators _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ @@ -229,6 +276,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a | [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. | 900 | 1mo | | [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | + ### Compiler-compiler _Frameworks that help to create parsers, interpreters or compilers._ @@ -238,6 +286,7 @@ _Frameworks that help to create parsers, interpreters or compilers._ | [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | | [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | | [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | + ### Computer Vision _Libraries which seek to gain high level information from images and videos._ @@ -247,6 +296,7 @@ _Libraries which seek to gain high level information from images and videos._ | [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | | [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | | [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | 8.3k | 10d | + ### Configuration _Libraries that provide external configuration._ @@ -265,6 +315,7 @@ _Libraries that provide external configuration._ | [KAConf](https://github.com/mariomac/kaconf) | Annotation-based configuration system for Java and Kotlin. | 61 | 3y | | [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. | - | - | + ### Constraint Satisfaction Problem Solver _Libraries that help with implementing optimization and satisfiability problems._ @@ -275,6 +326,7 @@ _Libraries that help with implementing optimization and satisfiability problems. | [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | 231 | 2y | | [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | | [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | + ### CSV _Frameworks and libraries that simplify reading/writing CSV data._ @@ -286,6 +338,7 @@ _Frameworks and libraries that simplify reading/writing CSV data._ | [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | | [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | | [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | 931 | 4y | + ### Data Structures _Efficient and specific data structures._ @@ -304,6 +357,7 @@ _Efficient and specific data structures._ | [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | - | - | | [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | 2.5k | 7y | | [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | 4.4k | 2d | + ### Database _Everything that simplifies interactions with the database._ @@ -349,6 +403,7 @@ _Everything that simplifies interactions with the database._ | [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | 1.3k | 3mo | | [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | 599 | 1d | | [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. | 20.6k | 1h | + ### Date and Time _Libraries related to handling date and time._ @@ -359,6 +414,7 @@ _Libraries related to handling date and time._ | [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | 192 | 3y | | [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | 420 | 4mo | | [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | 470 | 1y | + ### Decentralization _Libraries that handle decentralization tasks._ @@ -377,6 +433,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. | [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | 12.7k | 1mo | | [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) | 60 | 5y | + ### Development _Augmentation of the development process at a fundamental level._ @@ -393,6 +450,7 @@ _Augmentation of the development process at a fundamental level._ | [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | | [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | 79 | 6y | | [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | + ### Distributed Applications _Libraries and frameworks for writing distributed and fault-tolerant applications._ @@ -413,6 +471,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application | [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | 86 | 22d | | [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | 636 | 10h | | [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | 14.0k | 2d | + ### Distributed Transactions _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ @@ -423,6 +482,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u | [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | - | - | | [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | | [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | - | - | + ### Distribution _Tools that handle the distribution of applications in native formats._ @@ -439,6 +499,7 @@ _Tools that handle the distribution of applications in native formats._ | [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | 50 | 1y | | [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | 2.6k | 1y | | [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | 133 | 2y | + ### Document Processing _Libraries that assist with processing office document formats._ @@ -450,6 +511,7 @@ _Libraries that assist with processing office document formats._ | [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | | [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | 855 | 22d | | [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | 81 | 1y | + ### Financial _Libraries related to the financial domain._ @@ -462,6 +524,7 @@ _Libraries related to the financial domain._ | [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | 40 | 6y | | [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | 942 | 1d | | [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | 2.3k | 1d | + ### Formal Verification _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ @@ -475,6 +538,7 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc | [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 _Libraries that facilitate functional programming._ @@ -490,6 +554,7 @@ _Libraries that facilitate functional programming._ | [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | 485 | 1y | | [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | 2.3k | 4mo | | [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | + ### Game Development _Frameworks that support the development of games._ @@ -505,6 +570,7 @@ _Frameworks that support the development of games._ | [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. | N/A | N/A | | [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | - | - | + ### Geospatial _Libraries for working with geospatial data and algorithms._ @@ -519,6 +585,7 @@ _Libraries for working with geospatial data and algorithms._ | [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | | [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | 1.3k | 1d | | [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | 955 | 7mo | + ### GUI _Libraries to create modern graphical user interfaces._ @@ -529,6 +596,7 @@ _Libraries to create modern graphical user interfaces._ | [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | | [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | 310 | 16h | | [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | + ### High Performance _Everything about high-performance computation, from collections to specific libraries._ @@ -542,6 +610,7 @@ _Everything about high-performance computation, from collections to specific lib | [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | | [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | 3.8k | 1y | | [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | 1.0k | 9y | + ### HTTP Clients _Libraries that assist with creating HTTP requests and/or binding responses._ @@ -558,6 +627,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ | [Ribbon](https://github.com/Netflix/ribbon) | Client-side IPC library that is battle-tested in the cloud. | 4.6k | 22d | | [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | 327 | 4mo | | [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | 2.7k | 1mo | + ### Hypermedia Types _Libraries that handle serialization to hypermedia types._ @@ -568,6 +638,7 @@ _Libraries that handle serialization to hypermedia types._ | [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | 386 | 2y | | [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | 28 | 8y | | [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. | 1.1k | 27d | + ### IDE _Integrated development environments that try to simplify several aspects of development._ @@ -579,6 +650,7 @@ _Integrated development environments that try to simplify several aspects of dev | [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | | [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | | [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | + ### Imagery _Libraries that assist with the creation, evaluation or manipulation of graphical images._ @@ -594,6 +666,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica | [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. | 385 | 7mo | | [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | 98 | 8d | | [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | + ### Introspection _Libraries that help make the Java introspection and reflection API easier and faster to use._ @@ -606,6 +679,7 @@ _Libraries that help make the Java introspection and reflection API easier and f | [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | | [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | 1.5k | 7mo | | [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | 4.8k | 2y | + ### Job Scheduling _Libraries for scheduling background jobs._ @@ -619,6 +693,7 @@ _Libraries for scheduling background jobs._ | [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | 1.5k | 1d | | [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. | 629 | 4y | | [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. | 4.1k | 9h | + ### JSON _Libraries for serializing and deserializing JSON to and from Java objects._ @@ -642,6 +717,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ | [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | 1.7k | 2y | | [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | 9.4k | 2mo | | [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | - | - | + ### JVM and JDK _Current implementations of the JVM/JDK._ @@ -661,6 +737,7 @@ _Current implementations of the JVM/JDK._ | [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | 339 | 2mo | + ### Logging _Libraries that log the behavior of an application._ @@ -679,6 +756,7 @@ _Libraries that log the behavior of an application._ | [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. | 180 | 6mo | | [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 _Tools that provide specific statistical algorithms for learning from data._ @@ -700,6 +778,7 @@ _Tools that provide specific statistical algorithms for learning from data._ | [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | 6.3k | 8h | | [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | | [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | + ### Messaging _Tools that help send messages between clients to ensure protocol independency._ @@ -722,6 +801,7 @@ _Tools that help send messages between clients to ensure protocol independency._ | [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | 1.3k | 48m | | [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | 2.4k | 1mo | | [NATS client](https://github.com/nats-io/nats.java) | NATS client. | 640 | 16h | + ### Microservice _Tools for creating and managing microservices._ @@ -741,6 +821,7 @@ _Tools for creating and managing microservices._ | [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | 4.8k | 1y | | [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | | [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | 23.0k | 16d | + ### Miscellaneous _Everything else._ @@ -783,6 +864,7 @@ _Everything else._ | [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | 76 | 5mo | | [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | 450 | 6mo | | [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | N/A | N/A | + ### Mobile Development _Tools for creating or managing mobile applications._ @@ -792,6 +874,7 @@ _Tools for creating or managing mobile applications._ | [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | | [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | | [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | + ### Monitoring _Tools that observe/monitor applications in production by providing telemetry._ @@ -819,6 +902,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ | [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | 1.7k | 2y | | [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | 156 | 9y | | [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | + ### Native _For working with platform-specific native libraries._ @@ -830,6 +914,7 @@ _For working with platform-specific native libraries._ | [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | 8.9k | 29d | | [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). | 1.3k | 2mo | | [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | 215 | 1y | + ### Natural Language Processing _Libraries that specialize in processing text._ @@ -841,6 +926,7 @@ _Libraries that specialize in processing text._ | [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | | [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | 3 | 6mo | | [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | + ### Networking _Libraries for building network servers._ @@ -862,6 +948,7 @@ _Libraries for building network servers._ | [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | | [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | 34 | 9d | | [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | 163 | 3d | + ### ORM _APIs that handle the persistence of objects._ @@ -878,6 +965,7 @@ _APIs that handle the persistence of objects._ | [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | 1.3k | 1y | | [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | 422 | 3mo | | [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | 454 | 1y | + ### PaaS _Java platform as a service._ @@ -888,7 +976,8 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. | 236 | 1h | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. | 236 | 1h | + ### PDF _Tools to help with PDF files._ @@ -905,6 +994,7 @@ _Tools to help with PDF files._ | [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | 2.1k | 3y | | [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | 4.1k | 4mo | | [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | 2.0k | 9mo | + ### Performance analysis _Tools for performance analysis, profiling and benchmarking._ @@ -916,11 +1006,13 @@ _Tools for performance analysis, profiling and benchmarking._ | [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | 3.3k | 10d | | [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | | [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | 465 | 1y | + ### Platform _Frameworks that are suites of multiple libraries encompassing several categories._ #### Apache Commons + | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | | [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | @@ -977,10 +1069,16 @@ _Frameworks that are suites of multiple libraries encompassing several categorie | [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | | [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | | [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | + +#### Other + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | | [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | | [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | | [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | + ### Processes _Libraries that help the management of operating system processes._ @@ -990,6 +1088,7 @@ _Libraries that help the management of operating system processes._ | [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 2d | | [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 1y | | [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | + ### Reactive libraries _Libraries for developing reactive applications._ @@ -1001,6 +1100,7 @@ _Libraries for developing reactive applications._ | [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 29d | | [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 21d | | [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | + ### REST Frameworks _Frameworks specifically for creating RESTful services._ @@ -1021,6 +1121,7 @@ _Frameworks specifically for creating RESTful services._ | [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | 3.7k | 6d | | [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | | [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. | 25.6k | 22m | + ### Science _Libraries for scientific computing, analysis and visualization._ @@ -1042,6 +1143,7 @@ _Libraries for scientific computing, analysis and visualization._ | [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | 120 | 6mo | | [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | 3.7k | 6mo | | [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | 1.6k | 3mo | + ### Search _Engines that index documents for search and analysis._ @@ -1052,6 +1154,7 @@ _Engines that index documents for search and analysis._ | [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | | [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | | [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | 56 | 6y | + ### Security _Libraries that handle security, authentication, authorization or session management._ @@ -1081,6 +1184,7 @@ _Libraries that handle security, authentication, authorization or session manage | [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. | 1.9k | 1y | | [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. | - | - | + ### Serialization _Libraries that handle serialization with high efficiency._ @@ -1093,6 +1197,7 @@ _Libraries that handle serialization with high efficiency._ | [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | 6.5k | 23d | | [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | 1.5k | 2d | | [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | 19 | 7y | + ### Server _Servers specifically used to deploy applications._ @@ -1104,6 +1209,7 @@ _Servers specifically used to deploy applications._ | [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | | [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | 7.2k | 6y | | [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | + ### Template Engine _Tools that substitute expressions in a template._ @@ -1121,11 +1227,13 @@ _Tools that substitute expressions in a template._ | [Rocker](https://github.com/fizzed/rocker) | Optimized, memory efficient and speedy template engine producing statically typed, plain objects. | 781 | 2mo | | [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | 1.0k | 7mo | | [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | + ### Testing _Tools that test from model to the view._ #### Asynchronous + _Tools that simplify testing asynchronous services._ | Name | Description | Stars | Updated | @@ -1137,6 +1245,23 @@ _Tools that simplify testing asynchronous services._ | [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | | [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | | [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | 4.0k | 10mo | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | 427 | 2y | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | 174 | 18d | +| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | + +#### BDD + +_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | | [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | | [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | @@ -1144,6 +1269,36 @@ _Tools that simplify testing asynchronous services._ | [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | | [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | | [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 12h | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | +| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | +| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | +| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | +| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 12h | + +#### Fixtures + +_Everything related to the creation and handling of random data._ + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | +| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 5h | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | 446 | 3y | +| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | - | - | +| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | 1.1k | 6m | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | 180 | 10mo | +| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | +| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | +| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | | [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | | [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 5h | @@ -1154,6 +1309,28 @@ _Tools that simplify testing asynchronous services._ | [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | | [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | | [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | + +#### Frameworks + +_Provide environments to run tests for a specific use case._ + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 27 | 1d | +| [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. | 112 | 2d | +| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation framework and ecosystem. | 33.9k | 1h | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [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. | - | - | @@ -1166,12 +1343,49 @@ _Tools that simplify testing asynchronous services._ | [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. | 112 | 2d | | [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation framework and ecosystem. | 33.9k | 1h | + +#### Matchers + +_Libraries that provide custom matchers._ + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | | [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | | [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | | [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 13h | | [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | | [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 13h | +| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | + +#### Testing Miscellaneous + +_Other stuff related to testing._ + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | 421 | 16d | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | 15 | 1mo | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | 241 | 2mo | +| [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. | 73 | 7y | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | +| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | +| [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. | 8.6k | 23d | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | | [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | | [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | @@ -1183,6 +1397,23 @@ _Tools that simplify testing asynchronous services._ | [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | | [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | | [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. | 8.6k | 23d | + +#### Mocking + +_Tools which mock collaborators to help testing single, isolated units._ + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | +| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | +| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | +| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | 4.4k | 1y | +| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | 4.2k | 3y | +| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | +| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | 831 | 2d | + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | | [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | | [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | | [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | @@ -1190,6 +1421,7 @@ _Tools that simplify testing asynchronous services._ | [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | 4.2k | 3y | | [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | | [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | 831 | 2d | + ### Utility _Libraries which provide general utility functions._ @@ -1217,6 +1449,7 @@ _Libraries which provide general utility functions._ | [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | | [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | 106 | 23h | | [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | 547 | 29d | + ### Version Managers _Utilities that help create the development shell environment and switch between different Java versions._ @@ -1226,6 +1459,7 @@ _Utilities that help create the development shell environment and switch between | [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | 3.3k | 4y | | [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | 6.5k | 14d | | [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | 6.6k | 10h | + ### Web Crawling _Libraries that analyze the content of websites._ @@ -1237,6 +1471,7 @@ _Libraries that analyze the content of websites._ | [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | | [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | | [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | 11.7k | 6mo | + ### Web Frameworks _Frameworks that handle the communication between the layers of a web application._ @@ -1259,6 +1494,7 @@ _Frameworks that handle the communication between the layers of a web applicatio | [Takes](https://github.com/yegor256/takes) | Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. | 868 | 6d | | [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. | - | - | | [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | + ### Workflow Orchestration Engines | Name | Description | Stars | Updated | @@ -1267,6 +1503,8 @@ _Frameworks that handle the communication between the layers of a web applicatio | [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | 9.0k | 1d | | [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | +## Resources + ### Related Awesome Lists _Awesome Lists related to the Java & JVM ecosystem._ @@ -1392,5 +1630,3 @@ _Sites to read._ Contributions are very welcome! 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 diff --git a/scripts/step_2_parse_projects.java b/scripts/step_2_parse_projects.java index 893f5dc9..9534c063 100644 --- a/scripts/step_2_parse_projects.java +++ b/scripts/step_2_parse_projects.java @@ -40,10 +40,12 @@ List parseProjectEntries(String content) { var projectEntries = new ArrayList(); var inProjectSection = false; var currentSection = ""; + var currentLevel4Section = ""; for (int i = 0; i < lines.length; i++) { var line = lines[i]; var isSubsection = line.startsWith(Constants.SUBSECTION); + var isLevel4Section = line.startsWith("####"); // Check if we're entering the Projects section if (line.startsWith(Constants.PROJECTS_SECTION)) { @@ -61,9 +63,15 @@ List parseProjectEntries(String content) { if (!inProjectSection) { continue; } - // Track current subsection + // Track current level 3 subsection if (isSubsection) { currentSection = line.substring(Constants.SUBSECTION.length()); + currentLevel4Section = ""; // Reset level 4 when we hit a new level 3 + continue; + } + // Track current level 4 subsection + if (isLevel4Section) { + currentLevel4Section = line.substring(4).trim(); // Remove "#### " continue; } // Skip headers and empty lines @@ -73,7 +81,11 @@ List parseProjectEntries(String content) { } // List entries if (line.matches(Constants.ENTRY_PATTERN)) { - var projectEntry = parseProjectEntry(lines, i, currentSection); + // Combine level 3 and level 4 sections if level 4 exists + var fullSection = currentLevel4Section.isEmpty() + ? currentSection + : currentSection + "/" + currentLevel4Section; + var projectEntry = parseProjectEntry(lines, i, fullSection); if (projectEntry != null) { projectEntries.add(projectEntry); i += projectEntry.linesToSkip() - 1; @@ -102,6 +114,7 @@ ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { if (nextLine.isBlank() || nextLine.startsWith(Constants.SECTION) || nextLine.startsWith(Constants.SUBSECTION) || + nextLine.startsWith("####") || nextLine.matches(Constants.ENTRY_PATTERN) ) { break; diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 3a530ec7..3bcfedf1 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -166,6 +166,7 @@ String createMarkdownTable(List entries, Map table.append(stars).append(" | "); table.append(commit).append(" |\n"); } + // Add single newline after table table.append("\n"); return table.toString(); } diff --git a/scripts/step_5_assemble_readme.java b/scripts/step_5_assemble_readme.java index 108bb3eb..68adffdc 100644 --- a/scripts/step_5_assemble_readme.java +++ b/scripts/step_5_assemble_readme.java @@ -68,9 +68,28 @@ String assembleReadme(String originalContent, String tablesContent) { // Check if we're leaving the Projects section if (inProjectSection && line.startsWith(Constants.SECTION) && - !line.equals(Constants.PROJECTS_SECTION) + !line.equals(Constants.PROJECTS_SECTION) && + !line.startsWith(Constants.SUBSECTION) ) { inProjectSection = false; + // Normalize trailing whitespace + var current = result.toString(); + // Count trailing newlines + var trailingCount = 0; + var temp = current; + while (temp.endsWith("\n")) { + trailingCount++; + temp = temp.substring(0, temp.length() - 1); + } + result.setLength(0); + result.append(temp); + // Add exactly one blank line + if (trailingCount < 2) { + result.append("\n".repeat(2 - trailingCount)); + } + // Output the section header that caused us to leave Projects section + result.append(line).append("\n\n"); + continue; } if (!inProjectSection) { result.append(line).append("\n"); @@ -81,9 +100,34 @@ String assembleReadme(String originalContent, String tablesContent) { result.append(line).append("\n\n"); continue; } - // Handle headers + // Handle headers (italic descriptions) if (line.startsWith("_") && line.endsWith("_")) { - result.append(line).append("\n\n"); + // Check if previous non-blank line was a level 4 heading + var prevNonBlankLine = findPreviousNonBlankLine(lines, i); + if (prevNonBlankLine != null && prevNonBlankLine.startsWith("####")) { + // Level 4 heading already has \n\n, so just add one newline after italic + result.append(line).append("\n"); + // Check if we need to insert a table for this level 4 subsection + var level4Name = prevNonBlankLine.substring(4).trim(); + var currentSubsection = findCurrentSubsection(lines, i); + if (currentSubsection != null) { + var combinedSection = currentSubsection + "/" + level4Name; + if (sectionToTableMap.containsKey(combinedSection)) { + // Add blank line before table (italic ends with \n, so add another \n) + result.append("\n"); + // Insert table after the description + var tableContent = sectionToTableMap.get(combinedSection); + result.append(tableContent); + // Ensure exactly one blank line after table + var tableEndsWith = tableContent.endsWith("\n\n") ? 2 : (tableContent.endsWith("\n") ? 1 : 0); + if (tableEndsWith < 2) { + result.append("\n".repeat(2 - tableEndsWith)); + } + } + } + } else { + result.append(line).append("\n\n"); + } continue; } // Skip empty lines @@ -92,18 +136,55 @@ String assembleReadme(String originalContent, String tablesContent) { } // Replace list items with markdown tables if (line.matches(Constants.ENTRY_PATTERN)) { - // Find the current subsection + // Find the current subsection and level 4 heading (if any) var currentSubsection = findCurrentSubsection(lines, i); - if (currentSubsection != null && sectionToTableMap.containsKey(currentSubsection)) { - var tableContent = sectionToTableMap.get(currentSubsection); + var currentLevel4 = findCurrentLevel4Heading(lines, i); + + // Try combined section name first (level3/level4), then fall back to just level3 + String sectionKey = null; + if (currentSubsection != null && currentLevel4 != null) { + var combined = currentSubsection + "/" + currentLevel4; + if (sectionToTableMap.containsKey(combined)) { + sectionKey = combined; + } + } + if (sectionKey == null && currentSubsection != null && sectionToTableMap.containsKey(currentSubsection)) { + sectionKey = currentSubsection; + } + + if (sectionKey != null) { + // Check if previous non-blank line was a level 4 heading or italic description + var prevNonBlankLine = findPreviousNonBlankLine(lines, i); + var needsBlankBeforeTable = (prevNonBlankLine != null && + (prevNonBlankLine.startsWith("####") || + (prevNonBlankLine.startsWith("_") && prevNonBlankLine.endsWith("_")))); + + var tableContent = sectionToTableMap.get(sectionKey); + var currentResult = result.toString(); + // Add blank line before table if needed + if (needsBlankBeforeTable) { + // Ensure we have a blank line (two newlines) before the table + if (currentResult.endsWith("\n") && !currentResult.endsWith("\n\n")) { + // Ends with single newline, add another to make blank line + result.append("\n"); + } else if (!currentResult.endsWith("\n")) { + // Doesn't end with newline, add two + result.append("\n\n"); + } + // If it already ends with \n\n, we don't need to add anything + } + // Insert table with proper spacing result.append(tableContent); - if (!tableContent.endsWith("\n")) { - result.append("\n"); + // Ensure exactly one blank line after table + var tableEndsWith = tableContent.endsWith("\n\n") ? 2 : (tableContent.endsWith("\n") ? 1 : 0); + if (tableEndsWith < 2) { + result.append("\n".repeat(2 - tableEndsWith)); } } - // Skip ALL remaining list items in this section until we hit the next subsection or end delimiter + // Skip ALL remaining list items in this section until we hit the next subsection, level 4 heading, or end delimiter while (i + 1 < lines.length && !lines[i + 1].startsWith(Constants.SUBSECTION) && + !lines[i + 1].startsWith("####") && !lines[i + 1].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { i++; if (lines[i].matches(Constants.ENTRY_PATTERN)) { @@ -113,8 +194,20 @@ String assembleReadme(String originalContent, String tablesContent) { if (lines[i].startsWith(Constants.SECTION) && !lines[i].startsWith(Constants.SUBSECTION) ) { - // We've hit the end of the Projects section + // We've hit the end of the Projects section - output this section header inProjectSection = false; + // Normalize trailing whitespace - ensure we have exactly one blank line before Resources + var current = result.toString(); + // Remove all trailing newlines + while (current.endsWith("\n")) { + current = current.substring(0, current.length() - 1); + } + result.setLength(0); + result.append(current); + // Add exactly one blank line before Resources section + result.append("\n\n"); + // Output the section header + result.append(lines[i]).append("\n"); break; } if (lines[i].contains(Constants.END_PROJECTS_SECTION_COMMENT)) { @@ -125,6 +218,11 @@ String assembleReadme(String originalContent, String tablesContent) { } continue; } + // Handle level 4 headings (####) + if (line.startsWith("####")) { + result.append(line).append("\n\n"); + continue; + } // Handle other content if (line.isBlank() || line.startsWith(Constants.HTML_COMMENT_PREFIX)) { result.append(line).append("\n"); @@ -196,7 +294,9 @@ Map createSectionToTableMap(String[] tables) { skipComment = false; tableContent.append(line).append("\n"); } - sectionToTableMap.put(sectionName, tableContent.toString().trim()); + // Ensure table ends with exactly one newline + var content = tableContent.toString().trim(); + sectionToTableMap.put(sectionName, content + "\n"); } } @@ -215,3 +315,33 @@ String findCurrentSubsection(String[] lines, int currentIndex) { } return null; } + +/** + * Finds the previous non-blank line by looking backwards from the given line index. + */ +String findPreviousNonBlankLine(String[] lines, int currentIndex) { + for (int i = currentIndex - 1; i >= 0; i--) { + var line = lines[i]; + if (!line.isBlank()) { + return line; + } + } + return null; +} + +/** + * Finds the current level 4 heading by looking backwards from the given line index. + */ +String findCurrentLevel4Heading(String[] lines, int currentIndex) { + for (int i = currentIndex; i >= 0; i--) { + var line = lines[i]; + if (line.startsWith("####")) { + return line.substring(4).trim(); + } + // Stop if we hit a level 3 subsection + if (line.startsWith(Constants.SUBSECTION)) { + break; + } + } + return null; +} From 0d25708d57d2d647356486bed765025c3a24d383 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 10 Jan 2026 14:04:58 +0400 Subject: [PATCH 408/533] Update --- .github/workflows/update-readme.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index cc3df809..733b6ddc 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -8,6 +8,7 @@ on: push: branches: - master + - test paths: - "CONTRIBUTE_README.md" - "scripts/**" From fcaf07e3e35dfdb93d54862053aa8f7dd6350b1c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 10 Jan 2026 14:08:02 +0400 Subject: [PATCH 409/533] Add workflow --- .github/workflows/update-readme.yml | 66 +++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/update-readme.yml diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml new file mode 100644 index 00000000..fcedcdf4 --- /dev/null +++ b/.github/workflows/update-readme.yml @@ -0,0 +1,66 @@ +name: Update README + +on: + schedule: + # Run once a week on Monday at 00:00 UTC + - cron: "0 0 * * 1" + workflow_dispatch: # Allow manual triggering + push: + branches: + - test + paths: + - "CONTRIBUTE_README.md" + - "scripts/**" + +jobs: + update-readme: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for git operations + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: "25" + + - name: Restore stats cache + run: | + mkdir -p .tmp + # On scheduled runs, refresh all stats by not restoring cache + # On manual/push runs, use cache to avoid unnecessary API calls + if [ "${{ github.event_name }}" == "schedule" ]; then + echo "Scheduled run detected - will fetch fresh data for all repositories" + # Don't restore cache, let script fetch everything fresh + else + # Try to restore stats cache from previous run + if git show HEAD:.tmp/github-stats.txt > .tmp/github-stats.txt 2>/dev/null; then + echo "Restored existing stats cache from previous commit" + else + echo "No existing stats cache found, will fetch all data" + fi + fi + + - name: Run README generation workflow + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + java --enable-preview --source 25 scripts/run_workflow.java + + - name: Commit updated README and stats cache + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add README.md + # Always commit the stats cache so it persists for next run + git add .tmp/github-stats.txt || true + if git diff --staged --quiet; then + echo "No changes to commit" + else + git commit -m "Update README with latest GitHub stats [skip ci]" + git push + fi From ae820c07f54503915621336834483d3f29c9299c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 10 Jan 2026 14:11:59 +0400 Subject: [PATCH 410/533] Test --- CONTRIBUTE_README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTE_README.md b/CONTRIBUTE_README.md index 223d9af2..79d1e82d 100644 --- a/CONTRIBUTE_README.md +++ b/CONTRIBUTE_README.md @@ -4,7 +4,7 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents -- [Awesome Java](#awesome-java-) +- [Awesome Java ](#awesome-java-) - [Contents](#contents) - [Projects](#projects) - [Architecture](#architecture) @@ -107,6 +107,7 @@ A curated list of awesome Java frameworks, libraries and software. _Frameworks and libraries that help implementing and verifying design and architecture concepts._ +- [Foobar](https://github.com/TNG/ArchUnit) - Lorem. - [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. From 8a2785196e69ea2cf057b0b6bef66d392a66972a Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sat, 10 Jan 2026 10:12:50 +0000 Subject: [PATCH 411/533] Update README with latest GitHub stats [skip ci] --- .tmp/github-stats.txt | 5 +++++ README.md | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.tmp/github-stats.txt b/.tmp/github-stats.txt index fe528a94..6d40657a 100644 --- a/.tmp/github-stats.txt +++ b/.tmp/github-stats.txt @@ -1,3 +1,8 @@ +REPO:TNG/ArchUnit +NAME:Foobar +STARS:3.6k +COMMIT:3d + REPO:TNG/ArchUnit NAME:ArchUnit STARS:3.6k diff --git a/README.md b/README.md index ef770b10..46f54422 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents -- [Awesome Java](#awesome-java-) +- [Awesome Java ](#awesome-java-) - [Contents](#contents) - [Projects](#projects) - [Architecture](#architecture) @@ -109,6 +109,7 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | +| [Foobar](https://github.com/TNG/ArchUnit) | Lorem. | 3.6k | 3d | | [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | 3.6k | 23h | | [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | 1.5k | 1mo | From c192224d640ede3ce74d1f941cc4e4a52896e85b Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 10 Jan 2026 14:14:59 +0400 Subject: [PATCH 412/533] Test --- CONTRIBUTE_README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CONTRIBUTE_README.md b/CONTRIBUTE_README.md index 79d1e82d..223d9af2 100644 --- a/CONTRIBUTE_README.md +++ b/CONTRIBUTE_README.md @@ -4,7 +4,7 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents -- [Awesome Java ](#awesome-java-) +- [Awesome Java](#awesome-java-) - [Contents](#contents) - [Projects](#projects) - [Architecture](#architecture) @@ -107,7 +107,6 @@ A curated list of awesome Java frameworks, libraries and software. _Frameworks and libraries that help implementing and verifying design and architecture concepts._ -- [Foobar](https://github.com/TNG/ArchUnit) - Lorem. - [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. From 63468fcb85c484f51af379dc38a39500f8b3afd0 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sat, 10 Jan 2026 10:15:59 +0000 Subject: [PATCH 413/533] Update README with latest GitHub stats [skip ci] --- .tmp/github-stats.txt | 5 ----- README.md | 3 +-- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.tmp/github-stats.txt b/.tmp/github-stats.txt index 6d40657a..fe528a94 100644 --- a/.tmp/github-stats.txt +++ b/.tmp/github-stats.txt @@ -1,8 +1,3 @@ -REPO:TNG/ArchUnit -NAME:Foobar -STARS:3.6k -COMMIT:3d - REPO:TNG/ArchUnit NAME:ArchUnit STARS:3.6k diff --git a/README.md b/README.md index 46f54422..ef770b10 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents -- [Awesome Java ](#awesome-java-) +- [Awesome Java](#awesome-java-) - [Contents](#contents) - [Projects](#projects) - [Architecture](#architecture) @@ -109,7 +109,6 @@ _Frameworks and libraries that help implementing and verifying design and archit | Name | Description | Stars | Updated | | :--- | :---------- | :---: | :-----: | -| [Foobar](https://github.com/TNG/ArchUnit) | Lorem. | 3.6k | 3d | | [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | 3.6k | 23h | | [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | 1.5k | 1mo | From afdc6e19e779acdb6a827f68a26ec9520553310a Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 11:26:46 +0400 Subject: [PATCH 414/533] Update --- .gitignore | 1 + .tmp/generated-tables.md | 1806 ++++++++++--------- .tmp/github-stats.txt | 1310 +++++++++++--- .tmp/parsed-projects.txt | 1365 +++++++------- CONTRIBUTE_README.md | 1573 ++++++++-------- README.md | 1632 ----------------- scripts/Constants.java | 2 + scripts/step_3_generate_stats.java | 56 +- scripts/step_4_generate_tables.java | 18 +- scripts/step_6_validate_transformation.java | 3 +- 10 files changed, 3467 insertions(+), 4299 deletions(-) delete mode 100644 README.md diff --git a/.gitignore b/.gitignore index f20c18bd..e79e2d8b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .vscode/ .tmp/ .tool-versions +README.md diff --git a/.tmp/generated-tables.md b/.tmp/generated-tables.md index 3a86098b..069229cc 100644 --- a/.tmp/generated-tables.md +++ b/.tmp/generated-tables.md @@ -1,1134 +1,1140 @@ -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | 3.6k | 23h | -| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | 1.5k | 1mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Unit test architecture rules with a fluent Java API; catches violations at build time. | 3.6k | 3d | Apache-2.0 | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Express DDD, hexagonal, and layered architecture concepts directly in code with type-safe annotations. | 1.5k | 1mo | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | 10.3k | 14h | -| [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. | 3.0k | 23d | -| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | 370 | 3mo | -| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Unified API for 15+ LLM providers with RAG, function calling, and AI services out of the box. | 10.3k | 18h | Apache-2.0 | +| [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Model Context Protocol implementation enabling standardized AI model interactions with sync/async support. | 3.1k | 1d | MIT | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Lightweight, zero-dependency OpenAI API client with streaming support. | 368 | 3mo | MIT | +| [Spring AI](https://spring.io/projects/spring-ai) | Spring-native AI framework with portable APIs across AI providers and vector stores. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | - | - | -| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | 241 | 2y | -| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | 7.6k | 6d | -| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | 2.3k | 1mo | -| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | 1.3k | 1y | -| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | 126 | 5mo | -| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [dOOv](https://github.com/doov-io/doov) | Fluent, typesafe DSL for domain validation and mapping with code generation. | - | - | - | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Bytecode-powered mapper achieving near-native performance; supports annotations, API, or XML config. | 242 | 2y | Apache-2.0 | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Compile-time code generator producing type-safe, reflection-free mappers with zero runtime overhead. | 7.6k | 9d | - | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Convention-based mapper that auto-matches properties, reducing boilerplate. | 2.3k | 2mo | Apache-2.0 | +| [Orika](https://github.com/orika-mapper/orika) | Bytecode-generated mappers with automatic type conversion and deep copying. | 1.3k | 1y | Apache-2.0 | +| [reMap](https://github.com/remondis-it/remap) | Lambda-based mapping with compile-time safety; no annotations required. | 126 | 2mo | Apache-2.0 | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor generating optimized mappers at compile time. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | - | - | -| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | 4.2k | 54m | -| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Maven](https://maven.apache.org) | Industry-standard declarative build tool with convention-over-configuration and vast plugin ecosystem. | - | - | - | +| [Bazel](https://bazel.build) | Google's build system with aggressive caching, remote execution, and reproducible builds at scale. | - | - | - | +| [Buck2](https://github.com/facebook/buck2) | Meta's fast build system with fine-grained parallelism and remote execution support. | 4.2k | 7h | Apache-2.0 | +| [Gradle](https://gradle.org) | Flexible build automation with incremental builds, build caching, and Kotlin/Groovy DSL. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | -| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | -| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | 15.4k | 1d | -| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | -| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | 4.9k | 1y | -| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | 4.2k | 1y | -| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | 65 | 13d | -| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | 1.7k | 1y | -| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | - | - | -| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ASM](https://asm.ow2.io) | Low-level, high-performance bytecode manipulation; the foundation for most other tools. | - | - | - | +| [Byte Buddy](https://bytebuddy.net) | Fluent API for runtime code generation without needing bytecode knowledge. | - | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | All-in-one reverse engineering suite for JAR and APK files. (GPL-3.0-only) | 15.4k | 3d | GPL-3.0 | +| [Byteman](https://byteman.jboss.org) | Rule-based runtime bytecode injection for testing and fault injection. (LGPL-2.1-or-later) | - | - | - | +| [cglib](https://github.com/cglib/cglib) | High-level bytecode generation for proxies and interceptors. | 4.9k | 1y | Apache-2.0 | +| [Javassist](https://github.com/jboss-javassist/javassist) | Edit bytecode using Java source syntax, no low-level knowledge required. | 4.2k | 1y | - | +| [Maker](https://github.com/cojen/maker) | Lightweight, low-level bytecode generation with minimal dependencies. | 65 | 1d | Apache-2.0 | +| [Mixin](https://github.com/SpongePowered/Mixin) | Runtime class transformation using annotated Java code; popular in Minecraft modding. | 1.7k | 1y | MIT | +| [Perses](https://github.com/nicolasmanic/perses) | Chaos engineering via bytecode-level fault injection. | - | - | - | +| [Recaf](https://www.coley.software/Recaf/) | Modern bytecode editor IDE with decompilation, search, and hex editing. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | -| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | 17.4k | 2d | -| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | -| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [cache2k](https://cache2k.org) | In-memory cache with sub-microsecond access times and advanced expiry policies. | - | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | Near-optimal hit rates via Window TinyLFU algorithm; Java's fastest cache. | 17.4k | 1d | Apache-2.0 | +| [Ehcache](http://www.ehcache.org) | Mature, JCache-compliant cache with tiered storage (heap/off-heap/disk). | - | - | - | +| [Infinispan](https://infinispan.org) | Distributed, clustered cache with transactions and query support. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | -| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | -| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | -| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Git-style CLI parser with annotation-based commands and subcommands. | - | - | - | +| [JCommander](http://jcommander.org) | Annotation-driven parser with custom type converters and validation. | - | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Compile-time CLI parser with zero reflection and zero dependencies. | 89 | 4d | MIT | +| [JLine](https://github.com/jline/jline3) | Rich terminal handling with tab-completion, history, and syntax highlighting. | 1.7k | 4d | - | +| [picocli](https://picocli.info) | Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | -| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | -| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | 2.5k | 5mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Jansi](https://github.com/fusesource/jansi) | Cross-platform ANSI escape code support for colored console output. | 1.2k | 8mo | Apache-2.0 | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. | - | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Simple API for interactive console applications with input validation. | 351 | 2y | Apache-2.0 | +| [Lanterna](https://github.com/mabe02/lanterna) | Curses-like TUI with cross-platform terminal abstraction. (LGPL-3.0-only) | 2.5k | 5mo | LGPL-3.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | 4.2k | 2d | -| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | 2.0k | 16d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Official SDK covering 200+ AWS services with async support and pagination. | 4.2k | 4d | Apache-2.0 | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Idiomatic Java clients for GCP services with automatic retries and streaming. | 2.0k | 8h | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | 8.8k | 2h | -| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | 7.1k | 8h | -| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | 232 | 1d | -| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | 15.5k | 1d | -| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | -| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | 4.0k | 10h | -| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | 5.3k | 18h | -| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | 30.8k | 3y | -| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | - | - | -| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | 1.2k | 14h | -| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | 1.9k | 1d | -| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | 3.8k | 3d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Enforces coding standards with 150+ configurable checks. (LGPL-2.1-or-later) | 8.8k | now | LGPL-2.1 | +| [Error Prone](https://github.com/google/error-prone) | Google's compiler plugin catching bugs at compile time with auto-fixes. | 7.1k | 1d | Apache-2.0 | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | 100+ additional Error Prone checks and Refaster refactoring templates. | 232 | 9h | MIT | +| [Infer](https://github.com/facebook/infer) | Meta's static analyzer detecting null dereferences, resource leaks, and concurrency issues. | 15.5k | 4h | MIT | +| [jQAssistant](https://jqassistant.org) | Query codebase structure with Cypher on a Neo4j graph. (GPL-3.0-only) | - | - | - | +| [NullAway](https://github.com/uber/NullAway) | Fast null-safety checker with minimal annotation overhead; Uber-proven. | 4.0k | 15h | MIT | +| [PMD](https://github.com/pmd/pmd) | Extensible static analyzer detecting code smells and copy-paste issues. | 5.3k | 3d | - | +| [p3c](https://github.com/alibaba/p3c) | Alibaba's Java coding guidelines as PMD rules and IDE plugins. | 30.8k | 1y | Apache-2.0 | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Prioritizes refactoring targets by God Class and coupling metrics. | - | - | - | +| [SonarJava](https://github.com/SonarSource/sonar-java) | 600+ rules for SonarQube with security hotspot detection. (LGPL-3.0-only) | 1.2k | 1d | - | +| [Spoon](https://github.com/INRIA/spoon) | Full Java AST API for analysis, transformation, and code generation. | 1.9k | 4h | - | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | FindBugs successor; bytecode analysis for 400+ bug patterns. (LGPL-2.1-only) | 3.8k | 9h | LGPL-2.1 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | -| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | -| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Clover](https://www.atlassian.com/software/clover) | Source-level instrumentation with detailed per-test coverage and historical trends. | - | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Bytecode instrumentation with branch coverage and complexity metrics. (GPL-2.0-only) | - | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Lightweight agent with line/branch/instruction coverage and IDE/CI integration. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | 147 | 7y | -| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | 10.5k | 11h | -| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | -| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | 6 | 7mo | -| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | 833 | 1y | -| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | 135 | 3y | -| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | -| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | 10.9k | 1y | -| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | 22.3k | 3h | -| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | -| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | 1 | 1mo | -| [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. | 900 | 1mo | -| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ADT4J](https://github.com/sviperll/adt4j) | Generates algebraic data types (sealed hierarchies) with pattern matching. | 147 | 7y | BSD-3-Clause | +| [Auto](https://github.com/google/auto) | Google's annotation processors for AutoValue, AutoFactory, and AutoService. | 10.5k | 2d | Apache-2.0 | +| [Avaje Http Server](https://avaje.io/http/) | Compile-time HTTP server generation for Javalin/Helidon; no reflection. | - | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor generating DTOs and mappers automatically. | 6 | 7mo | MIT | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Generates Builder pattern with validation and partial builds. | 833 | 1y | Apache-2.0 | +| [Geci](https://github.com/verhas/javageci) | Test-time code generator that updates source files in-place. | 135 | 3y | Apache-2.0 | +| [Immutables](https://immutables.github.io) | Generates immutable value objects with builders, JSON support, and interning. | - | - | - | +| [JavaPoet](https://github.com/square/javapoet) | Fluent API for generating `.java` source files programmatically. | 10.9k | 1y | Apache-2.0 | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Full-stack app generator for Spring Boot + Angular/React/Vue. | 22.3k | 1h | Apache-2.0 | +| [Joda-Beans](https://www.joda.org/joda-beans/) | Adds queryable, serializable properties to POJOs via code generation. | - | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin auto-generating `package-info.java` with nullness annotations. | 1 | 1mo | Apache-2.0 | +| [Lombok](https://projectlombok.org) | Eliminates boilerplate with annotations for getters, builders, and more. | - | - | - | +| [Record-Builder](https://github.com/Randgalt/record-builder) | Generates builders and withers for Java records. | 900 | 1mo | Apache-2.0 | +| [Telosys](https://www.telosys.org/) | Template-driven code generator for any language via CLI or Eclipse. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | -| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | -| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ANTLR](https://www.antlr.org) | Powerful LL(\*) parser generator with IDE support and multiple target languages. | - | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | LL(k) parser generator with lookahead, lexical states, and tree building. | - | - | - | +| [JFlex](https://jflex.de) | Fast lexer generator with full Unicode support and JLex compatibility. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | -| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | -| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | 8.3k | 10d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [BoofCV](https://boofcv.org) | Real-time computer vision with 3D reconstruction, fiducial detection, and feature tracking. | - | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Extensible image analysis platform with 500+ plugins for scientific imaging. | - | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java bindings for OpenCV, FFmpeg, TensorFlow, and more via JavaCPP. | 8.3k | 13d | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | -| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | 654 | 5h | -| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | 6.3k | 3mo | -| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | 449 | 3mo | -| [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. | 50 | 7y | -| [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. | 32 | 3mo | -| [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. | 94 | 1mo | -| [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. | 61 | 3y | -| [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. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [avaje config](https://avaje.io/config/) | Lightweight config with YAML/properties, file watching, and dynamic reload. | - | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Git-backed, versioned configuration service with change notifications. | 654 | 2d | Apache-2.0 | +| [config](https://github.com/lightbend/config) | HOCON/JSON/properties with substitutions, includes, and environment overrides. | 6.3k | 4mo | - | +| [Configurate](https://github.com/SpongePowered/Configurate) | Multi-format config (YAML, JSON, HOCON, XML) with type-safe object mapping. | 449 | 21h | Apache-2.0 | +| [Curator Framework](https://curator.apache.org/) | Simplified ZooKeeper client with recipes for locks, leaders, and caches. | - | - | - | +| [dotenv](https://github.com/shyiko/dotenv) | Twelve-factor app config from `.env` files with environment overrides. | 50 | 7y | - | +| [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) | Interface-based config with pluggable sources and automatic type conversion. | 32 | 29d | Apache-2.0 | +| [Gestalt](https://github.com/gestalt-config/gestalt) | Multi-source config merging with type-safe binding and validation. | 94 | 14h | Apache-2.0 | +| [ini4j](http://ini4j.sourceforge.net) | Windows INI file parser with section and multi-value support. | - | - | - | +| [KAConf](https://github.com/mariomac/kaconf) | Annotation-based config injection for Java and Kotlin. | 61 | 3y | Apache-2.0 | +| [microconfig](https://microconfig.io) | Microservice config management with inheritance and environment profiles. | - | - | - | +| [owner](https://github.com/lviggiano/owner) | Type-safe properties via interfaces with automatic conversion. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | -| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | 231 | 2y | -| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | -| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Choco](https://choco-solver.org) | Powerful CP solver with global constraints and search strategies. | - | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Constraint solver with MiniZinc/FlatZinc support for modeling. (AGPL-3.0) | 231 | 2y | - | +| [OptaPlanner](https://www.optaplanner.org) | AI constraint solver for planning problems like scheduling and routing. | - | - | - | +| [Timefold](https://timefold.ai/docs) | OptaPlanner fork with Spring/Quarkus integration and production-ready quickstarts. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | 656 | 19d | -| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | 194 | 8y | -| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | -| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | -| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | 931 | 4y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Ultra-fast, zero-dependency, RFC 4180-compliant CSV parser. | 657 | 21d | MIT | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | CSV via Jackson's streaming API with schema support. | 194 | 8y | - | +| [opencsv](http://opencsv.sourceforge.net) | Simple parser with bean binding and custom separators. | - | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Cell processors for validation, conversion, and constraint checking. | - | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | Fastest parser with CSV/TSV/fixed-width support and streaming. | 931 | 1y | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | -| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | -| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | -| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | -| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | 567 | 9y | -| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | N/A | N/A | -| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | 784 | 5mo | -| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | 70.2k | 2h | -| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | 3.8k | 23d | -| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | - | - | -| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | 2.5k | 7y | -| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | 4.4k | 2d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Avro](https://avro.apache.org) | Schema-evolution-friendly serialization with compact binary format. | - | - | - | +| [Apache Orc](https://orc.apache.org) | Columnar storage with predicate pushdown and ACID support for Hive. | - | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar format with efficient compression and encoding for analytics. | - | - | - | +| [Apache Thrift](https://thrift.apache.org) | Cross-language RPC framework with compact binary protocol. | - | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Memory-mapped persistent queue handling 100M+ items. | 568 | 3y | Apache-2.0 | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic set operations in O(log log n) space. | N/A | N/A | - | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Immutable collections with efficient structural sharing. | 784 | 5mo | - | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's language-neutral, schema-driven binary serialization. | 70.3k | 7m | - | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Compressed bitmaps faster than traditional implementations by orders of magnitude. | 3.8k | 25d | Apache-2.0 | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Zero-copy, zero-allocation messaging for ultra-low latency. | - | - | - | +| [Tape](https://github.com/square/tape) | Crash-safe, file-based FIFO queue for Android and Java. | 2.5k | 2y | Apache-2.0 | +| [Wire](https://github.com/square/wire) | Lightweight Protocol Buffers with Kotlin and Java codegen. | 4.4k | 2d | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | -| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | -| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | -| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | 205 | 2d | -| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | 2.9k | 16d | -| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | -| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | -| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | 457 | 1d | -| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | 1.2k | 1mo | -| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | -| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | -| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | 20.9k | 2mo | -| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | -| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | -| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | - | - | -| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | 2.1k | 4y | -| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | 140 | 11y | -| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | 663 | 7mo | -| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | -| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | 6.7k | 5y | -| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | -| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | -| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | -| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | 15 | 5d | -| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | 15 | 1mo | -| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | 422 | 27d | -| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | -| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | 20 | 8mo | -| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | 16.5k | 10h | -| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | 11.5k | 3mo | -| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | 24.2k | 2d | -| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | 3.1k | 5y | -| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | 2.1k | 2y | -| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | 101 | 19d | -| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | -| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | -| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | 1.3k | 3mo | -| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | 599 | 1d | -| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. | 20.6k | 1h | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Calcite](https://calcite.apache.org) | SQL parser, optimizer, and query federation framework for building databases. | - | - | - | +| [Apache Drill](https://drill.apache.org) | Schema-free SQL for JSON, Parquet, and NoSQL with distributed execution. | - | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | SQL skin over HBase with secondary indexes and transactions. | - | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | Multi-model (document/graph/key-value) database driver with async support. | 205 | 1d | Apache-2.0 | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Off-heap, persisted ConcurrentMap with microsecond latency. | 2.9k | 1d | Apache-2.0 | +| [Debezium](https://debezium.io/) | CDC platform streaming database changes to Kafka in real-time. | - | - | - | +| [druid](https://druid.apache.org) | Real-time OLAP database with sub-second queries at scale. | - | - | - | +| [eXist](https://github.com/eXist-db/exist) | Native XML database with XQuery and full-text search. (LGPL-2.1-only) | 457 | 1d | LGPL-2.1 | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Connection pool monitoring with auto-scaling and failover. | 1.2k | 1mo | Apache-2.0 | +| [Flyway](https://flywaydb.org) | Version-controlled SQL migrations with rollback support. | - | - | - | +| [H2](https://h2database.com) | Embeddable SQL database with in-memory mode; great for testing. | - | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | Fastest JDBC connection pool with minimal overhead. | 20.9k | 2mo | Apache-2.0 | +| [HSQLDB](https://hsqldb.org/) | Pure Java SQL database with in-memory and file-based modes. | - | - | - | +| [JDBI](http://jdbi.org) | Fluent, annotation-free SQL API built on JDBC. | - | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Battle-tested Redis client with connection pooling and pipelining. | - | - | - | +| [Jest](https://github.com/searchbox-io/Jest) | Elasticsearch REST client with async support and bulk operations. | 2.1k | 2y | Apache-2.0 | +| [jetcd](https://github.com/justinsb/jetcd) | Official etcd v3 client with watch and lease support. | 140 | 2y | Apache-2.0 | +| [Jinq](https://github.com/my2iu/Jinq) | LINQ-style queries via lambda symbolic execution on JPA/jOOQ. | 663 | 7mo | - | +| [jOOQ](https://www.jooq.org) | Typesafe SQL DSL generated from your schema; catches errors at compile time. | - | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Meituan's distributed ID generator with segment and snowflake modes. | 6.7k | 2y | Apache-2.0 | +| [Lettuce](https://lettuce.io/) | Reactive, non-blocking Redis client with cluster and Sentinel support. | - | - | - | +| [Liquibase](http://www.liquibase.org) | Database-agnostic migrations with rollback and diff capabilities. | - | - | - | +| [MapDB](http://www.mapdb.org) | Concurrent maps/sets backed by disk or off-heap memory with transactions. | - | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Embedded MariaDB for integration testing; no install required. | 15 | 7d | Apache-2.0 | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with schema introspection and code generation. | 15 | 1mo | Apache-2.0 | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | High-performance LDAPv3 directory service with replication. | 422 | 1mo | - | +| [Querydsl](http://www.querydsl.com) | Unified typesafe queries for JPA, SQL, MongoDB, and more. | - | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Stream API for building JPA Criteria queries fluently. | 20 | 8mo | Apache-2.0 | +| [QuestDB](https://github.com/questdb/questdb) | Time-series database with millions of inserts/sec and SQL support. | 16.5k | 8m | Apache-2.0 | +| [Realm](https://github.com/realm/realm-java) | Mobile-first database with live objects and offline-first sync. | 11.5k | 3mo | Apache-2.0 | +| [Redisson](https://github.com/redisson/redisson) | Redis-backed distributed collections, locks, and services. | 24.2k | 5d | Apache-2.0 | +| [requery](https://github.com/requery/requery) | Modern ORM with compile-time query validation and RxJava support. | 3.1k | 3y | Apache-2.0 | +| [Speedment](https://github.com/speedment/speedment) | Stream-based database queries generated from schema. | 2.1k | 2y | Apache-2.0 | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | MongoDB-style queries for relational databases via Spring Data. | 101 | 21d | Apache-2.0 | +| [Trino](https://trino.io) | Federated SQL engine querying data lakes and databases at petabyte scale. | - | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC pool with statement caching and slow query logging. | - | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | JetBrains' embedded transactional database; powers YouTrack. | 1.3k | 1mo | Apache-2.0 | +| [CosId](https://github.com/Ahoo-Wang/CosId) | High-performance distributed ID generator with multiple algorithms. | 599 | 7h | Apache-2.0 | +| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Database middleware for sharding, encryption, and distributed transactions. | 20.6k | 1h | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | 821 | 9d | -| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | 192 | 3y | -| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | 420 | 4mo | -| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | 470 | 1y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [iCal4j](https://github.com/ical4j/ical4j) | RFC 5545 iCalendar parser with recurrence rule support. | 821 | 11d | BSD-3-Clause | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Holiday calculations for 70+ countries with regional variations. | 192 | 1y | - | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Extra date/time types: Interval, YearQuarter, and more for java.time. | 420 | 4mo | BSD-3-Clause | +| [Time4J](https://github.com/MenoData/Time4J) | Comprehensive date/time with calendars, i18n, and formatting. (LGPL-2.1-only) | 470 | 1y | LGPL-2.1 | + + + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [java-tron](https://github.com/tronprotocol/java-tron) | Full node implementation of the TRON blockchain protocol. | 4.0k | 11d | LGPL-3.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | -| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | -| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | -| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | 362 | 8y | -| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | 826 | 22d | -| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | 12.7k | 1mo | -| [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) | 60 | 5y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache DeltaSpike](https://deltaspike.apache.org) | Portable CDI extensions for configuration, security, and data. | - | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Compile-time DI with no reflection; optimized for microservices. | - | - | - | +| [Dagger](https://dagger.dev/) | Google's compile-time DI with zero reflection overhead. | - | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight JSR-330 DI in ~16KB. | 362 | 7y | - | +| [Governator](https://github.com/Netflix/governator) | Netflix's Guice extensions with lifecycle management and warmup. | 826 | 24d | Apache-2.0 | +| [Guice](https://github.com/google/guice) | Google's lightweight DI with runtime binding and AOP support. | 12.7k | 1mo | Apache-2.0 | +| [HK2](https://eclipse-ee4j.github.io/glassfish-hk2/) | JSR-330 DI with dynamic service discovery; powers Jersey/GlassFish. | - | - | - | +| [JayWire](https://github.com/vanillasource/jaywire) | Minimal DI with no annotations required. (LGPL-3.0-only) | 60 | 2y | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | -| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | -| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | 140 | 6mo | -| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | 2.5k | 19d | -| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | 6.0k | 6h | -| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | 296 | 7y | -| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | 2.7k | 7d | -| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | -| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | 79 | 6y | -| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AspectJ](https://www.eclipse.org/aspectj/) | Full-featured AOP with compile-time and load-time weaving. | - | - | - | +| [DCEVM](https://dcevm.github.io) | HotSwap on steroids: redefine classes, add methods/fields at runtime. (GPL-2.0-only) | - | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Checked exception handling in lambdas and streams elegantly. | 140 | 6mo | MIT | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Hot reload classes, Spring beans, and resources without restart. (GPL-2.0-only) | 2.5k | 22d | GPL-2.0 | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, analyze, transform, and generate Java source code. | 6.0k | 16h | - | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Resolve symbols and types in JavaParser ASTs. | 296 | 7y | Apache-2.0 | +| [Manifold](https://github.com/manifold-systems/manifold) | Compiler plugins for JSON types, extension methods, and string templates. | 2.7k | 9d | Apache-2.0 | +| [NoException](https://noexception.machinezoo.com) | Functional exception handling with sneaky throws and Optional conversion. | - | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Throw checked exceptions from lambdas without wrapping. | 79 | 6y | MIT | +| [Tail](https://nrktkt.github.io/tail/) | Tail call optimization via trampolining for stack-safe recursion. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | -| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | -| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | -| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | -| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | -| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | 45 | 6y | -| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | - | - | -| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | 6.5k | 2h | -| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | -| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | -| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | 10.5k | 6d | -| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | 86 | 22d | -| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | 636 | 10h | -| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | 14.0k | 2d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Geode](https://geode.apache.org) | In-memory data grid with continuous queries and WAN replication. | - | - | - | +| [Apache Storm](https://storm.apache.org) | Real-time stream processing with guaranteed processing and fault tolerance. | - | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Distributed coordination for config, locks, and leader election. | - | - | - | +| [Atomix](https://atomix.io) | Raft-based distributed primitives: maps, locks, leader election. | - | - | - | +| [Axon](https://axoniq.io) | CQRS/Event Sourcing framework with saga and event store support. | - | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Annotation-based circuit breakers for Dropwizard. (GPL-2.0-only) | 45 | 6mo | GPL-2.0 | +| [Failsafe](https://github.com/jhalterman/failsafe) | Lightweight fault tolerance with retries, circuit breakers, and fallbacks. | - | - | - | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | In-memory data grid with distributed maps, queues, and compute. | 6.6k | 2d | - | +| [JGroups](http://www.jgroups.org) | Reliable multicast and cluster membership toolkit. | - | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Fibers (lightweight threads) and actors for the JVM. | - | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance: circuit breakers, rate limiters, bulkheads. | 10.5k | 8d | Apache-2.0 | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | Identity gateway with SSO, credential replay, and request filtering. | 86 | 25d | - | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Reactive microservices with SWIM gossip and service discovery. | 636 | 2d | Apache-2.0 | +| [Zuul](https://github.com/Netflix/zuul) | Netflix's edge gateway for routing, filtering, and load balancing. | 14.0k | 19h | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | -| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | - | - | -| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | -| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Atomikos](https://www.atomikos.com) | JTA/XA transaction manager for microservices and REST. | - | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Embeddable JTA 1.1 transaction manager with connection pooling. | - | - | - | +| [Narayana](https://narayana.io) | Red Hat's JTA/JTS transaction manager with saga support. (LGPL-2.1-only) | - | - | - | +| [Seata](https://github.com/seata/seata) | Alibaba's distributed transaction solution with AT/TCC/SAGA modes. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | 649 | 10mo | -| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | 1.2k | 9y | -| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | -| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | 526 | 1y | -| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | -| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | - | - | -| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | -| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | 50 | 1y | -| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | 2.6k | 1y | -| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | 133 | 2y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Artipie](https://github.com/artipie/artipie) | Self-hosted artifact repository supporting Maven, Docker, npm on S3/filesystem. | 649 | 3mo | MIT | +| [Capsule](https://github.com/puniverse/capsule) | Single-file deployment with embedded JVM and dependency resolution. | 1.2k | 3y | EPL-1.0 | +| [Central Repository](https://search.maven.org) | Maven Central: the default artifact repository for the Java ecosystem. | - | - | - | +| [Getdown](https://github.com/threerings/getdown) | Java Web Start replacement with auto-updates and delta patching. | 525 | 1y | - | +| [IzPack](http://izpack.org) | Cross-platform installer builder with XML configuration. | - | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven/Gradle plugin creating native executables and installers. | - | - | - | +| [jDeploy](https://www.jdeploy.com) | Deploy Java desktop apps via npm with native bundles. | - | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | HTTP API for custom JRE generation via jlink. | 50 | 1y | Apache-2.0 | +| [packr](https://github.com/libgdx/packr) | Bundle JRE with your app for native Windows/Mac/Linux distribution. | 2.6k | 1y | Apache-2.0 | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Creates JARs executable via `./app.jar` on Unix. | 133 | 2y | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | -| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | -| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | -| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | 855 | 22d | -| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | 81 | 1y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache POI](https://poi.apache.org) | Full Office document support: Excel, Word, PowerPoint (OLE2 & OOXML). | - | - | - | +| [documents4j](https://documents4j.com/#/) | Document conversion API using MS Office or LibreOffice backends. | - | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | JAXB-based DOCX/PPTX/XLSX manipulation with mail merge. | - | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | Streaming Excel read/write handling millions of rows with low memory. | 855 | 4d | - | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-driven Excel to POJO mapping with minimal overhead. | 81 | 1y | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | 650 | 1y | -| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | 501 | 3y | -| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | 339 | 12d | -| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | 40 | 6y | -| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | 942 | 1d | -| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | 2.3k | 1d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework with exchange integration and backtesting. | 650 | 10mo | GPL-3.0 | +| [Parity](https://github.com/paritytrading/parity) | Open-source stock exchange with matching engine and market data. | 501 | 3y | Apache-2.0 | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency FIX protocol implementation. | 339 | 14d | Apache-2.0 | +| [Square](https://github.com/square/connect-java-sdk) | Official Square payments API client. | 40 | 4y | Apache-2.0 | +| [Stripe](https://github.com/stripe/stripe-java) | Official Stripe API client for payments and subscriptions. | 944 | 2d | MIT | +| [ta4j](https://github.com/ta4j/ta4j) | Technical analysis library with 130+ indicators and backtesting. | 2.3k | 2d | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | N/A | N/A | -| [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. | 593 | 22d | -| [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) | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [CATG](https://github.com/ksen007/janala2) | Concolic testing: auto-generates tests via symbolic execution. | N/A | N/A | - | +| [Checker Framework](https://checkerframework.org) | Pluggable type systems for nullness, tainting, and more. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | +| [Daikon](https://plse.cs.washington.edu/daikon/) | Dynamic invariant detection; infers likely specifications from runs. | - | - | - | +| [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) | NASA's model checker for finding concurrency bugs and deadlocks. | 593 | 25d | - | +| [JMLOK 2.0](https://massoni.computacao.ufcg.edu.br/home/jmlok) | Detects JML specification violations via random testing. (GPL-3.0-only) | - | - | - | +| [KeY](https://www.key-project.org) | Deductive verification using JML and symbolic execution. (GPL-2.0-or-later) | - | - | - | +| [OpenJML](http://www.openjml.org) | JML verification via SMT solvers (Z3, CVC4). (GPL-2.0-only) | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | 1.3k | 3y | -| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | 577 | 4y | -| [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. | 2.1k | 1y | -| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | 24 | 3d | -| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | 485 | 1y | -| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | 2.3k | 4mo | -| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cyclops](https://github.com/aol/cyclops) | Monads, pattern matching, and persistent collections for functional Java. | 1.3k | 2y | Apache-2.0 | +| [derive4j](https://github.com/derive4j/derive4j) | Algebraic data types with pattern matching via annotation processing. (GPL-3.0-only) | 577 | 3y | - | +| [Fugue](https://bitbucket.org/atlassian/fugue) | Atlassian's functional extensions: Option, Either, and more. | - | - | - | +| [Functional Java](http://www.functionaljava.org) | Immutable collections, monads, and functional data structures. | - | - | - | +| [jOOλ](https://github.com/jOOQ/jOOL) | Tuples, Seq, and unchecked functional interfaces for streams. | 2.1k | 1y | Apache-2.0 | +| [Packrat](https://github.com/jhspetersson/packrat) | Custom Gatherers for Java Stream intermediate operations. | 24 | 6d | Apache-2.0 | +| [protonpack](https://github.com/poetix/protonpack) | Stream utilities: zip, unfold, takeWhile, and windowing. | 485 | 1y | MIT | +| [StreamEx](https://github.com/amaembo/streamex) | Enhanced streams with parallel support and additional collectors. | 2.3k | 4mo | Apache-2.0 | +| [Vavr](https://www.vavr.io) | Scala-inspired FP: immutable collections, Try, Either, pattern matching. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | -| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | -| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | -| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | -| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | -| [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. | N/A | N/A | -| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX game engine with ECS, physics, and UI out of the box. | - | - | - | +| [JBox2D](http://www.jbox2d.org/) | Box2D physics engine port for 2D rigid body simulation. | - | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Full-featured 3D engine with PBR, physics, and networking. | - | - | - | +| [libGDX](https://libgdx.com) | Cross-platform 2D/3D framework deploying to desktop, Android, iOS, web. | - | - | - | +| [Litiengine](https://litiengine.com/) | Pure Java 2D engine with no native dependencies. | - | - | - | +| [LWJGL](https://www.lwjgl.org) | Low-level bindings to OpenGL, Vulkan, OpenAL, and more. | - | - | - | +| [Mini2Dx](https://mini2dx.org) | Beginner-friendly 2D framework with tiled map and UI support. | - | - | - | +| [Void2D](https://github.com/xzripper/Void2D) | Swing-based 2D engine with physics for simple games. | N/A | N/A | - | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan and OpenGL ES2 bindings via Panama FFM. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | -| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | 431 | 16d | -| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | 6.2k | 2d | -| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | -| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | -| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | 1.3k | 1d | -| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | 955 | 7mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache SIS](https://sis.apache.org) | OGC/ISO standards-based geospatial metadata and referencing. | - | - | - | +| [Geo](https://github.com/davidmoten/geo) | GeoHash encoding/decoding with spatial indexing. | 431 | 3d | Apache-2.0 | +| [GeoTools](https://geotools.org) | Comprehensive GIS toolkit for OGC standards. (LGPL-2.1-only) | - | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Fast routing engine with turn costs and isochrones. | 6.2k | 1d | Apache-2.0 | +| [H2GIS](http://www.h2gis.org) | Spatial SQL extension for H2 with OGC compliance. (LGPL-3.0-only) | - | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | GeoHash algorithm with neighbor calculation and bounding boxes. | - | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Offline map rendering from OpenStreetMap vector data. (LGPL-3.0-only) | 1.3k | 4d | LGPL-3.0 | +| [Spatial4j](https://github.com/locationtech/spatial4j) | Geospatial shapes and distance calculations for search engines. | 954 | 7mo | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | -| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | -| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | 310 | 16h | -| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Rich client platform with CSS styling, FXML, and hardware acceleration. | - | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Drag-and-drop FXML UI designer for JavaFX. | - | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Cross-platform UI (desktop/web) with declarative layout. | 310 | 12h | - | +| [SWT](https://www.eclipse.org/swt/) | Eclipse's native widget toolkit for OS-native look and feel. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | - | - | -| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | -| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | - | - | -| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | -| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | -| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | 3.8k | 1y | -| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | 1.0k | 9y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Agrona](https://github.com/real-logic/Agrona) | Off-heap buffers, ring buffers, and lock-free data structures. | - | - | - | +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Lock-free ring buffer achieving 25M+ msgs/sec between threads. | - | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Memory-efficient collections with primitives and immutables. | - | - | - | +| [fastutil](http://fastutil.di.unimi.it) | Primitive collections 2-3x faster than java.util. | - | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | High-performance primitive collections with minimal memory. | - | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Non-blocking queues: SPSC, MPSC, MPMC for concurrent apps. | 3.8k | 1y | Apache-2.0 | +| [Koloboke](https://github.com/leventov/Koloboke) | Fastest hash maps/sets with primitive specialization. | 1.0k | 8y | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | -| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | 6.4k | 7d | -| [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. | 9.8k | 1h | -| [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. | 1.4k | 19d | -| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | 286 | 17d | -| [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. | 4.6k | 22d | -| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | 327 | 4mo | -| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | 2.7k | 1mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache HttpComponents](https://hc.apache.org/) | Full-featured HTTP client with connection pooling and async support. | - | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Non-blocking HTTP/WebSocket client on Netty. | 6.4k | 10d | - | +| [Avaje Http Client](https://avaje.io/http-client) | JDK HttpClient wrapper with declarative interfaces and JSON binding. | - | - | - | +| [Feign](https://github.com/OpenFeign/feign) | Declarative REST client via annotated interfaces. | 9.8k | 2d | Apache-2.0 | +| [Google HTTP Client](https://github.com/googleapis/google-http-java-client) | Pluggable transport with JSON parsing and OAuth support. | 1.4k | 21d | Apache-2.0 | +| [methanol](https://github.com/mizosoft/methanol) | JDK HttpClient extensions: caching, compression, multipart. | 286 | 19d | MIT | +| [Retrofit](https://square.github.io/retrofit/) | Type-safe REST client with pluggable converters and call adapters. | - | - | - | +| [Ribbon](https://github.com/Netflix/ribbon) | Netflix's client-side load balancer with retry policies. | 4.6k | 24d | Apache-2.0 | +| [Riptide](https://github.com/zalando/riptide) | Response routing DSL for RestTemplate with problem+json support. | 329 | 19h | MIT | +| [unirest-java](https://github.com/Kong/unirest-java) | Fluent HTTP client with JSON, async, and file upload support. | 2.7k | 1mo | MIT | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | 25 | 2y | -| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | 386 | 2y | -| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | 28 | 8y | -| [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. | 1.1k | 27d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [hate](https://github.com/blackdoor/hate) | HAL+JSON builder with link templating support. | 25 | 2y | MIT | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | W3C JSON-LD processor with expansion, compaction, and framing. | 386 | 2y | BSD-3-Clause | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Siren hypermedia builder with actions and embedded entities. | 28 | 1y | MIT | +| [Spring HATEOAS](https://github.com/spring-projects/spring-hateoas) | Multi-format hypermedia (HAL, HAL-FORMS, Collection+JSON) for Spring. | 1.1k | 25d | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | -| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | -| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | -| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | -| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Eclipse](https://www.eclipse.org) | Extensible IDE with vast plugin ecosystem and multi-language support. | - | - | - | +| [jGRASP](https://www.jgrasp.org) | Educational IDE with control structure and UML visualizations. | - | - | - | +| [NetBeans](https://netbeans.apache.org) | Apache IDE with Java SE/EE, Maven, and Git integration. | - | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Browser-based Java IDE for learning with live preview. | - | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Lightweight editor with Java extensions for debugging and Maven. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | 9 | 15d | -| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | 1.2k | 2y | -| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | 1.7k | 11d | -| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | 5.4k | 5d | -| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | 2.1k | 21h | -| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | 33.8k | 1mo | -| [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. | 385 | 7mo | -| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | 98 | 8d | -| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Vector/raster barcode generation with CMYK and high-DPI support. | 9 | 17d | Apache-2.0 | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Hardware-accelerated image scaling with quality presets. | 1.2k | 2y | Apache-2.0 | +| [Tess4J](https://github.com/nguyenq/tess4j) | Tesseract OCR wrapper for text extraction from images. | 1.7k | 13d | Apache-2.0 | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | Fluent API for high-quality thumbnail generation. | 5.4k | 1d | MIT | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | ImageIO plugins for TIFF, PSD, WebP, and more formats. | 2.1k | 3d | BSD-3-Clause | +| [ZXing](https://github.com/zxing/zxing) | Multi-format barcode scanning and generation library. | 33.8k | 1mo | Apache-2.0 | +| [image-comparison](https://github.com/romankh3/image-comparison) | Visual diff tool highlighting image differences with rectangles. | 385 | 7mo | Apache-2.0 | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Blazing-fast libvips bindings via Panama FFM. | 98 | 10d | Apache-2.0 | +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable image operations: resize, crop, filters, and formats. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | 3.0k | 2mo | -| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | 2.8k | 1y | -| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | -| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | -| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | 1.5k | 7mo | -| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | 4.8k | 2y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ClassGraph](https://github.com/classgraph/classgraph) | Ultra-fast classpath scanner with parallel processing and module support. | 3.0k | 3mo | MIT | +| [jOOR](https://github.com/jOOQ/jOOR) | Fluent reflection API simplifying method invocation and field access. | 2.8k | 1y | Apache-2.0 | +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Simplified reflection for common tasks with a clean API. | - | - | - | +| [Objenesis](http://objenesis.org) | Instantiate objects bypassing constructors; used by serializers. | - | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | Code-generated reflection achieving near-native performance. | 1.5k | 7mo | BSD-3-Clause | +| [Reflections](https://github.com/ronmamo/reflections) | Runtime metadata scanning for annotations, subtypes, and resources. | 4.8k | 1y | WTFPL | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 2.8k | 2d | -| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | 6.7k | 1mo | -| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | 276 | 1y | -| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | 141 | 7mo | -| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | 1.5k | 1d | -| [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. | 629 | 4y | -| [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. | 4.1k | 9h | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [JobRunr](https://github.com/jobrunr/jobrunr) | Distributed job scheduler with lambda-based jobs and dashboard. | 2.8k | 1d | - | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Enterprise scheduler with cron expressions and clustering support. | 6.7k | 3d | Apache-2.0 | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight Quartz wrapper with simplified configuration. | 276 | 1y | Apache-2.0 | +| [Wisp](https://github.com/Coreoz/Wisp) | Minimal scheduler (~10KB) with cron and fixed-delay scheduling. | 141 | 7mo | Apache-2.0 | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent scheduler with cluster coordination via database locks. | 1.5k | 3d | Apache-2.0 | +| [easy-batch](https://github.com/j-easy/easy-batch) | Batch processing with readers, processors, and writers pipeline. | 629 | 2y | MIT | +| [shedlock](https://github.com/lukas-krecan/ShedLock) | Distributed lock ensuring single execution across cluster nodes. | 4.1k | 16h | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | -| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | 1.1k | 1y | -| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | -| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | 24.3k | 6d | -| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | 465 | 8y | -| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | 417 | 8d | -| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | 264 | 6mo | -| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | 9.6k | 5d | -| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | 343 | 2d | -| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | -| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | 3.2k | 9y | -| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | 10.1k | 3d | -| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | 215 | 5mo | -| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | 25.7k | 2y | -| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | 1.7k | 2y | -| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | 9.4k | 2mo | -| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Avaje Jsonb](https://avaje.io/jsonb/) | Compile-time JSON binding with no reflection; Jackson-compatible annotations. | - | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | Fastest JSON library via compile-time generated readers/writers. | 1.1k | 1y | BSD-3-Clause | +| [Genson](http://genson.io) | Feature-rich JSON with streaming, polymorphism, and JAX-RS support. | - | - | - | +| [Gson](https://github.com/google/gson) | Google's simple JSON library with no-config serialization. | 24.3k | 8d | Apache-2.0 | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | Ultra-fast JSON parser; 2x faster than Jackson. | 465 | 2y | Apache-2.0 | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Jackson support for Optional, JSR-310 dates, and parameter names. | 417 | 10d | Apache-2.0 | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Jackson serializer/deserializer for JavaMoney types. | 264 | 6mo | MIT | +| [Jackson](https://github.com/FasterXML/jackson) | Industry-standard JSON with streaming, data-binding, and modules. | 9.6k | 8d | - | +| [JSON-io](https://github.com/jdereg/json-io) | Deep object graph serialization with cycle handling. | 343 | 4d | Apache-2.0 | +| [jsoniter](http://jsoniter.com) | Iterator-style API for streaming and lazy JSON parsing. | - | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | Compile-time JSON for Android; faster than Gson and Jackson. | 3.2k | 4y | Apache-2.0 | +| [Moshi](https://github.com/square/moshi) | Square's modern JSON with Kotlin support and adapters. | 10.1k | 5d | Apache-2.0 | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Jakarta JSON Binding (JSON-B) reference implementation. | 215 | 6mo | - | +| [fastjson](https://github.com/alibaba/fastjson) | Alibaba's high-performance JSON with JSONPath support. | 25.7k | 1y | Apache-2.0 | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON-to-JSON transformation via shift, default, and sort specs. | 1.7k | 6mo | Apache-2.0 | +| [JsonPath](https://github.com/json-path/JsonPath) | XPath-like queries for extracting JSON data. | 9.4k | 2mo | Apache-2.0 | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath for processing large JSON without loading all. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | - | - | -| [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) | 21.4k | 14h | -| [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. | - | - | -| [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) | N/A | N/A | -| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | 339 | 2mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Which JDK](https://whichjdk.com/) | Decision guide for choosing a JDK distribution. | - | - | - | +| [Adopt Open JDK](https://adoptopenjdk.net) | Community OpenJDK with HotSpot and OpenJ9 variants. | - | - | - | +| [Corretto](https://aws.amazon.com/corretto/) | Amazon's LTS OpenJDK with AWS optimizations. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | +| [Dragonwell8](https://github.com/alibaba/dragonwell8) | Alibaba's OpenJDK optimized for long-running services. | - | - | - | +| [Graal](https://github.com/oracle/graal) | Polyglot VM with native image compilation (GraalVM). (GPL-2.0-only WITH Classpath-exception-2.0) | 21.4k | 11h | - | +| [Liberica JDK](https://bell-sw.com) | JCK-certified OpenJDK with JavaFX bundled option. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | +| [OpenJ9](https://github.com/eclipse/openj9) | Eclipse JVM with low memory footprint and fast startup. | - | - | - | +| [Open JDK](https://openjdk.java.net) | Reference implementation and development home. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | +| [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) | Non-blocking GC VM for iOS mobile development. (GPL-2.0-only WITH Classpath-exception-2.0) | N/A | N/A | - | +| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | Red Hat's enterprise-supported OpenJDK. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's JCK-verified OpenJDK for enterprise. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | Azul's TCK-certified OpenJDK with commercial support option. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft's OpenJDK build with Azure optimizations. | 340 | 2mo | MIT | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 58 | 1y | -| [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. | - | - | -| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | 2.0k | 8d | -| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | -| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | 2.2k | 3y | -| [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. | 180 | 6mo | -| [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. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Log4j 2](https://logging.apache.org/log4j/) | Async logging with lazy evaluation and plugin architecture. | - | - | - | +| [Echopraxia](https://github.com/tersesystems/echopraxia) | Structured logging API with conditions and JSON context. | 58 | 10mo | - | +| [Graylog](https://www.graylog.org) | Centralized log management with search and dashboards. (GPL-3.0-only) | - | - | - | +| [Kibana](https://www.elastic.co/kibana) | Elasticsearch visualization for log analysis and monitoring. | - | - | - | +| [Logback](http://logback.qos.ch) | SLF4J native implementation with Groovy config and filters. | - | - | - | +| [Logbook](https://github.com/zalando/logbook) | HTTP request/response logging with filtering and correlation. | 2.0k | 17h | MIT | +| [Logstash](https://www.elastic.co/logstash) | Log pipeline for parsing, transforming, and forwarding. | - | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | JDBC proxy logging all SQL with timing; no code changes. | 2.2k | 3y | Apache-2.0 | +| [SLF4J](http://www.slf4j.org) | Universal logging facade; bind to any implementation. | - | - | - | +| [tinylog](https://tinylog.org/v2/) | Minimalist logger with static API and 100KB footprint. | - | - | - | +| [OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox) | OpenTracing extensions for Spring and Servlet tracing. | 180 | 6mo | MIT | +| [Flogger](https://google.github.io/flogger/) | Google's fluent logging API with lazy argument evaluation. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | -| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | -| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | -| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | -| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | -| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | - | - | -| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | 800 | 3y | -| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | 2.9k | 3y | -| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | 86 | 1y | -| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | -| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | 1.8k | 4y | -| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | 1.6k | 5mo | -| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | 6.3k | 8h | -| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | -| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Flink](https://flink.apache.org) | Stream/batch processing with exactly-once semantics and ML pipelines. | - | - | - | +| [Apache Mahout](https://mahout.apache.org) | Distributed ML for clustering, classification, and recommendations. | - | - | - | +| [DatumBox](http://www.datumbox.com) | Pre-trained NLP models for sentiment, topic, and spam detection. | - | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed deep learning with Spark and GPU support. | - | - | - | +| [DJL](https://djl.ai) | Deep learning abstraction for PyTorch, TensorFlow, and MXNet. | - | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Unified API for OpenAI, Cohere, and other AI services. | - | - | - | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Pure Java ML library with 100+ algorithms. (GPL-3.0-only) | 800 | 3y | GPL-3.0 | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | Export trained models to Java/C/Python code. | 2.9k | 1y | MIT | +| [Neureka](https://github.com/Gleethos/neureka) | OpenCL-accelerated tensor library for neural networks. | 86 | 1y | MIT | +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance linear algebra and optimization solvers. | - | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Real-time ML on Spark with serving layer and model updates. | 1.8k | 4y | Apache-2.0 | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Complex event processing for streaming analytics. | 1.6k | 5mo | Apache-2.0 | +| [Smile](https://github.com/haifengl/smile) | Comprehensive ML library with Scala API and visualization. | 6.3k | 1d | - | +| [Tribuo](https://tribuo.org/) | Oracle's ML library with reproducibility and ONNX export. | - | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | GUI-based ML toolkit with 100+ algorithms. (GPL-3.0-only) | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | - | - | -| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | -| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | -| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | -| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | -| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | -| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | -| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | - | - | -| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | 64 | 3mo | -| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | 24.8k | 3y | -| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | -| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | 2.4k | 10mo | -| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | 968 | 1y | -| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | 1.3k | 48m | -| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | 2.4k | 1mo | -| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | 640 | 16h | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Aeron](https://github.com/real-logic/Aeron) | Ultra-low-latency messaging with UDP multicast and IPC. | - | - | - | +| [Apache ActiveMQ](https://activemq.apache.org) | JMS broker with persistence, clustering, and REST API. | - | - | - | +| [Apache Camel](https://camel.apache.org) | 300+ connectors with Enterprise Integration Patterns routing. | - | - | - | +| [Apache Kafka](https://kafka.apache.org) | Distributed event streaming with exactly-once semantics. | - | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Multi-tenant messaging with tiered storage and geo-replication. | - | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Alibaba's distributed messaging with transactions and scheduling. | - | - | - | +| [Apache Qpid](https://qpid.apache.org) | AMQP 1.0 broker and client libraries. | - | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | Cloud-native Kafka with S3 storage and auto-scaling. | - | - | - | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | In-process message dispatcher with compile-time handler resolution. | 64 | 1mo | Apache-2.0 | +| [EventBus](https://github.com/greenrobot/EventBus) | Android-optimized publish/subscribe event bus. | 24.8k | 1y | Apache-2.0 | +| [Hermes](http://hermes.allegro.tech) | Kafka REST proxy with schema validation and rate limiting. | - | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Pure Java ZeroMQ with pub/sub, push/pull patterns. | 2.4k | 1mo | MPL-2.0 | +| [Nakadi](https://github.com/zalando/nakadi) | Event bus REST API with schema registry on Kafka. | 968 | 1y | MIT | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | Official AMQP client with connection recovery. | 1.3k | 1d | - | +| [Smack](https://github.com/igniterealtime/Smack) | XMPP client for IM, presence, and extensions. | 2.4k | 1mo | Apache-2.0 | +| [NATS client](https://github.com/nats-io/nats.java) | Lightweight messaging client for NATS with JetStream. | 640 | 1d | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | -| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | 5.1k | 23h | -| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | 423 | 3y | -| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | 12.7k | 21d | -| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | -| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | - | - | -| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | N/A | N/A | -| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | 3.6k | 15d | -| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | -| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | -| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | 4.8k | 1y | -| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | -| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | 23.0k | 16d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ActiveRPC](https://rpc.activej.io) | Zero-allocation RPC with 15M+ requests/sec throughput. | - | - | - | +| [Armeria](https://github.com/line/armeria) | Async microservice framework with gRPC, Thrift, and REST on Netty. | 5.1k | 1d | Apache-2.0 | +| [consul-api](https://github.com/Ecwid/consul-api) | Consul client for service discovery, health checks, and KV store. | 423 | 2y | Apache-2.0 | +| [Eureka](https://github.com/Netflix/eureka) | Netflix's service registry with self-preservation and replication. | 12.7k | 23d | Apache-2.0 | +| [Helidon](https://helidon.io) | Oracle's microservice framework: SE (functional) or MP (MicroProfile). | - | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Discord API wrapper with event handling and slash commands. | - | - | - | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modern TeX implementation for document typesetting. | N/A | N/A | - | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Fluent Kubernetes/OpenShift API client with CRD support. | 3.6k | 21h | Apache-2.0 | +| [Micronaut](https://micronaut.io) | Compile-time DI framework with instant startup and low memory. | - | - | - | +| [Nacos](https://nacos.io) | Alibaba's service discovery and config management platform. | - | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | OpenAI API client for GPT, DALL-E, and Whisper. | 4.8k | 1y | MIT | +| [Quarkus](https://quarkus.io) | Supersonic Java with native compilation and live reload. | - | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control, circuit breaking, and real-time monitoring. | 23.0k | 8d | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | 1.8k | 3y | -| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | 93.6k | 7mo | -| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | 1.4k | 18d | -| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | 23.1k | 6y | -| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | 7 | 8d | -| [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. | 3 | 11d | -| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | 6.0k | 14h | -| [JBake](https://jbake.org) | Static website generator. | - | - | -| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | 1.2k | 3mo | -| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | -| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | 102 | 22d | -| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | 2.5k | 6d | -| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | -| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | 505 | 1y | -| [JPad](http://jpad.io) | Snippet runner. | - | - | -| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | 1.5k | 2y | -| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | 1.6k | 4y | -| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | - | - | -| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | 186 | 6mo | -| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | 2.1k | 8y | -| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | 16.8k | 2y | -| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | 383 | 6d | -| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | 5.3k | 2y | -| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | -| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | 476 | 4mo | -| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | 915 | 6mo | -| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | 25 | 3y | -| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | 1.3k | 8mo | -| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | 414 | 10mo | -| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | N/A | N/A | -| [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | -| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | 628 | 2y | -| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | 2.3k | 2mo | -| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | 76 | 5mo | -| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | 450 | 6mo | -| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | N/A | N/A | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [CQEngine](https://github.com/npgall/cqengine) | In-memory indexed collections with SQL-like queries in microseconds. | 1.8k | 2y | Apache-2.0 | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | 100+ design patterns with Java examples and explanations. | 93.6k | 2mo | - | +| [FF4J](https://github.com/ff4j/ff4j) | Feature flags with web console, audit, and Spring integration. | 1.4k | 20d | Apache-2.0 | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | Satirical over-engineered FizzBuzz demonstrating pattern overuse. (No explicit license) | 23.1k | 1y | - | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | IP geolocation and WHOIS lookup API client. | 7 | 10d | MIT | +| [ISBN core](https://github.com/ladutsko/isbn-core) | ISBN-10/13 parsing, validation, and formatting. | 3 | 14d | MIT | +| [J2ObjC](https://github.com/google/j2objc) | Google's Java to Objective-C transpiler for iOS code sharing. | 6.0k | 1d | Apache-2.0 | +| [JBake](https://jbake.org) | Static site generator with Freemarker, Groovy, and Markdown. | - | - | - | +| [JBot](https://github.com/rampatra/jbot) | Slack and Facebook Messenger bot framework. (GPL-3.0-only) | 1.2k | 3mo | GPL-3.0 | +| [JCuda](http://jcuda.org) | Java bindings for CUDA GPU computing. | - | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | Type-safe emoji library with Discord/Slack alias support. | 102 | 4d | Apache-2.0 | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system for testing with full NIO.2 support. | 2.5k | 8d | Apache-2.0 | +| [Joda-Money](https://www.joda.org/joda-money/) | Money and currency handling with BigDecimal precision. | - | - | - | +| [jOOX](https://github.com/jooq/joox) | jQuery-style fluent API for XML DOM manipulation. | 505 | 1y | Apache-2.0 | +| [JPad](http://jpad.io) | Code snippet runner with instant results. | - | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Java to TypeScript/JavaScript transpiler. | 1.5k | 2y | - | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Ensure consistent Maven version without local installation. | 1.6k | 4y | Apache-2.0 | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | API gateway with OAuth2, rate limiting, and transformation. | - | - | - | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Embeddable FTP server in ~50KB. | 186 | 6mo | Apache-2.0 | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | Netty-based HTTP proxy with MITM support. | 2.1k | 1y | Apache-2.0 | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Comprehensive Java 8 tutorial with streams and lambdas. | 16.8k | 2y | MIT | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect legacy API usage (Guava → Java 8, etc.). | 383 | 8d | Apache-2.0 | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | GitHub browser extension linking imports to source files. | 5.3k | 2y | MIT | +| [OpenRefine](http://openrefine.org) | Data cleaning and transformation tool with reconciliation. | - | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Mediator pattern for command/query handlers. | 476 | 4mo | MIT | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Write POMs in Groovy, Kotlin, Scala, or YAML. | 915 | 1mo | EPL-1.0 | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | Record and replay Java execution for debugging. | 25 | 3y | GPL-3.0 | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Fluent email API with SMTP, attachments, and embedding. | 1.3k | 7mo | Apache-2.0 | +| [Smooks](https://github.com/smooks/smooks) | Event-driven data transformation and routing framework. (Apache-2.0 OR LGPL-3.0-or-later) | 415 | 1mo | - | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Webhook delivery platform with retries and signature verification. | N/A | N/A | - | +| [Togglz](https://www.togglz.org) | Feature toggles with admin console and Spring Boot starter. | - | - | - | +| [TypeTools](https://github.com/jhalterman/typetools) | Runtime generic type resolution for type-safe APIs. | 628 | 2y | Apache-2.0 | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Cross-platform webcam access with motion detection. | 2.3k | 2mo | MIT | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | XPath-based XML projection onto Java interfaces. | 76 | 5mo | Apache-2.0 | +| [yGuard](https://github.com/yWorks/yGuard) | Bytecode obfuscator with name mangling and shrinking. | 449 | 6mo | MIT | +| [JBang](https://github.com/maxandersen/jbang/) | Run Java as scripts with inline dependency declarations. | N/A | N/A | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | -| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Codename One](https://www.codenameone.com) | Write once, deploy native iOS/Android/web from Java. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | +| [MobileUI](https://mobileui.dev) | Native mobile UI from Java/Kotlin with platform widgets. | - | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Shared Java codebase with native iOS/Android UI bindings. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | 5 | 3d | -| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | 573 | 1y | -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | 7.9k | 16d | -| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | 54 | 4y | -| [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. | N/A | N/A | -| [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. | - | - | -| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | 490 | 3y | -| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | 3.0k | 9d | -| [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. | 1.7k | 4y | -| [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. | 4.8k | 7h | -| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | 287 | 6h | -| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | 164 | 5y | -| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | 2.3k | 14h | -| [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. | 2.3k | 6h | -| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | 1.7k | 2y | -| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | 156 | 9y | -| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apitally](https://github.com/apitally/apitally-java) | Privacy-focused API analytics with request logging. | 5 | 13h | MIT | +| [Automon](https://github.com/stevensouza/automon) | AOP-based monitoring integration with JAMon/Metrics. | 573 | 1y | Apache-2.0 | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Application metrics with JMX, Graphite, and Prometheus export. | 7.9k | 13d | Apache-2.0 | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Spring Boot Actuator endpoints for Failsafe circuit breakers. | 54 | 3y | MIT | +| [Glowroot](https://glowroot.org) | Lightweight APM with transaction tracing and historical analysis. | - | - | - | +| [HertzBeat](https://github.com/dromara/hertzbeat) | Agentless monitoring for servers, databases, and APIs. | - | - | - | +| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic thread pool tuning with web console. | N/A | N/A | - | +| [inspectIT](https://www.inspectit.rocks) | Bytecode-level APM with OpenTracing and EUM correlation. | - | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Distributed tracing client for Jaeger backend. | 490 | 3y | - | +| [JavaMelody](https://github.com/javamelody/javamelody) | Embedded monitoring with charts, SQL analysis, and profiling. | 3.0k | 11d | Apache-2.0 | +| [jmxtrans](https://github.com/jmxtrans/jmxtrans) | JMX metric collection to Graphite, InfluxDB, or Ganglia. | 1.7k | 3y | MIT | +| [Jolokia](https://jolokia.org) | JMX over HTTP/JSON for remote monitoring. | - | - | - | +| [Micrometer](https://github.com/micrometer-metrics/micrometer) | Metrics facade for Prometheus, Datadog, CloudWatch, etc. | 4.8k | 13h | Apache-2.0 | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Tracing facade for Zipkin, Wavefront, and OTLP. | 288 | 21h | Apache-2.0 | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Browser REPL for live JVM inspection. | 164 | 5y | MIT | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | CNCF standard for traces, metrics, and logs. | 2.3k | 9h | Apache-2.0 | +| [Pinpoint](https://github.com/naver/pinpoint) | Large-scale APM with call tree visualization. | - | - | - | +| [Prometheus](https://github.com/prometheus/client_java) | Official Prometheus client with gauges, counters, and histograms. | 2.3k | 10h | Apache-2.0 | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Elasticsearch-integrated APM with Kibana dashboards. | 1.7k | 2y | Apache-2.0 | +| [Sysmon](https://github.com/palantir/Sysmon) | JVM resource monitoring (CPU, memory, GC). | 156 | 9y | Apache-2.0 | +| [zipkin](https://zipkin.io) | Distributed tracing system for latency analysis. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | 482 | 4y | -| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | 4.7k | 29d | -| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | 8.9k | 29d | -| [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). | 1.3k | 2mo | -| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | 215 | 1y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Aparapi](https://github.com/Syncleus/aparapi) | Execute Java on GPUs via automatic OpenCL conversion. | 482 | 3y | Apache-2.0 | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Native C/C++ binding generator with presets for OpenCV, FFmpeg. | 4.7k | 1mo | - | +| [JNA](https://github.com/java-native-access/jna) | Dynamic native access without JNI boilerplate. | 8.9k | 9d | - | +| [JNR](https://github.com/jnr/jnr-ffi) | Faster JNA alternative; foundation for Project Panama. | 1.3k | 2mo | - | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Extract and load bundled native libraries from JARs. | 215 | 1y | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | 480 | 3y | -| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | -| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | -| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | 3 | 6mo | -| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | NLP pipeline with coreference, SRL, and relation extraction. (Research and Academic Use License) | 480 | 2y | - | +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. (GPL-3.0-or-later) | - | - | - | +| [DKPro](https://dkpro.github.io) | UIMA-based NLP components for tokenization, POS, and parsing. | - | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Text hyphenation with bundled dictionaries for 30+ languages. | 3 | 6mo | MIT | +| [LingPipe](http://alias-i.com/lingpipe/) | Entity extraction, clustering, and classification toolkit. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | 20 | 3y | -| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | 595 | 9y | -| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | 41.7k | 1d | -| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | -| [gRPC-java](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 1d | -| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | 1.8k | 5y | -| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | -| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | -| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | 248 | 3mo | -| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | 1.0k | 9h | -| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | 2.6k | 7mo | -| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | 207 | 1d | -| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | -| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | 34 | 9d | -| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | 163 | 3d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Server-Sent Events (SSE) client implementation. | 20 | 3y | Apache-2.0 | +| [Comsat](https://github.com/puniverse/comsat) | Fiber-aware web APIs (Servlet, JAX-RS) with Quasar. | 595 | 8y | - | +| [Dubbo](https://github.com/apache/dubbo) | Alibaba's RPC framework with service discovery and load balancing. | 41.7k | 1d | Apache-2.0 | +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework powering GlassFish with HTTP/2. | - | - | - | +| [gRPC-java](https://github.com/grpc/grpc-java) | Google's HTTP/2 RPC with streaming and deadlines. | 11.9k | 21h | Apache-2.0 | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Fast TCP/UDP networking with Kryo serialization. | 1.8k | 4y | BSD-3-Clause | +| [MINA](https://mina.apache.org) | Event-driven async network framework from Apache. | - | - | - | +| [Netty](https://netty.io) | Industry-standard async networking with epoll/kqueue support. | - | - | - | +| [Drift](https://github.com/airlift/drift) | Annotation-based Thrift client/server generation. | 248 | 4mo | Apache-2.0 | +| [ServiceTalk](https://github.com/apple/servicetalk) | Apple's reactive networking with HTTP/1.1, HTTP/2, and gRPC. | 1.0k | 10h | Apache-2.0 | +| [sshj](https://github.com/hierynomus/sshj) | SSH2 client for SFTP, SCP, and remote execution. | 2.6k | 8mo | Apache-2.0 | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Blocking/non-blocking TLS via simple ByteChannel API. | 207 | 3d | MIT | +| [Undertow](http://undertow.io) | High-performance web server with HTTP/2 and WebSocket. (LGPL-2.1-only) | - | - | - | +| [urnlib](https://github.com/slub/urnlib) | URN parsing and validation per RFC 2141/8141. (GPL-3.0-only) | 34 | 11d | GPL-3.0 | +| [Fluency](https://github.com/komamitsu/fluency) | Async, buffered logger to Fluentd with failover. | 163 | 5d | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | -| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | 494 | 1d | -| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | -| [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. | 20.3k | 6d | -| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | 17.3k | 8d | -| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | 1.3k | 1y | -| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | 422 | 3mo | -| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | 454 | 1y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Cayenne](https://cayenne.apache.org) | Modeler-based ORM with lazy loading and caching. | - | - | - | +| [Doma](https://github.com/domaframework/doma) | Compile-time SQL validation with two-way SQL templates. | 494 | 3d | Apache-2.0 | +| [Ebean](https://ebean.io) | Simple ORM with query beans, JSON, and soft-delete support. | - | - | - | +| [EclipseLink](https://www.eclipse.org/eclipselink/) | JPA reference implementation with MOXy and multi-tenancy. | - | - | - | +| [Hibernate](http://hibernate.org/orm/) | Feature-rich JPA implementation with caching and search. (LGPL-2.1-only) | - | - | - | +| [MyBatis](https://github.com/mybatis/mybatis-3) | SQL mapping framework with XML or annotation config. | 20.3k | 12h | Apache-2.0 | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | MyBatis enhancements: CRUD, pagination, code generation. | 17.3k | 3d | Apache-2.0 | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord-style ORM with method chaining queries. | 1.3k | 1y | Apache-2.0 | +| [Permazen](https://github.com/permazen/permazen) | Schema-independent persistence with change tracking. | 422 | 3mo | Apache-2.0 | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Zero-allocation result set to POJO mapping. | 454 | 3mo | MIT | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. | 236 | 1h | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | High-performance 3D A\* pathfinding with configurable heuristics. | 236 | 1d | MIT | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | -| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | -| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | -| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | 240 | 4mo | -| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | -| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | 2.2k | 5h | -| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | -| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | 2.1k | 3y | -| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | 4.1k | 4mo | -| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | 2.0k | 9mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | XSL-FO to PDF with SVG and image support. | - | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Create, modify, extract, and sign PDFs. | - | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Programmatic JasperReports without XML. (LGPL-3.0-only) | - | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Fluent API for JasperReports with charts. (LGPL-3.0-only) | 240 | 24d | LGPL-3.0 | +| [Eclipse BIRT](https://www.eclipse.org/birt) | Visual report designer with PDF, Excel, and HTML output. | - | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XHTML/CSS to PDF renderer. (LGPL-2.1-or-later) | 2.2k | 1d | - | +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Enterprise reporting with charts, barcodes, and subreports. (LGPL-3.0-only) | - | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | HTML5/CSS3 to PDF/A with accessibility support. | 2.1k | 1y | - | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | LGPL iText fork with active maintenance. (LGPL-3.0-only & MPL-2.0) | 4.1k | 2mo | - | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extract tabular data from PDFs into CSV/JSON. | 2.0k | 9mo | MIT | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | 1.3k | 3y | -| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | 697 | 4y | -| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | 3.3k | 10d | -| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | -| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | 465 | 1y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | AsyncGetCallTrace-based profiler avoiding safepoint bias. | 1.3k | 2y | MIT | +| [jHiccup](https://github.com/giltene/jHiccup) | Measure JVM pauses and OS scheduling hiccups. | 696 | 1y | - | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Visualize HotSpot JIT compilations and inlining decisions. | 3.3k | 13d | - | +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | OpenJDK's microbenchmark harness with warmup and statistics. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | HDR histogram-based latency recording with pause correction. | 465 | 1y | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | -| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | -| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | -| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | -| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | -| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | -| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | -| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | -| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | -| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | -| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | -| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | -| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | -| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | -| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | -| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | -| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | -| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | -| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | -| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | -| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | -| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | -| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | -| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | -| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | -| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | -| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | -| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | -| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | -| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | -| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | -| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | -| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | -| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | -| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | -| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | -| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | -| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | -| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | -| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | -| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | -| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | -| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | -| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | -| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | -| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | -| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | -| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | -| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | -| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | -| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | -| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | -| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | -| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | -| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | -| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | -| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | - | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | - | +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 2d | -| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 1y | -| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 1d | Apache-2.0 | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 6mo | Apache-2.0 | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 4.9k | 2y | -| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 29d | -| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 21d | -| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [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. | 4.9k | 1y | MIT-0 | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 1mo | Apache-2.0 | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 12d | Apache-2.0 | +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | 8.6k | 43m | -| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | -| [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. | 934 | 5y | -| [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. | 2.5k | 2mo | -| [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. | 940 | 1y | -| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | 661 | 1mo | -| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | -| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | -| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | 3.7k | 6d | -| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | -| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. | 25.6k | 22m | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Production-ready REST with Jetty, Jersey, and Metrics. | 8.6k | 19h | Apache-2.0 | +| [Elide](https://elide.io) | JSON API/GraphQL from JPA models with security. | - | - | - | +| [Jersey](https://jersey.github.io) | JAX-RS reference implementation with DI support. | - | - | - | +| [Microserver](https://github.com/aol/micro-server) | Spring Boot microservices with 30+ plugins. | 934 | 2y | Apache-2.0 | +| [Rapidoid](https://www.rapidoid.org) | Ultra-fast HTTP server with embedded DI. | - | - | - | +| [rest.li](https://github.com/linkedin/rest.li) | LinkedIn's REST framework with typed schemas. | 2.5k | 1d | - | +| [RESTEasy](https://resteasy.github.io) | Red Hat's JAX-RS implementation with async. | - | - | - | +| [RestExpress](https://github.com/RestExpress/RestExpress) | Netty-based REST for high throughput. | 940 | 1y | Apache-2.0 | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Unified REST client/server with content negotiation. | 661 | 1mo | - | +| [Spark](http://sparkjava.com) | Minimalist Sinatra-style REST in Java. | - | - | - | +| [Crnk](http://www.crnk.io) | JSON API implementation with filtering and paging. | - | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | OpenAPI 3 docs from Spring Boot annotations. | 3.7k | 8d | Apache-2.0 | +| [Swagger](https://swagger.io) | API design, documentation, and code generation. | - | - | - | +| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Generate clients/servers from OpenAPI specs. | 25.6k | 14h | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | -| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | - | - | -| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | -| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | 127 | 2y | -| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | -| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | -| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | 2.7k | 11h | -| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | 687 | 5y | -| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | 149 | 1y | -| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | 82 | 5y | -| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | 244 | 7y | -| [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | -| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | 120 | 6mo | -| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | 3.7k | 6mo | -| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | 1.6k | 3mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [BioJava](https://biojava.org/) | Bioinformatics library for sequences, structures, and alignments. | - | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Real-time scientific charting at 25Hz with millions of points. | - | - | - | +| [DataMelt](https://datamelt.org/) | Scientific computing environment with Python/Jython. (GPL-3.0-or-later) | - | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Graph theory algorithms for research. | 127 | 2y | MIT | +| [GraphStream](http://graphstream-project.org) | Dynamic graph modeling with visualization. | - | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | Comprehensive 2D charting for Swing/JavaFX. (LGPL-2.1-only) | - | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph algorithms: shortest path, flow, matching. | 2.7k | 15h | EPL-2.0 | +| [JGraphX](https://github.com/jgraph/jgraphx) | Interactive graph visualization (powers draw.io). | 687 | 5y | - | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Boolean formula manipulation and SAT solving. | 149 | 5mo | Apache-2.0 | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Geophysics: seismic processing and visualization. | 82 | 4y | Apache-2.0 | +| [Morpheus](https://github.com/zavtech/morpheus-core) | DataFrame library for tabular data analysis. | 242 | 2y | Apache-2.0 | +| [Orekit](https://www.orekit.org/) | Space flight dynamics: orbit propagation and attitude. | - | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Interactive 3D charts with PDF/SVG export. (GPL-3.0-only) | 120 | 7mo | GPL-3.0 | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | In-memory DataFrame with filtering and aggregation. | 3.7k | 6mo | Apache-2.0 | +| [XChart](https://github.com/knowm/XChart) | Simple charting with minimal dependencies. | 1.6k | 2mo | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | -| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | -| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | -| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | 56 | 6y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Lucene](https://lucene.apache.org) | Foundation of most Java search; fast inverted indexes. | - | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search with faceting and clustering. | - | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed search and analytics with REST API. | - | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Lightweight in-memory full-text search. | 56 | 6y | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | -| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | 564 | 5d | -| [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. | 40 | 10mo | -| [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. | 219 | 4y | -| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | 11.0k | 2mo | -| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | 14 | 5mo | -| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | 204 | 3mo | -| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | 218 | 7y | -| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | -| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | 2.6k | 2y | -| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | 308 | 4mo | -| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | -| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | 860 | 22d | -| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | 232 | 1y | -| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | 2.5k | 2h | -| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | -| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | 398 | 4mo | -| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | 47 | 4y | -| [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. | 1.9k | 1y | -| [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. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Shiro](https://shiro.apache.org) | Framework-agnostic security with auth, crypto, and sessions. | - | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | Fluent SSL/TLS configuration for HTTP clients and servers. | 565 | 8d | Apache-2.0 | +| [Bouncy Castle](https://www.bouncycastle.org/java.html) | Comprehensive crypto library with FIPS-certified provider. | - | - | - | +| [DependencyCheck](https://github.com/jeremylong/DependencyCheck) | OWASP tool detecting vulnerable dependencies via NVD. | 40 | 3mo | Apache-2.0 | +| [Cryptomator](https://cryptomator.org) | Client-side encryption for cloud storage with WebDAV. (GPL-3.0-only) | - | - | - | +| [Hdiv](https://github.com/hdiv/hdiv) | Runtime protection against OWASP Top 10 attacks. | 219 | 1y | - | +| [jjwt](https://github.com/jwtk/jjwt) | JWT creation and verification with JWS/JWE support. | 11.0k | 2mo | Apache-2.0 | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Fluent JWT API with custom claim validation. | 14 | 5mo | MIT | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JWKS endpoint client with key caching. | 204 | 1mo | MIT | +| [Kalium](https://github.com/abstractj/kalium) | NaCl/libsodium bindings for modern crypto primitives. | 218 | 2y | Apache-2.0 | +| [Keycloak](https://www.keycloak.org) | Open-source IAM with OIDC, SAML, and social login. | - | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | Square's secret management with ACLs and audit logs. | 2.6k | 2y | Apache-2.0 | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Password strength estimator using pattern matching. | 308 | 4mo | MIT | +| [OACC](http://oaccframework.org) | Fine-grained permission-based access control framework. | - | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Enterprise access management with SSO and federation. | 860 | 9d | - | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | TOTP/HOTP one-time password generation per RFC specs. | 231 | 1y | MIT | +| [pac4j](https://github.com/pac4j/pac4j) | Multi-protocol security engine for OAuth, SAML, CAS. | 2.5k | 6h | Apache-2.0 | +| [Passay](http://www.passay.org/) | Password policy enforcement with configurable rules. | - | - | - | +| [Password4j](https://github.com/Password4j/password4j) | Password hashing with Argon2, BCrypt, SCrypt, and PBKDF2. | 399 | 4mo | Apache-2.0 | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent builders for X.509, keystores, and TLS contexts. | 47 | 4y | Apache-2.0 | +| [Themis](https://github.com/cossacklabs/themis) | High-level crypto for secure messaging and storage. | 1.9k | 19h | Apache-2.0 | +| [Tink](https://github.com/google/tink) | Google's misuse-resistant crypto API with key management. | - | - | - | +| [Topaz](https://www.topaz.sh) | Authorization service with RBAC, ABAC, and relationship-based AC. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | 25.3k | 17d | -| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | 1.6k | 4y | -| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | - | - | -| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | 6.5k | 23d | -| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | 1.5k | 2d | -| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | 19 | 7y | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [FlatBuffers](https://github.com/google/flatbuffers) | Zero-copy access to serialized data without parsing. | 25.4k | 19d | Apache-2.0 | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | 10x faster than JDK serialization with drop-in replacement. | 1.6k | 2y | Apache-2.0 | +| [Fury](https://github.com/alipay/fury) | JIT-accelerated serialization with cross-language support. | - | - | - | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast, compact object graph serialization for games and caching. | 6.5k | 19d | BSD-3-Clause | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Compact binary format smaller than JSON. | 1.5k | 4d | Apache-2.0 | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serialize Java objects to PHP format for interop. | 19 | 7y | MIT | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | -| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | -| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | -| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | 7.2k | 6y | -| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Tomcat](https://tomcat.apache.org) | Reference Servlet container with virtual hosts and clustering. | - | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat with Jakarta EE (CDI, JPA, JAX-RS) baked in. | - | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Lightweight, embeddable server with HTTP/2 and WebSocket. | - | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny embeddable HTTP server in one Java file. | 7.2k | 2y | BSD-3-Clause | +| [WildFly](https://www.wildfly.org) | Full Jakarta EE server with modular architecture. (LGPL-2.1-only) | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | -| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | -| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | 706 | 4y | -| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | 65 | 8mo | -| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | 315 | 8mo | -| [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. | 1.1k | 2d | -| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | 300 | 8y | -| [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. | 781 | 2mo | -| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | 1.0k | 7mo | -| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Freemarker](https://freemarker.apache.org) | Powerful templating with macros, includes, and auto-escaping. | - | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logic-less Mustache templates with helpers. | - | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Pug/Jade template engine for concise HTML. | 706 | 3y | MIT | +| [Jamal](https://github.com/verhas/jamal) | Macro processor for Maven/Javadoc with Groovy and JShell. | 65 | 8mo | Apache-2.0 | +| [jstachio](https://github.com/jstachio/jstachio) | Compile-time Mustache with type-safe binding. | 315 | 9mo | BSD-3-Clause | +| [jte](https://github.com/casid/jte) | Fast, compiled templates with IntelliJ plugin support. | 1.1k | 4d | Apache-2.0 | +| [Jtwig](https://github.com/jtwig/jtwig) | Twig-inspired engine with inheritance and macros. | 300 | 7y | - | +| [Pebble](https://pebbletemplates.io) | Twig-like templates with inheritance, i18n, and autoescaping. | - | - | - | +| [Rocker](https://github.com/fizzed/rocker) | Type-safe templates compiling to optimized Java code. | 781 | 2mo | - | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | ANTLR's template engine for code generation. | 1.0k | 8mo | - | +| [Thymeleaf](https://www.thymeleaf.org) | Natural templates that work as HTML prototypes. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | 4.0k | 10mo | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | 427 | 2y | -| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | 174 | 18d | -| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | -| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | Fluent DSL for polling until async conditions are met. | 4.0k | 10mo | Apache-2.0 | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Test multi-threaded code with assertions from any thread. | 427 | 1y | Apache-2.0 | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | Embedded SMTP/POP3/IMAP server for email testing. (GPL-2.0-only) | - | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | HTTP service virtualization with record/playback. | 174 | 21d | Apache-2.0 | +| [Karate](https://github.com/intuit/karate) | BDD API testing with mocks, perf tests, and JSON/XML assertions. | - | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | Fluent API for testing REST services with JSON/XML validation. | 7.1k | 22d | Apache-2.0 | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Unified testing: REST, GraphQL, browser, CLI, and database. | 379 | 10d | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | -| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | -| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | -| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | -| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 12h | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Gherkin specs with step definitions in Java. | 2.8k | 3d | MIT | +| [Cukes-REST](https://github.com/ctco/cukes) | Cucumber steps for REST API testing. | 110 | 7mo | Apache-2.0 | +| [J8Spec](https://github.com/j8spec/j8spec) | Jasmine/RSpec-style specs with lambda syntax. | 48 | 3y | MIT | +| [JBehave](https://jbehave.org) | Story-driven BDD with narrative format. | - | - | - | +| [JGiven](http://jgiven.org) | Fluent BDD with readable HTML reports. | - | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Expressive specs using lambdas and natural language. | 253 | 3y | MIT | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Living documentation with Cucumber/JUnit integration. | 744 | 2d | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | -| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 5h | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | 446 | 3y | -| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | - | - | -| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | 1.1k | 6m | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | 180 | 10mo | -| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | -| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | -| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AutoParams](https://github.com/AutoParams/AutoParams) | JUnit 5 extension for automatic test parameter generation. | 368 | 3mo | MIT | +| [Beanmother](https://github.com/keepcosmos/beanmother) | YAML-based fixture factory for test objects. | 121 | 3y | Apache-2.0 | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern faker with 200+ data providers and locales. | 1.7k | 30m | Apache-2.0 | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Template-based test object builder. | 446 | 2y | Apache-2.0 | +| [jFairy](https://github.com/Devskiller/jfairy) | Realistic fake data (names, addresses, companies). | - | - | - | +| [Instancio](https://github.com/instancio/instancio) | Generate fully-populated objects with reproducible seeds. | 1.1k | 3h | Apache-2.0 | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | Repeatable randomized tests with seed control. | 180 | 10mo | Apache-2.0 | +| [Java Faker](https://github.com/DiUS/java-faker) | Ruby Faker port with extensive data types. | 4.9k | 1y | - | +| [Mockneat](https://github.com/nomemory/mockneat) | Fluent fake data API with constrained generators. | 536 | 2y | Apache-2.0 | +| [JMock](https://github.com/xcancloud/JMock) | High-performance mock data generation library. | 422 | 2mo | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 27 | 1d | -| [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. | 112 | 2d | -| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation framework and ecosystem. | 33.9k | 1h | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache JMeter](http://jmeter.apache.org) | Load testing with GUI and distributed execution. | - | - | - | +| [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) | Programmatic JMeter tests with fluent Java API. | - | - | - | +| [Arquillian](http://arquillian.org) | Integration testing with container lifecycle management. | - | - | - | +| [cdi-test](https://github.com/guhilling/cdi-test) | Lightweight CDI testing without full container. | 27 | 3d | Apache-2.0 | +| [Citrus](https://citrusframework.org) | Integration testing for HTTP, JMS, SOAP, and Kafka. | - | - | - | +| [Gatling](https://gatling.io) | Scala-based load testing with detailed HTML reports. | - | - | - | +| [JUnit](https://junit.org/junit5/) | The standard Java testing framework with extensions. | - | - | - | +| [jqwik](https://jqwik.net) | Property-based testing with shrinking on JUnit 5. | - | - | - | +| [Pact JVM](https://github.com/DiUS/pact-jvm) | Contract testing for microservices compatibility. | - | - | - | +| [PIT](http://pitest.org) | Mutation testing measuring test suite quality. | - | - | - | +| [weld-testing](https://github.com/weld/weld-testing) | CDI test extensions for JUnit 4/5 and Spock. | 112 | 5d | Apache-2.0 | +| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation for web application testing. | 33.9k | 8h | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | -| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | -| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 13h | -| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions with IDE auto-completion. | - | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Composable matchers for expressive assertions. | - | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | JSON comparison with strict/lenient modes. | - | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | JSON assertions with path ignoring and regex. | 975 | 1d | Apache-2.0 | +| [Truth](https://truth.dev) | Google's extensible assertion framework. | - | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | XML comparison with diff and XPath assertions. | 314 | 2mo | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | -| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | 421 | 16d | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | 15 | 1mo | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | 241 | 2mo | -| [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. | 73 | 7y | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | -| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | -| [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. | 8.6k | 23d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Capture stdout/stderr for assertion. | 33 | 18d | Apache-2.0 | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-style parameterized tests for JUnit. | 249 | 3d | Apache-2.0 | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extensions: environment variables, temp dirs, etc. | - | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Capture and assert log messages in tests. | 421 | 18d | Apache-2.0 | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | AssertJ-style log assertions with MDC support. | 15 | 1mo | MIT | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Verify class immutability at test time. | 241 | 3mo | Apache-2.0 | +| [pojo-tester](https://www.pojo.pl) | Auto-test equals, hashCode, toString, getters/setters. (LGPL-3.0-only) | - | - | - | +| [raml-tester](https://github.com/nidi3/raml-tester) | Validate API requests/responses against RAML specs. | 73 | 6y | Apache-2.0 | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing with inline or file-based snapshots. | 88 | 14h | Apache-2.0 | +| [Stebz](https://github.com/stebz/stebz) | Step-based test organization framework. | 17 | 3d | MIT | +| [Testcontainers](https://github.com/testcontainers/testcontainers-java) | Disposable Docker containers for DBs, browsers, and services. | 8.6k | 8d | MIT | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | -| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | -| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | -| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | 4.4k | 1y | -| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | 4.2k | 3y | -| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | -| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | 831 | 2d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [JMockit](http://jmockit.github.io) | Full mocking with expectations, verifications, and coverage. | - | - | - | +| [Mockito](https://github.com/mockito/mockito) | Clean, readable mocking with spy and argument capture. | 15.4k | 4d | MIT | +| [MockServer](https://www.mock-server.com) | HTTP/HTTPS mock server with expectation matching. | - | - | - | +| [Moco](https://github.com/dreamhead/moco) | Standalone mock server with simple JSON config. | 4.4k | 1y | MIT | +| [PowerMock](https://github.com/powermock/powermock) | Mock statics, constructors, and final classes. | 4.2k | 2y | Apache-2.0 | +| [WireMock](http://wiremock.org) | HTTP service simulator with record/playback and fault injection. | - | - | - | +| [EasyMock](https://github.com/easymock/easymock) | Record/replay mocking with nice/strict modes. | 831 | 4d | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | 37.0k | 2d | -| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | - | - | -| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | 763 | 19h | -| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | 48 | 2y | -| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | -| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | 1.3k | 6y | -| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | 48 | 23h | -| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | 1.8k | 1mo | -| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | 31 | 5d | -| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | 6.3k | 2d | -| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | 51.4k | 1d | -| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | -| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | 55 | 1mo | -| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | -| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | 2.6k | 1mo | -| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | -| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | 21 | 11mo | -| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | 1.3k | 22d | -| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | -| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | 106 | 23h | -| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | 547 | 29d | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Arthas](https://github.com/alibaba/arthas) | Production diagnostics: class decompile, trace, and profiling live. | 37.0k | 26m | Apache-2.0 | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Token bucket rate limiter with distributed support. | - | - | - | +| [cactoos](https://github.com/yegor256/cactoos) | Object-oriented primitives avoiding nulls and statics. | 763 | 1d | MIT | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generate Postman collections from annotated Java code. | 48 | 2y | Apache-2.0 | +| [CRaSH](http://www.crashub.org) | SSH shell into running JVMs for inspection. (LGPL-2.1-or-later) | - | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Data visualization and ETL with JavaFX. | 1.3k | 6y | Apache-2.0 | +| [dregex](https://github.com/marianobarrios/dregex) | DFA-based regex with set operations and linear time. | 48 | 3d | BSD-2-Clause | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader for DBs, S3, and file formats. | 1.8k | 1mo | Apache-2.0 | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Simplified file system watching wrapper. | 31 | 7d | Apache-2.0 | +| [Gephi](https://github.com/gephi/gephi) | Network graph visualization and analysis tool. (GPL-3.0-only) | 6.3k | 13h | GPL-3.0 | +| [Guava](https://github.com/google/guava) | Google's core libraries: collections, caching, I/O, and more. | 51.4k | 11h | Apache-2.0 | +| [JADE](https://jade.tilab.com) | Multi-agent system framework with FIPA compliance. (LGPL-2.0-only) | - | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | GitHub Action for auto-publishing Javadoc. | 55 | 1mo | Apache-2.0 | +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Unified diff, patch, and merge utilities. | - | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Readable regex builder with fluent API. | 2.6k | 9d | MIT | +| [JGit](https://www.eclipse.org/jgit/) | Pure Java Git implementation used by Eclipse. | - | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Kotlin-style scope functions (let, also, run) for Java. | 21 | 11mo | Apache-2.0 | +| [minio-java](https://github.com/minio/minio-java) | S3-compatible object storage client. | 1.3k | 25d | Apache-2.0 | +| [Protégé](https://protege.stanford.edu) | Ontology editor for OWL and knowledge graphs. | - | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Semantic versioning parsing and comparison. | 106 | 1d | MIT | +| [Underscore-java](https://github.com/javadev/underscore-java) | Functional utilities: map, filter, reduce, and more. | 547 | 1mo | MIT | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | 3.3k | 4y | -| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | 6.5k | 14d | -| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | 6.6k | 10h | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [jabba](https://github.com/shyiko/jabba) | Cross-platform JDK manager with remote install support. | 3.3k | 1y | - | +| [jenv](https://github.com/jenv/jenv) | Project-level Java version switching via shell. | 6.5k | 16d | MIT | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Manage JDKs and tools (Maven, Gradle) with one CLI. | 6.6k | 2d | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | -| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | 4.6k | 5y | -| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | -| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | -| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | 11.7k | 6mo | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Nutch](https://nutch.apache.org) | Hadoop-based crawler with Solr/Elasticsearch integration. | - | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Multi-threaded crawler with depth and politeness control. | 4.6k | 4y | Apache-2.0 | +| [jsoup](https://jsoup.org) | HTML parsing with CSS selectors and DOM manipulation. | - | - | - | +| [StormCrawler](http://stormcrawler.net) | Real-time crawler on Apache Storm for scale. | - | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Modular crawler with XPath/CSS extraction and pipelines. | 11.7k | 20d | Apache-2.0 | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | -| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | -| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | -| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | 5.9k | 11mo | -| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | -| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | -| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | -| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | -| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | -| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | -| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | -| [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. | 868 | 6d | -| [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. | - | - | -| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ActiveJ](https://activej.io) | Async-first framework with 1M+ req/sec on single core. | - | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-based framework with live reload. | - | - | - | +| [Apache Wicket](https://wicket.apache.org) | Stateful component model with type-safe Java. | - | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight MVC framework with Netty backend. | 5.9k | 25d | Apache-2.0 | +| [Bootique](https://bootique.io) | Modular app framework with config and metrics. | - | - | - | +| [Firefly](http://www.fireflysource.com) | Async framework with HTTP/2 and WebSocket. | - | - | - | +| [Javalin](https://javalin.io/) | Simple REST API framework on Jetty. | - | - | - | +| [Jooby](http://www.jooby.org) | Modular framework with Netty, Jetty, or Undertow. | - | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack with ORM, templates, and testing. | - | - | - | +| [Pippo](http://www.pippo.ro) | Micro-framework with routing, templates, and i18n. | - | - | - | +| [Play](https://www.playframework.com) | Reactive framework with hot reload for Scala/Java. | - | - | - | +| [PrimeFaces](https://www.primefaces.org) | JSF components with 100+ UI widgets. | - | - | - | +| [Ratpack](https://ratpack.io) | Non-blocking HTTP with RxJava and Groovy DSL. | - | - | - | +| [Takes](https://github.com/yegor256/takes) | Truly OOP web framework without annotations. | 868 | 7h | MIT | +| [Vaadin](https://vaadin.com) | Build web UIs in Java with optional React components. | - | - | - | +| [WebForms Core](https://github.com/webforms-core) | Server-side HTML tag management. | - | - | - | -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | -| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | 9.0k | 1d | -| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cadence](https://cadenceworkflow.io) | Uber's durable execution platform for long-running workflows. | - | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | BPMN 2.0, CMMN, and DMN engine with REST API. | 9.0k | 1d | Apache-2.0 | +| [Temporal](https://temporal.io) | Durable execution with gRPC; Cadence successor with cloud offering. | - | - | - | diff --git a/.tmp/github-stats.txt b/.tmp/github-stats.txt index fe528a94..8af4796b 100644 --- a/.tmp/github-stats.txt +++ b/.tmp/github-stats.txt @@ -1,3719 +1,4469 @@ REPO:TNG/ArchUnit NAME:ArchUnit STARS:3.6k -COMMIT:23h +COMMIT:3d +LICENSE:Apache-2.0 REPO:xmolecules/jmolecules NAME:jMolecules STARS:1.5k COMMIT:1mo +LICENSE:Apache-2.0 REPO:langchain4j/langchain4j NAME:LangChain4j STARS:10.3k -COMMIT:14h +COMMIT:18h +LICENSE:Apache-2.0 REPO:modelcontextprotocol/java-sdk NAME:MCP Java SDK -STARS:3.0k -COMMIT:23d +STARS:3.1k +COMMIT:1d +LICENSE:MIT REPO:sashirestela/simple-openai NAME:simple-openai -STARS:370 +STARS:368 COMMIT:3mo +LICENSE:MIT REPO: NAME:Spring AI STARS:- COMMIT:- +LICENSE:- REPO:doov-io/doov NAME:dOOv STARS:- COMMIT:- +LICENSE:- REPO:jmapper-framework/jmapper-core NAME:JMapper -STARS:241 +STARS:242 COMMIT:2y +LICENSE:Apache-2.0 REPO:mapstruct/mapstruct NAME:MapStruct STARS:7.6k -COMMIT:6d +COMMIT:9d +LICENSE:- REPO:modelmapper/modelmapper NAME:ModelMapper STARS:2.3k -COMMIT:1mo +COMMIT:2mo +LICENSE:Apache-2.0 REPO:orika-mapper/orika NAME:Orika STARS:1.3k COMMIT:1y +LICENSE:Apache-2.0 REPO:remondis-it/remap NAME:reMap STARS:126 -COMMIT:5mo +COMMIT:2mo +LICENSE:Apache-2.0 REPO:xebia-france/selma NAME:Selma STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Maven STARS:- COMMIT:- +LICENSE:- REPO: NAME:Bazel STARS:- COMMIT:- +LICENSE:- REPO:facebook/buck2 NAME:Buck2 STARS:4.2k -COMMIT:54m +COMMIT:7h +LICENSE:Apache-2.0 REPO: NAME:Gradle STARS:- COMMIT:- +LICENSE:- REPO: NAME:ASM STARS:- COMMIT:- +LICENSE:- REPO: NAME:Byte Buddy STARS:- COMMIT:- +LICENSE:- REPO:Konloch/bytecode-viewer NAME:bytecode-viewer STARS:15.4k -COMMIT:1d +COMMIT:3d +LICENSE:GPL-3.0 REPO: NAME:Byteman STARS:- COMMIT:- +LICENSE:- REPO:cglib/cglib NAME:cglib STARS:4.9k COMMIT:1y +LICENSE:Apache-2.0 REPO:jboss-javassist/javassist NAME:Javassist STARS:4.2k COMMIT:1y +LICENSE:- REPO:cojen/maker NAME:Maker STARS:65 -COMMIT:13d +COMMIT:1d +LICENSE:Apache-2.0 REPO:SpongePowered/Mixin NAME:Mixin STARS:1.7k COMMIT:1y +LICENSE:MIT REPO:nicolasmanic/perses NAME:Perses STARS:- COMMIT:- +LICENSE:- REPO: NAME:Recaf STARS:- COMMIT:- +LICENSE:- REPO: NAME:cache2k STARS:- COMMIT:- +LICENSE:- REPO:ben-manes/caffeine NAME:Caffeine STARS:17.4k -COMMIT:2d +COMMIT:1d +LICENSE:Apache-2.0 REPO: NAME:Ehcache STARS:- COMMIT:- +LICENSE:- REPO: NAME:Infinispan STARS:- COMMIT:- +LICENSE:- REPO: NAME:Airline STARS:- COMMIT:- +LICENSE:- REPO: NAME:JCommander STARS:- COMMIT:- +LICENSE:- REPO:jbock-java/jbock NAME:jbock -STARS:88 -COMMIT:2d +STARS:89 +COMMIT:4d +LICENSE:MIT REPO:jline/jline3 NAME:JLine STARS:1.7k -COMMIT:22d +COMMIT:4d +LICENSE:- REPO: NAME:picocli STARS:- COMMIT:- +LICENSE:- REPO:fusesource/jansi NAME:Jansi STARS:1.2k COMMIT:8mo +LICENSE:Apache-2.0 REPO: NAME:Jexer STARS:- COMMIT:- +LICENSE:- REPO:beryx/text-io NAME:Text-IO STARS:351 -COMMIT:5y +COMMIT:2y +LICENSE:Apache-2.0 REPO:mabe02/lanterna NAME:Lanterna STARS:2.5k COMMIT:5mo +LICENSE:LGPL-3.0 REPO:aws/aws-sdk-java NAME:AWS SDK for Java STARS:4.2k -COMMIT:2d +COMMIT:4d +LICENSE:Apache-2.0 REPO:googleapis/google-cloud-java NAME:Google Cloud Client Libraries STARS:2.0k -COMMIT:16d +COMMIT:8h +LICENSE:Apache-2.0 REPO:checkstyle/checkstyle NAME:Checkstyle STARS:8.8k -COMMIT:2h +COMMIT:now +LICENSE:LGPL-2.1 REPO:google/error-prone NAME:Error Prone STARS:7.1k -COMMIT:8h +COMMIT:1d +LICENSE:Apache-2.0 REPO:PicnicSupermarket/error-prone-support NAME:Error Prone Support STARS:232 -COMMIT:1d +COMMIT:9h +LICENSE:MIT REPO:facebook/infer NAME:Infer STARS:15.5k -COMMIT:1d +COMMIT:4h +LICENSE:MIT REPO: NAME:jQAssistant STARS:- COMMIT:- +LICENSE:- REPO:uber/NullAway NAME:NullAway STARS:4.0k -COMMIT:10h +COMMIT:15h +LICENSE:MIT REPO:pmd/pmd NAME:PMD STARS:5.3k -COMMIT:18h +COMMIT:3d +LICENSE:- REPO:alibaba/p3c NAME:p3c STARS:30.8k -COMMIT:3y +COMMIT:1y +LICENSE:Apache-2.0 REPO:jimbethancourt/RefactorFirst NAME:RefactorFirst STARS:- COMMIT:- +LICENSE:- REPO:SonarSource/sonar-java NAME:SonarJava STARS:1.2k -COMMIT:14h +COMMIT:1d +LICENSE:- REPO:INRIA/spoon NAME:Spoon STARS:1.9k -COMMIT:1d +COMMIT:4h +LICENSE:- REPO:spotbugs/spotbugs NAME:Spotbugs STARS:3.8k -COMMIT:3d +COMMIT:9h +LICENSE:LGPL-2.1 REPO: NAME:Clover STARS:- COMMIT:- +LICENSE:- REPO: NAME:Cobertura STARS:- COMMIT:- +LICENSE:- REPO: NAME:JaCoCo STARS:- COMMIT:- +LICENSE:- REPO:sviperll/adt4j NAME:ADT4J STARS:147 COMMIT:7y +LICENSE:BSD-3-Clause REPO:google/auto NAME:Auto STARS:10.5k -COMMIT:11h +COMMIT:2d +LICENSE:Apache-2.0 REPO: NAME:Avaje Http Server STARS:- COMMIT:- +LICENSE:- REPO:Marcel091004/EasyEntityToDTO NAME:EasyEntityToDTO STARS:6 COMMIT:7mo +LICENSE:MIT REPO:inferred/FreeBuilder NAME:FreeBuilder STARS:833 COMMIT:1y +LICENSE:Apache-2.0 REPO:verhas/javageci NAME:Geci STARS:135 COMMIT:3y +LICENSE:Apache-2.0 REPO: NAME:Immutables STARS:- COMMIT:- +LICENSE:- REPO:square/javapoet NAME:JavaPoet STARS:10.9k COMMIT:1y +LICENSE:Apache-2.0 REPO:jhipster/generator-jhipster NAME:JHipster STARS:22.3k -COMMIT:3h +COMMIT:1h +LICENSE:Apache-2.0 REPO: NAME:Joda-Beans STARS:- COMMIT:- +LICENSE:- REPO:bcaillard/jspecify-packageinfo-generator NAME:JSpecify Package-Info Generator STARS:1 COMMIT:1mo +LICENSE:Apache-2.0 REPO: NAME:Lombok STARS:- COMMIT:- +LICENSE:- REPO:Randgalt/record-builder NAME:Record-Builder STARS:900 COMMIT:1mo +LICENSE:Apache-2.0 REPO: NAME:Telosys STARS:- COMMIT:- +LICENSE:- REPO: NAME:ANTLR STARS:- COMMIT:- +LICENSE:- REPO: NAME:JavaCC STARS:- COMMIT:- +LICENSE:- REPO: NAME:JFlex STARS:- COMMIT:- +LICENSE:- REPO: NAME:BoofCV STARS:- COMMIT:- +LICENSE:- REPO: NAME:ImageJ STARS:- COMMIT:- +LICENSE:- REPO:bytedeco/javacv NAME:JavaCV STARS:8.3k -COMMIT:10d +COMMIT:13d +LICENSE:- REPO: NAME:avaje config STARS:- COMMIT:- +LICENSE:- REPO:line/centraldogma NAME:centraldogma STARS:654 -COMMIT:5h +COMMIT:2d +LICENSE:Apache-2.0 REPO:lightbend/config NAME:config STARS:6.3k -COMMIT:3mo +COMMIT:4mo +LICENSE:- REPO:SpongePowered/Configurate NAME:Configurate STARS:449 -COMMIT:3mo +COMMIT:21h +LICENSE:Apache-2.0 REPO: NAME:Curator Framework STARS:- COMMIT:- +LICENSE:- REPO:shyiko/dotenv NAME:dotenv STARS:50 COMMIT:7y +LICENSE:- REPO:joel-jeremy/externalized-properties NAME:Externalized Properties STARS:32 -COMMIT:3mo +COMMIT:29d +LICENSE:Apache-2.0 REPO:gestalt-config/gestalt NAME:Gestalt STARS:94 -COMMIT:1mo +COMMIT:14h +LICENSE:Apache-2.0 REPO: NAME:ini4j STARS:- COMMIT:- +LICENSE:- REPO:mariomac/kaconf NAME:KAConf STARS:61 COMMIT:3y +LICENSE:Apache-2.0 REPO: NAME:microconfig STARS:- COMMIT:- +LICENSE:- REPO:lviggiano/owner NAME:owner STARS:- COMMIT:- +LICENSE:- REPO: NAME:Choco STARS:- COMMIT:- +LICENSE:- REPO:radsz/jacop NAME:JaCoP STARS:231 COMMIT:2y +LICENSE:- REPO: NAME:OptaPlanner STARS:- COMMIT:- +LICENSE:- REPO: NAME:Timefold STARS:- COMMIT:- +LICENSE:- REPO:osiegmar/FastCSV NAME:FastCSV -STARS:656 -COMMIT:19d +STARS:657 +COMMIT:21d +LICENSE:MIT REPO:FasterXML/jackson-dataformat-csv NAME:jackson-dataformat-csv STARS:194 COMMIT:8y +LICENSE:- REPO: NAME:opencsv STARS:- COMMIT:- +LICENSE:- REPO: NAME:Super CSV STARS:- COMMIT:- +LICENSE:- REPO:uniVocity/univocity-parsers NAME:uniVocity-parsers STARS:931 -COMMIT:4y +COMMIT:1y +LICENSE:- REPO: NAME:Apache Avro STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Orc STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Parquet STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Thrift STARS:- COMMIT:- +LICENSE:- REPO:bulldog2011/bigqueue NAME:Big Queue -STARS:567 -COMMIT:9y +STARS:568 +COMMIT:3y +LICENSE:Apache-2.0 REPO:LiveRamp/HyperMinHash-java NAME:HyperMinHash-java STARS:N/A COMMIT:N/A +LICENSE:- REPO:hrldcpr/pcollections NAME:Persistent Collection STARS:784 COMMIT:5mo +LICENSE:- REPO:protocolbuffers/protobuf NAME:Protobuf -STARS:70.2k -COMMIT:2h +STARS:70.3k +COMMIT:7m +LICENSE:- REPO:RoaringBitmap/RoaringBitmap NAME:RoaringBitmap STARS:3.8k -COMMIT:23d +COMMIT:25d +LICENSE:Apache-2.0 REPO:real-logic/simple-binary-encoding NAME:SBE STARS:- COMMIT:- +LICENSE:- REPO:square/tape NAME:Tape STARS:2.5k -COMMIT:7y +COMMIT:2y +LICENSE:Apache-2.0 REPO:square/wire NAME:Wire STARS:4.4k COMMIT:2d +LICENSE:Apache-2.0 REPO: NAME:Apache Calcite STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Drill STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Phoenix STARS:- COMMIT:- +LICENSE:- REPO:arangodb/arangodb-java-driver NAME:ArangoDB STARS:205 -COMMIT:2d +COMMIT:1d +LICENSE:Apache-2.0 REPO:OpenHFT/Chronicle-Map NAME:Chronicle Map STARS:2.9k -COMMIT:16d +COMMIT:1d +LICENSE:Apache-2.0 REPO: NAME:Debezium STARS:- COMMIT:- +LICENSE:- REPO: NAME:druid STARS:- COMMIT:- +LICENSE:- REPO:eXist-db/exist NAME:eXist STARS:457 COMMIT:1d +LICENSE:LGPL-2.1 REPO:vladmihalcea/flexy-pool NAME:FlexyPool STARS:1.2k COMMIT:1mo +LICENSE:Apache-2.0 REPO: NAME:Flyway STARS:- COMMIT:- +LICENSE:- REPO: NAME:H2 STARS:- COMMIT:- +LICENSE:- REPO:brettwooldridge/HikariCP NAME:HikariCP STARS:20.9k COMMIT:2mo +LICENSE:Apache-2.0 REPO: NAME:HSQLDB STARS:- COMMIT:- +LICENSE:- REPO: NAME:JDBI STARS:- COMMIT:- +LICENSE:- REPO:xetorthio/jedis NAME:Jedis STARS:- COMMIT:- +LICENSE:- REPO:searchbox-io/Jest NAME:Jest STARS:2.1k -COMMIT:4y +COMMIT:2y +LICENSE:Apache-2.0 REPO:justinsb/jetcd NAME:jetcd STARS:140 -COMMIT:11y +COMMIT:2y +LICENSE:Apache-2.0 REPO:my2iu/Jinq NAME:Jinq STARS:663 COMMIT:7mo +LICENSE:- REPO: NAME:jOOQ STARS:- COMMIT:- +LICENSE:- REPO:Meituan-Dianping/Leaf NAME:Leaf STARS:6.7k -COMMIT:5y +COMMIT:2y +LICENSE:Apache-2.0 REPO: NAME:Lettuce STARS:- COMMIT:- +LICENSE:- REPO: NAME:Liquibase STARS:- COMMIT:- +LICENSE:- REPO: NAME:MapDB STARS:- COMMIT:- +LICENSE:- REPO:vorburger/MariaDB4j NAME:MariaDB4j STARS:15 -COMMIT:5d +COMMIT:7d +LICENSE:Apache-2.0 REPO:arkanovicz/modality NAME:Modality STARS:15 COMMIT:1mo +LICENSE:Apache-2.0 REPO:OpenIdentityPlatform/OpenDJ NAME:OpenDJ STARS:422 -COMMIT:27d +COMMIT:1mo +LICENSE:- REPO: NAME:Querydsl STARS:- COMMIT:- +LICENSE:- REPO:querystream/querystream NAME:QueryStream STARS:20 COMMIT:8mo +LICENSE:Apache-2.0 REPO:questdb/questdb NAME:QuestDB STARS:16.5k -COMMIT:10h +COMMIT:8m +LICENSE:Apache-2.0 REPO:realm/realm-java NAME:Realm STARS:11.5k COMMIT:3mo +LICENSE:Apache-2.0 REPO:redisson/redisson NAME:Redisson STARS:24.2k -COMMIT:2d +COMMIT:5d +LICENSE:Apache-2.0 REPO:requery/requery NAME:requery STARS:3.1k -COMMIT:5y +COMMIT:3y +LICENSE:Apache-2.0 REPO:speedment/speedment NAME:Speedment STARS:2.1k COMMIT:2y +LICENSE:Apache-2.0 REPO:mhewedy/spring-data-jpa-mongodb-expressions NAME:Spring Data JPA MongoDB Expressions STARS:101 -COMMIT:19d +COMMIT:21d +LICENSE:Apache-2.0 REPO: NAME:Trino STARS:- COMMIT:- +LICENSE:- REPO: NAME:Vibur DBCP STARS:- COMMIT:- +LICENSE:- REPO:JetBrains/xodus NAME:Xodus STARS:1.3k -COMMIT:3mo +COMMIT:1mo +LICENSE:Apache-2.0 REPO:Ahoo-Wang/CosId NAME:CosId STARS:599 -COMMIT:1d +COMMIT:7h +LICENSE:Apache-2.0 REPO:apache/shardingsphere NAME:Apache ShardingSphere STARS:20.6k COMMIT:1h +LICENSE:Apache-2.0 REPO:ical4j/ical4j NAME:iCal4j STARS:821 -COMMIT:9d +COMMIT:11d +LICENSE:BSD-3-Clause REPO:svendiedrichsen/jollyday NAME:Jollyday STARS:192 -COMMIT:3y +COMMIT:1y +LICENSE:- REPO:ThreeTen/threeten-extra NAME:ThreeTen-Extra STARS:420 COMMIT:4mo +LICENSE:BSD-3-Clause REPO:MenoData/Time4J NAME:Time4J STARS:470 COMMIT:1y +LICENSE:LGPL-2.1 + +REPO:tronprotocol/java-tron +NAME:java-tron +STARS:4.0k +COMMIT:11d +LICENSE:LGPL-3.0 REPO: NAME:Apache DeltaSpike STARS:- COMMIT:- +LICENSE:- REPO: NAME:Avaje Inject STARS:- COMMIT:- +LICENSE:- REPO: NAME:Dagger STARS:- COMMIT:- +LICENSE:- REPO:zsoltherpai/feather NAME:Feather STARS:362 -COMMIT:8y +COMMIT:7y +LICENSE:- REPO:Netflix/governator NAME:Governator STARS:826 -COMMIT:22d +COMMIT:24d +LICENSE:Apache-2.0 REPO:google/guice NAME:Guice STARS:12.7k COMMIT:1mo +LICENSE:Apache-2.0 REPO: NAME:HK2 STARS:- COMMIT:- +LICENSE:- REPO:vanillasource/jaywire NAME:JayWire STARS:60 -COMMIT:5y +COMMIT:2y +LICENSE:- REPO: NAME:AspectJ STARS:- COMMIT:- +LICENSE:- REPO: NAME:DCEVM STARS:- COMMIT:- +LICENSE:- REPO:zalando/faux-pas NAME:Faux Pas STARS:140 COMMIT:6mo +LICENSE:MIT REPO:HotswapProjects/HotswapAgent NAME:HotswapAgent STARS:2.5k -COMMIT:19d +COMMIT:22d +LICENSE:GPL-2.0 REPO:javaparser/javaparser NAME:JavaParser STARS:6.0k -COMMIT:6h +COMMIT:16h +LICENSE:- REPO:javaparser/javasymbolsolver NAME:JavaSymbolSolver STARS:296 COMMIT:7y +LICENSE:Apache-2.0 REPO:manifold-systems/manifold NAME:Manifold STARS:2.7k -COMMIT:7d +COMMIT:9d +LICENSE:Apache-2.0 REPO: NAME:NoException STARS:- COMMIT:- +LICENSE:- REPO:rainerhahnekamp/sneakythrow NAME:SneakyThrow STARS:79 COMMIT:6y +LICENSE:MIT REPO: NAME:Tail STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Geode STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Storm STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache ZooKeeper STARS:- COMMIT:- +LICENSE:- REPO: NAME:Atomix STARS:- COMMIT:- +LICENSE:- REPO: NAME:Axon STARS:- COMMIT:- +LICENSE:- REPO:mtakaki/dropwizard-circuitbreaker NAME:Dropwizard Circuit Breaker STARS:45 -COMMIT:6y +COMMIT:6mo +LICENSE:GPL-2.0 REPO:jhalterman/failsafe NAME:Failsafe STARS:- COMMIT:- +LICENSE:- REPO:hazelcast/hazelcast NAME:Hazelcast -STARS:6.5k -COMMIT:2h +STARS:6.6k +COMMIT:2d +LICENSE:- REPO: NAME:JGroups STARS:- COMMIT:- +LICENSE:- REPO: NAME:Quasar STARS:- COMMIT:- +LICENSE:- REPO:resilience4j/resilience4j NAME:resilience4j STARS:10.5k -COMMIT:6d +COMMIT:8d +LICENSE:Apache-2.0 REPO:OpenIdentityPlatform/OpenIG NAME:OpenIG STARS:86 -COMMIT:22d +COMMIT:25d +LICENSE:- REPO:scalecube/scalecube-services NAME:ScaleCube Services STARS:636 -COMMIT:10h +COMMIT:2d +LICENSE:Apache-2.0 REPO:Netflix/zuul NAME:Zuul STARS:14.0k -COMMIT:2d +COMMIT:19h +LICENSE:Apache-2.0 REPO: NAME:Atomikos STARS:- COMMIT:- +LICENSE:- REPO:bitronix/btm NAME:Bitronix STARS:- COMMIT:- +LICENSE:- REPO: NAME:Narayana STARS:- COMMIT:- +LICENSE:- REPO:seata/seata NAME:Seata STARS:- COMMIT:- +LICENSE:- REPO:artipie/artipie NAME:Artipie STARS:649 -COMMIT:10mo +COMMIT:3mo +LICENSE:MIT REPO:puniverse/capsule NAME:Capsule STARS:1.2k -COMMIT:9y +COMMIT:3y +LICENSE:EPL-1.0 REPO: NAME:Central Repository STARS:- COMMIT:- +LICENSE:- REPO:threerings/getdown NAME:Getdown -STARS:526 +STARS:525 COMMIT:1y +LICENSE:- REPO: NAME:IzPack STARS:- COMMIT:- +LICENSE:- REPO:fvarrui/JavaPackager NAME:JavaPackager STARS:- COMMIT:- +LICENSE:- REPO: NAME:jDeploy STARS:- COMMIT:- +LICENSE:- REPO:AdoptOpenJDK/jlink.online NAME:jlink.online STARS:50 COMMIT:1y +LICENSE:Apache-2.0 REPO:libgdx/packr NAME:packr STARS:2.6k COMMIT:1y +LICENSE:Apache-2.0 REPO:brianm/really-executable-jars-maven-plugin NAME:really-executable-jars-maven-plugin STARS:133 COMMIT:2y +LICENSE:Apache-2.0 REPO: NAME:Apache POI STARS:- COMMIT:- +LICENSE:- REPO: NAME:documents4j STARS:- COMMIT:- +LICENSE:- REPO: NAME:docx4j STARS:- COMMIT:- +LICENSE:- REPO:dhatim/fastexcel NAME:fastexcel STARS:855 -COMMIT:22d +COMMIT:4d +LICENSE:- REPO:creditdatamw/zerocell NAME:zerocell STARS:81 COMMIT:1y +LICENSE:Apache-2.0 REPO:cassandre-tech/cassandre-trading-bot NAME:Cassandre STARS:650 -COMMIT:1y +COMMIT:10mo +LICENSE:GPL-3.0 REPO:paritytrading/parity NAME:Parity STARS:501 COMMIT:3y +LICENSE:Apache-2.0 REPO:paritytrading/philadelphia NAME:Philadelphia STARS:339 -COMMIT:12d +COMMIT:14d +LICENSE:Apache-2.0 REPO:square/connect-java-sdk NAME:Square STARS:40 -COMMIT:6y +COMMIT:4y +LICENSE:Apache-2.0 REPO:stripe/stripe-java NAME:Stripe -STARS:942 -COMMIT:1d +STARS:944 +COMMIT:2d +LICENSE:MIT REPO:ta4j/ta4j NAME:ta4j STARS:2.3k -COMMIT:1d +COMMIT:2d +LICENSE:- REPO:ksen007/janala2 NAME:CATG STARS:N/A COMMIT:N/A +LICENSE:- REPO: NAME:Checker Framework STARS:- COMMIT:- +LICENSE:- REPO: NAME:Daikon STARS:- COMMIT:- +LICENSE:- REPO:javapathfinder/jpf-core NAME:Java Path Finder (JPF) STARS:593 -COMMIT:22d +COMMIT:25d +LICENSE:- REPO: NAME:JMLOK 2.0 STARS:- COMMIT:- +LICENSE:- REPO: NAME:KeY STARS:- COMMIT:- +LICENSE:- REPO: NAME:OpenJML STARS:- COMMIT:- +LICENSE:- REPO:aol/cyclops NAME:Cyclops STARS:1.3k -COMMIT:3y +COMMIT:2y +LICENSE:Apache-2.0 REPO:derive4j/derive4j NAME:derive4j STARS:577 -COMMIT:4y +COMMIT:3y +LICENSE:- REPO: NAME:Fugue STARS:- COMMIT:- +LICENSE:- REPO: NAME:Functional Java STARS:- COMMIT:- +LICENSE:- REPO:jOOQ/jOOL NAME:jOOλ STARS:2.1k COMMIT:1y +LICENSE:Apache-2.0 REPO:jhspetersson/packrat NAME:Packrat STARS:24 -COMMIT:3d +COMMIT:6d +LICENSE:Apache-2.0 REPO:poetix/protonpack NAME:protonpack STARS:485 COMMIT:1y +LICENSE:MIT REPO:amaembo/streamex NAME:StreamEx STARS:2.3k COMMIT:4mo +LICENSE:Apache-2.0 REPO: NAME:Vavr STARS:- COMMIT:- +LICENSE:- REPO: NAME:FXGL STARS:- COMMIT:- +LICENSE:- REPO: NAME:JBox2D STARS:- COMMIT:- +LICENSE:- REPO: NAME:jMonkeyEngine STARS:- COMMIT:- +LICENSE:- REPO: NAME:libGDX STARS:- COMMIT:- +LICENSE:- REPO: NAME:Litiengine STARS:- COMMIT:- +LICENSE:- REPO: NAME:LWJGL STARS:- COMMIT:- +LICENSE:- REPO: NAME:Mini2Dx STARS:- COMMIT:- +LICENSE:- REPO:xzripper/Void2D NAME:Void2D STARS:N/A COMMIT:N/A +LICENSE:- REPO:chuigda/vulkan4j NAME:vulkan4j STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache SIS STARS:- COMMIT:- +LICENSE:- REPO:davidmoten/geo NAME:Geo STARS:431 -COMMIT:16d +COMMIT:3d +LICENSE:Apache-2.0 REPO: NAME:GeoTools STARS:- COMMIT:- +LICENSE:- REPO:graphhopper/graphhopper NAME:GraphHopper STARS:6.2k -COMMIT:2d +COMMIT:1d +LICENSE:Apache-2.0 REPO: NAME:H2GIS STARS:- COMMIT:- +LICENSE:- REPO: NAME:Jgeohash STARS:- COMMIT:- +LICENSE:- REPO:mapsforge/mapsforge NAME:Mapsforge STARS:1.3k -COMMIT:1d +COMMIT:4d +LICENSE:LGPL-3.0 REPO:locationtech/spatial4j NAME:Spatial4j -STARS:955 +STARS:954 COMMIT:7mo +LICENSE:- REPO: NAME:JavaFX STARS:- COMMIT:- +LICENSE:- REPO: NAME:Scene Builder STARS:- COMMIT:- +LICENSE:- REPO:reportmill/SnapKit NAME:SnapKit STARS:310 -COMMIT:16h +COMMIT:12h +LICENSE:- REPO: NAME:SWT STARS:- COMMIT:- +LICENSE:- REPO:real-logic/Agrona NAME:Agrona STARS:- COMMIT:- +LICENSE:- REPO: NAME:Disruptor STARS:- COMMIT:- +LICENSE:- REPO:eclipse/eclipse-collections NAME:Eclipse Collections STARS:- COMMIT:- +LICENSE:- REPO: NAME:fastutil STARS:- COMMIT:- +LICENSE:- REPO: NAME:HPPC STARS:- COMMIT:- +LICENSE:- REPO:JCTools/JCTools NAME:JCTools STARS:3.8k COMMIT:1y +LICENSE:Apache-2.0 REPO:leventov/Koloboke NAME:Koloboke STARS:1.0k -COMMIT:9y +COMMIT:8y +LICENSE:- REPO: NAME:Apache HttpComponents STARS:- COMMIT:- +LICENSE:- REPO:AsyncHttpClient/async-http-client NAME:Async Http Client STARS:6.4k -COMMIT:7d +COMMIT:10d +LICENSE:- REPO: NAME:Avaje Http Client STARS:- COMMIT:- +LICENSE:- REPO:OpenFeign/feign NAME:Feign STARS:9.8k -COMMIT:1h +COMMIT:2d +LICENSE:Apache-2.0 REPO:googleapis/google-http-java-client NAME:Google HTTP Client STARS:1.4k -COMMIT:19d +COMMIT:21d +LICENSE:Apache-2.0 REPO:mizosoft/methanol NAME:methanol STARS:286 -COMMIT:17d +COMMIT:19d +LICENSE:MIT REPO: NAME:Retrofit STARS:- COMMIT:- +LICENSE:- REPO:Netflix/ribbon NAME:Ribbon STARS:4.6k -COMMIT:22d +COMMIT:24d +LICENSE:Apache-2.0 REPO:zalando/riptide NAME:Riptide -STARS:327 -COMMIT:4mo +STARS:329 +COMMIT:19h +LICENSE:MIT REPO:Kong/unirest-java NAME:unirest-java STARS:2.7k COMMIT:1mo +LICENSE:MIT REPO:blackdoor/hate NAME:hate STARS:25 COMMIT:2y +LICENSE:MIT REPO:jsonld-java/jsonld-java NAME:JSON-LD STARS:386 COMMIT:2y +LICENSE:BSD-3-Clause REPO:eserating-chwy/siren4j NAME:Siren4J STARS:28 -COMMIT:8y +COMMIT:1y +LICENSE:MIT REPO:spring-projects/spring-hateoas NAME:Spring HATEOAS STARS:1.1k -COMMIT:27d +COMMIT:25d +LICENSE:Apache-2.0 REPO: NAME:Eclipse STARS:- COMMIT:- +LICENSE:- REPO: NAME:jGRASP STARS:- COMMIT:- +LICENSE:- REPO: NAME:NetBeans STARS:- COMMIT:- +LICENSE:- REPO: NAME:SnapCode STARS:- COMMIT:- +LICENSE:- REPO: NAME:Visual Studio Code STARS:- COMMIT:- +LICENSE:- REPO:vws-java/Barcode-Lib4J NAME:Barcode-Lib4J STARS:9 -COMMIT:15d +COMMIT:17d +LICENSE:Apache-2.0 REPO:rkalla/imgscalr NAME:Imgscalr STARS:1.2k COMMIT:2y +LICENSE:Apache-2.0 REPO:nguyenq/tess4j NAME:Tess4J STARS:1.7k -COMMIT:11d +COMMIT:13d +LICENSE:Apache-2.0 REPO:coobird/thumbnailator NAME:Thumbnailator STARS:5.4k -COMMIT:5d +COMMIT:1d +LICENSE:MIT REPO:haraldk/TwelveMonkeys NAME:TwelveMonkeys STARS:2.1k -COMMIT:21h +COMMIT:3d +LICENSE:BSD-3-Clause REPO:zxing/zxing NAME:ZXing STARS:33.8k COMMIT:1mo +LICENSE:Apache-2.0 REPO:romankh3/image-comparison NAME:image-comparison STARS:385 COMMIT:7mo +LICENSE:Apache-2.0 REPO:lopcode/vips-ffm NAME:vips-ffm STARS:98 -COMMIT:8d +COMMIT:10d +LICENSE:Apache-2.0 REPO: NAME:scrimage STARS:- COMMIT:- +LICENSE:- REPO:classgraph/classgraph NAME:ClassGraph STARS:3.0k -COMMIT:2mo +COMMIT:3mo +LICENSE:MIT REPO:jOOQ/jOOR NAME:jOOR STARS:2.8k COMMIT:1y +LICENSE:Apache-2.0 REPO: NAME:Mirror STARS:- COMMIT:- +LICENSE:- REPO: NAME:Objenesis STARS:- COMMIT:- +LICENSE:- REPO:EsotericSoftware/reflectasm NAME:ReflectASM STARS:1.5k COMMIT:7mo +LICENSE:BSD-3-Clause REPO:ronmamo/reflections NAME:Reflections STARS:4.8k -COMMIT:2y +COMMIT:1y +LICENSE:WTFPL REPO:jobrunr/jobrunr NAME:JobRunr STARS:2.8k -COMMIT:2d +COMMIT:1d +LICENSE:- REPO:quartz-scheduler/quartz NAME:Quartz STARS:6.7k -COMMIT:1mo +COMMIT:3d +LICENSE:Apache-2.0 REPO:knowm/Sundial NAME:Sundial STARS:276 COMMIT:1y +LICENSE:Apache-2.0 REPO:Coreoz/Wisp NAME:Wisp STARS:141 COMMIT:7mo +LICENSE:Apache-2.0 REPO:kagkarlsson/db-scheduler NAME:db-scheduler STARS:1.5k -COMMIT:1d +COMMIT:3d +LICENSE:Apache-2.0 REPO:j-easy/easy-batch NAME:easy-batch STARS:629 -COMMIT:4y +COMMIT:2y +LICENSE:MIT REPO:lukas-krecan/ShedLock NAME:shedlock STARS:4.1k -COMMIT:9h +COMMIT:16h +LICENSE:Apache-2.0 REPO: NAME:Avaje Jsonb STARS:- COMMIT:- +LICENSE:- REPO:ngs-doo/dsl-json NAME:DSL-JSON STARS:1.1k COMMIT:1y +LICENSE:BSD-3-Clause REPO: NAME:Genson STARS:- COMMIT:- +LICENSE:- REPO:google/gson NAME:Gson STARS:24.3k -COMMIT:6d +COMMIT:8d +LICENSE:Apache-2.0 REPO:brettwooldridge/HikariJSON NAME:HikariJSON STARS:465 -COMMIT:8y +COMMIT:2y +LICENSE:Apache-2.0 REPO:FasterXML/jackson-modules-java8 NAME:jackson-modules-java8 STARS:417 -COMMIT:8d +COMMIT:10d +LICENSE:Apache-2.0 REPO:zalando/jackson-datatype-money NAME:Jackson-datatype-money STARS:264 COMMIT:6mo +LICENSE:MIT REPO:FasterXML/jackson NAME:Jackson STARS:9.6k -COMMIT:5d +COMMIT:8d +LICENSE:- REPO:jdereg/json-io NAME:JSON-io STARS:343 -COMMIT:2d +COMMIT:4d +LICENSE:Apache-2.0 REPO: NAME:jsoniter STARS:- COMMIT:- +LICENSE:- REPO:bluelinelabs/LoganSquare NAME:LoganSquare STARS:3.2k -COMMIT:9y +COMMIT:4y +LICENSE:Apache-2.0 REPO:square/moshi NAME:Moshi STARS:10.1k -COMMIT:3d +COMMIT:5d +LICENSE:Apache-2.0 REPO:eclipse-ee4j/yasson NAME:Yasson STARS:215 -COMMIT:5mo +COMMIT:6mo +LICENSE:- REPO:alibaba/fastjson NAME:fastjson STARS:25.7k -COMMIT:2y +COMMIT:1y +LICENSE:Apache-2.0 REPO:bazaarvoice/jolt NAME:Jolt STARS:1.7k -COMMIT:2y +COMMIT:6mo +LICENSE:Apache-2.0 REPO:json-path/JsonPath NAME:JsonPath STARS:9.4k COMMIT:2mo +LICENSE:Apache-2.0 REPO:jsurfer/JsonSurfer NAME:JsonSurfer STARS:- COMMIT:- +LICENSE:- REPO: NAME:Which JDK STARS:- COMMIT:- +LICENSE:- REPO: NAME:Adopt Open JDK STARS:- COMMIT:- +LICENSE:- REPO: NAME:Corretto STARS:- COMMIT:- +LICENSE:- REPO:alibaba/dragonwell8 NAME:Dragonwell8 STARS:- COMMIT:- +LICENSE:- REPO:oracle/graal NAME:Graal STARS:21.4k -COMMIT:14h +COMMIT:11h +LICENSE:- REPO: NAME:Liberica JDK STARS:- COMMIT:- +LICENSE:- REPO:eclipse/openj9 NAME:OpenJ9 STARS:- COMMIT:- +LICENSE:- REPO: NAME:Open JDK STARS:- COMMIT:- +LICENSE:- REPO:codenameone/CodenameOne/tree/master/vm NAME:ParparVM STARS:N/A COMMIT:N/A +LICENSE:- REPO: NAME:RedHat Open JDK STARS:- COMMIT:- +LICENSE:- REPO: NAME:SAP Machine STARS:- COMMIT:- +LICENSE:- REPO: NAME:Zulu STARS:- COMMIT:- +LICENSE:- REPO:microsoft/openjdk NAME:Microsoft JDK -STARS:339 +STARS:340 COMMIT:2mo +LICENSE:MIT REPO: NAME:Apache Log4j 2 STARS:- COMMIT:- +LICENSE:- REPO:tersesystems/echopraxia NAME:Echopraxia STARS:58 -COMMIT:1y +COMMIT:10mo +LICENSE:- REPO: NAME:Graylog STARS:- COMMIT:- +LICENSE:- REPO: NAME:Kibana STARS:- COMMIT:- +LICENSE:- REPO: NAME:Logback STARS:- COMMIT:- +LICENSE:- REPO:zalando/logbook NAME:Logbook STARS:2.0k -COMMIT:8d +COMMIT:17h +LICENSE:MIT REPO: NAME:Logstash STARS:- COMMIT:- +LICENSE:- REPO:p6spy/p6spy NAME:p6spy STARS:2.2k COMMIT:3y +LICENSE:Apache-2.0 REPO: NAME:SLF4J STARS:- COMMIT:- +LICENSE:- REPO: NAME:tinylog STARS:- COMMIT:- +LICENSE:- REPO:zalando/opentracing-toolbox NAME:OpenTracing Toolbox STARS:180 COMMIT:6mo +LICENSE:MIT REPO: NAME:Flogger STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Flink STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Mahout STARS:- COMMIT:- +LICENSE:- REPO: NAME:DatumBox STARS:- COMMIT:- +LICENSE:- REPO: NAME:Deeplearning4j STARS:- COMMIT:- +LICENSE:- REPO: NAME:DJL STARS:- COMMIT:- +LICENSE:- REPO:Barqawiz/IntelliJava NAME:Intelligent java STARS:- COMMIT:- +LICENSE:- REPO:EdwardRaff/JSAT NAME:JSAT STARS:800 COMMIT:3y +LICENSE:GPL-3.0 REPO:BayesWitnesses/m2cgen NAME:m2cgen STARS:2.9k -COMMIT:3y +COMMIT:1y +LICENSE:MIT REPO:Gleethos/neureka NAME:Neureka STARS:86 COMMIT:1y +LICENSE:MIT REPO: NAME:oj! Algorithms STARS:- COMMIT:- +LICENSE:- REPO:OryxProject/oryx NAME:Oryx 2 STARS:1.8k COMMIT:4y +LICENSE:Apache-2.0 REPO:siddhi-io/siddhi NAME:Siddhi STARS:1.6k COMMIT:5mo +LICENSE:Apache-2.0 REPO:haifengl/smile NAME:Smile STARS:6.3k -COMMIT:8h +COMMIT:1d +LICENSE:- REPO: NAME:Tribuo STARS:- COMMIT:- +LICENSE:- REPO: NAME:Weka STARS:- COMMIT:- +LICENSE:- REPO:real-logic/Aeron NAME:Aeron STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache ActiveMQ STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Camel STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Kafka STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Pulsar STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache RocketMQ STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Qpid STARS:- COMMIT:- +LICENSE:- REPO:AutoMQ/automq-for-kafka NAME:AutoMQ STARS:- COMMIT:- +LICENSE:- REPO:joel-jeremy/deezpatch NAME:Deezpatch STARS:64 -COMMIT:3mo +COMMIT:1mo +LICENSE:Apache-2.0 REPO:greenrobot/EventBus NAME:EventBus STARS:24.8k -COMMIT:3y +COMMIT:1y +LICENSE:Apache-2.0 REPO: NAME:Hermes STARS:- COMMIT:- +LICENSE:- REPO:zeromq/jeromq NAME:JeroMQ STARS:2.4k -COMMIT:10mo +COMMIT:1mo +LICENSE:MPL-2.0 REPO:zalando/nakadi NAME:Nakadi STARS:968 COMMIT:1y +LICENSE:MIT REPO:rabbitmq/rabbitmq-java-client NAME:RabbitMQ Java client STARS:1.3k -COMMIT:48m +COMMIT:1d +LICENSE:- REPO:igniterealtime/Smack NAME:Smack STARS:2.4k COMMIT:1mo +LICENSE:Apache-2.0 REPO:nats-io/nats.java NAME:NATS client STARS:640 -COMMIT:16h +COMMIT:1d +LICENSE:Apache-2.0 REPO: NAME:ActiveRPC STARS:- COMMIT:- +LICENSE:- REPO:line/armeria NAME:Armeria STARS:5.1k -COMMIT:23h +COMMIT:1d +LICENSE:Apache-2.0 REPO:Ecwid/consul-api NAME:consul-api STARS:423 -COMMIT:3y +COMMIT:2y +LICENSE:Apache-2.0 REPO:Netflix/eureka NAME:Eureka STARS:12.7k -COMMIT:21d +COMMIT:23d +LICENSE:Apache-2.0 REPO: NAME:Helidon STARS:- COMMIT:- +LICENSE:- REPO:DV8FromTheWorld/JDA NAME:JDA STARS:- COMMIT:- +LICENSE:- REPO:DaveJarvis/KeenType NAME:KeenType STARS:N/A COMMIT:N/A +LICENSE:- REPO:fabric8io/kubernetes-client NAME:kubernetes-client STARS:3.6k -COMMIT:15d +COMMIT:21h +LICENSE:Apache-2.0 REPO: NAME:Micronaut STARS:- COMMIT:- +LICENSE:- REPO: NAME:Nacos STARS:- COMMIT:- +LICENSE:- REPO:TheoKanning/openai-java NAME:OpenAI-Java STARS:4.8k COMMIT:1y +LICENSE:MIT REPO: NAME:Quarkus STARS:- COMMIT:- +LICENSE:- REPO:alibaba/Sentinel NAME:Sentinel STARS:23.0k -COMMIT:16d +COMMIT:8d +LICENSE:Apache-2.0 REPO:npgall/cqengine NAME:CQEngine STARS:1.8k -COMMIT:3y +COMMIT:2y +LICENSE:Apache-2.0 REPO:iluwatar/java-design-patterns NAME:Design Patterns STARS:93.6k -COMMIT:7mo +COMMIT:2mo +LICENSE:- REPO:ff4j/ff4j NAME:FF4J STARS:1.4k -COMMIT:18d +COMMIT:20d +LICENSE:Apache-2.0 REPO:EnterpriseQualityCoding/FizzBuzzEnterpriseEdition NAME:FizzBuzz Enterprise Edition STARS:23.1k -COMMIT:6y +COMMIT:1y +LICENSE:- REPO:ip2location/ip2location-io-java NAME:IP2Location.io Java SDK STARS:7 -COMMIT:8d +COMMIT:10d +LICENSE:MIT REPO:ladutsko/isbn-core NAME:ISBN core STARS:3 -COMMIT:11d +COMMIT:14d +LICENSE:MIT REPO:google/j2objc NAME:J2ObjC STARS:6.0k -COMMIT:14h +COMMIT:1d +LICENSE:Apache-2.0 REPO: NAME:JBake STARS:- COMMIT:- +LICENSE:- REPO:rampatra/jbot NAME:JBot STARS:1.2k COMMIT:3mo +LICENSE:GPL-3.0 REPO: NAME:JCuda STARS:- COMMIT:- +LICENSE:- REPO:felldo/JEmoji NAME:JEmoji STARS:102 -COMMIT:22d +COMMIT:4d +LICENSE:Apache-2.0 REPO:google/jimfs NAME:Jimfs STARS:2.5k -COMMIT:6d +COMMIT:8d +LICENSE:Apache-2.0 REPO: NAME:Joda-Money STARS:- COMMIT:- +LICENSE:- REPO:jooq/joox NAME:jOOX STARS:505 COMMIT:1y +LICENSE:Apache-2.0 REPO: NAME:JPad STARS:- COMMIT:- +LICENSE:- REPO:cincheo/jsweet NAME:jsweet STARS:1.5k COMMIT:2y +LICENSE:- REPO:takari/maven-wrapper NAME:Maven Wrapper STARS:1.6k COMMIT:4y +LICENSE:Apache-2.0 REPO:membrane/service-proxy NAME:Membrane Service Proxy STARS:- COMMIT:- +LICENSE:- REPO:Guichaguri/MinimalFTP NAME:MinimalFTP STARS:186 COMMIT:6mo +LICENSE:Apache-2.0 REPO:adamfisk/LittleProxy NAME:LittleProxy STARS:2.1k -COMMIT:8y +COMMIT:1y +LICENSE:Apache-2.0 REPO:winterbe/java8-tutorial NAME:Modern Java - A Guide to Java 8 STARS:16.8k COMMIT:2y +LICENSE:MIT REPO:gaul/modernizer-maven-plugin NAME:Modernizer STARS:383 -COMMIT:6d +COMMIT:8d +LICENSE:Apache-2.0 REPO:OctoLinker/OctoLinker NAME:OctoLinker STARS:5.3k COMMIT:2y +LICENSE:MIT REPO: NAME:OpenRefine STARS:- COMMIT:- +LICENSE:- REPO:sizovs/pipelinr NAME:PipelinR STARS:476 COMMIT:4mo +LICENSE:MIT REPO:takari/polyglot-maven NAME:Polyglot for Maven STARS:915 -COMMIT:6mo +COMMIT:1mo +LICENSE:EPL-1.0 REPO:Kartikvk1996/RR4J NAME:RR4J STARS:25 COMMIT:3y +LICENSE:GPL-3.0 REPO:bbottema/simple-java-mail NAME:Simple Java Mail STARS:1.3k -COMMIT:8mo +COMMIT:7mo +LICENSE:Apache-2.0 REPO:smooks/smooks NAME:Smooks -STARS:414 -COMMIT:10mo +STARS:415 +COMMIT:1mo +LICENSE:- REPO:svix/svix-webhooks/tree/main/java NAME:Svix STARS:N/A COMMIT:N/A +LICENSE:- REPO: NAME:Togglz STARS:- COMMIT:- +LICENSE:- REPO:jhalterman/typetools NAME:TypeTools STARS:628 COMMIT:2y +LICENSE:Apache-2.0 REPO:sarxos/webcam-capture NAME:webcam-capture STARS:2.3k COMMIT:2mo +LICENSE:MIT REPO:SvenEwald/xmlbeam NAME:XMLBeam STARS:76 COMMIT:5mo +LICENSE:Apache-2.0 REPO:yWorks/yGuard NAME:yGuard -STARS:450 +STARS:449 COMMIT:6mo +LICENSE:MIT REPO:maxandersen/jbang/ NAME:JBang STARS:N/A COMMIT:N/A +LICENSE:- REPO: NAME:Codename One STARS:- COMMIT:- +LICENSE:- REPO: NAME:MobileUI STARS:- COMMIT:- +LICENSE:- REPO: NAME:Multi-OS Engine STARS:- COMMIT:- +LICENSE:- REPO:apitally/apitally-java NAME:Apitally STARS:5 -COMMIT:3d +COMMIT:13h +LICENSE:MIT REPO:stevensouza/automon NAME:Automon STARS:573 COMMIT:1y +LICENSE:Apache-2.0 REPO:dropwizard/metrics NAME:Dropwizard Metrics STARS:7.9k -COMMIT:16d +COMMIT:13d +LICENSE:Apache-2.0 REPO:zalando/failsafe-actuator NAME:Failsafe Actuator STARS:54 -COMMIT:4y +COMMIT:3y +LICENSE:MIT REPO: NAME:Glowroot STARS:- COMMIT:- +LICENSE:- REPO:dromara/hertzbeat NAME:HertzBeat STARS:- COMMIT:- +LICENSE:- REPO:opengoofy/hippo4j/blob/develop/README-EN.md NAME:hippo4j STARS:N/A COMMIT:N/A +LICENSE:- REPO: NAME:inspectIT STARS:- COMMIT:- +LICENSE:- REPO:jaegertracing/jaeger-client-java NAME:Jaeger client STARS:490 COMMIT:3y +LICENSE:- REPO:javamelody/javamelody NAME:JavaMelody STARS:3.0k -COMMIT:9d +COMMIT:11d +LICENSE:Apache-2.0 REPO:jmxtrans/jmxtrans NAME:jmxtrans STARS:1.7k -COMMIT:4y +COMMIT:3y +LICENSE:MIT REPO: NAME:Jolokia STARS:- COMMIT:- +LICENSE:- REPO:micrometer-metrics/micrometer NAME:Micrometer STARS:4.8k -COMMIT:7h +COMMIT:13h +LICENSE:Apache-2.0 REPO:micrometer-metrics/tracing NAME:Micrometer Tracing -STARS:287 -COMMIT:6h +STARS:288 +COMMIT:21h +LICENSE:Apache-2.0 REPO:lorenzoongithub/nudge4j NAME:nudge4j STARS:164 COMMIT:5y +LICENSE:MIT REPO:open-telemetry/opentelemetry-java NAME:OpenTelemetry STARS:2.3k -COMMIT:14h +COMMIT:9h +LICENSE:Apache-2.0 REPO:naver/pinpoint NAME:Pinpoint STARS:- COMMIT:- +LICENSE:- REPO:prometheus/client_java NAME:Prometheus STARS:2.3k -COMMIT:6h +COMMIT:10h +LICENSE:Apache-2.0 REPO:stagemonitor/stagemonitor NAME:Stagemonitor STARS:1.7k COMMIT:2y +LICENSE:Apache-2.0 REPO:palantir/Sysmon NAME:Sysmon STARS:156 COMMIT:9y +LICENSE:Apache-2.0 REPO: NAME:zipkin STARS:- COMMIT:- +LICENSE:- REPO:Syncleus/aparapi NAME:Aparapi STARS:482 -COMMIT:4y +COMMIT:3y +LICENSE:Apache-2.0 REPO:bytedeco/javacpp NAME:JavaCPP STARS:4.7k -COMMIT:29d +COMMIT:1mo +LICENSE:- REPO:java-native-access/jna NAME:JNA STARS:8.9k -COMMIT:29d +COMMIT:9d +LICENSE:- REPO:jnr/jnr-ffi NAME:JNR STARS:1.3k COMMIT:2mo +LICENSE:- REPO:scijava/native-lib-loader NAME:native-lib-loader STARS:215 COMMIT:1y +LICENSE:- REPO:CogComp/cogcomp-nlp NAME:CogCompNLP STARS:480 -COMMIT:3y +COMMIT:2y +LICENSE:- REPO: NAME:CoreNLP STARS:- COMMIT:- +LICENSE:- REPO: NAME:DKPro STARS:- COMMIT:- +LICENSE:- REPO:ejossev/hypherator-java NAME:Hypherator STARS:3 COMMIT:6mo +LICENSE:MIT REPO: NAME:LingPipe STARS:- COMMIT:- +LICENSE:- REPO:CiscoSE/commons-networking NAME:Commons-networking STARS:20 COMMIT:3y +LICENSE:Apache-2.0 REPO:puniverse/comsat NAME:Comsat STARS:595 -COMMIT:9y +COMMIT:8y +LICENSE:- REPO:apache/dubbo NAME:Dubbo STARS:41.7k COMMIT:1d +LICENSE:Apache-2.0 REPO: NAME:Grizzly STARS:- COMMIT:- +LICENSE:- REPO:grpc/grpc-java NAME:gRPC-java STARS:11.9k -COMMIT:1d +COMMIT:21h +LICENSE:Apache-2.0 REPO:EsotericSoftware/kryonet NAME:KryoNet STARS:1.8k -COMMIT:5y +COMMIT:4y +LICENSE:BSD-3-Clause REPO: NAME:MINA STARS:- COMMIT:- +LICENSE:- REPO: NAME:Netty STARS:- COMMIT:- +LICENSE:- REPO:airlift/drift NAME:Drift STARS:248 -COMMIT:3mo +COMMIT:4mo +LICENSE:Apache-2.0 REPO:apple/servicetalk NAME:ServiceTalk STARS:1.0k -COMMIT:9h +COMMIT:10h +LICENSE:Apache-2.0 REPO:hierynomus/sshj NAME:sshj STARS:2.6k -COMMIT:7mo +COMMIT:8mo +LICENSE:Apache-2.0 REPO:marianobarrios/tls-channel NAME:TLS Channel STARS:207 -COMMIT:1d +COMMIT:3d +LICENSE:MIT REPO: NAME:Undertow STARS:- COMMIT:- +LICENSE:- REPO:slub/urnlib NAME:urnlib STARS:34 -COMMIT:9d +COMMIT:11d +LICENSE:GPL-3.0 REPO:komamitsu/fluency NAME:Fluency STARS:163 -COMMIT:3d +COMMIT:5d +LICENSE:Apache-2.0 REPO: NAME:Apache Cayenne STARS:- COMMIT:- +LICENSE:- REPO:domaframework/doma NAME:Doma STARS:494 -COMMIT:1d +COMMIT:3d +LICENSE:Apache-2.0 REPO: NAME:Ebean STARS:- COMMIT:- +LICENSE:- REPO: NAME:EclipseLink STARS:- COMMIT:- +LICENSE:- REPO: NAME:Hibernate STARS:- COMMIT:- +LICENSE:- REPO:mybatis/mybatis-3 NAME:MyBatis STARS:20.3k -COMMIT:6d +COMMIT:12h +LICENSE:Apache-2.0 REPO:baomidou/mybatis-plus NAME:MyBatis-Plus STARS:17.3k -COMMIT:8d +COMMIT:3d +LICENSE:Apache-2.0 REPO:braisdom/ObjectiveSql NAME:ObjectiveSql STARS:1.3k COMMIT:1y +LICENSE:Apache-2.0 REPO:permazen/permazen NAME:Permazen STARS:422 COMMIT:3mo +LICENSE:Apache-2.0 REPO:arnaudroger/SimpleFlatMapper NAME:SimpleFlatMapper STARS:454 -COMMIT:1y +COMMIT:3mo +LICENSE:MIT REPO:bsommerfeld/pathetic NAME:Pathetic STARS:236 -COMMIT:1h +COMMIT:1d +LICENSE:MIT REPO: NAME:Apache FOP STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache PDFBox STARS:- COMMIT:- +LICENSE:- REPO: NAME:Dynamic Jasper STARS:- COMMIT:- +LICENSE:- REPO:dynamicreports/dynamicreports NAME:DynamicReports STARS:240 -COMMIT:4mo +COMMIT:24d +LICENSE:LGPL-3.0 REPO: NAME:Eclipse BIRT STARS:- COMMIT:- +LICENSE:- REPO:flyingsaucerproject/flyingsaucer NAME:flyingsaucer STARS:2.2k -COMMIT:5h +COMMIT:1d +LICENSE:- REPO: NAME:JasperReports STARS:- COMMIT:- +LICENSE:- REPO:danfickle/openhtmltopdf NAME:Open HTML to PDF STARS:2.1k -COMMIT:3y +COMMIT:1y +LICENSE:- REPO:LibrePDF/OpenPDF NAME:OpenPDF STARS:4.1k -COMMIT:4mo +COMMIT:2mo +LICENSE:- REPO:tabulapdf/tabula-java NAME:Tabula STARS:2.0k COMMIT:9mo +LICENSE:MIT REPO:jvm-profiling-tools/honest-profiler NAME:honest-profiler STARS:1.3k -COMMIT:3y +COMMIT:2y +LICENSE:MIT REPO:giltene/jHiccup NAME:jHiccup -STARS:697 -COMMIT:4y +STARS:696 +COMMIT:1y +LICENSE:- REPO:AdoptOpenJDK/jitwatch NAME:JITWatch STARS:3.3k -COMMIT:10d +COMMIT:13d +LICENSE:- REPO: NAME:JMH STARS:- COMMIT:- +LICENSE:- REPO:LatencyUtils/LatencyUtils NAME:LatencyUtils STARS:465 COMMIT:1y +LICENSE:- REPO: NAME:BCEL STARS:- COMMIT:- +LICENSE:- REPO: NAME:BeanUtils STARS:- COMMIT:- +LICENSE:- REPO: NAME:BeanUtils2 STARS:- COMMIT:- +LICENSE:- REPO: NAME:BSF STARS:- COMMIT:- +LICENSE:- REPO: NAME:Chain STARS:- COMMIT:- +LICENSE:- REPO: NAME:ClassScan STARS:- COMMIT:- +LICENSE:- REPO: NAME:CLI STARS:- COMMIT:- +LICENSE:- REPO: NAME:CLI2 STARS:- COMMIT:- +LICENSE:- REPO: NAME:Codec STARS:- COMMIT:- +LICENSE:- REPO: NAME:Collections STARS:- COMMIT:- +LICENSE:- REPO: NAME:Compress STARS:- COMMIT:- +LICENSE:- REPO: NAME:Configuration STARS:- COMMIT:- +LICENSE:- REPO: NAME:Convert STARS:- COMMIT:- +LICENSE:- REPO: NAME:CSV STARS:- COMMIT:- +LICENSE:- REPO: NAME:Daemon STARS:- COMMIT:- +LICENSE:- REPO: NAME:DBCP STARS:- COMMIT:- +LICENSE:- REPO: NAME:DbUtils STARS:- COMMIT:- +LICENSE:- REPO: NAME:Digester STARS:- COMMIT:- +LICENSE:- REPO: NAME:Email STARS:- COMMIT:- +LICENSE:- REPO: NAME:Exec STARS:- COMMIT:- +LICENSE:- REPO: NAME:FileUpload STARS:- COMMIT:- +LICENSE:- REPO: NAME:Finder STARS:- COMMIT:- +LICENSE:- REPO: NAME:Flatfile STARS:- COMMIT:- +LICENSE:- REPO: NAME:Functor STARS:- COMMIT:- +LICENSE:- REPO: NAME:Graph STARS:- COMMIT:- +LICENSE:- REPO: NAME:I18n STARS:- COMMIT:- +LICENSE:- REPO: NAME:Id STARS:- COMMIT:- +LICENSE:- REPO: NAME:Imaging STARS:- COMMIT:- +LICENSE:- REPO: NAME:IO STARS:- COMMIT:- +LICENSE:- REPO: NAME:Javaflow STARS:- COMMIT:- +LICENSE:- REPO: NAME:JCI STARS:- COMMIT:- +LICENSE:- REPO: NAME:JCS STARS:- COMMIT:- +LICENSE:- REPO: NAME:Jelly STARS:- COMMIT:- +LICENSE:- REPO: NAME:Jexl STARS:- COMMIT:- +LICENSE:- REPO: NAME:JNet STARS:- COMMIT:- +LICENSE:- REPO: NAME:JXPath STARS:- COMMIT:- +LICENSE:- REPO: NAME:Lang STARS:- COMMIT:- +LICENSE:- REPO: NAME:Logging STARS:- COMMIT:- +LICENSE:- REPO: NAME:Math STARS:- COMMIT:- +LICENSE:- REPO: NAME:Monitoring STARS:- COMMIT:- +LICENSE:- REPO: NAME:Nabla STARS:- COMMIT:- +LICENSE:- REPO: NAME:Net STARS:- COMMIT:- +LICENSE:- REPO: NAME:OGNL STARS:- COMMIT:- +LICENSE:- REPO: NAME:OpenPGP STARS:- COMMIT:- +LICENSE:- REPO: NAME:Performance STARS:- COMMIT:- +LICENSE:- REPO: NAME:Pipeline STARS:- COMMIT:- +LICENSE:- REPO: NAME:Pool STARS:- COMMIT:- +LICENSE:- REPO: NAME:Proxy STARS:- COMMIT:- +LICENSE:- REPO: NAME:RDF STARS:- COMMIT:- +LICENSE:- REPO: NAME:RNG STARS:- COMMIT:- +LICENSE:- REPO: NAME:SCXML STARS:- COMMIT:- +LICENSE:- REPO: NAME:Validator STARS:- COMMIT:- +LICENSE:- REPO: NAME:VFS STARS:- COMMIT:- +LICENSE:- REPO: NAME:Weaver STARS:- COMMIT:- +LICENSE:- REPO: NAME:CUBA Platform STARS:- COMMIT:- +LICENSE:- REPO:networknt/light-4j/ NAME:Light-4J STARS:N/A COMMIT:N/A +LICENSE:- REPO:OrienteerBAP/Orienteer/ NAME:Orienteer STARS:N/A COMMIT:N/A +LICENSE:- REPO: NAME:Spring STARS:- COMMIT:- +LICENSE:- REPO:vorburger/ch.vorburger.exec NAME:ch.vorburger.exec STARS:38 -COMMIT:2d +COMMIT:1d +LICENSE:Apache-2.0 REPO:zeroturnaround/zt-exec NAME:zt-exec STARS:910 -COMMIT:1y +COMMIT:6mo +LICENSE:Apache-2.0 REPO:zeroturnaround/zt-process-killer NAME:zt-process-killer STARS:136 COMMIT:2y +LICENSE:Apache-2.0 REPO: NAME:Akka STARS:- COMMIT:- +LICENSE:- REPO:reactive-streams/reactive-streams-jvm NAME:Reactive Streams STARS:4.9k -COMMIT:2y +COMMIT:1y +LICENSE:MIT-0 REPO:reactor/reactor NAME:Reactor STARS:3.7k -COMMIT:29d +COMMIT:1mo +LICENSE:Apache-2.0 REPO:ReactiveX/RxJava NAME:RxJava STARS:48.5k -COMMIT:21d +COMMIT:12d +LICENSE:Apache-2.0 REPO: NAME:vert.x STARS:- COMMIT:- +LICENSE:- REPO:dropwizard/dropwizard NAME:Dropwizard STARS:8.6k -COMMIT:43m +COMMIT:19h +LICENSE:Apache-2.0 REPO: NAME:Elide STARS:- COMMIT:- +LICENSE:- REPO: NAME:Jersey STARS:- COMMIT:- +LICENSE:- REPO:aol/micro-server NAME:Microserver STARS:934 -COMMIT:5y +COMMIT:2y +LICENSE:Apache-2.0 REPO: NAME:Rapidoid STARS:- COMMIT:- +LICENSE:- REPO:linkedin/rest.li NAME:rest.li STARS:2.5k -COMMIT:2mo +COMMIT:1d +LICENSE:- REPO: NAME:RESTEasy STARS:- COMMIT:- +LICENSE:- REPO:RestExpress/RestExpress NAME:RestExpress STARS:940 COMMIT:1y +LICENSE:Apache-2.0 REPO:restlet/restlet-framework-java NAME:Restlet Framework STARS:661 COMMIT:1mo +LICENSE:- REPO: NAME:Spark STARS:- COMMIT:- +LICENSE:- REPO: NAME:Crnk STARS:- COMMIT:- +LICENSE:- REPO:springdoc/springdoc-openapi NAME:springdoc-openapi STARS:3.7k -COMMIT:6d +COMMIT:8d +LICENSE:Apache-2.0 REPO: NAME:Swagger STARS:- COMMIT:- +LICENSE:- REPO:OpenAPITools/openapi-generator NAME:openapi-generator STARS:25.6k -COMMIT:22m +COMMIT:14h +LICENSE:Apache-2.0 REPO: NAME:BioJava STARS:- COMMIT:- +LICENSE:- REPO:GSI-CS-CO/chart-fx NAME:Chart-FX STARS:- COMMIT:- +LICENSE:- REPO: NAME:DataMelt STARS:- COMMIT:- +LICENSE:- REPO:Erdos-Graph-Framework/Erdos NAME:Erdos STARS:127 COMMIT:2y +LICENSE:MIT REPO: NAME:GraphStream STARS:- COMMIT:- +LICENSE:- REPO: NAME:JFreeChart STARS:- COMMIT:- +LICENSE:- REPO:jgrapht/jgrapht NAME:JGraphT STARS:2.7k -COMMIT:11h +COMMIT:15h +LICENSE:EPL-2.0 REPO:jgraph/jgraphx NAME:JGraphX STARS:687 COMMIT:5y +LICENSE:- REPO:logic-ng/LogicNG NAME:LogicNG STARS:149 -COMMIT:1y +COMMIT:5mo +LICENSE:Apache-2.0 REPO:MinesJTK/jtk NAME:Mines Java Toolkit STARS:82 -COMMIT:5y +COMMIT:4y +LICENSE:Apache-2.0 REPO:zavtech/morpheus-core NAME:Morpheus -STARS:244 -COMMIT:7y +STARS:242 +COMMIT:2y +LICENSE:Apache-2.0 REPO: NAME:Orekit STARS:- COMMIT:- +LICENSE:- REPO:jfree/orson-charts NAME:Orson-Charts STARS:120 -COMMIT:6mo +COMMIT:7mo +LICENSE:GPL-3.0 REPO:jtablesaw/tablesaw NAME:Tablesaw STARS:3.7k COMMIT:6mo +LICENSE:Apache-2.0 REPO:knowm/XChart NAME:XChart STARS:1.6k -COMMIT:3mo +COMMIT:2mo +LICENSE:Apache-2.0 REPO: NAME:Apache Lucene STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Solr STARS:- COMMIT:- +LICENSE:- REPO: NAME:Elasticsearch STARS:- COMMIT:- +LICENSE:- REPO:haeungun/indexer4j NAME:Indexer4j STARS:56 COMMIT:6y +LICENSE:Apache-2.0 REPO: NAME:Apache Shiro STARS:- COMMIT:- +LICENSE:- REPO:Hakky54/ayza NAME:Ayza -STARS:564 -COMMIT:5d +STARS:565 +COMMIT:8d +LICENSE:Apache-2.0 REPO: NAME:Bouncy Castle STARS:- COMMIT:- +LICENSE:- REPO:jeremylong/DependencyCheck NAME:DependencyCheck STARS:40 -COMMIT:10mo +COMMIT:3mo +LICENSE:Apache-2.0 REPO: NAME:Cryptomator STARS:- COMMIT:- +LICENSE:- REPO:hdiv/hdiv NAME:Hdiv STARS:219 -COMMIT:4y +COMMIT:1y +LICENSE:- REPO:jwtk/jjwt NAME:jjwt STARS:11.0k COMMIT:2mo +LICENSE:Apache-2.0 REPO:BastiaanJansen/jwt-java NAME:jwt-java STARS:14 COMMIT:5mo +LICENSE:MIT REPO:auth0/jwks-rsa-java NAME:Jwks RSA STARS:204 -COMMIT:3mo +COMMIT:1mo +LICENSE:MIT REPO:abstractj/kalium NAME:Kalium STARS:218 -COMMIT:7y +COMMIT:2y +LICENSE:Apache-2.0 REPO: NAME:Keycloak STARS:- COMMIT:- +LICENSE:- REPO:square/keywhiz NAME:Keywhiz STARS:2.6k COMMIT:2y +LICENSE:Apache-2.0 REPO:GoSimpleLLC/nbvcxz NAME:Nbvcxz STARS:308 COMMIT:4mo +LICENSE:MIT REPO: NAME:OACC STARS:- COMMIT:- +LICENSE:- REPO:OpenIdentityPlatform/OpenAM NAME:OpenAM STARS:860 -COMMIT:22d +COMMIT:9d +LICENSE:- REPO:BastiaanJansen/OTP-Java NAME:OTP-Java -STARS:232 +STARS:231 COMMIT:1y +LICENSE:MIT REPO:pac4j/pac4j NAME:pac4j STARS:2.5k -COMMIT:2h +COMMIT:6h +LICENSE:Apache-2.0 REPO: NAME:Passay STARS:- COMMIT:- +LICENSE:- REPO:Password4j/password4j NAME:Password4j -STARS:398 +STARS:399 COMMIT:4mo +LICENSE:Apache-2.0 REPO:tersesystems/securitybuilder NAME:SecurityBuilder STARS:47 COMMIT:4y +LICENSE:Apache-2.0 REPO:cossacklabs/themis NAME:Themis STARS:1.9k -COMMIT:1y +COMMIT:19h +LICENSE:Apache-2.0 REPO:google/tink NAME:Tink STARS:- COMMIT:- +LICENSE:- REPO: NAME:Topaz STARS:- COMMIT:- +LICENSE:- REPO:google/flatbuffers NAME:FlatBuffers -STARS:25.3k -COMMIT:17d +STARS:25.4k +COMMIT:19d +LICENSE:Apache-2.0 REPO:RuedigerMoeller/fast-serialization NAME:FST STARS:1.6k -COMMIT:4y +COMMIT:2y +LICENSE:Apache-2.0 REPO:alipay/fury NAME:Fury STARS:- COMMIT:- +LICENSE:- REPO:EsotericSoftware/kryo NAME:Kryo STARS:6.5k -COMMIT:23d +COMMIT:19d +LICENSE:BSD-3-Clause REPO:msgpack/msgpack-java NAME:MessagePack STARS:1.5k -COMMIT:2d +COMMIT:4d +LICENSE:Apache-2.0 REPO:marcospassos/java-php-serializer NAME:PHP Serializer STARS:19 COMMIT:7y +LICENSE:MIT REPO: NAME:Apache Tomcat STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache TomEE STARS:- COMMIT:- +LICENSE:- REPO: NAME:Jetty STARS:- COMMIT:- +LICENSE:- REPO:NanoHttpd/nanohttpd NAME:nanohttpd STARS:7.2k -COMMIT:6y +COMMIT:2y +LICENSE:BSD-3-Clause REPO: NAME:WildFly STARS:- COMMIT:- +LICENSE:- REPO: NAME:Freemarker STARS:- COMMIT:- +LICENSE:- REPO: NAME:Handlebars.java STARS:- COMMIT:- +LICENSE:- REPO:neuland/jade4j NAME:Jade4J STARS:706 -COMMIT:4y +COMMIT:3y +LICENSE:MIT REPO:verhas/jamal NAME:Jamal STARS:65 COMMIT:8mo +LICENSE:Apache-2.0 REPO:jstachio/jstachio NAME:jstachio STARS:315 -COMMIT:8mo +COMMIT:9mo +LICENSE:BSD-3-Clause REPO:casid/jte NAME:jte STARS:1.1k -COMMIT:2d +COMMIT:4d +LICENSE:Apache-2.0 REPO:jtwig/jtwig NAME:Jtwig STARS:300 -COMMIT:8y +COMMIT:7y +LICENSE:- REPO: NAME:Pebble STARS:- COMMIT:- +LICENSE:- REPO:fizzed/rocker NAME:Rocker STARS:781 COMMIT:2mo +LICENSE:- REPO:antlr/stringtemplate4 NAME:StringTemplate STARS:1.0k -COMMIT:7mo +COMMIT:8mo +LICENSE:- REPO: NAME:Thymeleaf STARS:- COMMIT:- +LICENSE:- REPO:awaitility/awaitility NAME:Awaitility STARS:4.0k COMMIT:10mo +LICENSE:Apache-2.0 REPO:jhalterman/concurrentunit NAME:ConcurrentUnit STARS:427 -COMMIT:2y +COMMIT:1y +LICENSE:Apache-2.0 REPO: NAME:GreenMail STARS:- COMMIT:- +LICENSE:- REPO:SpectoLabs/hoverfly-java NAME:Hoverfly Java STARS:174 -COMMIT:18d +COMMIT:21d +LICENSE:Apache-2.0 REPO:intuit/karate NAME:Karate STARS:- COMMIT:- +LICENSE:- REPO:rest-assured/rest-assured NAME:REST Assured STARS:7.1k -COMMIT:26d +COMMIT:22d +LICENSE:Apache-2.0 REPO:testingisdocumenting/webtau NAME:WebTau STARS:379 -COMMIT:3mo +COMMIT:10d +LICENSE:Apache-2.0 REPO:cucumber/cucumber-jvm NAME:Cucumber STARS:2.8k -COMMIT:1d +COMMIT:3d +LICENSE:MIT REPO:ctco/cukes NAME:Cukes-REST STARS:110 -COMMIT:3y +COMMIT:7mo +LICENSE:Apache-2.0 REPO:j8spec/j8spec NAME:J8Spec STARS:48 COMMIT:3y +LICENSE:MIT REPO: NAME:JBehave STARS:- COMMIT:- +LICENSE:- REPO: NAME:JGiven STARS:- COMMIT:- +LICENSE:- REPO:RichardWarburton/lambda-behave NAME:Lamdba Behave STARS:253 -COMMIT:5y +COMMIT:3y +LICENSE:MIT REPO:serenity-bdd/serenity-core NAME:Serenity BDD STARS:744 -COMMIT:12h +COMMIT:2d +LICENSE:- REPO:AutoParams/AutoParams NAME:AutoParams STARS:368 -COMMIT:5mo +COMMIT:3mo +LICENSE:MIT REPO:keepcosmos/beanmother NAME:Beanmother STARS:121 COMMIT:3y +LICENSE:Apache-2.0 REPO:datafaker-net/datafaker NAME:Datafaker STARS:1.7k -COMMIT:5h +COMMIT:30m +LICENSE:Apache-2.0 REPO:six2six/fixture-factory NAME:Fixture Factory STARS:446 -COMMIT:3y +COMMIT:2y +LICENSE:Apache-2.0 REPO:Devskiller/jfairy NAME:jFairy STARS:- COMMIT:- +LICENSE:- REPO:instancio/instancio NAME:Instancio STARS:1.1k -COMMIT:6m +COMMIT:3h +LICENSE:Apache-2.0 REPO:randomizedtesting/randomizedtesting NAME:Randomized Testing STARS:180 COMMIT:10mo +LICENSE:Apache-2.0 REPO:DiUS/java-faker NAME:Java Faker STARS:4.9k -COMMIT:3y +COMMIT:1y +LICENSE:- REPO:nomemory/mockneat NAME:Mockneat STARS:536 -COMMIT:3y +COMMIT:2y +LICENSE:Apache-2.0 REPO:xcancloud/JMock NAME:JMock STARS:422 COMMIT:2mo +LICENSE:Apache-2.0 REPO: NAME:Apache JMeter STARS:- COMMIT:- +LICENSE:- REPO: NAME:JMeter DSL.java STARS:- COMMIT:- +LICENSE:- REPO: NAME:Arquillian STARS:- COMMIT:- +LICENSE:- REPO:guhilling/cdi-test NAME:cdi-test STARS:27 -COMMIT:1d +COMMIT:3d +LICENSE:Apache-2.0 REPO: NAME:Citrus STARS:- COMMIT:- +LICENSE:- REPO: NAME:Gatling STARS:- COMMIT:- +LICENSE:- REPO: NAME:JUnit STARS:- COMMIT:- +LICENSE:- REPO: NAME:jqwik STARS:- COMMIT:- +LICENSE:- REPO:DiUS/pact-jvm NAME:Pact JVM STARS:- COMMIT:- +LICENSE:- REPO: NAME:PIT STARS:- COMMIT:- +LICENSE:- REPO:weld/weld-testing NAME:weld-testing STARS:112 -COMMIT:2d +COMMIT:5d +LICENSE:Apache-2.0 REPO:SeleniumHQ/selenium NAME:selenium STARS:33.9k -COMMIT:1h +COMMIT:8h +LICENSE:Apache-2.0 REPO: NAME:AssertJ STARS:- COMMIT:- +LICENSE:- REPO: NAME:Hamcrest STARS:- COMMIT:- +LICENSE:- REPO: NAME:JSONAssert STARS:- COMMIT:- +LICENSE:- REPO:lukas-krecan/JsonUnit NAME:JsonUnit STARS:975 -COMMIT:13h +COMMIT:1d +LICENSE:Apache-2.0 REPO: NAME:Truth STARS:- COMMIT:- +LICENSE:- REPO:xmlunit/xmlunit NAME:XMLUnit STARS:314 COMMIT:2mo +LICENSE:Apache-2.0 REPO:Hakky54/console-captor NAME:ConsoleCaptor STARS:33 -COMMIT:16d +COMMIT:18d +LICENSE:Apache-2.0 REPO:TNG/junit-dataprovider NAME:junit-dataprovider STARS:249 -COMMIT:25d +COMMIT:3d +LICENSE:Apache-2.0 REPO: NAME:junit-pioneer STARS:- COMMIT:- +LICENSE:- REPO:Hakky54/log-captor NAME:LogCaptor STARS:421 -COMMIT:16d +COMMIT:18d +LICENSE:Apache-2.0 REPO:dm-drogeriemarkt/log-capture NAME:log-capture STARS:15 COMMIT:1mo +LICENSE:MIT REPO:MutabilityDetector/MutabilityDetector NAME:Mutability Detector STARS:241 -COMMIT:2mo +COMMIT:3mo +LICENSE:Apache-2.0 REPO: NAME:pojo-tester STARS:- COMMIT:- +LICENSE:- REPO:nidi3/raml-tester NAME:raml-tester STARS:73 -COMMIT:7y +COMMIT:6y +LICENSE:Apache-2.0 REPO:diffplug/selfie NAME:Selfie -STARS:87 -COMMIT:1mo +STARS:88 +COMMIT:14h +LICENSE:Apache-2.0 REPO:stebz/stebz NAME:Stebz STARS:17 -COMMIT:1d +COMMIT:3d +LICENSE:MIT REPO:testcontainers/testcontainers-java NAME:Testcontainers STARS:8.6k -COMMIT:23d +COMMIT:8d +LICENSE:MIT REPO: NAME:JMockit STARS:- COMMIT:- +LICENSE:- REPO:mockito/mockito NAME:Mockito STARS:15.4k -COMMIT:2d +COMMIT:4d +LICENSE:MIT REPO: NAME:MockServer STARS:- COMMIT:- +LICENSE:- REPO:dreamhead/moco NAME:Moco STARS:4.4k COMMIT:1y +LICENSE:MIT REPO:powermock/powermock NAME:PowerMock STARS:4.2k -COMMIT:3y +COMMIT:2y +LICENSE:Apache-2.0 REPO: NAME:WireMock STARS:- COMMIT:- +LICENSE:- REPO:easymock/easymock NAME:EasyMock STARS:831 -COMMIT:2d +COMMIT:4d +LICENSE:- REPO:alibaba/arthas NAME:Arthas STARS:37.0k -COMMIT:2d +COMMIT:26m +LICENSE:Apache-2.0 REPO:vladimir-bukhtoyarov/bucket4j NAME:bucket4j STARS:- COMMIT:- +LICENSE:- REPO:yegor256/cactoos NAME:cactoos STARS:763 -COMMIT:19h +COMMIT:1d +LICENSE:MIT REPO:cleopatra27/chocotea NAME:Chocotea STARS:48 COMMIT:2y +LICENSE:Apache-2.0 REPO: NAME:CRaSH STARS:- COMMIT:- +LICENSE:- REPO:PatMartin/Dex NAME:Dex STARS:1.3k COMMIT:6y +LICENSE:Apache-2.0 REPO:marianobarrios/dregex NAME:dregex STARS:48 -COMMIT:23h +COMMIT:3d +LICENSE:BSD-2-Clause REPO:embulk/embulk NAME:Embulk STARS:1.8k COMMIT:1mo +LICENSE:Apache-2.0 REPO:vorburger/ch.vorburger.fswatch NAME:fswatch STARS:31 -COMMIT:5d +COMMIT:7d +LICENSE:Apache-2.0 REPO:gephi/gephi NAME:Gephi STARS:6.3k -COMMIT:2d +COMMIT:13h +LICENSE:GPL-3.0 REPO:google/guava NAME:Guava STARS:51.4k -COMMIT:1d +COMMIT:11h +LICENSE:Apache-2.0 REPO: NAME:JADE STARS:- COMMIT:- +LICENSE:- REPO:MathieuSoysal/Javadoc-publisher.yml NAME:Javadoc Publisher STARS:55 COMMIT:1mo +LICENSE:Apache-2.0 REPO: NAME:Java Diff Utils STARS:- COMMIT:- +LICENSE:- REPO:VerbalExpressions/JavaVerbalExpressions NAME:JavaVerbalExpressions STARS:2.6k -COMMIT:1mo +COMMIT:9d +LICENSE:MIT REPO: NAME:JGit STARS:- COMMIT:- +LICENSE:- REPO:evpl/jkscope NAME:JKScope STARS:21 COMMIT:11mo +LICENSE:Apache-2.0 REPO:minio/minio-java NAME:minio-java STARS:1.3k -COMMIT:22d +COMMIT:25d +LICENSE:Apache-2.0 REPO: NAME:Protégé STARS:- COMMIT:- +LICENSE:- REPO:semver4j/semver4j NAME:Semver4j STARS:106 -COMMIT:23h +COMMIT:1d +LICENSE:MIT REPO:javadev/underscore-java NAME:Underscore-java STARS:547 -COMMIT:29d +COMMIT:1mo +LICENSE:MIT REPO:shyiko/jabba NAME:jabba STARS:3.3k -COMMIT:4y +COMMIT:1y +LICENSE:- REPO:jenv/jenv NAME:jenv STARS:6.5k -COMMIT:14d +COMMIT:16d +LICENSE:MIT REPO:sdkman/sdkman-cli NAME:SDKMan STARS:6.6k -COMMIT:10h +COMMIT:2d +LICENSE:Apache-2.0 REPO: NAME:Apache Nutch STARS:- COMMIT:- +LICENSE:- REPO:yasserg/crawler4j NAME:Crawler4j STARS:4.6k -COMMIT:5y +COMMIT:4y +LICENSE:Apache-2.0 REPO: NAME:jsoup STARS:- COMMIT:- +LICENSE:- REPO: NAME:StormCrawler STARS:- COMMIT:- +LICENSE:- REPO:code4craft/webmagic NAME:webmagic STARS:11.7k -COMMIT:6mo +COMMIT:20d +LICENSE:Apache-2.0 REPO: NAME:ActiveJ STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Tapestry STARS:- COMMIT:- +LICENSE:- REPO: NAME:Apache Wicket STARS:- COMMIT:- +LICENSE:- REPO:lets-blade/blade NAME:Blade STARS:5.9k -COMMIT:11mo +COMMIT:25d +LICENSE:Apache-2.0 REPO: NAME:Bootique STARS:- COMMIT:- +LICENSE:- REPO: NAME:Firefly STARS:- COMMIT:- +LICENSE:- REPO: NAME:Javalin STARS:- COMMIT:- +LICENSE:- REPO: NAME:Jooby STARS:- COMMIT:- +LICENSE:- REPO: NAME:Ninja STARS:- COMMIT:- +LICENSE:- REPO: NAME:Pippo STARS:- COMMIT:- +LICENSE:- REPO: NAME:Play STARS:- COMMIT:- +LICENSE:- REPO: NAME:PrimeFaces STARS:- COMMIT:- +LICENSE:- REPO: NAME:Ratpack STARS:- COMMIT:- +LICENSE:- REPO:yegor256/takes NAME:Takes STARS:868 -COMMIT:6d +COMMIT:7h +LICENSE:MIT REPO: NAME:Vaadin STARS:- COMMIT:- +LICENSE:- REPO: NAME:WebForms Core STARS:- COMMIT:- +LICENSE:- REPO: NAME:Cadence STARS:- COMMIT:- +LICENSE:- REPO:flowable/flowable-engine NAME:flowable STARS:9.0k COMMIT:1d +LICENSE:Apache-2.0 REPO: NAME:Temporal STARS:- -COMMIT:- \ No newline at end of file +COMMIT:- +LICENSE:- \ No newline at end of file diff --git a/.tmp/parsed-projects.txt b/.tmp/parsed-projects.txt index 7520a076..37fee3d9 100644 --- a/.tmp/parsed-projects.txt +++ b/.tmp/parsed-projects.txt @@ -1,3443 +1,3450 @@ NAME:ArchUnit URL:https://github.com/TNG/ArchUnit -DESC:Test library for specifying and asserting architecture rules. +DESC:Unit test architecture rules with a fluent Java API; catches violations at build time. SKIP:1 SECTION:Architecture --- NAME:jMolecules URL:https://github.com/xmolecules/jmolecules -DESC:Annotations and interfaces to express design and architecture concepts in code. +DESC:Express DDD, hexagonal, and layered architecture concepts directly in code with type-safe annotations. SKIP:1 SECTION:Architecture --- NAME:LangChain4j URL:https://github.com/langchain4j/langchain4j -DESC:Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. +DESC:Unified API for 15+ LLM providers with RAG, function calling, and AI services out of the box. SKIP:1 SECTION:Artificial Intelligence --- NAME:MCP Java SDK URL:https://github.com/modelcontextprotocol/java-sdk -DESC: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. +DESC:Model Context Protocol implementation enabling standardized AI model interactions with sync/async support. SKIP:1 SECTION:Artificial Intelligence --- NAME:simple-openai URL:https://github.com/sashirestela/simple-openai -DESC:Library to use the OpenAI API (and compatible ones) in the simplest possible way. +DESC:Lightweight, zero-dependency OpenAI API client with streaming support. SKIP:1 SECTION:Artificial Intelligence --- NAME:Spring AI URL:https://spring.io/projects/spring-ai -DESC:Application framework for AI engineering for Spring. +DESC:Spring-native AI framework with portable APIs across AI providers and vector stores. SKIP:1 SECTION:Artificial Intelligence --- NAME:dOOv URL:https://github.com/doov-io/doov -DESC:Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +DESC:Fluent, typesafe DSL for domain validation and mapping with code generation. SKIP:1 SECTION:Bean Mapping --- NAME:JMapper URL:https://github.com/jmapper-framework/jmapper-core -DESC:Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. +DESC:Bytecode-powered mapper achieving near-native performance; supports annotations, API, or XML config. SKIP:1 SECTION:Bean Mapping --- NAME:MapStruct URL:https://github.com/mapstruct/mapstruct -DESC:Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. +DESC:Compile-time code generator producing type-safe, reflection-free mappers with zero runtime overhead. SKIP:1 SECTION:Bean Mapping --- NAME:ModelMapper URL:https://github.com/modelmapper/modelmapper -DESC:Intelligent object mapping library that automatically maps objects to each other. +DESC:Convention-based mapper that auto-matches properties, reducing boilerplate. SKIP:1 SECTION:Bean Mapping --- NAME:Orika URL:https://github.com/orika-mapper/orika -DESC:JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. +DESC:Bytecode-generated mappers with automatic type conversion and deep copying. SKIP:1 SECTION:Bean Mapping --- NAME:reMap URL:https://github.com/remondis-it/remap -DESC:Lambda and method handle-based mapping which requires code and not annotations if objects have different names. +DESC:Lambda-based mapping with compile-time safety; no annotations required. SKIP:1 SECTION:Bean Mapping --- NAME:Selma URL:https://github.com/xebia-france/selma -DESC:Annotation processor-based bean mapper. +DESC:Annotation processor generating optimized mappers at compile time. SKIP:1 SECTION:Bean Mapping --- NAME:Apache Maven URL:https://maven.apache.org -DESC: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. +DESC:Industry-standard declarative build tool with convention-over-configuration and vast plugin ecosystem. SKIP:1 SECTION:Build --- NAME:Bazel URL:https://bazel.build -DESC:Tool from Google that builds code quickly and reliably. +DESC:Google's build system with aggressive caching, remote execution, and reproducible builds at scale. SKIP:1 SECTION:Build --- NAME:Buck2 URL:https://github.com/facebook/buck2 -DESC:Encourages the creation of small, reusable modules consisting of code and resources. +DESC:Meta's fast build system with fine-grained parallelism and remote execution support. SKIP:1 SECTION:Build --- NAME:Gradle URL:https://gradle.org -DESC:Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. +DESC:Flexible build automation with incremental builds, build caching, and Kotlin/Groovy DSL. SKIP:1 SECTION:Build --- NAME:ASM URL:https://asm.ow2.io -DESC:All-purpose, low-level bytecode manipulation and analysis. +DESC:Low-level, high-performance bytecode manipulation; the foundation for most other tools. SKIP:1 SECTION:Bytecode Manipulation --- NAME:Byte Buddy URL:https://bytebuddy.net -DESC:Further simplifies bytecode generation with a fluent API. +DESC:Fluent API for runtime code generation without needing bytecode knowledge. SKIP:1 SECTION:Bytecode Manipulation --- NAME:bytecode-viewer URL:https://github.com/Konloch/bytecode-viewer -DESC:Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +DESC:All-in-one reverse engineering suite for JAR and APK files. (GPL-3.0-only) SKIP:1 SECTION:Bytecode Manipulation --- NAME:Byteman URL:https://byteman.jboss.org -DESC:Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +DESC:Rule-based runtime bytecode injection for testing and fault injection. (LGPL-2.1-or-later) SKIP:1 SECTION:Bytecode Manipulation --- NAME:cglib URL:https://github.com/cglib/cglib -DESC:Bytecode generation library. +DESC:High-level bytecode generation for proxies and interceptors. SKIP:1 SECTION:Bytecode Manipulation --- NAME:Javassist URL:https://github.com/jboss-javassist/javassist -DESC:Tries to simplify bytecode editing. +DESC:Edit bytecode using Java source syntax, no low-level knowledge required. SKIP:1 SECTION:Bytecode Manipulation --- NAME:Maker URL:https://github.com/cojen/maker -DESC:Provides low level bytecode generation. +DESC:Lightweight, low-level bytecode generation with minimal dependencies. SKIP:1 SECTION:Bytecode Manipulation --- NAME:Mixin URL:https://github.com/SpongePowered/Mixin -DESC:Manipulate bytecode at runtime using real Java code. +DESC:Runtime class transformation using annotated Java code; popular in Minecraft modding. SKIP:1 SECTION:Bytecode Manipulation --- NAME:Perses URL:https://github.com/nicolasmanic/perses -DESC:Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. +DESC:Chaos engineering via bytecode-level fault injection. SKIP:1 SECTION:Bytecode Manipulation --- NAME:Recaf URL:https://www.coley.software/Recaf/ -DESC:JVM reverse engineering toolkit, essentially an IDE for Java bytecode. +DESC:Modern bytecode editor IDE with decompilation, search, and hex editing. SKIP:1 SECTION:Bytecode Manipulation --- NAME:cache2k URL:https://cache2k.org -DESC:In-memory high performance caching library. +DESC:In-memory cache with sub-microsecond access times and advanced expiry policies. SKIP:1 SECTION:Caching --- NAME:Caffeine URL:https://github.com/ben-manes/caffeine -DESC:High-performance, near-optimal caching library. +DESC:Near-optimal hit rates via Window TinyLFU algorithm; Java's fastest cache. SKIP:1 SECTION:Caching --- NAME:Ehcache URL:http://www.ehcache.org -DESC:Distributed general-purpose cache. +DESC:Mature, JCache-compliant cache with tiered storage (heap/off-heap/disk). SKIP:1 SECTION:Caching --- NAME:Infinispan URL:https://infinispan.org -DESC:Highly concurrent key/value datastore used for caching. +DESC:Distributed, clustered cache with transactions and query support. SKIP:1 SECTION:Caching --- NAME:Airline URL:https://rvesse.github.io/airline/ -DESC:Annotation-based framework for parsing Git-like command-line arguments. +DESC:Git-style CLI parser with annotation-based commands and subcommands. SKIP:1 SECTION:CLI/Argument Parsing --- NAME:JCommander URL:http://jcommander.org -DESC:Command-line argument-parsing framework with custom types and validation via implementing interfaces. +DESC:Annotation-driven parser with custom type converters and validation. SKIP:1 SECTION:CLI/Argument Parsing --- NAME:jbock URL:https://github.com/jbock-java/jbock -DESC:Reflectionless command line parser. +DESC:Compile-time CLI parser with zero reflection and zero dependencies. SKIP:1 SECTION:CLI/Argument Parsing --- NAME:JLine URL:https://github.com/jline/jline3 -DESC:Includes features from modern shells like completion or history. +DESC:Rich terminal handling with tab-completion, history, and syntax highlighting. SKIP:1 SECTION:CLI/Argument Parsing --- NAME:picocli URL:https://picocli.info -DESC:ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +DESC:Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. SKIP:1 SECTION:CLI/Argument Parsing --- NAME:Jansi URL:https://github.com/fusesource/jansi -DESC:ANSI escape codes to format console output. +DESC:Cross-platform ANSI escape code support for colored console output. SKIP:1 SECTION:CLI/Text-Based User Interfaces --- NAME:Jexer URL:https://gitlab.com/AutumnMeowMeow/jexer -DESC:Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). +DESC:Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. SKIP:1 SECTION:CLI/Text-Based User Interfaces --- NAME:Text-IO URL:https://github.com/beryx/text-io -DESC:Aids the creation of full console-based applications. +DESC:Simple API for interactive console applications with input validation. SKIP:1 SECTION:CLI/Text-Based User Interfaces --- NAME:Lanterna URL:https://github.com/mabe02/lanterna -DESC:Easy console text-GUI library, similar to curses. (LGPL-3.0-only) +DESC:Curses-like TUI with cross-platform terminal abstraction. (LGPL-3.0-only) SKIP:1 SECTION:CLI/Text-Based User Interfaces --- NAME:AWS SDK for Java URL:https://github.com/aws/aws-sdk-java -DESC:Provides Java APIs for interacting with Amazon Web Services. +DESC:Official SDK covering 200+ AWS services with async support and pagination. SKIP:1 SECTION:Cloud --- NAME:Google Cloud Client Libraries URL:https://github.com/googleapis/google-cloud-java -DESC:Client libraries for accessing Google Cloud services from Java applications. +DESC:Idiomatic Java clients for GCP services with automatic retries and streaming. SKIP:1 SECTION:Cloud --- NAME:Checkstyle URL:https://github.com/checkstyle/checkstyle -DESC:Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +DESC:Enforces coding standards with 150+ configurable checks. (LGPL-2.1-or-later) SKIP:1 SECTION:Code Analysis --- NAME:Error Prone URL:https://github.com/google/error-prone -DESC:Catches common programming mistakes as compile-time errors. +DESC:Google's compiler plugin catching bugs at compile time with auto-fixes. SKIP:1 SECTION:Code Analysis --- NAME:Error Prone Support URL:https://github.com/PicnicSupermarket/error-prone-support -DESC:Error Prone extensions: extra bug checkers and a large battery of Refaster templates. +DESC:100+ additional Error Prone checks and Refaster refactoring templates. SKIP:1 SECTION:Code Analysis --- NAME:Infer URL:https://github.com/facebook/infer -DESC:Modern static analysis tool for verifying the correctness of code. +DESC:Meta's static analyzer detecting null dereferences, resource leaks, and concurrency issues. SKIP:1 SECTION:Code Analysis --- NAME:jQAssistant URL:https://jqassistant.org -DESC:Static code analysis with Neo4J-based query language. (GPL-3.0-only) +DESC:Query codebase structure with Cypher on a Neo4j graph. (GPL-3.0-only) SKIP:1 SECTION:Code Analysis --- NAME:NullAway URL:https://github.com/uber/NullAway -DESC:Eliminates NullPointerExceptions with low build-time overhead. +DESC:Fast null-safety checker with minimal annotation overhead; Uber-proven. SKIP:1 SECTION:Code Analysis --- NAME:PMD URL:https://github.com/pmd/pmd -DESC:Source code analysis for finding bad coding practices. +DESC:Extensible static analyzer detecting code smells and copy-paste issues. SKIP:1 SECTION:Code Analysis --- NAME:p3c URL:https://github.com/alibaba/p3c -DESC:Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +DESC:Alibaba's Java coding guidelines as PMD rules and IDE plugins. SKIP:1 SECTION:Code Analysis --- NAME:RefactorFirst URL:https://github.com/jimbethancourt/RefactorFirst -DESC:Identifies and prioritizes God Classes and Highly Coupled classes. +DESC:Prioritizes refactoring targets by God Class and coupling metrics. SKIP:1 SECTION:Code Analysis --- NAME:SonarJava URL:https://github.com/SonarSource/sonar-java -DESC:Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) +DESC:600+ rules for SonarQube with security hotspot detection. (LGPL-3.0-only) SKIP:1 SECTION:Code Analysis --- NAME:Spoon URL:https://github.com/INRIA/spoon -DESC:Library for analyzing and transforming Java source code. +DESC:Full Java AST API for analysis, transformation, and code generation. SKIP:1 SECTION:Code Analysis --- NAME:Spotbugs URL:https://github.com/spotbugs/spotbugs -DESC:Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +DESC:FindBugs successor; bytecode analysis for 400+ bug patterns. (LGPL-2.1-only) SKIP:1 SECTION:Code Analysis --- NAME:Clover URL:https://www.atlassian.com/software/clover -DESC:Relies on source-code instrumentation instead of bytecode instrumentation. +DESC:Source-level instrumentation with detailed per-test coverage and historical trends. SKIP:1 SECTION:Code Coverage --- NAME:Cobertura URL:https://cobertura.github.io/cobertura/ -DESC:Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +DESC:Bytecode instrumentation with branch coverage and complexity metrics. (GPL-2.0-only) SKIP:1 SECTION:Code Coverage --- NAME:JaCoCo URL:https://www.eclemma.org/jacoco/ -DESC:Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. +DESC:Lightweight agent with line/branch/instruction coverage and IDE/CI integration. SKIP:1 SECTION:Code Coverage --- NAME:ADT4J URL:https://github.com/sviperll/adt4j -DESC:JSR-269 code generator for algebraic data types. +DESC:Generates algebraic data types (sealed hierarchies) with pattern matching. SKIP:1 SECTION:Code Generators --- NAME:Auto URL:https://github.com/google/auto -DESC:Generates factory, service, and value classes. +DESC:Google's annotation processors for AutoValue, AutoFactory, and AutoService. SKIP:1 SECTION:Code Generators --- NAME:Avaje Http Server URL:https://avaje.io/http/ -DESC:Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +DESC:Compile-time HTTP server generation for Javalin/Helidon; no reflection. SKIP:1 SECTION:Code Generators --- NAME:EasyEntityToDTO URL:https://github.com/Marcel091004/EasyEntityToDTO -DESC:Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +DESC:Annotation processor generating DTOs and mappers automatically. SKIP:1 SECTION:Code Generators --- NAME:FreeBuilder URL:https://github.com/inferred/FreeBuilder -DESC:Automatically generates the Builder pattern. +DESC:Generates Builder pattern with validation and partial builds. SKIP:1 SECTION:Code Generators --- NAME:Geci URL:https://github.com/verhas/javageci -DESC:Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +DESC:Test-time code generator that updates source files in-place. SKIP:1 SECTION:Code Generators --- NAME:Immutables URL:https://immutables.github.io -DESC:Annotation processors to generate simple, safe and consistent value objects. +DESC:Generates immutable value objects with builders, JSON support, and interning. SKIP:1 SECTION:Code Generators --- NAME:JavaPoet URL:https://github.com/square/javapoet -DESC:API to generate source files. +DESC:Fluent API for generating `.java` source files programmatically. SKIP:1 SECTION:Code Generators --- NAME:JHipster URL:https://github.com/jhipster/generator-jhipster -DESC:Yeoman source code generator for Spring Boot and AngularJS. +DESC:Full-stack app generator for Spring Boot + Angular/React/Vue. SKIP:1 SECTION:Code Generators --- NAME:Joda-Beans URL:https://www.joda.org/joda-beans/ -DESC:Small framework that adds queryable properties to Java, enhancing JavaBeans. +DESC:Adds queryable, serializable properties to POJOs via code generation. SKIP:1 SECTION:Code Generators --- NAME:JSpecify Package-Info Generator URL:https://github.com/bcaillard/jspecify-packageinfo-generator -DESC:Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +DESC:Maven plugin auto-generating `package-info.java` with nullness annotations. SKIP:1 SECTION:Code Generators --- NAME:Lombok URL:https://projectlombok.org -DESC:Code generator that aims to reduce verbosity. +DESC:Eliminates boilerplate with annotations for getters, builders, and more. SKIP:1 SECTION:Code Generators --- NAME:Record-Builder URL:https://github.com/Randgalt/record-builder -DESC:Companion builder class, withers and templates for Java records. +DESC:Generates builders and withers for Java records. SKIP:1 SECTION:Code Generators --- NAME:Telosys URL:https://www.telosys.org/ -DESC:Simple and light code generator available as an Eclipse Plugin and also as a CLI. +DESC:Template-driven code generator for any language via CLI or Eclipse. SKIP:1 SECTION:Code Generators --- NAME:ANTLR URL:https://www.antlr.org -DESC:Complex full-featured framework for top-down parsing. +DESC:Powerful LL(\*) parser generator with IDE support and multiple target languages. SKIP:1 SECTION:Compiler-compiler --- NAME:JavaCC URL:https://javacc.github.io/javacc/ -DESC:Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +DESC:LL(k) parser generator with lookahead, lexical states, and tree building. SKIP:1 SECTION:Compiler-compiler --- NAME:JFlex URL:https://jflex.de -DESC:Lexical analyzer generator. +DESC:Fast lexer generator with full Unicode support and JLex compatibility. SKIP:1 SECTION:Compiler-compiler --- NAME:BoofCV URL:https://boofcv.org -DESC:Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +DESC:Real-time computer vision with 3D reconstruction, fiducial detection, and feature tracking. SKIP:1 SECTION:Computer Vision --- NAME:ImageJ URL:https://imagej.net/ImageJ -DESC:Medical image processing application with an API. +DESC:Extensible image analysis platform with 500+ plugins for scientific imaging. SKIP:1 SECTION:Computer Vision --- NAME:JavaCV URL:https://github.com/bytedeco/javacv -DESC:Java interface to OpenCV, FFmpeg, and much more. +DESC:Java bindings for OpenCV, FFmpeg, TensorFlow, and more via JavaCPP. SKIP:1 SECTION:Computer Vision --- NAME:avaje config URL:https://avaje.io/config/ -DESC:Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +DESC:Lightweight config with YAML/properties, file watching, and dynamic reload. SKIP:1 SECTION:Configuration --- NAME:centraldogma URL:https://github.com/line/centraldogma -DESC:Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +DESC:Git-backed, versioned configuration service with change notifications. SKIP:1 SECTION:Configuration --- NAME:config URL:https://github.com/lightbend/config -DESC:Configuration library supporting Java properties, JSON or its human optimized superset HOCON. +DESC:HOCON/JSON/properties with substitutions, includes, and environment overrides. SKIP:1 SECTION:Configuration --- NAME:Configurate URL:https://github.com/SpongePowered/Configurate -DESC:Configuration library with support for various configuration formats and transformations. +DESC:Multi-format config (YAML, JSON, HOCON, XML) with type-safe object mapping. SKIP:1 SECTION:Configuration --- NAME:Curator Framework URL:https://curator.apache.org/ -DESC:High-level API for Apache ZooKeeper. +DESC:Simplified ZooKeeper client with recipes for locks, leaders, and caches. SKIP:1 SECTION:Configuration --- NAME:dotenv URL:https://github.com/shyiko/dotenv -DESC:Twelve-factor configuration library which uses environment-specific files. +DESC:Twelve-factor app config from `.env` files with environment overrides. SKIP:1 SECTION:Configuration --- NAME:Externalized Properties URL:https://github.com/joel-jeremy/externalized-properties -DESC:Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. +DESC:Interface-based config with pluggable sources and automatic type conversion. SKIP:1 SECTION:Configuration --- NAME:Gestalt URL:https://github.com/gestalt-config/gestalt -DESC: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. +DESC:Multi-source config merging with type-safe binding and validation. SKIP:1 SECTION:Configuration --- NAME:ini4j URL:http://ini4j.sourceforge.net -DESC:Provides an API for handling Windows' INI files. +DESC:Windows INI file parser with section and multi-value support. SKIP:1 SECTION:Configuration --- NAME:KAConf URL:https://github.com/mariomac/kaconf -DESC:Annotation-based configuration system for Java and Kotlin. +DESC:Annotation-based config injection for Java and Kotlin. SKIP:1 SECTION:Configuration --- NAME:microconfig URL:https://microconfig.io -DESC: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. +DESC:Microservice config management with inheritance and environment profiles. SKIP:1 SECTION:Configuration --- NAME:owner URL:https://github.com/lviggiano/owner -DESC:Reduces boilerplate of properties. +DESC:Type-safe properties via interfaces with automatic conversion. SKIP:1 SECTION:Configuration --- NAME:Choco URL:https://choco-solver.org -DESC:Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +DESC:Powerful CP solver with global constraints and search strategies. SKIP:1 SECTION:Constraint Satisfaction Problem Solver --- NAME:JaCoP URL:https://github.com/radsz/jacop -DESC:Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) +DESC:Constraint solver with MiniZinc/FlatZinc support for modeling. (AGPL-3.0) SKIP:1 SECTION:Constraint Satisfaction Problem Solver --- NAME:OptaPlanner URL:https://www.optaplanner.org -DESC:Business planning and resource scheduling optimization solver. +DESC:AI constraint solver for planning problems like scheduling and routing. SKIP:1 SECTION:Constraint Satisfaction Problem Solver --- NAME:Timefold URL:https://timefold.ai/docs -DESC:Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. +DESC:OptaPlanner fork with Spring/Quarkus integration and production-ready quickstarts. SKIP:1 SECTION:Constraint Satisfaction Problem Solver --- NAME:FastCSV URL:https://github.com/osiegmar/FastCSV -DESC:Performance-optimized, dependency-free and RFC 4180 compliant. +DESC:Ultra-fast, zero-dependency, RFC 4180-compliant CSV parser. SKIP:1 SECTION:CSV --- NAME:jackson-dataformat-csv URL:https://github.com/FasterXML/jackson-dataformat-csv -DESC:Jackson extension for reading and writing CSV. +DESC:CSV via Jackson's streaming API with schema support. SKIP:1 SECTION:CSV --- NAME:opencsv URL:http://opencsv.sourceforge.net -DESC:Simple CSV parser. +DESC:Simple parser with bean binding and custom separators. SKIP:1 SECTION:CSV --- NAME:Super CSV URL:https://super-csv.github.io/super-csv/ -DESC:Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +DESC:Cell processors for validation, conversion, and constraint checking. SKIP:1 SECTION:CSV --- NAME:uniVocity-parsers URL:https://github.com/uniVocity/univocity-parsers -DESC:One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. +DESC:Fastest parser with CSV/TSV/fixed-width support and streaming. SKIP:1 SECTION:CSV --- NAME:Apache Avro URL:https://avro.apache.org -DESC:Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +DESC:Schema-evolution-friendly serialization with compact binary format. SKIP:1 SECTION:Data Structures --- NAME:Apache Orc URL:https://orc.apache.org -DESC:Fast and efficient columnar storage format for Hadoop-based workloads. +DESC:Columnar storage with predicate pushdown and ACID support for Hive. SKIP:1 SECTION:Data Structures --- NAME:Apache Parquet URL:https://parquet.apache.org -DESC:Columnar storage format based on assembly algorithms from Google's paper on Dremel. +DESC:Columnar format with efficient compression and encoding for analytics. SKIP:1 SECTION:Data Structures --- NAME:Apache Thrift URL:https://thrift.apache.org -DESC:Data interchange format that originated at Facebook. +DESC:Cross-language RPC framework with compact binary protocol. SKIP:1 SECTION:Data Structures --- NAME:Big Queue URL:https://github.com/bulldog2011/bigqueue -DESC:Fast and persistent queue based on memory-mapped files. +DESC:Memory-mapped persistent queue handling 100M+ items. SKIP:1 SECTION:Data Structures --- NAME:HyperMinHash-java URL:https://github.com/LiveRamp/HyperMinHash-java -DESC:Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. +DESC:Probabilistic set operations in O(log log n) space. SKIP:1 SECTION:Data Structures --- NAME:Persistent Collection URL:https://github.com/hrldcpr/pcollections -DESC:Persistent and immutable analogue of the Java Collections Framework. +DESC:Immutable collections with efficient structural sharing. SKIP:1 SECTION:Data Structures --- NAME:Protobuf URL:https://github.com/protocolbuffers/protobuf -DESC:Google's data interchange format. +DESC:Google's language-neutral, schema-driven binary serialization. SKIP:1 SECTION:Data Structures --- NAME:RoaringBitmap URL:https://github.com/RoaringBitmap/RoaringBitmap -DESC:Fast and efficient compressed bitmap. +DESC:Compressed bitmaps faster than traditional implementations by orders of magnitude. SKIP:1 SECTION:Data Structures --- NAME:SBE URL:https://github.com/real-logic/simple-binary-encoding -DESC:Simple Binary Encoding, one of the fastest message formats around. +DESC:Zero-copy, zero-allocation messaging for ultra-low latency. SKIP:1 SECTION:Data Structures --- NAME:Tape URL:https://github.com/square/tape -DESC:Lightning-fast, transactional, file-based FIFO. +DESC:Crash-safe, file-based FIFO queue for Android and Java. SKIP:1 SECTION:Data Structures --- NAME:Wire URL:https://github.com/square/wire -DESC:Clean, lightweight protocol buffers. +DESC:Lightweight Protocol Buffers with Kotlin and Java codegen. SKIP:1 SECTION:Data Structures --- NAME:Apache Calcite URL:https://calcite.apache.org -DESC:Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +DESC:SQL parser, optimizer, and query federation framework for building databases. SKIP:1 SECTION:Database --- NAME:Apache Drill URL:https://drill.apache.org -DESC:Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +DESC:Schema-free SQL for JSON, Parquet, and NoSQL with distributed execution. SKIP:1 SECTION:Database --- NAME:Apache Phoenix URL:https://phoenix.apache.org -DESC:High-performance relational database layer over HBase for low-latency applications. +DESC:SQL skin over HBase with secondary indexes and transactions. SKIP:1 SECTION:Database --- NAME:ArangoDB URL:https://github.com/arangodb/arangodb-java-driver -DESC:ArangoDB Java driver. +DESC:Multi-model (document/graph/key-value) database driver with async support. SKIP:1 SECTION:Database --- NAME:Chronicle Map URL:https://github.com/OpenHFT/Chronicle-Map -DESC:Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +DESC:Off-heap, persisted ConcurrentMap with microsecond latency. SKIP:1 SECTION:Database --- NAME:Debezium URL:https://debezium.io/ -DESC:Low latency data streaming platform for change data capture. +DESC:CDC platform streaming database changes to Kafka in real-time. SKIP:1 SECTION:Database --- NAME:druid URL:https://druid.apache.org -DESC:High-performance, column-oriented, distributed data store. +DESC:Real-time OLAP database with sub-second queries at scale. SKIP:1 SECTION:Database --- NAME:eXist URL:https://github.com/eXist-db/exist -DESC:NoSQL document database and application platform. (LGPL-2.1-only) +DESC:Native XML database with XQuery and full-text search. (LGPL-2.1-only) SKIP:1 SECTION:Database --- NAME:FlexyPool URL:https://github.com/vladmihalcea/flexy-pool -DESC:Brings metrics and failover strategies to the most common connection pooling solutions. +DESC:Connection pool monitoring with auto-scaling and failover. SKIP:1 SECTION:Database --- NAME:Flyway URL:https://flywaydb.org -DESC:Simple database migration tool. +DESC:Version-controlled SQL migrations with rollback support. SKIP:1 SECTION:Database --- NAME:H2 URL:https://h2database.com -DESC:Small SQL database notable for its in-memory functionality. +DESC:Embeddable SQL database with in-memory mode; great for testing. SKIP:1 SECTION:Database --- NAME:HikariCP URL:https://github.com/brettwooldridge/HikariCP -DESC:High-performance JDBC connection pool. +DESC:Fastest JDBC connection pool with minimal overhead. SKIP:1 SECTION:Database --- NAME:HSQLDB URL:https://hsqldb.org/ -DESC:HyperSQL 100% Java database. +DESC:Pure Java SQL database with in-memory and file-based modes. SKIP:1 SECTION:Database --- NAME:JDBI URL:http://jdbi.org -DESC:Convenient abstraction of JDBC. +DESC:Fluent, annotation-free SQL API built on JDBC. SKIP:1 SECTION:Database --- NAME:Jedis URL:https://github.com/xetorthio/jedis -DESC:Small client for interaction with Redis, with methods for commands. +DESC:Battle-tested Redis client with connection pooling and pipelining. SKIP:1 SECTION:Database --- NAME:Jest URL:https://github.com/searchbox-io/Jest -DESC:Client for the Elasticsearch REST API. +DESC:Elasticsearch REST client with async support and bulk operations. SKIP:1 SECTION:Database --- NAME:jetcd URL:https://github.com/justinsb/jetcd -DESC:Client library for etcd. +DESC:Official etcd v3 client with watch and lease support. SKIP:1 SECTION:Database --- NAME:Jinq URL:https://github.com/my2iu/Jinq -DESC:Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). +DESC:LINQ-style queries via lambda symbolic execution on JPA/jOOQ. SKIP:1 SECTION:Database --- NAME:jOOQ URL:https://www.jooq.org -DESC:Generates typesafe code based on SQL schema. +DESC:Typesafe SQL DSL generated from your schema; catches errors at compile time. SKIP:1 SECTION:Database --- NAME:Leaf URL:https://github.com/Meituan-Dianping/Leaf -DESC:Distributed ID generate service. +DESC:Meituan's distributed ID generator with segment and snowflake modes. SKIP:1 SECTION:Database --- NAME:Lettuce URL:https://lettuce.io/ -DESC:Lettuce is a scalable Redis client for building non-blocking Reactive applications. +DESC:Reactive, non-blocking Redis client with cluster and Sentinel support. SKIP:1 SECTION:Database --- NAME:Liquibase URL:http://www.liquibase.org -DESC:Database-independent library for tracking, managing and applying database schema changes. +DESC:Database-agnostic migrations with rollback and diff capabilities. SKIP:1 SECTION:Database --- NAME:MapDB URL:http://www.mapdb.org -DESC:Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +DESC:Concurrent maps/sets backed by disk or off-heap memory with transactions. SKIP:1 SECTION:Database --- NAME:MariaDB4j URL:https://github.com/vorburger/MariaDB4j -DESC:Launcher for MariaDB that requires no installation or external dependencies. +DESC:Embedded MariaDB for integration testing; no install required. SKIP:1 SECTION:Database --- NAME:Modality URL:https://github.com/arkanovicz/modality -DESC:Lightweight ORM with database reverse engineering features. +DESC:Lightweight ORM with schema introspection and code generation. SKIP:1 SECTION:Database --- NAME:OpenDJ URL:https://github.com/OpenIdentityPlatform/OpenDJ -DESC:LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. +DESC:High-performance LDAPv3 directory service with replication. SKIP:1 SECTION:Database --- NAME:Querydsl URL:http://www.querydsl.com -DESC:Typesafe unified queries. +DESC:Unified typesafe queries for JPA, SQL, MongoDB, and more. SKIP:1 SECTION:Database --- NAME:QueryStream URL:https://github.com/querystream/querystream -DESC:Build JPA Criteria queries using a Stream-like API. +DESC:Stream API for building JPA Criteria queries fluently. SKIP:1 SECTION:Database --- NAME:QuestDB URL:https://github.com/questdb/questdb -DESC:High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. +DESC:Time-series database with millions of inserts/sec and SQL support. SKIP:1 SECTION:Database --- NAME:Realm URL:https://github.com/realm/realm-java -DESC:Mobile database to run directly inside phones, tablets or wearables. +DESC:Mobile-first database with live objects and offline-first sync. SKIP:1 SECTION:Database --- NAME:Redisson URL:https://github.com/redisson/redisson -DESC:Allows for distributed and scalable data structures on top of a Redis server. +DESC:Redis-backed distributed collections, locks, and services. SKIP:1 SECTION:Database --- NAME:requery URL:https://github.com/requery/requery -DESC:Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +DESC:Modern ORM with compile-time query validation and RxJava support. SKIP:1 SECTION:Database --- NAME:Speedment URL:https://github.com/speedment/speedment -DESC:Database access library that utilizes Java 8's Stream API for querying. +DESC:Stream-based database queries generated from schema. SKIP:1 SECTION:Database --- NAME:Spring Data JPA MongoDB Expressions URL:https://github.com/mhewedy/spring-data-jpa-mongodb-expressions -DESC:Allows you to use MongoDB query language to query your relational database. +DESC:MongoDB-style queries for relational databases via Spring Data. SKIP:1 SECTION:Database --- NAME:Trino URL:https://trino.io -DESC:Distributed SQL query engine for big data. +DESC:Federated SQL engine querying data lakes and databases at petabyte scale. SKIP:1 SECTION:Database --- NAME:Vibur DBCP URL:https://www.vibur.org -DESC:JDBC connection pool library with advanced performance monitoring capabilities. +DESC:JDBC pool with statement caching and slow query logging. SKIP:1 SECTION:Database --- NAME:Xodus URL:https://github.com/JetBrains/xodus -DESC:Highly concurrent transactional schema-less and ACID-compliant embedded database. +DESC:JetBrains' embedded transactional database; powers YouTrack. SKIP:1 SECTION:Database --- NAME:CosId URL:https://github.com/Ahoo-Wang/CosId -DESC:Universal, flexible, high-performance distributed ID generator. +DESC:High-performance distributed ID generator with multiple algorithms. SKIP:1 SECTION:Database --- NAME:Apache ShardingSphere URL:https://github.com/apache/shardingsphere -DESC:Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. +DESC:Database middleware for sharding, encryption, and distributed transactions. SKIP:1 SECTION:Database --- NAME:iCal4j URL:https://github.com/ical4j/ical4j -DESC:Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. +DESC:RFC 5545 iCalendar parser with recurrence rule support. SKIP:1 SECTION:Date and Time --- NAME:Jollyday URL:https://github.com/svendiedrichsen/jollyday -DESC:Determines the holidays for a given year, country/name and eventually state/region. +DESC:Holiday calculations for 70+ countries with regional variations. SKIP:1 SECTION:Date and Time --- NAME:ThreeTen-Extra URL:https://github.com/ThreeTen/threeten-extra -DESC:Additional date-time classes that complement those in JDK 8. +DESC:Extra date/time types: Interval, YearQuarter, and more for java.time. SKIP:1 SECTION:Date and Time --- NAME:Time4J URL:https://github.com/MenoData/Time4J -DESC:Advanced date and time library. (LGPL-2.1-only) +DESC:Comprehensive date/time with calendars, i18n, and formatting. (LGPL-2.1-only) SKIP:1 SECTION:Date and Time --- +NAME:java-tron +URL:https://github.com/tronprotocol/java-tron +DESC:Full node implementation of the TRON blockchain protocol. +SKIP:1 +SECTION:Decentralization +--- + NAME:Apache DeltaSpike URL:https://deltaspike.apache.org -DESC:CDI extension framework. +DESC:Portable CDI extensions for configuration, security, and data. SKIP:1 SECTION:Dependency Injection --- NAME:Avaje Inject URL:https://avaje.io/inject/ -DESC:Microservice-focused compile-time injection framework without reflection. +DESC:Compile-time DI with no reflection; optimized for microservices. SKIP:1 SECTION:Dependency Injection --- NAME:Dagger URL:https://dagger.dev/ -DESC:Compile-time injection framework without reflection. +DESC:Google's compile-time DI with zero reflection overhead. SKIP:1 SECTION:Dependency Injection --- NAME:Feather URL:https://github.com/zsoltherpai/feather -DESC:Ultra-lightweight, JSR-330-compliant dependency injection library. +DESC:Ultra-lightweight JSR-330 DI in ~16KB. SKIP:1 SECTION:Dependency Injection --- NAME:Governator URL:https://github.com/Netflix/governator -DESC:Extensions and utilities that enhance Google Guice. +DESC:Netflix's Guice extensions with lifecycle management and warmup. SKIP:1 SECTION:Dependency Injection --- NAME:Guice URL:https://github.com/google/guice -DESC:Lightweight and opinionated framework that completes Dagger. +DESC:Google's lightweight DI with runtime binding and AOP support. SKIP:1 SECTION:Dependency Injection --- NAME:HK2 URL:https://eclipse-ee4j.github.io/glassfish-hk2/ -DESC:Lightweight and dynamic dependency injection framework. +DESC:JSR-330 DI with dynamic service discovery; powers Jersey/GlassFish. SKIP:1 SECTION:Dependency Injection --- NAME:JayWire URL:https://github.com/vanillasource/jaywire -DESC:Lightweight dependency injection framework. (LGPL-3.0-only) +DESC:Minimal DI with no annotations required. (LGPL-3.0-only) SKIP:1 SECTION:Dependency Injection --- NAME:AspectJ URL:https://www.eclipse.org/aspectj/ -DESC:Seamless aspect-oriented programming extension. +DESC:Full-featured AOP with compile-time and load-time weaving. SKIP:1 SECTION:Development --- NAME:DCEVM URL:https://dcevm.github.io -DESC:JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) +DESC:HotSwap on steroids: redefine classes, add methods/fields at runtime. (GPL-2.0-only) SKIP:1 SECTION:Development --- NAME:Faux Pas URL:https://github.com/zalando/faux-pas -DESC:Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +DESC:Checked exception handling in lambdas and streams elegantly. SKIP:1 SECTION:Development --- NAME:HotswapAgent URL:https://github.com/HotswapProjects/HotswapAgent -DESC:Unlimited runtime class and resource redefinition. (GPL-2.0-only) +DESC:Hot reload classes, Spring beans, and resources without restart. (GPL-2.0-only) SKIP:1 SECTION:Development --- NAME:JavaParser URL:https://github.com/javaparser/javaparser -DESC:Parse, modify and generate Java code. +DESC:Parse, analyze, transform, and generate Java source code. SKIP:1 SECTION:Development --- NAME:JavaSymbolSolver URL:https://github.com/javaparser/javasymbolsolver -DESC:Symbol solver. +DESC:Resolve symbols and types in JavaParser ASTs. SKIP:1 SECTION:Development --- NAME:Manifold URL:https://github.com/manifold-systems/manifold -DESC:Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. +DESC:Compiler plugins for JSON types, extension methods, and string templates. SKIP:1 SECTION:Development --- NAME:NoException URL:https://noexception.machinezoo.com -DESC:Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +DESC:Functional exception handling with sneaky throws and Optional conversion. SKIP:1 SECTION:Development --- NAME:SneakyThrow URL:https://github.com/rainerhahnekamp/sneakythrow -DESC:Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. +DESC:Throw checked exceptions from lambdas without wrapping. SKIP:1 SECTION:Development --- NAME:Tail URL:https://nrktkt.github.io/tail/ -DESC:Enable infinite recursion using tail call optimization. +DESC:Tail call optimization via trampolining for stack-safe recursion. SKIP:1 SECTION:Development --- NAME:Apache Geode URL:https://geode.apache.org -DESC:In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +DESC:In-memory data grid with continuous queries and WAN replication. SKIP:1 SECTION:Distributed Applications --- NAME:Apache Storm URL:https://storm.apache.org -DESC:Realtime computation system. +DESC:Real-time stream processing with guaranteed processing and fault tolerance. SKIP:1 SECTION:Distributed Applications --- NAME:Apache ZooKeeper URL:https://zookeeper.apache.org -DESC:Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +DESC:Distributed coordination for config, locks, and leader election. SKIP:1 SECTION:Distributed Applications --- NAME:Atomix URL:https://atomix.io -DESC:Fault-tolerant distributed coordination framework. +DESC:Raft-based distributed primitives: maps, locks, leader election. SKIP:1 SECTION:Distributed Applications --- NAME:Axon URL:https://axoniq.io -DESC:Framework for creating CQRS applications. +DESC:CQRS/Event Sourcing framework with saga and event store support. SKIP:1 SECTION:Distributed Applications --- NAME:Dropwizard Circuit Breaker URL:https://github.com/mtakaki/dropwizard-circuitbreaker -DESC:Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +DESC:Annotation-based circuit breakers for Dropwizard. (GPL-2.0-only) SKIP:1 SECTION:Distributed Applications --- NAME:Failsafe URL:https://github.com/jhalterman/failsafe -DESC:Simple failure handling with retries and circuit breakers. +DESC:Lightweight fault tolerance with retries, circuit breakers, and fallbacks. SKIP:1 SECTION:Distributed Applications --- NAME:Hazelcast URL:https://github.com/hazelcast/hazelcast -DESC:Highly scalable in-memory datagrid with a free open-source version. +DESC:In-memory data grid with distributed maps, queues, and compute. SKIP:1 SECTION:Distributed Applications --- NAME:JGroups URL:http://www.jgroups.org -DESC:Toolkit for reliable messaging and cluster creation. +DESC:Reliable multicast and cluster membership toolkit. SKIP:1 SECTION:Distributed Applications --- NAME:Quasar URL:http://docs.paralleluniverse.co/quasar/ -DESC:Lightweight threads and actors for the JVM. +DESC:Fibers (lightweight threads) and actors for the JVM. SKIP:1 SECTION:Distributed Applications --- NAME:resilience4j URL:https://github.com/resilience4j/resilience4j -DESC:Functional fault tolerance library. +DESC:Functional fault tolerance: circuit breakers, rate limiters, bulkheads. SKIP:1 SECTION:Distributed Applications --- NAME:OpenIG URL:https://github.com/OpenIdentityPlatform/OpenIG -DESC:High-performance reverse proxy server with specialized session management and credential replay functionality. +DESC:Identity gateway with SSO, credential replay, and request filtering. SKIP:1 SECTION:Distributed Applications --- NAME:ScaleCube Services URL:https://github.com/scalecube/scalecube-services -DESC:Embeddable Cluster-Membership library based on SWIM and gossip protocol. +DESC:Reactive microservices with SWIM gossip and service discovery. SKIP:1 SECTION:Distributed Applications --- NAME:Zuul URL:https://github.com/Netflix/zuul -DESC:Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. +DESC:Netflix's edge gateway for routing, filtering, and load balancing. SKIP:1 SECTION:Distributed Applications --- NAME:Atomikos URL:https://www.atomikos.com -DESC:Provides transactions for REST, SOA and microservices with support for JTA and XA. +DESC:JTA/XA transaction manager for microservices and REST. SKIP:1 SECTION:Distributed Transactions --- NAME:Bitronix URL:https://github.com/bitronix/btm -DESC:Simple but complete implementation of the JTA 1.1 API. +DESC:Embeddable JTA 1.1 transaction manager with connection pooling. SKIP:1 SECTION:Distributed Transactions --- NAME:Narayana URL:https://narayana.io -DESC:Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +DESC:Red Hat's JTA/JTS transaction manager with saga support. (LGPL-2.1-only) SKIP:1 SECTION:Distributed Transactions --- NAME:Seata URL:https://github.com/seata/seata -DESC:Delivers high performance and easy to use distributed transaction services under a microservices architecture. +DESC:Alibaba's distributed transaction solution with AT/TCC/SAGA modes. SKIP:1 SECTION:Distributed Transactions --- NAME:Artipie URL:https://github.com/artipie/artipie -DESC:Binary artifact management toolkit which hosts them on the file system or S3. +DESC:Self-hosted artifact repository supporting Maven, Docker, npm on S3/filesystem. SKIP:1 SECTION:Distribution --- NAME:Capsule URL:https://github.com/puniverse/capsule -DESC:Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +DESC:Single-file deployment with embedded JVM and dependency resolution. SKIP:1 SECTION:Distribution --- NAME:Central Repository URL:https://search.maven.org -DESC:Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +DESC:Maven Central: the default artifact repository for the Java ecosystem. SKIP:1 SECTION:Distribution --- NAME:Getdown URL:https://github.com/threerings/getdown -DESC:System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +DESC:Java Web Start replacement with auto-updates and delta patching. SKIP:1 SECTION:Distribution --- NAME:IzPack URL:http://izpack.org -DESC:Setup authoring tool for cross-platform deployments. +DESC:Cross-platform installer builder with XML configuration. SKIP:1 SECTION:Distribution --- NAME:JavaPackager URL:https://github.com/fvarrui/JavaPackager -DESC:Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +DESC:Maven/Gradle plugin creating native executables and installers. SKIP:1 SECTION:Distribution --- NAME:jDeploy URL:https://www.jdeploy.com -DESC:Deploy desktop apps as native Mac, Windows or Linux bundles. +DESC:Deploy Java desktop apps via npm with native bundles. SKIP:1 SECTION:Distribution --- NAME:jlink.online URL:https://github.com/AdoptOpenJDK/jlink.online -DESC:Builds optimized runtimes over HTTP. +DESC:HTTP API for custom JRE generation via jlink. SKIP:1 SECTION:Distribution --- NAME:packr URL:https://github.com/libgdx/packr -DESC:Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. +DESC:Bundle JRE with your app for native Windows/Mac/Linux distribution. SKIP:1 SECTION:Distribution --- NAME:really-executable-jars-maven-plugin URL:https://github.com/brianm/really-executable-jars-maven-plugin -DESC:Maven plugin for making self-executing JARs. +DESC:Creates JARs executable via `./app.jar` on Unix. SKIP:1 SECTION:Distribution --- NAME:Apache POI URL:https://poi.apache.org -DESC:Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +DESC:Full Office document support: Excel, Word, PowerPoint (OLE2 & OOXML). SKIP:1 SECTION:Document Processing --- NAME:documents4j URL:https://documents4j.com/#/ -DESC:API for document format conversion using third-party converters such as MS Word. +DESC:Document conversion API using MS Office or LibreOffice backends. SKIP:1 SECTION:Document Processing --- NAME:docx4j URL:https://www.docx4java.org/trac/docx4j -DESC:Create and manipulate Microsoft Open XML files. +DESC:JAXB-based DOCX/PPTX/XLSX manipulation with mail merge. SKIP:1 SECTION:Document Processing --- NAME:fastexcel URL:https://github.com/dhatim/fastexcel -DESC:High performance library to read and write large Excel (XLSX) worksheets. +DESC:Streaming Excel read/write handling millions of rows with low memory. SKIP:1 SECTION:Document Processing --- NAME:zerocell URL:https://github.com/creditdatamw/zerocell -DESC:Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. +DESC:Annotation-driven Excel to POJO mapping with minimal overhead. SKIP:1 SECTION:Document Processing --- NAME:Cassandre URL:https://github.com/cassandre-tech/cassandre-trading-bot -DESC:Trading bot framework. +DESC:Trading bot framework with exchange integration and backtesting. SKIP:1 SECTION:Financial --- NAME:Parity URL:https://github.com/paritytrading/parity -DESC:Platform for trading venues. +DESC:Open-source stock exchange with matching engine and market data. SKIP:1 SECTION:Financial --- NAME:Philadelphia URL:https://github.com/paritytrading/philadelphia -DESC:Low-latency financial information exchange. +DESC:Low-latency FIX protocol implementation. SKIP:1 SECTION:Financial --- NAME:Square URL:https://github.com/square/connect-java-sdk -DESC:Integration with the Square API. +DESC:Official Square payments API client. SKIP:1 SECTION:Financial --- NAME:Stripe URL:https://github.com/stripe/stripe-java -DESC:Integration with the Stripe API. +DESC:Official Stripe API client for payments and subscriptions. SKIP:1 SECTION:Financial --- NAME:ta4j URL:https://github.com/ta4j/ta4j -DESC:Library for technical analysis. +DESC:Technical analysis library with 130+ indicators and backtesting. SKIP:1 SECTION:Financial --- NAME:CATG URL:https://github.com/ksen007/janala2 -DESC:Concolic unit testing engine. Automatically generates unit tests using formal methods. +DESC:Concolic testing: auto-generates tests via symbolic execution. SKIP:1 SECTION:Formal Verification --- NAME:Checker Framework URL:https://checkerframework.org -DESC:Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Pluggable type systems for nullness, tainting, and more. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:Formal Verification --- NAME:Daikon URL:https://plse.cs.washington.edu/daikon/ -DESC:Detects likely program invariants and generates JML specs based on those invariants. +DESC:Dynamic invariant detection; infers likely specifications from runs. SKIP:1 SECTION:Formal Verification --- NAME:Java Path Finder (JPF) URL:https://github.com/javapathfinder/jpf-core -DESC:JVM formal verification tool containing a model checker and more. Created by NASA. +DESC:NASA's model checker for finding concurrency bugs and deadlocks. SKIP:1 SECTION:Formal Verification --- NAME:JMLOK 2.0 URL:https://massoni.computacao.ufcg.edu.br/home/jmlok -DESC: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) +DESC:Detects JML specification violations via random testing. (GPL-3.0-only) SKIP:1 SECTION:Formal Verification --- NAME:KeY URL:https://www.key-project.org -DESC: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) +DESC:Deductive verification using JML and symbolic execution. (GPL-2.0-or-later) SKIP:1 SECTION:Formal Verification --- NAME:OpenJML URL:http://www.openjml.org -DESC:Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) +DESC:JML verification via SMT solvers (Z3, CVC4). (GPL-2.0-only) SKIP:1 SECTION:Formal Verification --- NAME:Cyclops URL:https://github.com/aol/cyclops -DESC:Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. +DESC:Monads, pattern matching, and persistent collections for functional Java. SKIP:1 SECTION:Functional Programming --- NAME:derive4j URL:https://github.com/derive4j/derive4j -DESC:Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) +DESC:Algebraic data types with pattern matching via annotation processing. (GPL-3.0-only) SKIP:1 SECTION:Functional Programming --- NAME:Fugue URL:https://bitbucket.org/atlassian/fugue -DESC:Functional extensions to Guava. +DESC:Atlassian's functional extensions: Option, Either, and more. SKIP:1 SECTION:Functional Programming --- NAME:Functional Java URL:http://www.functionaljava.org -DESC:Implements numerous basic and advanced programming abstractions that assist composition-oriented development. +DESC:Immutable collections, monads, and functional data structures. SKIP:1 SECTION:Functional Programming --- NAME:jOOλ URL:https://github.com/jOOQ/jOOL -DESC: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. +DESC:Tuples, Seq, and unchecked functional interfaces for streams. SKIP:1 SECTION:Functional Programming --- NAME:Packrat URL:https://github.com/jhspetersson/packrat -DESC:Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. +DESC:Custom Gatherers for Java Stream intermediate operations. SKIP:1 SECTION:Functional Programming --- NAME:protonpack URL:https://github.com/poetix/protonpack -DESC:Collection of stream utilities. +DESC:Stream utilities: zip, unfold, takeWhile, and windowing. SKIP:1 SECTION:Functional Programming --- NAME:StreamEx URL:https://github.com/amaembo/streamex -DESC:Enhances Java 8 Streams. +DESC:Enhanced streams with parallel support and additional collectors. SKIP:1 SECTION:Functional Programming --- NAME:Vavr URL:https://www.vavr.io -DESC:Functional component library that provides persistent data types and functional control structures. +DESC:Scala-inspired FP: immutable collections, Try, Either, pattern matching. SKIP:1 SECTION:Functional Programming --- NAME:FXGL URL:https://almasb.github.io/FXGL/ -DESC:JavaFX Game Development Framework. +DESC:JavaFX game engine with ECS, physics, and UI out of the box. SKIP:1 SECTION:Game Development --- NAME:JBox2D URL:http://www.jbox2d.org/ -DESC:Port of the renowned C++ 2D physics engine. +DESC:Box2D physics engine port for 2D rigid body simulation. SKIP:1 SECTION:Game Development --- NAME:jMonkeyEngine URL:https://jmonkeyengine.org -DESC:Game engine for modern 3D development. +DESC:Full-featured 3D engine with PBR, physics, and networking. SKIP:1 SECTION:Game Development --- NAME:libGDX URL:https://libgdx.com -DESC:All-round cross-platform, high-level framework. +DESC:Cross-platform 2D/3D framework deploying to desktop, Android, iOS, web. SKIP:1 SECTION:Game Development --- NAME:Litiengine URL:https://litiengine.com/ -DESC:AWT-based, lightweight 2D game engine. +DESC:Pure Java 2D engine with no native dependencies. SKIP:1 SECTION:Game Development --- NAME:LWJGL URL:https://www.lwjgl.org -DESC:Robust framework that abstracts libraries like OpenGL/CL/AL. +DESC:Low-level bindings to OpenGL, Vulkan, OpenAL, and more. SKIP:1 SECTION:Game Development --- NAME:Mini2Dx URL:https://mini2dx.org -DESC:Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. +DESC:Beginner-friendly 2D framework with tiled map and UI support. SKIP:1 SECTION:Game Development --- NAME:Void2D URL:https://github.com/xzripper/Void2D -DESC:High-level 2D game engine with built-in physics based on Swing. +DESC:Swing-based 2D engine with physics for simple games. SKIP:1 SECTION:Game Development --- NAME:vulkan4j URL:https://github.com/chuigda/vulkan4j -DESC:Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. +DESC:Vulkan and OpenGL ES2 bindings via Panama FFM. SKIP:1 SECTION:Game Development --- NAME:Apache SIS URL:https://sis.apache.org -DESC:Library for developing geospatial applications. +DESC:OGC/ISO standards-based geospatial metadata and referencing. SKIP:1 SECTION:Geospatial --- NAME:Geo URL:https://github.com/davidmoten/geo -DESC:GeoHash utilities in Java. +DESC:GeoHash encoding/decoding with spatial indexing. SKIP:1 SECTION:Geospatial --- NAME:GeoTools URL:https://geotools.org -DESC:Library that provides tools for geospatial data. (LGPL-2.1-only) +DESC:Comprehensive GIS toolkit for OGC standards. (LGPL-2.1-only) SKIP:1 SECTION:Geospatial --- NAME:GraphHopper URL:https://github.com/graphhopper/graphhopper -DESC:Road-routing engine. Used as a Java library or standalone web service. +DESC:Fast routing engine with turn costs and isochrones. SKIP:1 SECTION:Geospatial --- NAME:H2GIS URL:http://www.h2gis.org -DESC:Spatial extension of the H2 database. (LGPL-3.0-only) +DESC:Spatial SQL extension for H2 with OGC compliance. (LGPL-3.0-only) SKIP:1 SECTION:Geospatial --- NAME:Jgeohash URL:https://astrapi69.github.io/jgeohash/ -DESC:Library for using the GeoHash algorithm. +DESC:GeoHash algorithm with neighbor calculation and bounding boxes. SKIP:1 SECTION:Geospatial --- NAME:Mapsforge URL:https://github.com/mapsforge/mapsforge -DESC:Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +DESC:Offline map rendering from OpenStreetMap vector data. (LGPL-3.0-only) SKIP:1 SECTION:Geospatial --- NAME:Spatial4j URL:https://github.com/locationtech/spatial4j -DESC:General-purpose spatial/geospatial library. +DESC:Geospatial shapes and distance calculations for search engines. SKIP:1 SECTION:Geospatial --- NAME:JavaFX URL:https://wiki.openjdk.java.net/display/OpenJFX/Main -DESC:Successor of Swing. +DESC:Rich client platform with CSS styling, FXML, and hardware acceleration. SKIP:1 SECTION:GUI --- NAME:Scene Builder URL:https://gluonhq.com/products/scene-builder/ -DESC:Visual layout tool for JavaFX applications. +DESC:Drag-and-drop FXML UI designer for JavaFX. SKIP:1 SECTION:GUI --- NAME:SnapKit URL:https://github.com/reportmill/SnapKit -DESC:Modern Java UI library for both desktop and web. +DESC:Cross-platform UI (desktop/web) with declarative layout. SKIP:1 SECTION:GUI --- NAME:SWT URL:https://www.eclipse.org/swt/ -DESC:Graphical widget toolkit. +DESC:Eclipse's native widget toolkit for OS-native look and feel. SKIP:1 SECTION:GUI --- NAME:Agrona URL:https://github.com/real-logic/Agrona -DESC:Data structures and utility methods that are common in high-performance applications. +DESC:Off-heap buffers, ring buffers, and lock-free data structures. SKIP:1 SECTION:High Performance --- NAME:Disruptor URL:https://lmax-exchange.github.io/disruptor/ -DESC:Inter-thread messaging library. +DESC:Lock-free ring buffer achieving 25M+ msgs/sec between threads. SKIP:1 SECTION:High Performance --- NAME:Eclipse Collections URL:https://github.com/eclipse/eclipse-collections -DESC:Collections framework inspired by Smalltalk. +DESC:Memory-efficient collections with primitives and immutables. SKIP:1 SECTION:High Performance --- NAME:fastutil URL:http://fastutil.di.unimi.it -DESC:Fast and compact type-specific collections. +DESC:Primitive collections 2-3x faster than java.util. SKIP:1 SECTION:High Performance --- NAME:HPPC URL:https://labs.carrotsearch.com/hppc.html -DESC:Primitive collections. +DESC:High-performance primitive collections with minimal memory. SKIP:1 SECTION:High Performance --- NAME:JCTools URL:https://github.com/JCTools/JCTools -DESC:Concurrency tools currently missing from the JDK. +DESC:Non-blocking queues: SPSC, MPSC, MPMC for concurrent apps. SKIP:1 SECTION:High Performance --- NAME:Koloboke URL:https://github.com/leventov/Koloboke -DESC:Carefully designed extension of the Java Collections Framework with primitive specializations and more. +DESC:Fastest hash maps/sets with primitive specialization. SKIP:1 SECTION:High Performance --- NAME:Apache HttpComponents URL:https://hc.apache.org/ -DESC:Toolset of low-level Java components focused on HTTP and associated protocols. +DESC:Full-featured HTTP client with connection pooling and async support. SKIP:1 SECTION:HTTP Clients --- NAME:Async Http Client URL:https://github.com/AsyncHttpClient/async-http-client -DESC:Asynchronous HTTP and WebSocket client library. +DESC:Non-blocking HTTP/WebSocket client on Netty. SKIP:1 SECTION:HTTP Clients --- NAME:Avaje Http Client URL:https://avaje.io/http-client -DESC:Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. +DESC:JDK HttpClient wrapper with declarative interfaces and JSON binding. SKIP:1 SECTION:HTTP Clients --- NAME:Feign URL:https://github.com/OpenFeign/feign -DESC:HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. +DESC:Declarative REST client via annotated interfaces. SKIP:1 SECTION:HTTP Clients --- NAME:Google HTTP Client URL:https://github.com/googleapis/google-http-java-client -DESC:Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. +DESC:Pluggable transport with JSON parsing and OAuth support. SKIP:1 SECTION:HTTP Clients --- NAME:methanol URL:https://github.com/mizosoft/methanol -DESC:HTTP client extensions library. +DESC:JDK HttpClient extensions: caching, compression, multipart. SKIP:1 SECTION:HTTP Clients --- NAME:Retrofit URL:https://square.github.io/retrofit/ -DESC:Typesafe REST client. +DESC:Type-safe REST client with pluggable converters and call adapters. SKIP:1 SECTION:HTTP Clients --- NAME:Ribbon URL:https://github.com/Netflix/ribbon -DESC:Client-side IPC library that is battle-tested in the cloud. +DESC:Netflix's client-side load balancer with retry policies. SKIP:1 SECTION:HTTP Clients --- NAME:Riptide URL:https://github.com/zalando/riptide -DESC:Client-side response routing for Spring's RestTemplate. +DESC:Response routing DSL for RestTemplate with problem+json support. SKIP:1 SECTION:HTTP Clients --- NAME:unirest-java URL:https://github.com/Kong/unirest-java -DESC:Simplified, lightweight HTTP client library. +DESC:Fluent HTTP client with JSON, async, and file upload support. SKIP:1 SECTION:HTTP Clients --- NAME:hate URL:https://github.com/blackdoor/hate -DESC:Builds hypermedia-friendly objects according to HAL specification. +DESC:HAL+JSON builder with link templating support. SKIP:1 SECTION:Hypermedia Types --- NAME:JSON-LD URL:https://github.com/jsonld-java/jsonld-java -DESC:JSON-LD implementation. +DESC:W3C JSON-LD processor with expansion, compaction, and framing. SKIP:1 SECTION:Hypermedia Types --- NAME:Siren4J URL:https://github.com/eserating-chwy/siren4j -DESC:Library for the Siren specification. +DESC:Siren hypermedia builder with actions and embedded entities. SKIP:1 SECTION:Hypermedia Types --- NAME:Spring HATEOAS URL:https://github.com/spring-projects/spring-hateoas -DESC:Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. +DESC:Multi-format hypermedia (HAL, HAL-FORMS, Collection+JSON) for Spring. SKIP:1 SECTION:Hypermedia Types --- NAME:Eclipse URL:https://www.eclipse.org -DESC:Established open-source project with support for lots of plugins and languages. +DESC:Extensible IDE with vast plugin ecosystem and multi-language support. SKIP:1 SECTION:IDE --- NAME:jGRASP URL:https://www.jgrasp.org -DESC:Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. +DESC:Educational IDE with control structure and UML visualizations. SKIP:1 SECTION:IDE --- NAME:NetBeans URL:https://netbeans.apache.org -DESC:Provides integration for several Java SE and EE features, from database access to HTML5. +DESC:Apache IDE with Java SE/EE, Maven, and Git integration. SKIP:1 SECTION:IDE --- NAME:SnapCode URL:https://reportmill.com/SnapCode/ -DESC:Modern IDE for Java running in the browser, focused on education. +DESC:Browser-based Java IDE for learning with live preview. SKIP:1 SECTION:IDE --- NAME:Visual Studio Code URL:https://code.visualstudio.com/docs/languages/java -DESC:Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. +DESC:Lightweight editor with Java extensions for debugging and Maven. SKIP:1 SECTION:IDE --- NAME:Barcode-Lib4J URL:https://github.com/vws-java/Barcode-Lib4J -DESC:Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +DESC:Vector/raster barcode generation with CMYK and high-DPI support. SKIP:1 SECTION:Imagery --- NAME:Imgscalr URL:https://github.com/rkalla/imgscalr -DESC:Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. +DESC:Hardware-accelerated image scaling with quality presets. SKIP:1 SECTION:Imagery --- NAME:Tess4J URL:https://github.com/nguyenq/tess4j -DESC:JNA wrapper for Tesseract OCR API. +DESC:Tesseract OCR wrapper for text extraction from images. SKIP:1 SECTION:Imagery --- NAME:Thumbnailator URL:https://github.com/coobird/thumbnailator -DESC:High-quality thumbnail generation library. +DESC:Fluent API for high-quality thumbnail generation. SKIP:1 SECTION:Imagery --- NAME:TwelveMonkeys URL:https://github.com/haraldk/TwelveMonkeys -DESC:Collection of plugins that extend the number of supported image file formats. +DESC:ImageIO plugins for TIFF, PSD, WebP, and more formats. SKIP:1 SECTION:Imagery --- NAME:ZXing URL:https://github.com/zxing/zxing -DESC:Multi-format 1D/2D barcode image processing library. +DESC:Multi-format barcode scanning and generation library. SKIP:1 SECTION:Imagery --- NAME:image-comparison URL:https://github.com/romankh3/image-comparison -DESC: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. +DESC:Visual diff tool highlighting image differences with rectangles. SKIP:1 SECTION:Imagery --- NAME:vips-ffm URL:https://github.com/lopcode/vips-ffm -DESC:Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. +DESC:Blazing-fast libvips bindings via Panama FFM. SKIP:1 SECTION:Imagery --- NAME:scrimage URL:https://sksamuel.github.io/scrimage -DESC:Immutable, functional, and performant JVM library for manipulation of images. +DESC:Immutable image operations: resize, crop, filters, and formats. SKIP:1 SECTION:Imagery --- NAME:ClassGraph URL:https://github.com/classgraph/classgraph -DESC:ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. +DESC:Ultra-fast classpath scanner with parallel processing and module support. SKIP:1 SECTION:Introspection --- NAME:jOOR URL:https://github.com/jOOQ/jOOR -DESC:jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. +DESC:Fluent reflection API simplifying method invocation and field access. SKIP:1 SECTION:Introspection --- NAME:Mirror URL:http://projetos.vidageek.net/mirror/mirror/ -DESC:Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +DESC:Simplified reflection for common tasks with a clean API. SKIP:1 SECTION:Introspection --- NAME:Objenesis URL:http://objenesis.org -DESC:Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +DESC:Instantiate objects bypassing constructors; used by serializers. SKIP:1 SECTION:Introspection --- NAME:ReflectASM URL:https://github.com/EsotericSoftware/reflectasm -DESC:ReflectASM is a very small Java library that provides high performance reflection by using code generation. +DESC:Code-generated reflection achieving near-native performance. SKIP:1 SECTION:Introspection --- NAME:Reflections URL:https://github.com/ronmamo/reflections -DESC:Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. +DESC:Runtime metadata scanning for annotations, subtypes, and resources. SKIP:1 SECTION:Introspection --- NAME:JobRunr URL:https://github.com/jobrunr/jobrunr -DESC: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. +DESC:Distributed job scheduler with lambda-based jobs and dashboard. SKIP:1 SECTION:Job Scheduling --- NAME:Quartz URL:https://github.com/quartz-scheduler/quartz -DESC:Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. +DESC:Enterprise scheduler with cron expressions and clustering support. SKIP:1 SECTION:Job Scheduling --- NAME:Sundial URL:https://github.com/knowm/Sundial -DESC:Lightweight framework to simply define jobs, define triggers and start the scheduler. +DESC:Lightweight Quartz wrapper with simplified configuration. SKIP:1 SECTION:Job Scheduling --- NAME:Wisp URL:https://github.com/Coreoz/Wisp -DESC:Simple library with minimal footprint and straightforward API. +DESC:Minimal scheduler (~10KB) with cron and fixed-delay scheduling. SKIP:1 SECTION:Job Scheduling --- NAME:db-scheduler URL:https://github.com/kagkarlsson/db-scheduler -DESC:Persistent and cluster-friendly scheduler. +DESC:Persistent scheduler with cluster coordination via database locks. SKIP:1 SECTION:Job Scheduling --- NAME:easy-batch URL:https://github.com/j-easy/easy-batch -DESC: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. +DESC:Batch processing with readers, processors, and writers pipeline. SKIP:1 SECTION:Job Scheduling --- NAME:shedlock URL:https://github.com/lukas-krecan/ShedLock -DESC: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. +DESC:Distributed lock ensuring single execution across cluster nodes. SKIP:1 SECTION:Job Scheduling --- NAME:Avaje Jsonb URL:https://avaje.io/jsonb/ -DESC:Reflection-free Json binding via source code generation with Jackson-like annotations. +DESC:Compile-time JSON binding with no reflection; Jackson-compatible annotations. SKIP:1 SECTION:JSON --- NAME:DSL-JSON URL:https://github.com/ngs-doo/dsl-json -DESC:JSON library with advanced compile time databinding. +DESC:Fastest JSON library via compile-time generated readers/writers. SKIP:1 SECTION:JSON --- NAME:Genson URL:http://genson.io -DESC:Powerful and easy-to-use Java-to-JSON conversion library. +DESC:Feature-rich JSON with streaming, polymorphism, and JAX-RS support. SKIP:1 SECTION:JSON --- NAME:Gson URL:https://github.com/google/gson -DESC:Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. +DESC:Google's simple JSON library with no-config serialization. SKIP:1 SECTION:JSON --- NAME:HikariJSON URL:https://github.com/brettwooldridge/HikariJSON -DESC:High-performance JSON parser, 2x faster than Jackson. +DESC:Ultra-fast JSON parser; 2x faster than Jackson. SKIP:1 SECTION:JSON --- NAME:jackson-modules-java8 URL:https://github.com/FasterXML/jackson-modules-java8 -DESC:Set of Jackson modules for Java 8 datatypes and features. +DESC:Jackson support for Optional, JSR-310 dates, and parameter names. SKIP:1 SECTION:JSON --- NAME:Jackson-datatype-money URL:https://github.com/zalando/jackson-datatype-money -DESC:Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. +DESC:Jackson serializer/deserializer for JavaMoney types. SKIP:1 SECTION:JSON --- NAME:Jackson URL:https://github.com/FasterXML/jackson -DESC:Similar to GSON, but offers performance gains if you need to instantiate the library more often. +DESC:Industry-standard JSON with streaming, data-binding, and modules. SKIP:1 SECTION:JSON --- NAME:JSON-io URL:https://github.com/jdereg/json-io -DESC:Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. +DESC:Deep object graph serialization with cycle handling. SKIP:1 SECTION:JSON --- NAME:jsoniter URL:http://jsoniter.com -DESC:Fast and flexible library with iterator and lazy parsing API. +DESC:Iterator-style API for streaming and lazy JSON parsing. SKIP:1 SECTION:JSON --- NAME:LoganSquare URL:https://github.com/bluelinelabs/LoganSquare -DESC:JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. +DESC:Compile-time JSON for Android; faster than Gson and Jackson. SKIP:1 SECTION:JSON --- NAME:Moshi URL:https://github.com/square/moshi -DESC:Modern JSON library, less opinionated and uses built-in types like List and Map. +DESC:Square's modern JSON with Kotlin support and adapters. SKIP:1 SECTION:JSON --- NAME:Yasson URL:https://github.com/eclipse-ee4j/yasson -DESC:Binding layer between classes and JSON documents similar to JAXB. +DESC:Jakarta JSON Binding (JSON-B) reference implementation. SKIP:1 SECTION:JSON --- NAME:fastjson URL:https://github.com/alibaba/fastjson -DESC:Very fast processor with no additional dependencies and full data binding. +DESC:Alibaba's high-performance JSON with JSONPath support. SKIP:1 SECTION:JSON --- NAME:Jolt URL:https://github.com/bazaarvoice/jolt -DESC:JSON to JSON transformation tool. +DESC:JSON-to-JSON transformation via shift, default, and sort specs. SKIP:1 SECTION:JSON --- NAME:JsonPath URL:https://github.com/json-path/JsonPath -DESC:Extract data from JSON using XPATH-like syntax. +DESC:XPath-like queries for extracting JSON data. SKIP:1 SECTION:JSON --- NAME:JsonSurfer URL:https://github.com/jsurfer/JsonSurfer -DESC:Streaming JsonPath processor dedicated to processing big and complicated JSON data. +DESC:Streaming JsonPath for processing large JSON without loading all. SKIP:1 SECTION:JSON --- NAME:Which JDK URL:https://whichjdk.com/ -DESC:Overview of common JVMs with pros and cons. +DESC:Decision guide for choosing a JDK distribution. SKIP:1 SECTION:JVM and JDK --- NAME:Adopt Open JDK URL:https://adoptopenjdk.net -DESC:Community-driven OpenJDK builds, including both HotSpot and OpenJ9. +DESC:Community OpenJDK with HotSpot and OpenJ9 variants. SKIP:1 SECTION:JVM and JDK --- NAME:Corretto URL:https://aws.amazon.com/corretto/ -DESC:No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Amazon's LTS OpenJDK with AWS optimizations. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:JVM and JDK --- NAME:Dragonwell8 URL:https://github.com/alibaba/dragonwell8 -DESC:Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. +DESC:Alibaba's OpenJDK optimized for long-running services. SKIP:1 SECTION:JVM and JDK --- NAME:Graal URL:https://github.com/oracle/graal -DESC:Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Polyglot VM with native image compilation (GraalVM). (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:JVM and JDK --- NAME:Liberica JDK URL:https://bell-sw.com -DESC:Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:JCK-certified OpenJDK with JavaFX bundled option. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:JVM and JDK --- NAME:OpenJ9 URL:https://github.com/eclipse/openj9 -DESC: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. +DESC:Eclipse JVM with low memory footprint and fast startup. SKIP:1 SECTION:JVM and JDK --- NAME:Open JDK URL:https://openjdk.java.net -DESC:Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Reference implementation and development home. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:JVM and JDK --- NAME:ParparVM URL:https://github.com/codenameone/CodenameOne/tree/master/vm -DESC:VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Non-blocking GC VM for iOS mobile development. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:JVM and JDK --- NAME:RedHat Open JDK URL:https://developers.redhat.com/products/openjdk/overview -DESC:RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Red Hat's enterprise-supported OpenJDK. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:JVM and JDK --- NAME:SAP Machine URL:https://sap.github.io/SapMachine/ -DESC:SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:SAP's JCK-verified OpenJDK for enterprise. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:JVM and JDK --- NAME:Zulu URL:https://www.azul.com/products/zulu-community/ -DESC:OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Azul's TCK-certified OpenJDK with commercial support option. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:JVM and JDK --- NAME:Microsoft JDK URL:https://github.com/microsoft/openjdk -DESC:Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! +DESC:Microsoft's OpenJDK build with Azure optimizations. SKIP:1 SECTION:JVM and JDK --- NAME:Apache Log4j 2 URL:https://logging.apache.org/log4j/ -DESC:Complete rewrite with a powerful plugin and configuration architecture. +DESC:Async logging with lazy evaluation and plugin architecture. SKIP:1 SECTION:Logging --- NAME:Echopraxia URL:https://github.com/tersesystems/echopraxia -DESC: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. +DESC:Structured logging API with conditions and JSON context. SKIP:1 SECTION:Logging --- NAME:Graylog URL:https://www.graylog.org -DESC:Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) +DESC:Centralized log management with search and dashboards. (GPL-3.0-only) SKIP:1 SECTION:Logging --- NAME:Kibana URL:https://www.elastic.co/kibana -DESC:Analyzes and visualizes log files. Some features require payment. +DESC:Elasticsearch visualization for log analysis and monitoring. SKIP:1 SECTION:Logging --- NAME:Logback URL:http://logback.qos.ch -DESC:Robust logging library with interesting configuration options via Groovy. +DESC:SLF4J native implementation with Groovy config and filters. SKIP:1 SECTION:Logging --- NAME:Logbook URL:https://github.com/zalando/logbook -DESC:Extensible, open-source library for HTTP request and response logging. +DESC:HTTP request/response logging with filtering and correlation. SKIP:1 SECTION:Logging --- NAME:Logstash URL:https://www.elastic.co/logstash -DESC:Tool for managing log files. +DESC:Log pipeline for parsing, transforming, and forwarding. SKIP:1 SECTION:Logging --- NAME:p6spy URL:https://github.com/p6spy/p6spy -DESC:Enables logging for all JDBC transactions without changes to the code. +DESC:JDBC proxy logging all SQL with timing; no code changes. SKIP:1 SECTION:Logging --- NAME:SLF4J URL:http://www.slf4j.org -DESC:Abstraction layer/simple logging facade. +DESC:Universal logging facade; bind to any implementation. SKIP:1 SECTION:Logging --- NAME:tinylog URL:https://tinylog.org/v2/ -DESC:Lightweight logging framework with static logger class. +DESC:Minimalist logger with static API and 100KB footprint. SKIP:1 SECTION:Logging --- NAME:OpenTracing Toolbox URL:https://github.com/zalando/opentracing-toolbox -DESC:Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations. +DESC:OpenTracing extensions for Spring and Servlet tracing. SKIP:1 SECTION:Logging --- NAME:Flogger URL:https://google.github.io/flogger/ -DESC:Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. +DESC:Google's fluent logging API with lazy argument evaluation. SKIP:1 SECTION:Logging --- NAME:Apache Flink URL:https://flink.apache.org -DESC:Fast, reliable, large-scale data processing engine. +DESC:Stream/batch processing with exactly-once semantics and ML pipelines. SKIP:1 SECTION:Machine Learning --- NAME:Apache Mahout URL:https://mahout.apache.org -DESC:Scalable algorithms focused on collaborative filtering, clustering and classification. +DESC:Distributed ML for clustering, classification, and recommendations. SKIP:1 SECTION:Machine Learning --- NAME:DatumBox URL:http://www.datumbox.com -DESC:Provides several algorithms and pre-trained models for natural language processing. +DESC:Pre-trained NLP models for sentiment, topic, and spam detection. SKIP:1 SECTION:Machine Learning --- NAME:Deeplearning4j URL:https://deeplearning4j.org -DESC:Distributed and multi-threaded deep learning library. +DESC:Distributed deep learning with Spark and GPU support. SKIP:1 SECTION:Machine Learning --- NAME:DJL URL:https://djl.ai -DESC:High-level and engine-agnostic framework for deep learning. +DESC:Deep learning abstraction for PyTorch, TensorFlow, and MXNet. SKIP:1 SECTION:Machine Learning --- NAME:Intelligent java URL:https://github.com/Barqawiz/IntelliJava -DESC:Seamlessly integrate with remote deep learning and language models programmatically. +DESC:Unified API for OpenAI, Cohere, and other AI services. SKIP:1 SECTION:Machine Learning --- NAME:JSAT URL:https://github.com/EdwardRaff/JSAT -DESC:Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +DESC:Pure Java ML library with 100+ algorithms. (GPL-3.0-only) SKIP:1 SECTION:Machine Learning --- NAME:m2cgen URL:https://github.com/BayesWitnesses/m2cgen -DESC:CLI tool to transpile models into native code. +DESC:Export trained models to Java/C/Python code. SKIP:1 SECTION:Machine Learning --- NAME:Neureka URL:https://github.com/Gleethos/neureka -DESC:A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. +DESC:OpenCL-accelerated tensor library for neural networks. SKIP:1 SECTION:Machine Learning --- NAME:oj! Algorithms URL:https://www.ojalgo.org/ -DESC:High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +DESC:High-performance linear algebra and optimization solvers. SKIP:1 SECTION:Machine Learning --- NAME:Oryx 2 URL:https://github.com/OryxProject/oryx -DESC:Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +DESC:Real-time ML on Spark with serving layer and model updates. SKIP:1 SECTION:Machine Learning --- NAME:Siddhi URL:https://github.com/siddhi-io/siddhi -DESC:Cloud native streaming and complex event processing engine. +DESC:Complex event processing for streaming analytics. SKIP:1 SECTION:Machine Learning --- NAME:Smile URL:https://github.com/haifengl/smile -DESC:Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +DESC:Comprehensive ML library with Scala API and visualization. SKIP:1 SECTION:Machine Learning --- NAME:Tribuo URL:https://tribuo.org/ -DESC:Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +DESC:Oracle's ML library with reproducibility and ONNX export. SKIP:1 SECTION:Machine Learning --- NAME:Weka URL:https://www.cs.waikato.ac.nz/ml/weka/ -DESC:Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +DESC:GUI-based ML toolkit with 100+ algorithms. (GPL-3.0-only) SKIP:1 SECTION:Machine Learning --- NAME:Aeron URL:https://github.com/real-logic/Aeron -DESC:Efficient, reliable, unicast and multicast message transport. +DESC:Ultra-low-latency messaging with UDP multicast and IPC. SKIP:1 SECTION:Messaging --- NAME:Apache ActiveMQ URL:https://activemq.apache.org -DESC:Message broker that implements JMS and converts synchronous to asynchronous communication. +DESC:JMS broker with persistence, clustering, and REST API. SKIP:1 SECTION:Messaging --- NAME:Apache Camel URL:https://camel.apache.org -DESC:Glues together different transport APIs via Enterprise Integration Patterns. +DESC:300+ connectors with Enterprise Integration Patterns routing. SKIP:1 SECTION:Messaging --- NAME:Apache Kafka URL:https://kafka.apache.org -DESC:High-throughput distributed messaging system. +DESC:Distributed event streaming with exactly-once semantics. SKIP:1 SECTION:Messaging --- NAME:Apache Pulsar URL:https://pulsar.apache.org -DESC:Distributed pub/sub-messaging system. +DESC:Multi-tenant messaging with tiered storage and geo-replication. SKIP:1 SECTION:Messaging --- NAME:Apache RocketMQ URL:https://rocketmq.apache.org -DESC:Fast, reliable, and scalable distributed messaging platform. +DESC:Alibaba's distributed messaging with transactions and scheduling. SKIP:1 SECTION:Messaging --- NAME:Apache Qpid URL:https://qpid.apache.org -DESC:Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +DESC:AMQP 1.0 broker and client libraries. SKIP:1 SECTION:Messaging --- NAME:AutoMQ URL:https://github.com/AutoMQ/automq-for-kafka -DESC:AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +DESC:Cloud-native Kafka with S3 storage and auto-scaling. SKIP:1 SECTION:Messaging --- NAME:Deezpatch URL:https://github.com/joel-jeremy/deezpatch -DESC:Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. +DESC:In-process message dispatcher with compile-time handler resolution. SKIP:1 SECTION:Messaging --- NAME:EventBus URL:https://github.com/greenrobot/EventBus -DESC:Simple publish/subscribe event bus. +DESC:Android-optimized publish/subscribe event bus. SKIP:1 SECTION:Messaging --- NAME:Hermes URL:http://hermes.allegro.tech -DESC:Fast and reliable message broker built on top of Kafka. +DESC:Kafka REST proxy with schema validation and rate limiting. SKIP:1 SECTION:Messaging --- NAME:JeroMQ URL:https://github.com/zeromq/jeromq -DESC:Implementation of ZeroMQ. +DESC:Pure Java ZeroMQ with pub/sub, push/pull patterns. SKIP:1 SECTION:Messaging --- NAME:Nakadi URL:https://github.com/zalando/nakadi -DESC:Provides a RESTful API on top of Kafka. +DESC:Event bus REST API with schema registry on Kafka. SKIP:1 SECTION:Messaging --- NAME:RabbitMQ Java client URL:https://github.com/rabbitmq/rabbitmq-java-client -DESC:RabbitMQ client. +DESC:Official AMQP client with connection recovery. SKIP:1 SECTION:Messaging --- NAME:Smack URL:https://github.com/igniterealtime/Smack -DESC:Cross-platform XMPP client library. +DESC:XMPP client for IM, presence, and extensions. SKIP:1 SECTION:Messaging --- NAME:NATS client URL:https://github.com/nats-io/nats.java -DESC:NATS client. +DESC:Lightweight messaging client for NATS with JetStream. SKIP:1 SECTION:Messaging --- NAME:ActiveRPC URL:https://rpc.activej.io -DESC:Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. +DESC:Zero-allocation RPC with 15M+ requests/sec throughput. SKIP:1 SECTION:Microservice --- NAME:Armeria URL:https://github.com/line/armeria -DESC:Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. +DESC:Async microservice framework with gRPC, Thrift, and REST on Netty. SKIP:1 SECTION:Microservice --- NAME:consul-api URL:https://github.com/Ecwid/consul-api -DESC:Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. +DESC:Consul client for service discovery, health checks, and KV store. SKIP:1 SECTION:Microservice --- NAME:Eureka URL:https://github.com/Netflix/eureka -DESC:REST-based service registry for resilient load balancing and failover. +DESC:Netflix's service registry with self-preservation and replication. SKIP:1 SECTION:Microservice --- NAME:Helidon URL:https://helidon.io -DESC:Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +DESC:Oracle's microservice framework: SE (functional) or MP (MicroProfile). SKIP:1 SECTION:Microservice --- NAME:JDA URL:https://github.com/DV8FromTheWorld/JDA -DESC:Wrapping of the Discord REST API and its WebSocket events. +DESC:Discord API wrapper with event handling and slash commands. SKIP:1 SECTION:Microservice --- NAME:KeenType URL:https://github.com/DaveJarvis/KeenType -DESC:Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. +DESC:Modern TeX implementation for document typesetting. SKIP:1 SECTION:Microservice --- NAME:kubernetes-client URL:https://github.com/fabric8io/kubernetes-client -DESC:Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. +DESC:Fluent Kubernetes/OpenShift API client with CRD support. SKIP:1 SECTION:Microservice --- NAME:Micronaut URL:https://micronaut.io -DESC:Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +DESC:Compile-time DI framework with instant startup and low memory. SKIP:1 SECTION:Microservice --- NAME:Nacos URL:https://nacos.io -DESC:Dynamic service discovery, configuration and service management platform for building cloud native applications. +DESC:Alibaba's service discovery and config management platform. SKIP:1 SECTION:Microservice --- NAME:OpenAI-Java URL:https://github.com/TheoKanning/openai-java -DESC:Java libraries for using OpenAI's GPT-3 API. +DESC:OpenAI API client for GPT, DALL-E, and Whisper. SKIP:1 SECTION:Microservice --- NAME:Quarkus URL:https://quarkus.io -DESC:Kubernetes stack tailored for the HotSpot and Graal VM. +DESC:Supersonic Java with native compilation and live reload. SKIP:1 SECTION:Microservice --- NAME:Sentinel URL:https://github.com/alibaba/Sentinel -DESC:Flow control component enabling reliability, resilience and monitoring for microservices. +DESC:Flow control, circuit breaking, and real-time monitoring. SKIP:1 SECTION:Microservice --- NAME:CQEngine URL:https://github.com/npgall/cqengine -DESC:Ultra-fast, SQL-like queries on Java collections. +DESC:In-memory indexed collections with SQL-like queries in microseconds. SKIP:1 SECTION:Miscellaneous --- NAME:Design Patterns URL:https://github.com/iluwatar/java-design-patterns -DESC:Implementation and explanation of the most common design patterns. +DESC:100+ design patterns with Java examples and explanations. SKIP:1 SECTION:Miscellaneous --- NAME:FF4J URL:https://github.com/ff4j/ff4j -DESC:Feature Flags for Java. +DESC:Feature flags with web console, audit, and Spring integration. SKIP:1 SECTION:Miscellaneous --- NAME:FizzBuzz Enterprise Edition URL:https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition -DESC:No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) +DESC:Satirical over-engineered FizzBuzz demonstrating pattern overuse. (No explicit license) SKIP:1 SECTION:Miscellaneous --- NAME:IP2Location.io Java SDK URL:https://github.com/ip2location/ip2location-io-java -DESC:Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. +DESC:IP geolocation and WHOIS lookup API client. SKIP:1 SECTION:Miscellaneous --- NAME:ISBN core URL:https://github.com/ladutsko/isbn-core -DESC:A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. +DESC:ISBN-10/13 parsing, validation, and formatting. SKIP:1 SECTION:Miscellaneous --- NAME:J2ObjC URL:https://github.com/google/j2objc -DESC:Java-to-Objective-C translator for porting Android libraries to iOS. +DESC:Google's Java to Objective-C transpiler for iOS code sharing. SKIP:1 SECTION:Miscellaneous --- NAME:JBake URL:https://jbake.org -DESC:Static website generator. +DESC:Static site generator with Freemarker, Groovy, and Markdown. SKIP:1 SECTION:Miscellaneous --- NAME:JBot URL:https://github.com/rampatra/jbot -DESC:Framework for building chatbots. (GPL-3.0-only) +DESC:Slack and Facebook Messenger bot framework. (GPL-3.0-only) SKIP:1 SECTION:Miscellaneous --- NAME:JCuda URL:http://jcuda.org -DESC:JCuda offers Java bindings for CUDA and CUDA-related libraries. +DESC:Java bindings for CUDA GPU computing. SKIP:1 SECTION:Miscellaneous --- NAME:JEmoji URL:https://github.com/felldo/JEmoji -DESC:An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. +DESC:Type-safe emoji library with Discord/Slack alias support. SKIP:1 SECTION:Miscellaneous --- NAME:Jimfs URL:https://github.com/google/jimfs -DESC:In-memory file system. +DESC:In-memory file system for testing with full NIO.2 support. SKIP:1 SECTION:Miscellaneous --- NAME:Joda-Money URL:https://www.joda.org/joda-money/ -DESC:Basic currency and money classes and algorithms not provided by the JDK. +DESC:Money and currency handling with BigDecimal precision. SKIP:1 SECTION:Miscellaneous --- NAME:jOOX URL:https://github.com/jooq/joox -DESC:Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. +DESC:jQuery-style fluent API for XML DOM manipulation. SKIP:1 SECTION:Miscellaneous --- NAME:JPad URL:http://jpad.io -DESC:Snippet runner. +DESC:Code snippet runner with instant results. SKIP:1 SECTION:Miscellaneous --- NAME:jsweet URL:https://github.com/cincheo/jsweet -DESC:Source transpiler to TypeScript/JavaScript. +DESC:Java to TypeScript/JavaScript transpiler. SKIP:1 SECTION:Miscellaneous --- NAME:Maven Wrapper URL:https://github.com/takari/maven-wrapper -DESC:Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. +DESC:Ensure consistent Maven version without local installation. SKIP:1 SECTION:Miscellaneous --- NAME:Membrane Service Proxy URL:https://github.com/membrane/service-proxy -DESC:Open-source, reverse-proxy framework. +DESC:API gateway with OAuth2, rate limiting, and transformation. SKIP:1 SECTION:Miscellaneous --- NAME:MinimalFTP URL:https://github.com/Guichaguri/MinimalFTP -DESC:Lightweight, small and customizable FTP server. +DESC:Embeddable FTP server in ~50KB. SKIP:1 SECTION:Miscellaneous --- NAME:LittleProxy URL:https://github.com/adamfisk/LittleProxy -DESC:High performance HTTP proxy atop Netty's event-based networking library. +DESC:Netty-based HTTP proxy with MITM support. SKIP:1 SECTION:Miscellaneous --- NAME:Modern Java - A Guide to Java 8 URL:https://github.com/winterbe/java8-tutorial -DESC:Popular Java 8 guide. +DESC:Comprehensive Java 8 tutorial with streams and lambdas. SKIP:1 SECTION:Miscellaneous --- NAME:Modernizer URL:https://github.com/gaul/modernizer-maven-plugin -DESC:Detect uses of legacy Java APIs. +DESC:Detect legacy API usage (Guava → Java 8, etc.). SKIP:1 SECTION:Miscellaneous --- NAME:OctoLinker URL:https://github.com/OctoLinker/OctoLinker -DESC:Browser extension which allows to navigate through code on GitHub more efficiently. +DESC:GitHub browser extension linking imports to source files. SKIP:1 SECTION:Miscellaneous --- NAME:OpenRefine URL:http://openrefine.org -DESC:Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +DESC:Data cleaning and transformation tool with reconciliation. SKIP:1 SECTION:Miscellaneous --- NAME:PipelinR URL:https://github.com/sizovs/pipelinr -DESC:Small utility library for using handlers and commands with pipelines. +DESC:Mediator pattern for command/query handlers. SKIP:1 SECTION:Miscellaneous --- NAME:Polyglot for Maven URL:https://github.com/takari/polyglot-maven -DESC:Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +DESC:Write POMs in Groovy, Kotlin, Scala, or YAML. SKIP:1 SECTION:Miscellaneous --- NAME:RR4J URL:https://github.com/Kartikvk1996/RR4J -DESC:RR4J is a tool that records java bytecode execution and later allows developers to replay locally. +DESC:Record and replay Java execution for debugging. SKIP:1 SECTION:Miscellaneous --- NAME:Simple Java Mail URL:https://github.com/bbottema/simple-java-mail -DESC:Mailing with a clean and fluent API. +DESC:Fluent email API with SMTP, attachments, and embedding. SKIP:1 SECTION:Miscellaneous --- NAME:Smooks URL:https://github.com/smooks/smooks -DESC:Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) +DESC:Event-driven data transformation and routing framework. (Apache-2.0 OR LGPL-3.0-or-later) SKIP:1 SECTION:Miscellaneous --- NAME:Svix URL:https://github.com/svix/svix-webhooks/tree/main/java -DESC:Library for the Svix API to send webhooks and verify signatures. +DESC:Webhook delivery platform with retries and signature verification. SKIP:1 SECTION:Miscellaneous --- NAME:Togglz URL:https://www.togglz.org -DESC:Implementation of the Feature Toggles pattern. +DESC:Feature toggles with admin console and Spring Boot starter. SKIP:1 SECTION:Miscellaneous --- NAME:TypeTools URL:https://github.com/jhalterman/typetools -DESC:Tools for resolving generic types. +DESC:Runtime generic type resolution for type-safe APIs. SKIP:1 SECTION:Miscellaneous --- NAME:webcam-capture URL:https://github.com/sarxos/webcam-capture -DESC:Library for using built-in and external webcams directly in Java. +DESC:Cross-platform webcam access with motion detection. SKIP:1 SECTION:Miscellaneous --- NAME:XMLBeam URL:https://github.com/SvenEwald/xmlbeam -DESC:Processes XML by using annotations or XPath within code. +DESC:XPath-based XML projection onto Java interfaces. SKIP:1 SECTION:Miscellaneous --- NAME:yGuard URL:https://github.com/yWorks/yGuard -DESC:Obfuscation via renaming and shrinking. +DESC:Bytecode obfuscator with name mangling and shrinking. SKIP:1 SECTION:Miscellaneous --- NAME:JBang URL:https://github.com/maxandersen/jbang/ -DESC:JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. -SKIP:2 +DESC:Run Java as scripts with inline dependency declarations. +SKIP:1 SECTION:Miscellaneous --- NAME:Codename One URL:https://www.codenameone.com -DESC:Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Write once, deploy native iOS/Android/web from Java. (GPL-2.0-only WITH Classpath-exception-2.0) SKIP:1 SECTION:Mobile Development --- NAME:MobileUI URL:https://mobileui.dev -DESC:Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +DESC:Native mobile UI from Java/Kotlin with platform widgets. SKIP:1 SECTION:Mobile Development --- NAME:Multi-OS Engine URL:https://multi-os-engine.org -DESC:Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +DESC:Shared Java codebase with native iOS/Android UI bindings. SKIP:1 SECTION:Mobile Development --- NAME:Apitally URL:https://github.com/apitally/apitally-java -DESC:Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. +DESC:Privacy-focused API analytics with request logging. SKIP:1 SECTION:Monitoring --- NAME:Automon URL:https://github.com/stevensouza/automon -DESC:Combines the power of AOP with monitoring and/or logging tools. +DESC:AOP-based monitoring integration with JAMon/Metrics. SKIP:1 SECTION:Monitoring --- NAME:Dropwizard Metrics URL:https://github.com/dropwizard/metrics -DESC:Expose metrics via JMX or HTTP and send them to a database. +DESC:Application metrics with JMX, Graphite, and Prometheus export. SKIP:1 SECTION:Monitoring --- NAME:Failsafe Actuator URL:https://github.com/zalando/failsafe-actuator -DESC:Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. +DESC:Spring Boot Actuator endpoints for Failsafe circuit breakers. SKIP:1 SECTION:Monitoring --- NAME:Glowroot URL:https://glowroot.org -DESC:Open-source Java APM. +DESC:Lightweight APM with transaction tracing and historical analysis. SKIP:1 SECTION:Monitoring --- NAME:HertzBeat URL:https://github.com/dromara/hertzbeat -DESC:Real-time monitoring system with custom-monitor and agentless. +DESC:Agentless monitoring for servers, databases, and APIs. SKIP:1 SECTION:Monitoring --- NAME:hippo4j URL:https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md -DESC:Dynamic and observable thread pool framework. +DESC:Dynamic thread pool tuning with web console. SKIP:1 SECTION:Monitoring --- NAME:inspectIT URL:https://www.inspectit.rocks -DESC: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. +DESC:Bytecode-level APM with OpenTracing and EUM correlation. SKIP:1 SECTION:Monitoring --- NAME:Jaeger client URL:https://github.com/jaegertracing/jaeger-client-java -DESC:Jaeger client. +DESC:Distributed tracing client for Jaeger backend. SKIP:1 SECTION:Monitoring --- NAME:JavaMelody URL:https://github.com/javamelody/javamelody -DESC:Performance monitoring and profiling. +DESC:Embedded monitoring with charts, SQL analysis, and profiling. SKIP:1 SECTION:Monitoring --- NAME:jmxtrans URL:https://github.com/jmxtrans/jmxtrans -DESC: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. +DESC:JMX metric collection to Graphite, InfluxDB, or Ganglia. SKIP:1 SECTION:Monitoring --- NAME:Jolokia URL:https://jolokia.org -DESC:JMX over REST. +DESC:JMX over HTTP/JSON for remote monitoring. SKIP:1 SECTION:Monitoring --- NAME:Micrometer URL:https://github.com/micrometer-metrics/micrometer -DESC:Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. +DESC:Metrics facade for Prometheus, Datadog, CloudWatch, etc. SKIP:1 SECTION:Monitoring --- NAME:Micrometer Tracing URL:https://github.com/micrometer-metrics/tracing -DESC:Vendor-neutral distributed tracing facade for the most popular tracer libraries. +DESC:Tracing facade for Zipkin, Wavefront, and OTLP. SKIP:1 SECTION:Monitoring --- NAME:nudge4j URL:https://github.com/lorenzoongithub/nudge4j -DESC:Remote developer console from the browser for Java 8 via bytecode injection. +DESC:Browser REPL for live JVM inspection. SKIP:1 SECTION:Monitoring --- NAME:OpenTelemetry URL:https://github.com/open-telemetry/opentelemetry-java -DESC:Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. +DESC:CNCF standard for traces, metrics, and logs. SKIP:1 SECTION:Monitoring --- NAME:Pinpoint URL:https://github.com/naver/pinpoint -DESC:Open-source APM tool. +DESC:Large-scale APM with call tree visualization. SKIP:1 SECTION:Monitoring --- NAME:Prometheus URL:https://github.com/prometheus/client_java -DESC:Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. +DESC:Official Prometheus client with gauges, counters, and histograms. SKIP:1 SECTION:Monitoring --- NAME:Stagemonitor URL:https://github.com/stagemonitor/stagemonitor -DESC:Open-source performance monitoring and transaction tracing for JVM apps. +DESC:Elasticsearch-integrated APM with Kibana dashboards. SKIP:1 SECTION:Monitoring --- NAME:Sysmon URL:https://github.com/palantir/Sysmon -DESC:Lightweight platform monitoring tool for Java VMs. +DESC:JVM resource monitoring (CPU, memory, GC). SKIP:1 SECTION:Monitoring --- NAME:zipkin URL:https://zipkin.io -DESC:Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +DESC:Distributed tracing system for latency analysis. SKIP:1 SECTION:Monitoring --- NAME:Aparapi URL:https://github.com/Syncleus/aparapi -DESC:Converts bytecode to OpenCL which allows execution on GPUs. +DESC:Execute Java on GPUs via automatic OpenCL conversion. SKIP:1 SECTION:Native --- NAME:JavaCPP URL:https://github.com/bytedeco/javacpp -DESC:Provides efficient and easy access to native C++. +DESC:Native C/C++ binding generator with presets for OpenCV, FFmpeg. SKIP:1 SECTION:Native --- NAME:JNA URL:https://github.com/java-native-access/jna -DESC:Work with native libraries without writing JNI. Also provides interfaces to common system libraries. +DESC:Dynamic native access without JNI boilerplate. SKIP:1 SECTION:Native --- NAME:JNR URL:https://github.com/jnr/jnr-ffi -DESC: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). +DESC:Faster JNA alternative; foundation for Project Panama. SKIP:1 SECTION:Native --- NAME:native-lib-loader URL:https://github.com/scijava/native-lib-loader -DESC:Native library loader for extracting and loading native libraries from Java. +DESC:Extract and load bundled native libraries from JARs. SKIP:1 SECTION:Native --- NAME:CogCompNLP URL:https://github.com/CogComp/cogcomp-nlp -DESC:Provides common annotators for plain text input. (Research and Academic Use License) +DESC:NLP pipeline with coreference, SRL, and relation extraction. (Research and Academic Use License) SKIP:1 SECTION:Natural Language Processing --- NAME:CoreNLP URL:https://nlp.stanford.edu/software/corenlp.shtml -DESC:Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +DESC:Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. (GPL-3.0-or-later) SKIP:1 SECTION:Natural Language Processing --- NAME:DKPro URL:https://dkpro.github.io -DESC:Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +DESC:UIMA-based NLP components for tokenization, POS, and parsing. SKIP:1 SECTION:Natural Language Processing --- NAME:Hypherator URL:https://github.com/ejossev/hypherator-java -DESC:Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. +DESC:Text hyphenation with bundled dictionaries for 30+ languages. SKIP:1 SECTION:Natural Language Processing --- NAME:LingPipe URL:http://alias-i.com/lingpipe/ -DESC:Toolkit for tasks ranging from POS tagging to sentiment analysis. +DESC:Entity extraction, clustering, and classification toolkit. SKIP:1 SECTION:Natural Language Processing --- NAME:Commons-networking URL:https://github.com/CiscoSE/commons-networking -DESC:Client for server-sent events (SSE). +DESC:Server-Sent Events (SSE) client implementation. SKIP:1 SECTION:Networking --- NAME:Comsat URL:https://github.com/puniverse/comsat -DESC:Integrates standard Java web-related APIs with Quasar fibers and actors. +DESC:Fiber-aware web APIs (Servlet, JAX-RS) with Quasar. SKIP:1 SECTION:Networking --- NAME:Dubbo URL:https://github.com/apache/dubbo -DESC:High-performance RPC framework. +DESC:Alibaba's RPC framework with service discovery and load balancing. SKIP:1 SECTION:Networking --- NAME:Grizzly URL:https://javaee.github.io/grizzly/ -DESC:NIO framework. Used as a network layer in Glassfish. +DESC:NIO framework powering GlassFish with HTTP/2. SKIP:1 SECTION:Networking --- NAME:gRPC-java URL:https://github.com/grpc/grpc-java -DESC:RPC framework based on protobuf and HTTP/2. +DESC:Google's HTTP/2 RPC with streaming and deadlines. SKIP:1 SECTION:Networking --- NAME:KryoNet URL:https://github.com/EsotericSoftware/kryonet -DESC:Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +DESC:Fast TCP/UDP networking with Kryo serialization. SKIP:1 SECTION:Networking --- NAME:MINA URL:https://mina.apache.org -DESC:Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +DESC:Event-driven async network framework from Apache. SKIP:1 SECTION:Networking --- NAME:Netty URL:https://netty.io -DESC:Framework for building high-performance network applications. +DESC:Industry-standard async networking with epoll/kqueue support. SKIP:1 SECTION:Networking --- NAME:Drift URL:https://github.com/airlift/drift -DESC:Easy-to-use, annotation-based library for creating Thrift clients and serializable types. +DESC:Annotation-based Thrift client/server generation. SKIP:1 SECTION:Networking --- NAME:ServiceTalk URL:https://github.com/apple/servicetalk -DESC:Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. +DESC:Apple's reactive networking with HTTP/1.1, HTTP/2, and gRPC. SKIP:1 SECTION:Networking --- NAME:sshj URL:https://github.com/hierynomus/sshj -DESC:Programmatically use SSH, SCP or SFTP. +DESC:SSH2 client for SFTP, SCP, and remote execution. SKIP:1 SECTION:Networking --- NAME:TLS Channel URL:https://github.com/marianobarrios/tls-channel -DESC:Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. +DESC:Blocking/non-blocking TLS via simple ByteChannel API. SKIP:1 SECTION:Networking --- NAME:Undertow URL:http://undertow.io -DESC:Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +DESC:High-performance web server with HTTP/2 and WebSocket. (LGPL-2.1-only) SKIP:1 SECTION:Networking --- NAME:urnlib URL:https://github.com/slub/urnlib -DESC:Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +DESC:URN parsing and validation per RFC 2141/8141. (GPL-3.0-only) SKIP:1 SECTION:Networking --- NAME:Fluency URL:https://github.com/komamitsu/fluency -DESC:High throughput data ingestion logger to Fluentd and Fluent Bit. +DESC:Async, buffered logger to Fluentd with failover. SKIP:1 SECTION:Networking --- NAME:Apache Cayenne URL:https://cayenne.apache.org -DESC:Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +DESC:Modeler-based ORM with lazy loading and caching. SKIP:1 SECTION:ORM --- NAME:Doma URL:https://github.com/domaframework/doma -DESC:Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. +DESC:Compile-time SQL validation with two-way SQL templates. SKIP:1 SECTION:ORM --- NAME:Ebean URL:https://ebean.io -DESC:Provides simple and fast data access. +DESC:Simple ORM with query beans, JSON, and soft-delete support. SKIP:1 SECTION:ORM --- NAME:EclipseLink URL:https://www.eclipse.org/eclipselink/ -DESC:Supports a number of persistence standards: JPA, JAXB, JCA and SDO. +DESC:JPA reference implementation with MOXy and multi-tenancy. SKIP:1 SECTION:ORM --- NAME:Hibernate URL:http://hibernate.org/orm/ -DESC:Robust and widely used, with an active community. (LGPL-2.1-only) +DESC:Feature-rich JPA implementation with caching and search. (LGPL-2.1-only) SKIP:1 SECTION:ORM --- NAME:MyBatis URL:https://github.com/mybatis/mybatis-3 -DESC:Couples objects with stored procedures or SQL statements. +DESC:SQL mapping framework with XML or annotation config. SKIP:1 SECTION:ORM --- NAME:MyBatis-Plus URL:https://github.com/baomidou/mybatis-plus -DESC:A powerful enhanced toolkit of MyBatis for simplifying development. +DESC:MyBatis enhancements: CRUD, pagination, code generation. SKIP:1 SECTION:ORM --- NAME:ObjectiveSql URL:https://github.com/braisdom/ObjectiveSql -DESC:ActiveRecord ORM for rapid development and convention over configuration. +DESC:ActiveRecord-style ORM with method chaining queries. SKIP:1 SECTION:ORM --- NAME:Permazen URL:https://github.com/permazen/permazen -DESC:Language-natural persistence layer. +DESC:Schema-independent persistence with change tracking. SKIP:1 SECTION:ORM --- NAME:SimpleFlatMapper URL:https://github.com/arnaudroger/SimpleFlatMapper -DESC:Simple database and CSV mapper. +DESC:Zero-allocation result set to POJO mapping. SKIP:1 SECTION:ORM --- NAME:Pathetic URL:https://github.com/bsommerfeld/pathetic -DESC:A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. +DESC:High-performance 3D A\* pathfinding with configurable heuristics. SKIP:1 SECTION:Pathfinding --- NAME:Apache FOP URL:https://xmlgraphics.apache.org/fop/ -DESC:Creates PDFs from XSL-FO. +DESC:XSL-FO to PDF with SVG and image support. SKIP:1 SECTION:PDF --- NAME:Apache PDFBox URL:https://pdfbox.apache.org -DESC:Toolbox for creating and manipulating PDFs. +DESC:Create, modify, extract, and sign PDFs. SKIP:1 SECTION:PDF --- NAME:Dynamic Jasper URL:https://intive-fdv.github.io/DynamicJasper/ -DESC:Abstraction layer to JasperReports. (LGPL-3.0-only) +DESC:Programmatic JasperReports without XML. (LGPL-3.0-only) SKIP:1 SECTION:PDF --- NAME:DynamicReports URL:https://github.com/dynamicreports/dynamicreports -DESC:Simplifies JasperReports. (LGPL-3.0-only) +DESC:Fluent API for JasperReports with charts. (LGPL-3.0-only) SKIP:1 SECTION:PDF --- NAME:Eclipse BIRT URL:https://www.eclipse.org/birt -DESC:Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +DESC:Visual report designer with PDF, Excel, and HTML output. SKIP:1 SECTION:PDF --- NAME:flyingsaucer URL:https://github.com/flyingsaucerproject/flyingsaucer -DESC:XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) +DESC:XHTML/CSS to PDF renderer. (LGPL-2.1-or-later) SKIP:1 SECTION:PDF --- NAME:JasperReports URL:https://community.jaspersoft.com/project/jasperreports-library -DESC:Complex reporting engine. (LGPL-3.0-only) +DESC:Enterprise reporting with charts, barcodes, and subreports. (LGPL-3.0-only) SKIP:1 SECTION:PDF --- NAME:Open HTML to PDF URL:https://github.com/danfickle/openhtmltopdf -DESC:Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +DESC:HTML5/CSS3 to PDF/A with accessibility support. SKIP:1 SECTION:PDF --- NAME:OpenPDF URL:https://github.com/LibrePDF/OpenPDF -DESC:Open-source iText fork. (LGPL-3.0-only & MPL-2.0) +DESC:LGPL iText fork with active maintenance. (LGPL-3.0-only & MPL-2.0) SKIP:1 SECTION:PDF --- NAME:Tabula URL:https://github.com/tabulapdf/tabula-java -DESC:Extracts tables from PDF files. +DESC:Extract tabular data from PDFs into CSV/JSON. SKIP:1 SECTION:PDF --- NAME:honest-profiler URL:https://github.com/jvm-profiling-tools/honest-profiler -DESC:Low-overhead, bias-free sampling profiler. +DESC:AsyncGetCallTrace-based profiler avoiding safepoint bias. SKIP:1 SECTION:Performance analysis --- NAME:jHiccup URL:https://github.com/giltene/jHiccup -DESC:Logs and records platform JVM stalls. +DESC:Measure JVM pauses and OS scheduling hiccups. SKIP:1 SECTION:Performance analysis --- NAME:JITWatch URL:https://github.com/AdoptOpenJDK/jitwatch -DESC:Analyze the JIT compiler optimisations made by the HotSpot JVM. +DESC:Visualize HotSpot JIT compilations and inlining decisions. SKIP:1 SECTION:Performance analysis --- NAME:JMH URL:http://openjdk.java.net/projects/code-tools/jmh/ -DESC:Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +DESC:OpenJDK's microbenchmark harness with warmup and statistics. (GPL-2.0 only WITH Classpath-exception-2.0) SKIP:1 SECTION:Performance analysis --- NAME:LatencyUtils URL:https://github.com/LatencyUtils/LatencyUtils -DESC:Utilities for latency measurement and reporting. +DESC:HDR histogram-based latency recording with pause correction. SKIP:1 SECTION:Performance analysis --- @@ -3906,1302 +3913,1302 @@ SECTION:Reactive libraries NAME:Dropwizard URL:https://github.com/dropwizard/dropwizard -DESC:Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +DESC:Production-ready REST with Jetty, Jersey, and Metrics. SKIP:1 SECTION:REST Frameworks --- NAME:Elide URL:https://elide.io -DESC:Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +DESC:JSON API/GraphQL from JPA models with security. SKIP:1 SECTION:REST Frameworks --- NAME:Jersey URL:https://jersey.github.io -DESC:JAX-RS reference implementation. +DESC:JAX-RS reference implementation with DI support. SKIP:1 SECTION:REST Frameworks --- NAME:Microserver URL:https://github.com/aol/micro-server -DESC: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. +DESC:Spring Boot microservices with 30+ plugins. SKIP:1 SECTION:REST Frameworks --- NAME:Rapidoid URL:https://www.rapidoid.org -DESC:Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. +DESC:Ultra-fast HTTP server with embedded DI. SKIP:1 SECTION:REST Frameworks --- NAME:rest.li URL:https://github.com/linkedin/rest.li -DESC: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. +DESC:LinkedIn's REST framework with typed schemas. SKIP:1 SECTION:REST Frameworks --- NAME:RESTEasy URL:https://resteasy.github.io -DESC:Fully certified and portable implementation of the JAX-RS specification. +DESC:Red Hat's JAX-RS implementation with async. SKIP:1 SECTION:REST Frameworks --- NAME:RestExpress URL:https://github.com/RestExpress/RestExpress -DESC:Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. +DESC:Netty-based REST for high throughput. SKIP:1 SECTION:REST Frameworks --- NAME:Restlet Framework URL:https://github.com/restlet/restlet-framework-java -DESC:Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. +DESC:Unified REST client/server with content negotiation. SKIP:1 SECTION:REST Frameworks --- NAME:Spark URL:http://sparkjava.com -DESC:Sinatra inspired framework. +DESC:Minimalist Sinatra-style REST in Java. SKIP:1 SECTION:REST Frameworks --- NAME:Crnk URL:http://www.crnk.io -DESC:Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +DESC:JSON API implementation with filtering and paging. SKIP:1 SECTION:REST Frameworks --- NAME:springdoc-openapi URL:https://github.com/springdoc/springdoc-openapi -DESC:Automates the generation of API documentation using Spring Boot projects. +DESC:OpenAPI 3 docs from Spring Boot annotations. SKIP:1 SECTION:REST Frameworks --- NAME:Swagger URL:https://swagger.io -DESC:Standard, language-agnostic interface to REST APIs. +DESC:API design, documentation, and code generation. SKIP:1 SECTION:REST Frameworks --- NAME:openapi-generator URL:https://github.com/OpenAPITools/openapi-generator -DESC:Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. +DESC:Generate clients/servers from OpenAPI specs. SKIP:1 SECTION:REST Frameworks --- NAME:BioJava URL:https://biojava.org/ -DESC:Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +DESC:Bioinformatics library for sequences, structures, and alignments. SKIP:1 SECTION:Science --- NAME:Chart-FX URL:https://github.com/GSI-CS-CO/chart-fx -DESC:Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +DESC:Real-time scientific charting at 25Hz with millions of points. SKIP:1 SECTION:Science --- NAME:DataMelt URL:https://datamelt.org/ -DESC:Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) +DESC:Scientific computing environment with Python/Jython. (GPL-3.0-or-later) SKIP:1 SECTION:Science --- NAME:Erdos URL:https://github.com/Erdos-Graph-Framework/Erdos -DESC:Modular, light and easy graph framework for theoretic algorithms. +DESC:Graph theory algorithms for research. SKIP:1 SECTION:Science --- NAME:GraphStream URL:http://graphstream-project.org -DESC:Library for modeling and analyzing dynamic graphs. +DESC:Dynamic graph modeling with visualization. SKIP:1 SECTION:Science --- NAME:JFreeChart URL:http://www.jfree.org/jfreechart/ -DESC:2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +DESC:Comprehensive 2D charting for Swing/JavaFX. (LGPL-2.1-only) SKIP:1 SECTION:Science --- NAME:JGraphT URL:https://github.com/jgrapht/jgrapht -DESC:Graph library that provides mathematical graph-theory objects and algorithms. +DESC:Graph algorithms: shortest path, flow, matching. SKIP:1 SECTION:Science --- NAME:JGraphX URL:https://github.com/jgraph/jgraphx -DESC:Library for visualizing (mainly Swing) and interacting with node-edge graphs. +DESC:Interactive graph visualization (powers draw.io). SKIP:1 SECTION:Science --- NAME:LogicNG URL:https://github.com/logic-ng/LogicNG -DESC:Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. +DESC:Boolean formula manipulation and SAT solving. SKIP:1 SECTION:Science --- NAME:Mines Java Toolkit URL:https://github.com/MinesJTK/jtk -DESC:Library for geophysical scientific computation, visualization and digital signal analysis. +DESC:Geophysics: seismic processing and visualization. SKIP:1 SECTION:Science --- NAME:Morpheus URL:https://github.com/zavtech/morpheus-core -DESC:Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +DESC:DataFrame library for tabular data analysis. SKIP:1 SECTION:Science --- NAME:Orekit URL:https://www.orekit.org/ -DESC:A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +DESC:Space flight dynamics: orbit propagation and attitude. SKIP:1 SECTION:Science --- NAME:Orson-Charts URL:https://github.com/jfree/orson-charts -DESC:Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +DESC:Interactive 3D charts with PDF/SVG export. (GPL-3.0-only) SKIP:1 SECTION:Science --- NAME:Tablesaw URL:https://github.com/jtablesaw/tablesaw -DESC:Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +DESC:In-memory DataFrame with filtering and aggregation. SKIP:1 SECTION:Science --- NAME:XChart URL:https://github.com/knowm/XChart -DESC:Light-weight library for plotting data. Many customizable chart types are available. +DESC:Simple charting with minimal dependencies. SKIP:1 SECTION:Science --- NAME:Apache Lucene URL:https://lucene.apache.org -DESC:High-performance, full-featured, cross-platform, text search engine library. +DESC:Foundation of most Java search; fast inverted indexes. SKIP:1 SECTION:Search --- NAME:Apache Solr URL:https://lucene.apache.org/solr/ -DESC:Enterprise search engine optimized for high-volume traffic. +DESC:Enterprise search with faceting and clustering. SKIP:1 SECTION:Search --- NAME:Elasticsearch URL:https://www.elastic.co -DESC:Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. +DESC:Distributed search and analytics with REST API. SKIP:1 SECTION:Search --- NAME:Indexer4j URL:https://github.com/haeungun/indexer4j -DESC:Simple and light full text indexing and searching library. +DESC:Lightweight in-memory full-text search. SKIP:1 SECTION:Search --- NAME:Apache Shiro URL:https://shiro.apache.org -DESC:Performs authentication, authorization, cryptography and session management. +DESC:Framework-agnostic security with auth, crypto, and sessions. SKIP:1 SECTION:Security --- NAME:Ayza URL:https://github.com/Hakky54/ayza -DESC:High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. +DESC:Fluent SSL/TLS configuration for HTTP clients and servers. SKIP:1 SECTION:Security --- NAME:Bouncy Castle URL:https://www.bouncycastle.org/java.html -DESC:All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. +DESC:Comprehensive crypto library with FIPS-certified provider. SKIP:1 SECTION:Security --- NAME:DependencyCheck URL:https://github.com/jeremylong/DependencyCheck -DESC:Detects publicly disclosed vulnerabilities contained within a project's dependencies. +DESC:OWASP tool detecting vulnerable dependencies via NVD. SKIP:1 SECTION:Security --- NAME:Cryptomator URL:https://cryptomator.org -DESC:Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) +DESC:Client-side encryption for cloud storage with WebDAV. (GPL-3.0-only) SKIP:1 SECTION:Security --- NAME:Hdiv URL:https://github.com/hdiv/hdiv -DESC: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. +DESC:Runtime protection against OWASP Top 10 attacks. SKIP:1 SECTION:Security --- NAME:jjwt URL:https://github.com/jwtk/jjwt -DESC:JSON web token for Java and Android. +DESC:JWT creation and verification with JWS/JWE support. SKIP:1 SECTION:Security --- NAME:jwt-java URL:https://github.com/BastiaanJansen/jwt-java -DESC:Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. +DESC:Fluent JWT API with custom claim validation. SKIP:1 SECTION:Security --- NAME:Jwks RSA URL:https://github.com/auth0/jwks-rsa-java -DESC:JSON Web Key Set parser. +DESC:JWKS endpoint client with key caching. SKIP:1 SECTION:Security --- NAME:Kalium URL:https://github.com/abstractj/kalium -DESC:Binding for the Networking and Cryptography (NaCl) library. +DESC:NaCl/libsodium bindings for modern crypto primitives. SKIP:1 SECTION:Security --- NAME:Keycloak URL:https://www.keycloak.org -DESC:Integrated SSO and IDM for browser apps and RESTful web services. +DESC:Open-source IAM with OIDC, SAML, and social login. SKIP:1 SECTION:Security --- NAME:Keywhiz URL:https://github.com/square/keywhiz -DESC:System for distributing and managing secrets. +DESC:Square's secret management with ACLs and audit logs. SKIP:1 SECTION:Security --- NAME:Nbvcxz URL:https://github.com/GoSimpleLLC/nbvcxz -DESC:Advanced password strength estimation. +DESC:Password strength estimator using pattern matching. SKIP:1 SECTION:Security --- NAME:OACC URL:http://oaccframework.org -DESC:Provides permission-based authorization services. +DESC:Fine-grained permission-based access control framework. SKIP:1 SECTION:Security --- NAME:OpenAM URL:https://github.com/OpenIdentityPlatform/OpenAM -DESC:Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. +DESC:Enterprise access management with SSO and federation. SKIP:1 SECTION:Security --- NAME:OTP-Java URL:https://github.com/BastiaanJansen/OTP-Java -DESC:One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +DESC:TOTP/HOTP one-time password generation per RFC specs. SKIP:1 SECTION:Security --- NAME:pac4j URL:https://github.com/pac4j/pac4j -DESC:Security engine. +DESC:Multi-protocol security engine for OAuth, SAML, CAS. SKIP:1 SECTION:Security --- NAME:Passay URL:http://www.passay.org/ -DESC:Enforce password policy by validating candidate passwords against a configurable rule set. +DESC:Password policy enforcement with configurable rules. SKIP:1 SECTION:Security --- NAME:Password4j URL:https://github.com/Password4j/password4j -DESC:User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. +DESC:Password hashing with Argon2, BCrypt, SCrypt, and PBKDF2. SKIP:1 SECTION:Security --- NAME:SecurityBuilder URL:https://github.com/tersesystems/securitybuilder -DESC:Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. +DESC:Fluent builders for X.509, keystores, and TLS contexts. SKIP:1 SECTION:Security --- NAME:Themis URL:https://github.com/cossacklabs/themis -DESC: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. +DESC:High-level crypto for secure messaging and storage. SKIP:1 SECTION:Security --- NAME:Tink URL:https://github.com/google/tink -DESC:Provides a simple and misuse-proof API for common cryptographic tasks. +DESC:Google's misuse-resistant crypto API with key management. SKIP:1 SECTION:Security --- NAME:Topaz URL:https://www.topaz.sh -DESC:Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. +DESC:Authorization service with RBAC, ABAC, and relationship-based AC. SKIP:1 SECTION:Security --- NAME:FlatBuffers URL:https://github.com/google/flatbuffers -DESC:Memory-efficient serialization library that can access serialized data without unpacking and parsing it. +DESC:Zero-copy access to serialized data without parsing. SKIP:1 SECTION:Serialization --- NAME:FST URL:https://github.com/RuedigerMoeller/fast-serialization -DESC:JDK-compatible, high-performance object graph serialization. +DESC:10x faster than JDK serialization with drop-in replacement. SKIP:1 SECTION:Serialization --- NAME:Fury URL:https://github.com/alipay/fury -DESC:Blazing fast object graph serialization framework powered by JIT and zero-copy. +DESC:JIT-accelerated serialization with cross-language support. SKIP:1 SECTION:Serialization --- NAME:Kryo URL:https://github.com/EsotericSoftware/kryo -DESC:Fast and efficient object graph serialization framework. +DESC:Fast, compact object graph serialization for games and caching. SKIP:1 SECTION:Serialization --- NAME:MessagePack URL:https://github.com/msgpack/msgpack-java -DESC:Efficient binary serialization format. +DESC:Compact binary format smaller than JSON. SKIP:1 SECTION:Serialization --- NAME:PHP Serializer URL:https://github.com/marcospassos/java-php-serializer -DESC:Serializing objects in the PHP serialization format. +DESC:Serialize Java objects to PHP format for interop. SKIP:1 SECTION:Serialization --- NAME:Apache Tomcat URL:https://tomcat.apache.org -DESC:Robust, all-round server for Servlet and JSP. +DESC:Reference Servlet container with virtual hosts and clustering. SKIP:1 SECTION:Server --- NAME:Apache TomEE URL:https://tomee.apache.org -DESC:Tomcat plus Java EE. +DESC:Tomcat with Jakarta EE (CDI, JPA, JAX-RS) baked in. SKIP:1 SECTION:Server --- NAME:Jetty URL:https://www.eclipse.org/jetty/ -DESC:Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +DESC:Lightweight, embeddable server with HTTP/2 and WebSocket. SKIP:1 SECTION:Server --- NAME:nanohttpd URL:https://github.com/NanoHttpd/nanohttpd -DESC:Tiny, easily embeddable HTTP server. +DESC:Tiny embeddable HTTP server in one Java file. SKIP:1 SECTION:Server --- NAME:WildFly URL:https://www.wildfly.org -DESC:Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +DESC:Full Jakarta EE server with modular architecture. (LGPL-2.1-only) SKIP:1 SECTION:Server --- NAME:Freemarker URL:https://freemarker.apache.org -DESC:Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +DESC:Powerful templating with macros, includes, and auto-escaping. SKIP:1 SECTION:Template Engine --- NAME:Handlebars.java URL:https://jknack.github.io/handlebars.java/ -DESC:Logicless and semantic Mustache templates. +DESC:Logic-less Mustache templates with helpers. SKIP:1 SECTION:Template Engine --- NAME:Jade4J URL:https://github.com/neuland/jade4j -DESC:Implementation of Pug (formerly known as Jade). +DESC:Pug/Jade template engine for concise HTML. SKIP:1 SECTION:Template Engine --- NAME:Jamal URL:https://github.com/verhas/jamal -DESC:Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +DESC:Macro processor for Maven/Javadoc with Groovy and JShell. SKIP:1 SECTION:Template Engine --- NAME:jstachio URL:https://github.com/jstachio/jstachio -DESC:Typesafe Mustache templating engine. +DESC:Compile-time Mustache with type-safe binding. SKIP:1 SECTION:Template Engine --- NAME:jte URL:https://github.com/casid/jte -DESC:Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. +DESC:Fast, compiled templates with IntelliJ plugin support. SKIP:1 SECTION:Template Engine --- NAME:Jtwig URL:https://github.com/jtwig/jtwig -DESC:Modular, configurable and fully tested template engine. +DESC:Twig-inspired engine with inheritance and macros. SKIP:1 SECTION:Template Engine --- NAME:Pebble URL:https://pebbletemplates.io -DESC: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. +DESC:Twig-like templates with inheritance, i18n, and autoescaping. SKIP:1 SECTION:Template Engine --- NAME:Rocker URL:https://github.com/fizzed/rocker -DESC:Optimized, memory efficient and speedy template engine producing statically typed, plain objects. +DESC:Type-safe templates compiling to optimized Java code. SKIP:1 SECTION:Template Engine --- NAME:StringTemplate URL:https://github.com/antlr/stringtemplate4 -DESC:Template engine for generating source code, web pages, emails, or any other formatted text output. +DESC:ANTLR's template engine for code generation. SKIP:1 SECTION:Template Engine --- NAME:Thymeleaf URL:https://www.thymeleaf.org -DESC:Aims to be a substitute for JSP and works for XML files. +DESC:Natural templates that work as HTML prototypes. SKIP:1 SECTION:Template Engine --- NAME:Awaitility URL:https://github.com/awaitility/awaitility -DESC:DSL for synchronizing asynchronous operations. +DESC:Fluent DSL for polling until async conditions are met. SKIP:1 SECTION:Testing/Asynchronous --- NAME:ConcurrentUnit URL:https://github.com/jhalterman/concurrentunit -DESC:Toolkit for testing multi-threaded and asynchronous applications. +DESC:Test multi-threaded code with assertions from any thread. SKIP:1 SECTION:Testing/Asynchronous --- NAME:GreenMail URL:https://greenmail-mail-test.github.io/greenmail/ -DESC:In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +DESC:Embedded SMTP/POP3/IMAP server for email testing. (GPL-2.0-only) SKIP:1 SECTION:Testing/Asynchronous --- NAME:Hoverfly Java URL:https://github.com/SpectoLabs/hoverfly-java -DESC:Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +DESC:HTTP service virtualization with record/playback. SKIP:1 SECTION:Testing/Asynchronous --- NAME:Karate URL:https://github.com/intuit/karate -DESC:DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +DESC:BDD API testing with mocks, perf tests, and JSON/XML assertions. SKIP:1 SECTION:Testing/Asynchronous --- NAME:REST Assured URL:https://github.com/rest-assured/rest-assured -DESC:DSL for easy testing of REST/HTTP services. +DESC:Fluent API for testing REST services with JSON/XML validation. SKIP:1 SECTION:Testing/Asynchronous --- NAME:WebTau URL:https://github.com/testingisdocumenting/webtau -DESC:Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. +DESC:Unified testing: REST, GraphQL, browser, CLI, and database. SKIP:1 SECTION:Testing/Asynchronous --- NAME:Cucumber URL:https://github.com/cucumber/cucumber-jvm -DESC:Provides a way to describe features in a plain language which customers can understand. +DESC:Gherkin specs with step definitions in Java. SKIP:1 SECTION:Testing/BDD --- NAME:Cukes-REST URL:https://github.com/ctco/cukes -DESC:Collection of Gherkin steps for REST-service testing using Cucumber. +DESC:Cucumber steps for REST API testing. SKIP:1 SECTION:Testing/BDD --- NAME:J8Spec URL:https://github.com/j8spec/j8spec -DESC:Follows a Jasmine-like syntax. +DESC:Jasmine/RSpec-style specs with lambda syntax. SKIP:1 SECTION:Testing/BDD --- NAME:JBehave URL:https://jbehave.org -DESC:Extensively configurable framework that describes stories. +DESC:Story-driven BDD with narrative format. SKIP:1 SECTION:Testing/BDD --- NAME:JGiven URL:http://jgiven.org -DESC:Provides a fluent API which allows for simpler composition. +DESC:Fluent BDD with readable HTML reports. SKIP:1 SECTION:Testing/BDD --- NAME:Lamdba Behave URL:https://github.com/RichardWarburton/lambda-behave -DESC:Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. +DESC:Expressive specs using lambdas and natural language. SKIP:1 SECTION:Testing/BDD --- NAME:Serenity BDD URL:https://github.com/serenity-bdd/serenity-core -DESC:Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. +DESC:Living documentation with Cucumber/JUnit integration. SKIP:1 SECTION:Testing/BDD --- NAME:AutoParams URL:https://github.com/AutoParams/AutoParams -DESC:Supports generating test data or combining scenarios for parameterized tests. +DESC:JUnit 5 extension for automatic test parameter generation. SKIP:1 SECTION:Testing/Fixtures --- NAME:Beanmother URL:https://github.com/keepcosmos/beanmother -DESC:Sets up beans from YAML fixtures. +DESC:YAML-based fixture factory for test objects. SKIP:1 SECTION:Testing/Fixtures --- NAME:Datafaker URL:https://github.com/datafaker-net/datafaker -DESC:Modern fake data generator forked from Java Faker. +DESC:Modern faker with 200+ data providers and locales. SKIP:1 SECTION:Testing/Fixtures --- NAME:Fixture Factory URL:https://github.com/six2six/fixture-factory -DESC:Generates fake objects from a template. +DESC:Template-based test object builder. SKIP:1 SECTION:Testing/Fixtures --- NAME:jFairy URL:https://github.com/Devskiller/jfairy -DESC:Fake data generator. +DESC:Realistic fake data (names, addresses, companies). SKIP:1 SECTION:Testing/Fixtures --- NAME:Instancio URL:https://github.com/instancio/instancio -DESC:Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. +DESC:Generate fully-populated objects with reproducible seeds. SKIP:1 SECTION:Testing/Fixtures --- NAME:Randomized Testing URL:https://github.com/randomizedtesting/randomizedtesting -DESC:JUnit test runner and plugins for running JUnit tests with pseudo-randomness. +DESC:Repeatable randomized tests with seed control. SKIP:1 SECTION:Testing/Fixtures --- NAME:Java Faker URL:https://github.com/DiUS/java-faker -DESC:Port of Ruby's fake data generator. +DESC:Ruby Faker port with extensive data types. SKIP:1 SECTION:Testing/Fixtures --- NAME:Mockneat URL:https://github.com/nomemory/mockneat -DESC:Another fake data generator. +DESC:Fluent fake data API with constrained generators. SKIP:1 SECTION:Testing/Fixtures --- NAME:JMock URL:https://github.com/xcancloud/JMock -DESC:JMock is a high-performance data generation and simulation component library implemented in Java. +DESC:High-performance mock data generation library. SKIP:1 SECTION:Testing/Fixtures --- NAME:Apache JMeter URL:http://jmeter.apache.org -DESC:Functional testing and performance measurements. +DESC:Load testing with GUI and distributed execution. SKIP:1 SECTION:Testing/Frameworks --- NAME:JMeter DSL.java URL:https://abstracta.github.io/jmeter-java-dsl/ -DESC:Load tests with JMeter as simple as a JUnit test. +DESC:Programmatic JMeter tests with fluent Java API. SKIP:1 SECTION:Testing/Frameworks --- NAME:Arquillian URL:http://arquillian.org -DESC:Integration and functional testing platform for Java EE containers. +DESC:Integration testing with container lifecycle management. SKIP:1 SECTION:Testing/Frameworks --- NAME:cdi-test URL:https://github.com/guhilling/cdi-test -DESC:JUnit extension for easy and efficient testing of CDI components. +DESC:Lightweight CDI testing without full container. SKIP:1 SECTION:Testing/Frameworks --- NAME:Citrus URL:https://citrusframework.org -DESC:Integration testing framework that focuses on both client- and server-side messaging. +DESC:Integration testing for HTTP, JMS, SOAP, and Kafka. SKIP:1 SECTION:Testing/Frameworks --- NAME:Gatling URL:https://gatling.io -DESC:Load testing tool designed for ease of use, maintainability and high performance. +DESC:Scala-based load testing with detailed HTML reports. SKIP:1 SECTION:Testing/Frameworks --- NAME:JUnit URL:https://junit.org/junit5/ -DESC:Common testing framework. +DESC:The standard Java testing framework with extensions. SKIP:1 SECTION:Testing/Frameworks --- NAME:jqwik URL:https://jqwik.net -DESC:Engine for property-based testing built on JUnit 5. +DESC:Property-based testing with shrinking on JUnit 5. SKIP:1 SECTION:Testing/Frameworks --- NAME:Pact JVM URL:https://github.com/DiUS/pact-jvm -DESC:Consumer-driven contract testing. +DESC:Contract testing for microservices compatibility. SKIP:1 SECTION:Testing/Frameworks --- NAME:PIT URL:http://pitest.org -DESC:Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. +DESC:Mutation testing measuring test suite quality. SKIP:1 SECTION:Testing/Frameworks --- NAME:weld-testing URL:https://github.com/weld/weld-testing -DESC:Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. +DESC:CDI test extensions for JUnit 4/5 and Spock. SKIP:1 SECTION:Testing/Frameworks --- NAME:selenium URL:https://github.com/SeleniumHQ/selenium -DESC:Browser automation framework and ecosystem. +DESC:Browser automation for web application testing. SKIP:1 SECTION:Testing/Frameworks --- NAME:AssertJ URL:https://joel-costigliola.github.io/assertj/ -DESC:Fluent assertions that improve readability. +DESC:Fluent assertions with IDE auto-completion. SKIP:1 SECTION:Testing/Matchers --- NAME:Hamcrest URL:http://hamcrest.org/JavaHamcrest/ -DESC:Matchers that can be combined to create flexible expressions of intent. +DESC:Composable matchers for expressive assertions. SKIP:1 SECTION:Testing/Matchers --- NAME:JSONAssert URL:http://jsonassert.skyscreamer.org -DESC:Simplifies testing JSON strings. +DESC:JSON comparison with strict/lenient modes. SKIP:1 SECTION:Testing/Matchers --- NAME:JsonUnit URL:https://github.com/lukas-krecan/JsonUnit -DESC:Library that simplifies JSON comparison in tests. +DESC:JSON assertions with path ignoring and regex. SKIP:1 SECTION:Testing/Matchers --- NAME:Truth URL:https://truth.dev -DESC:Google's fluent assertion and proposition framework. +DESC:Google's extensible assertion framework. SKIP:1 SECTION:Testing/Matchers --- NAME:XMLUnit URL:https://github.com/xmlunit/xmlunit -DESC:Simplifies testing for XML output. +DESC:XML comparison with diff and XPath assertions. SKIP:1 SECTION:Testing/Matchers --- NAME:ConsoleCaptor URL:https://github.com/Hakky54/console-captor -DESC:Captures console output for unit testing purposes. +DESC:Capture stdout/stderr for assertion. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:junit-dataprovider URL:https://github.com/TNG/junit-dataprovider -DESC:TestNG-like data provider/runner for JUnit. +DESC:TestNG-style parameterized tests for JUnit. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:junit-pioneer URL:https://junit-pioneer.org/ -DESC:JUnit 5 extension pack, pushing the frontiers on Jupiter. +DESC:JUnit 5 extensions: environment variables, temp dirs, etc. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:LogCaptor URL:https://github.com/Hakky54/log-captor -DESC:Captures log entries for unit testing purposes. +DESC:Capture and assert log messages in tests. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:log-capture URL:https://github.com/dm-drogeriemarkt/log-capture -DESC:Captures log entries and provides assertions for unit and integration testing. +DESC:AssertJ-style log assertions with MDC support. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:Mutability Detector URL:https://github.com/MutabilityDetector/MutabilityDetector -DESC:Reports whether instances of a given class are immutable. +DESC:Verify class immutability at test time. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:pojo-tester URL:https://www.pojo.pl -DESC:Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +DESC:Auto-test equals, hashCode, toString, getters/setters. (LGPL-3.0-only) SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:raml-tester URL:https://github.com/nidi3/raml-tester -DESC:Tests if a request/response matches a given RAML definition. +DESC:Validate API requests/responses against RAML specs. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:Selfie URL:https://github.com/diffplug/selfie -DESC:Snapshot testing (inline and on disk). +DESC:Snapshot testing with inline or file-based snapshots. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:Stebz URL:https://github.com/stebz/stebz -DESC:Multi-approach framework for test steps managing. +DESC:Step-based test organization framework. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:Testcontainers URL:https://github.com/testcontainers/testcontainers-java -DESC:Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. +DESC:Disposable Docker containers for DBs, browsers, and services. SKIP:1 SECTION:Testing/Testing Miscellaneous --- NAME:JMockit URL:http://jmockit.github.io -DESC:Integration testing, API mocking and faking, and code coverage. +DESC:Full mocking with expectations, verifications, and coverage. SKIP:1 SECTION:Testing/Mocking --- NAME:Mockito URL:https://github.com/mockito/mockito -DESC:Mocking framework that lets you write tests with a clean and simple API. +DESC:Clean, readable mocking with spy and argument capture. SKIP:1 SECTION:Testing/Mocking --- NAME:MockServer URL:https://www.mock-server.com -DESC:Allows mocking of systems integrated with HTTPS. +DESC:HTTP/HTTPS mock server with expectation matching. SKIP:1 SECTION:Testing/Mocking --- NAME:Moco URL:https://github.com/dreamhead/moco -DESC:Concise web services for stubs and mocks. +DESC:Standalone mock server with simple JSON config. SKIP:1 SECTION:Testing/Mocking --- NAME:PowerMock URL:https://github.com/powermock/powermock -DESC:Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. +DESC:Mock statics, constructors, and final classes. SKIP:1 SECTION:Testing/Mocking --- NAME:WireMock URL:http://wiremock.org -DESC:Stubs and mocks web services. +DESC:HTTP service simulator with record/playback and fault injection. SKIP:1 SECTION:Testing/Mocking --- NAME:EasyMock URL:https://github.com/easymock/easymock -DESC:EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. +DESC:Record/replay mocking with nice/strict modes. SKIP:1 SECTION:Testing/Mocking --- NAME:Arthas URL:https://github.com/alibaba/arthas -DESC:Allows to troubleshoot production issues for applications without modifying code or restarting servers. +DESC:Production diagnostics: class decompile, trace, and profiling live. SKIP:1 SECTION:Utility --- NAME:bucket4j URL:https://github.com/vladimir-bukhtoyarov/bucket4j -DESC:Rate limiting library based on token-bucket algorithm. +DESC:Token bucket rate limiter with distributed support. SKIP:1 SECTION:Utility --- NAME:cactoos URL:https://github.com/yegor256/cactoos -DESC:Collection of object-oriented primitives. +DESC:Object-oriented primitives avoiding nulls and statics. SKIP:1 SECTION:Utility --- NAME:Chocotea URL:https://github.com/cleopatra27/chocotea -DESC:Generates postman collection, environment and integration tests from java code. +DESC:Generate Postman collections from annotated Java code. SKIP:1 SECTION:Utility --- NAME:CRaSH URL:http://www.crashub.org -DESC:Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +DESC:SSH shell into running JVMs for inspection. (LGPL-2.1-or-later) SKIP:1 SECTION:Utility --- NAME:Dex URL:https://github.com/PatMartin/Dex -DESC:Java/JavaFX tool capable of powerful ETL and data visualization. +DESC:Data visualization and ETL with JavaFX. SKIP:1 SECTION:Utility --- NAME:dregex URL:https://github.com/marianobarrios/dregex -DESC:Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. +DESC:DFA-based regex with set operations and linear time. SKIP:1 SECTION:Utility --- NAME:Embulk URL:https://github.com/embulk/embulk -DESC:Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +DESC:Bulk data loader for DBs, S3, and file formats. SKIP:1 SECTION:Utility --- NAME:fswatch URL:https://github.com/vorburger/ch.vorburger.fswatch -DESC:Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. +DESC:Simplified file system watching wrapper. SKIP:1 SECTION:Utility --- NAME:Gephi URL:https://github.com/gephi/gephi -DESC:Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +DESC:Network graph visualization and analysis tool. (GPL-3.0-only) SKIP:1 SECTION:Utility --- NAME:Guava URL:https://github.com/google/guava -DESC:Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. +DESC:Google's core libraries: collections, caching, I/O, and more. SKIP:1 SECTION:Utility --- NAME:JADE URL:https://jade.tilab.com -DESC:Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +DESC:Multi-agent system framework with FIPA compliance. (LGPL-2.0-only) SKIP:1 SECTION:Utility --- NAME:Javadoc Publisher URL:https://github.com/MathieuSoysal/Javadoc-publisher.yml -DESC:Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. +DESC:GitHub Action for auto-publishing Javadoc. SKIP:1 SECTION:Utility --- NAME:Java Diff Utils URL:https://java-diff-utils.github.io/java-diff-utils/ -DESC:Utilities for text or data comparison and patching. +DESC:Unified diff, patch, and merge utilities. SKIP:1 SECTION:Utility --- NAME:JavaVerbalExpressions URL:https://github.com/VerbalExpressions/JavaVerbalExpressions -DESC:Library that helps with constructing difficult regular expressions. +DESC:Readable regex builder with fluent API. SKIP:1 SECTION:Utility --- NAME:JGit URL:https://www.eclipse.org/jgit/ -DESC:Lightweight, pure Java library implementing the Git version control system. +DESC:Pure Java Git implementation used by Eclipse. SKIP:1 SECTION:Utility --- NAME:JKScope URL:https://github.com/evpl/jkscope -DESC:Java scope functions inspired by Kotlin. +DESC:Kotlin-style scope functions (let, also, run) for Java. SKIP:1 SECTION:Utility --- NAME:minio-java URL:https://github.com/minio/minio-java -DESC:Provides simple APIs to access any Amazon S3-compatible object storage server. +DESC:S3-compatible object storage client. SKIP:1 SECTION:Utility --- NAME:Protégé URL:https://protege.stanford.edu -DESC:Provides an ontology editor and a framework to build knowledge-based systems. +DESC:Ontology editor for OWL and knowledge graphs. SKIP:1 SECTION:Utility --- NAME:Semver4j URL:https://github.com/semver4j/semver4j -DESC:Lightweight library that helps you handling semantic versioning with different modes. +DESC:Semantic versioning parsing and comparison. SKIP:1 SECTION:Utility --- NAME:Underscore-java URL:https://github.com/javadev/underscore-java -DESC:Port of Underscore.js functions. +DESC:Functional utilities: map, filter, reduce, and more. SKIP:1 SECTION:Utility --- NAME:jabba URL:https://github.com/shyiko/jabba -DESC:Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +DESC:Cross-platform JDK manager with remote install support. SKIP:1 SECTION:Version Managers --- NAME:jenv URL:https://github.com/jenv/jenv -DESC:Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. +DESC:Project-level Java version switching via shell. SKIP:1 SECTION:Version Managers --- NAME:SDKMan URL:https://github.com/sdkman/sdkman-cli -DESC:Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. +DESC:Manage JDKs and tools (Maven, Gradle) with one CLI. SKIP:1 SECTION:Version Managers --- NAME:Apache Nutch URL:https://nutch.apache.org -DESC:Highly extensible, highly scalable web crawler for production environments. +DESC:Hadoop-based crawler with Solr/Elasticsearch integration. SKIP:1 SECTION:Web Crawling --- NAME:Crawler4j URL:https://github.com/yasserg/crawler4j -DESC:Simple and lightweight web crawler. +DESC:Multi-threaded crawler with depth and politeness control. SKIP:1 SECTION:Web Crawling --- NAME:jsoup URL:https://jsoup.org -DESC:Scrapes, parses, manipulates and cleans HTML. +DESC:HTML parsing with CSS selectors and DOM manipulation. SKIP:1 SECTION:Web Crawling --- NAME:StormCrawler URL:http://stormcrawler.net -DESC:SDK for building low-latency and scalable web crawlers. +DESC:Real-time crawler on Apache Storm for scale. SKIP:1 SECTION:Web Crawling --- NAME:webmagic URL:https://github.com/code4craft/webmagic -DESC:Scalable crawler with downloading, url management, content extraction and persistent. +DESC:Modular crawler with XPath/CSS extraction and pipelines. SKIP:1 SECTION:Web Crawling --- NAME:ActiveJ URL:https://activej.io -DESC:Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +DESC:Async-first framework with 1M+ req/sec on single core. SKIP:1 SECTION:Web Frameworks --- NAME:Apache Tapestry URL:https://tapestry.apache.org -DESC:Component-oriented framework for creating dynamic, robust, highly scalable web applications. +DESC:Component-based framework with live reload. SKIP:1 SECTION:Web Frameworks --- NAME:Apache Wicket URL:https://wicket.apache.org -DESC:Component-based web application framework similar to Tapestry, with a stateful GUI. +DESC:Stateful component model with type-safe Java. SKIP:1 SECTION:Web Frameworks --- NAME:Blade URL:https://github.com/lets-blade/blade -DESC:Lightweight, modular framework that aims to be elegant and simple. +DESC:Lightweight MVC framework with Netty backend. SKIP:1 SECTION:Web Frameworks --- NAME:Bootique URL:https://bootique.io -DESC:Minimally opinionated framework for runnable apps. +DESC:Modular app framework with config and metrics. SKIP:1 SECTION:Web Frameworks --- NAME:Firefly URL:http://www.fireflysource.com -DESC:Asynchronous framework for rapid development of high-performance web application. +DESC:Async framework with HTTP/2 and WebSocket. SKIP:1 SECTION:Web Frameworks --- NAME:Javalin URL:https://javalin.io/ -DESC:Microframework for web applications. +DESC:Simple REST API framework on Jetty. SKIP:1 SECTION:Web Frameworks --- NAME:Jooby URL:http://www.jooby.org -DESC:Scalable, fast and modular micro-framework that offers multiple programming models. +DESC:Modular framework with Netty, Jetty, or Undertow. SKIP:1 SECTION:Web Frameworks --- NAME:Ninja URL:http://www.ninjaframework.org -DESC:Full-stack web framework. +DESC:Full-stack with ORM, templates, and testing. SKIP:1 SECTION:Web Frameworks --- NAME:Pippo URL:http://www.pippo.ro -DESC:Small, highly modularized, Sinatra-like framework. +DESC:Micro-framework with routing, templates, and i18n. SKIP:1 SECTION:Web Frameworks --- NAME:Play URL:https://www.playframework.com -DESC:Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +DESC:Reactive framework with hot reload for Scala/Java. SKIP:1 SECTION:Web Frameworks --- NAME:PrimeFaces URL:https://www.primefaces.org -DESC:JSF framework with both free and commercial/support versions and frontend components. +DESC:JSF components with 100+ UI widgets. SKIP:1 SECTION:Web Frameworks --- NAME:Ratpack URL:https://ratpack.io -DESC:Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. +DESC:Non-blocking HTTP with RxJava and Groovy DSL. SKIP:1 SECTION:Web Frameworks --- NAME:Takes URL:https://github.com/yegor256/takes -DESC:Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. +DESC:Truly OOP web framework without annotations. SKIP:1 SECTION:Web Frameworks --- NAME:Vaadin URL:https://vaadin.com -DESC: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. +DESC:Build web UIs in Java with optional React components. SKIP:1 SECTION:Web Frameworks --- NAME:WebForms Core URL:https://github.com/webforms-core -DESC:A technology for managing HTML tags from the server. +DESC:Server-side HTML tag management. SKIP:1 SECTION:Web Frameworks --- NAME:Cadence URL:https://cadenceworkflow.io -DESC:Stateful code platform from Uber. +DESC:Uber's durable execution platform for long-running workflows. SKIP:1 SECTION:Workflow Orchestration Engines --- NAME:flowable URL:https://github.com/flowable/flowable-engine -DESC:Compact and efficient workflow and business process management platform. +DESC:BPMN 2.0, CMMN, and DMN engine with REST API. SKIP:1 SECTION:Workflow Orchestration Engines --- NAME:Temporal URL:https://temporal.io -DESC:Microservice orchestration platform, forked from Cadence but gRPC based. +DESC:Durable execution with gRPC; Cadence successor with cloud offering. SKIP:1 SECTION:Workflow Orchestration Engines --- diff --git a/CONTRIBUTE_README.md b/CONTRIBUTE_README.md index 223d9af2..2571af23 100644 --- a/CONTRIBUTE_README.md +++ b/CONTRIBUTE_README.md @@ -4,7 +4,7 @@ A curated list of awesome Java frameworks, libraries and software. ## Contents -- [Awesome Java](#awesome-java-) +- [Awesome Java ](#awesome-java-) - [Contents](#contents) - [Projects](#projects) - [Architecture](#architecture) @@ -105,64 +105,64 @@ A curated list of awesome Java frameworks, libraries and software. ### Architecture -_Frameworks and libraries that help implementing and verifying design and architecture concepts._ +_Frameworks and libraries for implementing and verifying design patterns and architecture._ -- [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. +- [ArchUnit](https://github.com/TNG/ArchUnit) - Unit test architecture rules with a fluent Java API; catches violations at build time. +- [jMolecules](https://github.com/xmolecules/jmolecules) - Express DDD, hexagonal, and layered architecture concepts directly in code with type-safe annotations. ### Artificial Intelligence -_Frameworks that help you to leverage LLMs and AI._ +_Frameworks for integrating LLMs and AI capabilities._ -- [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. -- [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. -- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. +- [LangChain4j](https://github.com/langchain4j/langchain4j) - Unified API for 15+ LLM providers with RAG, function calling, and AI services out of the box. +- [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) - Model Context Protocol implementation enabling standardized AI model interactions with sync/async support. +- [simple-openai](https://github.com/sashirestela/simple-openai) - Lightweight, zero-dependency OpenAI API client with streaming support. +- [Spring AI](https://spring.io/projects/spring-ai) - Spring-native AI framework with portable APIs across AI providers and vector stores. ### Bean Mapping _Frameworks that ease bean mapping._ -- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. -- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. -- [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. -- [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. -- [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. -- [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -- [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. +- [dOOv](https://github.com/doov-io/doov) - Fluent, typesafe DSL for domain validation and mapping with code generation. +- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Bytecode-powered mapper achieving near-native performance; supports annotations, API, or XML config. +- [MapStruct](https://github.com/mapstruct/mapstruct) - Compile-time code generator producing type-safe, reflection-free mappers with zero runtime overhead. +- [ModelMapper](https://github.com/modelmapper/modelmapper) - Convention-based mapper that auto-matches properties, reducing boilerplate. +- [Orika](https://github.com/orika-mapper/orika) - Bytecode-generated mappers with automatic type conversion and deep copying. +- [reMap](https://github.com/remondis-it/remap) - Lambda-based mapping with compile-time safety; no annotations required. +- [Selma](https://github.com/xebia-france/selma) - Annotation processor generating optimized mappers at compile time. ### Build _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. -- [Bazel](https://bazel.build) - Tool from Google that builds code quickly and reliably. -- [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. +- [Apache Maven](https://maven.apache.org) - Industry-standard declarative build tool with convention-over-configuration and vast plugin ecosystem. +- [Bazel](https://bazel.build) - Google's build system with aggressive caching, remote execution, and reproducible builds at scale. +- [Buck2](https://github.com/facebook/buck2) - Meta's fast build system with fine-grained parallelism and remote execution support. +- [Gradle](https://gradle.org) - Flexible build automation with incremental builds, build caching, and Kotlin/Groovy DSL. ### Bytecode Manipulation _Libraries to manipulate bytecode programmatically._ -- [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. -- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. -- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) -- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -- [cglib](https://github.com/cglib/cglib) - Bytecode generation library. -- [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. -- [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. -- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. -- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. -- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. +- [ASM](https://asm.ow2.io) - Low-level, high-performance bytecode manipulation; the foundation for most other tools. +- [Byte Buddy](https://bytebuddy.net) - Fluent API for runtime code generation without needing bytecode knowledge. +- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - All-in-one reverse engineering suite for JAR and APK files. +- [Byteman](https://byteman.jboss.org) - Rule-based runtime bytecode injection for testing and fault injection. +- [cglib](https://github.com/cglib/cglib) - High-level bytecode generation for proxies and interceptors. +- [Javassist](https://github.com/jboss-javassist/javassist) - Edit bytecode using Java source syntax, no low-level knowledge required. +- [Maker](https://github.com/cojen/maker) - Lightweight, low-level bytecode generation with minimal dependencies. +- [Mixin](https://github.com/SpongePowered/Mixin) - Runtime class transformation using annotated Java code; popular in Minecraft modding. +- [Perses](https://github.com/nicolasmanic/perses) - Chaos engineering via bytecode-level fault injection. +- [Recaf](https://www.coley.software/Recaf/) - Modern bytecode editor IDE with decompilation, search, and hex editing. ### Caching _Libraries that provide caching facilities._ -- [cache2k](https://cache2k.org) - In-memory high performance caching library. -- [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. -- [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. -- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. +- [cache2k](https://cache2k.org) - In-memory cache with sub-microsecond access times and advanced expiry policies. +- [Caffeine](https://github.com/ben-manes/caffeine) - Near-optimal hit rates via Window TinyLFU algorithm; Java's fastest cache. +- [Ehcache](http://www.ehcache.org) - Mature, JCache-compliant cache with tiered storage (heap/off-heap/disk). +- [Infinispan](https://infinispan.org) - Distributed, clustered cache with transactions and query support. ### CLI @@ -172,741 +172,740 @@ _Libraries for everything related to the CLI._ _Libraries to assist with parsing command line arguments._ -- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. -- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. -- [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. -- [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. -- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +- [Airline](https://rvesse.github.io/airline/) - Git-style CLI parser with annotation-based commands and subcommands. +- [JCommander](http://jcommander.org) - Annotation-driven parser with custom type converters and validation. +- [jbock](https://github.com/jbock-java/jbock) - Compile-time CLI parser with zero reflection and zero dependencies. +- [JLine](https://github.com/jline/jline3) - Rich terminal handling with tab-completion, history, and syntax highlighting. +- [picocli](https://picocli.info) - Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. #### Text-Based User Interfaces -_Libraries that provide TUI frameworks, or building blocks related functions._ +_Libraries that provide TUI frameworks or building blocks._ -- [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. -- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -- [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) +- [Jansi](https://github.com/fusesource/jansi) - Cross-platform ANSI escape code support for colored console output. +- [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. +- [Text-IO](https://github.com/beryx/text-io) - Simple API for interactive console applications with input validation. +- [Lanterna](https://github.com/mabe02/lanterna) - Curses-like TUI with cross-platform terminal abstraction. ### Cloud -_Libraries to integrate or use cloud-specific features._ +_Libraries to integrate cloud platform services._ -- [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. +- [AWS SDK for Java](https://github.com/aws/aws-sdk-java) - Official SDK covering 200+ AWS services with async support and pagination. +- [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) - Idiomatic Java clients for GCP services with automatic retries and streaming. ### Code Analysis _Tools that provide metrics and quality measurements._ -- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) -- [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. -- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. -- [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. -- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) -- [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. -- [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. -- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. -- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. -- [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) -- [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. -- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +- [Checkstyle](https://github.com/checkstyle/checkstyle) - Enforces coding standards with 150+ configurable checks. +- [Error Prone](https://github.com/google/error-prone) - Google's compiler plugin catching bugs at compile time with auto-fixes. +- [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - 100+ additional Error Prone checks and Refaster refactoring templates. +- [Infer](https://github.com/facebook/infer) - Meta's static analyzer detecting null dereferences, resource leaks, and concurrency issues. +- [jQAssistant](https://jqassistant.org) - Query codebase structure with Cypher on a Neo4j graph. +- [NullAway](https://github.com/uber/NullAway) - Fast null-safety checker with minimal annotation overhead; Uber-proven. +- [PMD](https://github.com/pmd/pmd) - Extensible static analyzer detecting code smells and copy-paste issues. +- [p3c](https://github.com/alibaba/p3c) - Alibaba's Java coding guidelines as PMD rules and IDE plugins. +- [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Prioritizes refactoring targets by God Class and coupling metrics. +- [SonarJava](https://github.com/SonarSource/sonar-java) - 600+ rules for SonarQube with security hotspot detection. +- [Spoon](https://github.com/INRIA/spoon) - Full Java AST API for analysis, transformation, and code generation. +- [Spotbugs](https://github.com/spotbugs/spotbugs) - FindBugs successor; bytecode analysis for 400+ bug patterns. ### Code Coverage -_Frameworks and tools that enable code coverage metrics collection for test suites._ +_Frameworks and tools for collecting code coverage metrics._ -- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. -- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) -- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. +- [Clover](https://www.atlassian.com/software/clover) - Source-level instrumentation with detailed per-test coverage and historical trends. +- [Cobertura](https://cobertura.github.io/cobertura/) - Bytecode instrumentation with branch coverage and complexity metrics. +- [JaCoCo](https://www.eclemma.org/jacoco/) - Lightweight agent with line/branch/instruction coverage and IDE/CI integration. ### Code Generators -_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ - -- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. -- [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. -- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. -- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. -- [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. -- [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. -- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -- [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. +_Tools that generate patterns to reduce verbosity and boilerplate._ + +- [ADT4J](https://github.com/sviperll/adt4j) - Generates algebraic data types (sealed hierarchies) with pattern matching. +- [Auto](https://github.com/google/auto) - Google's annotation processors for AutoValue, AutoFactory, and AutoService. +- [Avaje Http Server](https://avaje.io/http/) - Compile-time HTTP server generation for Javalin/Helidon; no reflection. +- [Bootify](https://bootify.io) - Browser-based Spring Boot scaffolding with JPA entities and REST APIs. +- [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor generating DTOs and mappers automatically. +- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Generates Builder pattern with validation and partial builds. +- [Geci](https://github.com/verhas/javageci) - Test-time code generator that updates source files in-place. +- [Immutables](https://immutables.github.io) - Generates immutable value objects with builders, JSON support, and interning. +- [JavaPoet](https://github.com/square/javapoet) - Fluent API for generating `.java` source files programmatically. +- [JHipster](https://github.com/jhipster/generator-jhipster) - Full-stack app generator for Spring Boot + Angular/React/Vue. +- [Joda-Beans](https://www.joda.org/joda-beans/) - Adds queryable, serializable properties to POJOs via code generation. +- [JPA Buddy](https://www.jpa-buddy.com) - IntelliJ plugin for visual JPA entity design with Liquibase/Flyway diff generation. +- [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin auto-generating `package-info.java` with nullness annotations. +- [Lombok](https://projectlombok.org) - Eliminates boilerplate with annotations for getters, builders, and more. +- [Record-Builder](https://github.com/Randgalt/record-builder) - Generates builders and withers for Java records. +- [Telosys](https://www.telosys.org/) - Template-driven code generator for any language via CLI or Eclipse. ### Compiler-compiler -_Frameworks that help to create parsers, interpreters or compilers._ +_Frameworks for creating parsers, interpreters, or compilers._ -- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. -- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -- [JFlex](https://jflex.de) - Lexical analyzer generator. +- [ANTLR](https://www.antlr.org) - Powerful LL(\*) parser generator with IDE support and multiple target languages. +- [JavaCC](https://javacc.github.io/javacc/) - LL(k) parser generator with lookahead, lexical states, and tree building. +- [JFlex](https://jflex.de) - Fast lexer generator with full Unicode support and JLex compatibility. ### Computer Vision -_Libraries which seek to gain high level information from images and videos._ +_Libraries for image and video analysis._ -- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. -- [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. +- [BoofCV](https://boofcv.org) - Real-time computer vision with 3D reconstruction, fiducial detection, and feature tracking. +- [ImageJ](https://imagej.net/ImageJ) - Extensible image analysis platform with 500+ plugins for scientific imaging. +- [JavaCV](https://github.com/bytedeco/javacv) - Java bindings for OpenCV, FFmpeg, TensorFlow, and more via JavaCPP. ### Configuration _Libraries that provide external configuration._ -- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -- [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. -- [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. -- [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. -- [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 distributed. -- [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. +- [avaje config](https://avaje.io/config/) - Lightweight config with YAML/properties, file watching, and dynamic reload. +- [centraldogma](https://github.com/line/centraldogma) - Git-backed, versioned configuration service with change notifications. +- [config](https://github.com/lightbend/config) - HOCON/JSON/properties with substitutions, includes, and environment overrides. +- [Configurate](https://github.com/SpongePowered/Configurate) - Multi-format config (YAML, JSON, HOCON, XML) with type-safe object mapping. +- [Curator Framework](https://curator.apache.org/) - Simplified ZooKeeper client with recipes for locks, leaders, and caches. +- [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor app config from `.env` files with environment overrides. +- [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) - Interface-based config with pluggable sources and automatic type conversion. +- [Gestalt](https://github.com/gestalt-config/gestalt) - Multi-source config merging with type-safe binding and validation. +- [ini4j](http://ini4j.sourceforge.net) - Windows INI file parser with section and multi-value support. +- [KAConf](https://github.com/mariomac/kaconf) - Annotation-based config injection for Java and Kotlin. +- [microconfig](https://microconfig.io) - Microservice config management with inheritance and environment profiles. +- [owner](https://github.com/lviggiano/owner) - Type-safe properties via interfaces with automatic conversion. ### Constraint Satisfaction Problem Solver -_Libraries that help with implementing optimization and satisfiability problems._ +_Libraries for optimization and satisfiability problems._ -- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. -- [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -- [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. -- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. +- [Choco](https://choco-solver.org) - Powerful CP solver with global constraints and search strategies. +- [JaCoP](https://github.com/radsz/jacop) - Constraint solver with MiniZinc/FlatZinc support for modeling. +- [OptaPlanner](https://www.optaplanner.org) - AI constraint solver for planning problems like scheduling and routing. +- [Timefold](https://timefold.ai/docs) - OptaPlanner fork with Spring/Quarkus integration and production-ready quickstarts. ### CSV -_Frameworks and libraries that simplify reading/writing CSV data._ +_Libraries for reading and writing CSV data._ -- [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. -- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. -- [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. -- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. -- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. +- [FastCSV](https://github.com/osiegmar/FastCSV) - Ultra-fast, zero-dependency, RFC 4180-compliant CSV parser. +- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - CSV via Jackson's streaming API with schema support. +- [opencsv](http://opencsv.sourceforge.net) - Simple parser with bean binding and custom separators. +- [Super CSV](https://super-csv.github.io/super-csv/) - Cell processors for validation, conversion, and constraint checking. +- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - Fastest parser with CSV/TSV/fixed-width support and streaming. ### Data Structures -_Efficient and specific data structures._ - -- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. -- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. -- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. -- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. -- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. -- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. -- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. -- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. -- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. -- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. -- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. +_Efficient and specialized data structures._ + +- [Apache Avro](https://avro.apache.org) - Schema-evolution-friendly serialization with compact binary format. +- [Apache Orc](https://orc.apache.org) - Columnar storage with predicate pushdown and ACID support for Hive. +- [Apache Parquet](https://parquet.apache.org) - Columnar format with efficient compression and encoding for analytics. +- [Apache Thrift](https://thrift.apache.org) - Cross-language RPC framework with compact binary protocol. +- [Big Queue](https://github.com/bulldog2011/bigqueue) - Memory-mapped persistent queue handling 100M+ items. +- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic set operations in O(log log n) space. +- [Persistent Collection](https://github.com/hrldcpr/pcollections) - Immutable collections with efficient structural sharing. +- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's language-neutral, schema-driven binary serialization. +- [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Compressed bitmaps faster than traditional implementations by orders of magnitude. +- [SBE](https://github.com/real-logic/simple-binary-encoding) - Zero-copy, zero-allocation messaging for ultra-low latency. +- [Tape](https://github.com/square/tape) - Crash-safe, file-based FIFO queue for Android and Java. +- [Wire](https://github.com/square/wire) - Lightweight Protocol Buffers with Kotlin and Java codegen. ### Database -_Everything that simplifies interactions with the database._ - -- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -- [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. -- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. -- [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. -- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. -- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) -- [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. -- [Flyway](https://flywaydb.org) - Simple database migration tool. -- [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. -- [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. -- [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. -- [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. -- [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. -- [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. -- [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. -- [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). -- [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. -- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. -- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. -- [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. -- [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. -- [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. -- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. -- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -- [Querydsl](http://www.querydsl.com) - Typesafe unified queries. -- [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. -- [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. -- [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. -- [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. -- [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. -- [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. -- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. -- [Trino](https://trino.io) - Distributed SQL query engine for big data. -- [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. -- [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. -- [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. -- [Apache ShardingSphere](https://github.com/apache/shardingsphere) - Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. +_Everything that simplifies database interactions._ + +- [Apache Calcite](https://calcite.apache.org) - SQL parser, optimizer, and query federation framework for building databases. +- [Apache Drill](https://drill.apache.org) - Schema-free SQL for JSON, Parquet, and NoSQL with distributed execution. +- [Apache Phoenix](https://phoenix.apache.org) - SQL skin over HBase with secondary indexes and transactions. +- [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - Multi-model (document/graph/key-value) database driver with async support. +- [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Off-heap, persisted ConcurrentMap with microsecond latency. +- [Debezium](https://debezium.io/) - CDC platform streaming database changes to Kafka in real-time. +- [druid](https://druid.apache.org) - Real-time OLAP database with sub-second queries at scale. +- [eXist](https://github.com/eXist-db/exist) - Native XML database with XQuery and full-text search. +- [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Connection pool monitoring with auto-scaling and failover. +- [Flyway](https://flywaydb.org) - Version-controlled SQL migrations with rollback support. +- [H2](https://h2database.com) - Embeddable SQL database with in-memory mode; great for testing. +- [HikariCP](https://github.com/brettwooldridge/HikariCP) - Fastest JDBC connection pool with minimal overhead. +- [HSQLDB](https://hsqldb.org/) - Pure Java SQL database with in-memory and file-based modes. +- [JDBI](http://jdbi.org) - Fluent, annotation-free SQL API built on JDBC. +- [Jedis](https://github.com/xetorthio/jedis) - Battle-tested Redis client with connection pooling and pipelining. +- [Jest](https://github.com/searchbox-io/Jest) - Elasticsearch REST client with async support and bulk operations. +- [jetcd](https://github.com/justinsb/jetcd) - Official etcd v3 client with watch and lease support. +- [Jinq](https://github.com/my2iu/Jinq) - LINQ-style queries via lambda symbolic execution on JPA/jOOQ. +- [jOOQ](https://www.jooq.org) - Typesafe SQL DSL generated from your schema; catches errors at compile time. +- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Meituan's distributed ID generator with segment and snowflake modes. +- [Lettuce](https://lettuce.io/) - Reactive, non-blocking Redis client with cluster and Sentinel support. +- [Liquibase](http://www.liquibase.org) - Database-agnostic migrations with rollback and diff capabilities. +- [MapDB](http://www.mapdb.org) - Concurrent maps/sets backed by disk or off-heap memory with transactions. +- [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Embedded MariaDB for integration testing; no install required. +- [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with schema introspection and code generation. +- [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - High-performance LDAPv3 directory service with replication. +- [Querydsl](http://www.querydsl.com) - Unified typesafe queries for JPA, SQL, MongoDB, and more. +- [QueryStream](https://github.com/querystream/querystream) - Stream API for building JPA Criteria queries fluently. +- [QuestDB](https://github.com/questdb/questdb) - Time-series database with millions of inserts/sec and SQL support. +- [Realm](https://github.com/realm/realm-java) - Mobile-first database with live objects and offline-first sync. +- [Redisson](https://github.com/redisson/redisson) - Redis-backed distributed collections, locks, and services. +- [requery](https://github.com/requery/requery) - Modern ORM with compile-time query validation and RxJava support. +- [Speedment](https://github.com/speedment/speedment) - Stream-based database queries generated from schema. +- [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - MongoDB-style queries for relational databases via Spring Data. +- [Trino](https://trino.io) - Federated SQL engine querying data lakes and databases at petabyte scale. +- [Vibur DBCP](https://www.vibur.org) - JDBC pool with statement caching and slow query logging. +- [Xodus](https://github.com/JetBrains/xodus) - JetBrains' embedded transactional database; powers YouTrack. +- [CosId](https://github.com/Ahoo-Wang/CosId) - High-performance distributed ID generator with multiple algorithms. +- [Apache ShardingSphere](https://github.com/apache/shardingsphere) - Database middleware for sharding, encryption, and distributed transactions. ### Date and Time -_Libraries related to handling date and time._ +_Libraries for handling date and time._ -- [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. -- [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. -- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) +- [iCal4j](https://github.com/ical4j/ical4j) - RFC 5545 iCalendar parser with recurrence rule support. +- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Holiday calculations for 70+ countries with regional variations. +- [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Extra date/time types: Interval, YearQuarter, and more for java.time. +- [Time4J](https://github.com/MenoData/Time4J) - Comprehensive date/time with calendars, i18n, and formatting. ### Decentralization -_Libraries that handle decentralization tasks._ +_Libraries for blockchain and decentralized applications._ -- [java-tron](https://github.com/tronprotocol/java-tron) Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. +- [java-tron](https://github.com/tronprotocol/java-tron) - Full node implementation of the TRON blockchain protocol. ### Dependency Injection -_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ +_Libraries for Inversion of Control and dependency injection._ -- [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. -- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. -- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. -- [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://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) +- [Apache DeltaSpike](https://deltaspike.apache.org) - Portable CDI extensions for configuration, security, and data. +- [Avaje Inject](https://avaje.io/inject/) - Compile-time DI with no reflection; optimized for microservices. +- [Dagger](https://dagger.dev/) - Google's compile-time DI with zero reflection overhead. +- [Feather](https://github.com/zsoltherpai/feather) - Ultra-lightweight JSR-330 DI in ~16KB. +- [Governator](https://github.com/Netflix/governator) - Netflix's Guice extensions with lifecycle management and warmup. +- [Guice](https://github.com/google/guice) - Google's lightweight DI with runtime binding and AOP support. +- [HK2](https://eclipse-ee4j.github.io/glassfish-hk2/) - JSR-330 DI with dynamic service discovery; powers Jersey/GlassFish. +- [JayWire](https://github.com/vanillasource/jaywire) - Minimal DI with no annotations required. ### Development -_Augmentation of the development process at a fundamental level._ +_Tools that augment the development process._ -- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. -- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) -- [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) -- [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. -- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. -- [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -- [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. -- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. +- [AspectJ](https://www.eclipse.org/aspectj/) - Full-featured AOP with compile-time and load-time weaving. +- [DCEVM](https://dcevm.github.io) - HotSwap on steroids: redefine classes, add methods/fields at runtime. +- [Faux Pas](https://github.com/zalando/faux-pas) - Checked exception handling in lambdas and streams elegantly. +- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Hot reload classes, Spring beans, and resources without restart. +- [JavaParser](https://github.com/javaparser/javaparser) - Parse, analyze, transform, and generate Java source code. +- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Resolve symbols and types in JavaParser ASTs. +- [Manifold](https://github.com/manifold-systems/manifold) - Compiler plugins for JSON types, extension methods, and string templates. +- [NoException](https://noexception.machinezoo.com) - Functional exception handling with sneaky throws and Optional conversion. +- [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Throw checked exceptions from lambdas without wrapping. +- [Tail](https://nrktkt.github.io/tail/) - Tail call optimization via trampolining for stack-safe recursion. ### Distributed Applications -_Libraries and frameworks for writing distributed and fault-tolerant applications._ - -- [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -- [Apache Storm](https://storm.apache.org) - Realtime computation system. -- [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. -- [Axon](https://axoniq.io) - Framework for creating CQRS applications. -- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) -- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. -- [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. -- [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. -- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. -- [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. -- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. -- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. -- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. +_Libraries and frameworks for distributed and fault-tolerant systems._ + +- [Apache Geode](https://geode.apache.org) - In-memory data grid with continuous queries and WAN replication. +- [Apache Storm](https://storm.apache.org) - Real-time stream processing with guaranteed processing and fault tolerance. +- [Apache ZooKeeper](https://zookeeper.apache.org) - Distributed coordination for config, locks, and leader election. +- [Atomix](https://atomix.io) - Raft-based distributed primitives: maps, locks, leader election. +- [Axon](https://axoniq.io) - CQRS/Event Sourcing framework with saga and event store support. +- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Annotation-based circuit breakers for Dropwizard. +- [Failsafe](https://github.com/jhalterman/failsafe) - Lightweight fault tolerance with retries, circuit breakers, and fallbacks. +- [Hazelcast](https://github.com/hazelcast/hazelcast) - In-memory data grid with distributed maps, queues, and compute. +- [JGroups](http://www.jgroups.org) - Reliable multicast and cluster membership toolkit. +- [Quasar](http://docs.paralleluniverse.co/quasar/) - Fibers (lightweight threads) and actors for the JVM. +- [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance: circuit breakers, rate limiters, bulkheads. +- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - Identity gateway with SSO, credential replay, and request filtering. +- [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Reactive microservices with SWIM gossip and service discovery. +- [Zuul](https://github.com/Netflix/zuul) - Netflix's edge gateway for routing, filtering, and load balancing. ### Distributed Transactions -_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ +_Ensuring data consistency across distributed systems._ -- [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. -- [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. -- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) -- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. +- [Atomikos](https://www.atomikos.com) - JTA/XA transaction manager for microservices and REST. +- [Bitronix](https://github.com/bitronix/btm) - Embeddable JTA 1.1 transaction manager with connection pooling. +- [Narayana](https://narayana.io) - Red Hat's JTA/JTS transaction manager with saga support. +- [Seata](https://github.com/seata/seata) - Alibaba's distributed transaction solution with AT/TCC/SAGA modes. ### Distribution -_Tools that handle the distribution of applications in native formats._ - -- [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. -- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. -- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. -- [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. -- [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. -- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. -- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. -- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. -- [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. -- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. +_Tools for distributing applications in native formats._ + +- [Artipie](https://github.com/artipie/artipie) - Self-hosted artifact repository supporting Maven, Docker, npm on S3/filesystem. +- [Boxfuse](https://boxfuse.com) - Immutable AWS deployments with minimal VM images. +- [Capsule](https://github.com/puniverse/capsule) - Single-file deployment with embedded JVM and dependency resolution. +- [Central Repository](https://search.maven.org) - Maven Central: the default artifact repository for the Java ecosystem. +- [Cloudsmith](https://cloudsmith.io) - Cloud artifact hosting with Maven/Gradle support and free tier. +- [Getdown](https://github.com/threerings/getdown) - Java Web Start replacement with auto-updates and delta patching. +- [IzPack](http://izpack.org) - Cross-platform installer builder with XML configuration. +- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven/Gradle plugin creating native executables and installers. +- [jDeploy](https://www.jdeploy.com) - Deploy Java desktop apps via npm with native bundles. +- [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - HTTP API for custom JRE generation via jlink. +- [Nexus](https://www.sonatype.com) - Repository manager with proxying, caching, and security scanning. +- [packr](https://github.com/libgdx/packr) - Bundle JRE with your app for native Windows/Mac/Linux distribution. +- [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Creates JARs executable via `./app.jar` on Unix. ### Document Processing -_Libraries that assist with processing office document formats._ +_Libraries for processing office document formats._ -- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. -- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. -- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. -- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. +- [Apache POI](https://poi.apache.org) - Full Office document support: Excel, Word, PowerPoint (OLE2 & OOXML). +- [documents4j](https://documents4j.com/#/) - Document conversion API using MS Office or LibreOffice backends. +- [docx4j](https://www.docx4java.org/trac/docx4j) - JAXB-based DOCX/PPTX/XLSX manipulation with mail merge. +- [fastexcel](https://github.com/dhatim/fastexcel) - Streaming Excel read/write handling millions of rows with low memory. +- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-driven Excel to POJO mapping with minimal overhead. ### Financial -_Libraries related to the financial domain._ +_Libraries for the financial domain._ -- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. -- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. -- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. -- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. -- [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. -- [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. +- [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework with exchange integration and backtesting. +- [Parity](https://github.com/paritytrading/parity) - Open-source stock exchange with matching engine and market data. +- [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency FIX protocol implementation. +- [Square](https://github.com/square/connect-java-sdk) - Official Square payments API client. +- [Stripe](https://github.com/stripe/stripe-java) - Official Stripe API client for payments and subscriptions. +- [ta4j](https://github.com/ta4j/ta4j) - Technical analysis library with 130+ indicators and backtesting. ### Formal Verification -_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ +_Proof assistants, model checking, and symbolic execution tools._ -- [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. -- [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) -- [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) +- [CATG](https://github.com/ksen007/janala2) - Concolic testing: auto-generates tests via symbolic execution. +- [Checker Framework](https://checkerframework.org) - Pluggable type systems for nullness, tainting, and more. +- [Daikon](https://plse.cs.washington.edu/daikon/) - Dynamic invariant detection; infers likely specifications from runs. +- [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) - NASA's model checker for finding concurrency bugs and deadlocks. +- [JMLOK 2.0](https://massoni.computacao.ufcg.edu.br/home/jmlok) - Detects JML specification violations via random testing. +- [KeY](https://www.key-project.org) - Deductive verification using JML and symbolic execution. +- [OpenJML](http://www.openjml.org) - JML verification via SMT solvers (Z3, CVC4). ### Functional Programming _Libraries that facilitate functional programming._ -- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. -- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) -- [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. +- [Cyclops](https://github.com/aol/cyclops) - Monads, pattern matching, and persistent collections for functional Java. +- [derive4j](https://github.com/derive4j/derive4j) - Algebraic data types with pattern matching via annotation processing. +- [Fugue](https://bitbucket.org/atlassian/fugue) - Atlassian's functional extensions: Option, Either, and more. +- [Functional Java](http://www.functionaljava.org) - Immutable collections, monads, and functional data structures. +- [jOOλ](https://github.com/jOOQ/jOOL) - Tuples, Seq, and unchecked functional interfaces for streams. +- [Packrat](https://github.com/jhspetersson/packrat) - Custom Gatherers for Java Stream intermediate operations. +- [protonpack](https://github.com/poetix/protonpack) - Stream utilities: zip, unfold, takeWhile, and windowing. +- [StreamEx](https://github.com/amaembo/streamex) - Enhanced streams with parallel support and additional collectors. +- [Vavr](https://www.vavr.io) - Scala-inspired FP: immutable collections, Try, Either, pattern matching. ### Game Development -_Frameworks that support the development of games._ +_Frameworks for game development._ -- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. -- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. -- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. -- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. -- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. -- [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. +- [FXGL](https://almasb.github.io/FXGL/) - JavaFX game engine with ECS, physics, and UI out of the box. +- [JBox2D](http://www.jbox2d.org/) - Box2D physics engine port for 2D rigid body simulation. +- [jMonkeyEngine](https://jmonkeyengine.org) - Full-featured 3D engine with PBR, physics, and networking. +- [libGDX](https://libgdx.com) - Cross-platform 2D/3D framework deploying to desktop, Android, iOS, web. +- [Litiengine](https://litiengine.com/) - Pure Java 2D engine with no native dependencies. +- [LWJGL](https://www.lwjgl.org) - Low-level bindings to OpenGL, Vulkan, OpenAL, and more. +- [Mini2Dx](https://mini2dx.org) - Beginner-friendly 2D framework with tiled map and UI support. +- [Void2D](https://github.com/xzripper/Void2D) - Swing-based 2D engine with physics for simple games. +- [vulkan4j](https://github.com/chuigda/vulkan4j) - Vulkan and OpenGL ES2 bindings via Panama FFM. ### Geospatial -_Libraries for working with geospatial data and algorithms._ +_Libraries for geospatial data and algorithms._ -- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. -- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. -- [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) -- [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) -- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. -- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) -- [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. +- [Apache SIS](https://sis.apache.org) - OGC/ISO standards-based geospatial metadata and referencing. +- [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - Esri's JavaFX SDK for mapping and spatial analysis. +- [Geo](https://github.com/davidmoten/geo) - GeoHash encoding/decoding with spatial indexing. +- [GeoTools](https://geotools.org) - Comprehensive GIS toolkit for OGC standards. +- [GraphHopper](https://github.com/graphhopper/graphhopper) - Fast routing engine with turn costs and isochrones. +- [H2GIS](http://www.h2gis.org) - Spatial SQL extension for H2 with OGC compliance. +- [Jgeohash](https://astrapi69.github.io/jgeohash/) - GeoHash algorithm with neighbor calculation and bounding boxes. +- [Mapsforge](https://github.com/mapsforge/mapsforge) - Offline map rendering from OpenStreetMap vector data. +- [Spatial4j](https://github.com/locationtech/spatial4j) - Geospatial shapes and distance calculations for search engines. ### GUI -_Libraries to create modern graphical user interfaces._ +_Libraries for modern graphical user interfaces._ -- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. -- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. -- [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. -- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. +- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Rich client platform with CSS styling, FXML, and hardware acceleration. +- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Drag-and-drop FXML UI designer for JavaFX. +- [SnapKit](https://github.com/reportmill/SnapKit) - Cross-platform UI (desktop/web) with declarative layout. +- [SWT](https://www.eclipse.org/swt/) - Eclipse's native widget toolkit for OS-native look and feel. ### High Performance -_Everything about high-performance computation, from collections to specific libraries._ +_High-performance collections and computation libraries._ -- [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. -- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. -- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. -- [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. -- [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. -- [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. -- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. +- [Agrona](https://github.com/real-logic/Agrona) - Off-heap buffers, ring buffers, and lock-free data structures. +- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Lock-free ring buffer achieving 25M+ msgs/sec between threads. +- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Memory-efficient collections with primitives and immutables. +- [fastutil](http://fastutil.di.unimi.it) - Primitive collections 2-3x faster than java.util. +- [HPPC](https://labs.carrotsearch.com/hppc.html) - High-performance primitive collections with minimal memory. +- [JCTools](https://github.com/JCTools/JCTools) - Non-blocking queues: SPSC, MPSC, MPMC for concurrent apps. +- [Koloboke](https://github.com/leventov/Koloboke) - Fastest hash maps/sets with primitive specialization. ### HTTP Clients -_Libraries that assist with creating HTTP requests and/or binding responses._ +_Libraries for creating HTTP requests and binding responses._ -- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. -- [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. -- [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. -- [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. -- [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. +- [Apache HttpComponents](https://hc.apache.org/) - Full-featured HTTP client with connection pooling and async support. +- [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Non-blocking HTTP/WebSocket client on Netty. +- [Avaje Http Client](https://avaje.io/http-client) - JDK HttpClient wrapper with declarative interfaces and JSON binding. +- [Feign](https://github.com/OpenFeign/feign) - Declarative REST client via annotated interfaces. +- [Google HTTP Client](https://github.com/googleapis/google-http-java-client) - Pluggable transport with JSON parsing and OAuth support. +- [methanol](https://github.com/mizosoft/methanol) - JDK HttpClient extensions: caching, compression, multipart. +- [Retrofit](https://square.github.io/retrofit/) - Type-safe REST client with pluggable converters and call adapters. +- [Ribbon](https://github.com/Netflix/ribbon) - Netflix's client-side load balancer with retry policies. +- [Riptide](https://github.com/zalando/riptide) - Response routing DSL for RestTemplate with problem+json support. +- [unirest-java](https://github.com/Kong/unirest-java) - Fluent HTTP client with JSON, async, and file upload support. ### Hypermedia Types -_Libraries that handle serialization to hypermedia types._ +_Libraries for hypermedia API serialization._ -- [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. +- [hate](https://github.com/blackdoor/hate) - HAL+JSON builder with link templating support. +- [JSON-LD](https://github.com/jsonld-java/jsonld-java) - W3C JSON-LD processor with expansion, compaction, and framing. +- [Siren4J](https://github.com/eserating-chwy/siren4j) - Siren hypermedia builder with actions and embedded entities. +- [Spring HATEOAS](https://github.com/spring-projects/spring-hateoas) - Multi-format hypermedia (HAL, HAL-FORMS, Collection+JSON) for Spring. ### IDE -_Integrated development environments that try to simplify several aspects of development._ +_Integrated development environments._ -- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. -- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. -- [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. -- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. -- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. +- [Eclipse](https://www.eclipse.org) - Extensible IDE with vast plugin ecosystem and multi-language support. +- [IntelliJ IDEA](https://www.jetbrains.com/idea/) - Smart IDE with deep refactoring, inspections, and framework support. +- [jGRASP](https://www.jgrasp.org) - Educational IDE with control structure and UML visualizations. +- [NetBeans](https://netbeans.apache.org) - Apache IDE with Java SE/EE, Maven, and Git integration. +- [SnapCode](https://reportmill.com/SnapCode/) - Browser-based Java IDE for learning with live preview. +- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Lightweight editor with Java extensions for debugging and Maven. ### Imagery -_Libraries that assist with the creation, evaluation or manipulation of graphical images._ +_Libraries for image creation, evaluation, and manipulation._ -- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. -- [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -- [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. -- [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. -- [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. +- [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Vector/raster barcode generation with CMYK and high-DPI support. +- [Imgscalr](https://github.com/rkalla/imgscalr) - Hardware-accelerated image scaling with quality presets. +- [Tess4J](https://github.com/nguyenq/tess4j) - Tesseract OCR wrapper for text extraction from images. +- [Thumbnailator](https://github.com/coobird/thumbnailator) - Fluent API for high-quality thumbnail generation. +- [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) - ImageIO plugins for TIFF, PSD, WebP, and more formats. +- [ZXing](https://github.com/zxing/zxing) - Multi-format barcode scanning and generation library. +- [image-comparison](https://github.com/romankh3/image-comparison) - Visual diff tool highlighting image differences with rectangles. +- [vips-ffm](https://github.com/lopcode/vips-ffm) - Blazing-fast libvips bindings via Panama FFM. +- [scrimage](https://sksamuel.github.io/scrimage) - Immutable image operations: resize, crop, filters, and formats. ### Introspection -_Libraries that help make the Java introspection and reflection API easier and faster to use._ +_Libraries for easier and faster reflection._ -- [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. -- [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. -- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. -- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. +- [ClassGraph](https://github.com/classgraph/classgraph) - Ultra-fast classpath scanner with parallel processing and module support. +- [jOOR](https://github.com/jOOQ/jOOR) - Fluent reflection API simplifying method invocation and field access. +- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Simplified reflection for common tasks with a clean API. +- [Objenesis](http://objenesis.org) - Instantiate objects bypassing constructors; used by serializers. +- [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - Code-generated reflection achieving near-native performance. +- [Reflections](https://github.com/ronmamo/reflections) - Runtime metadata scanning for annotations, subtypes, and resources. ### Job Scheduling _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 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. +- [JobRunr](https://github.com/jobrunr/jobrunr) - Distributed job scheduler with lambda-based jobs and dashboard. +- [Quartz](https://github.com/quartz-scheduler/quartz) - Enterprise scheduler with cron expressions and clustering support. +- [Sundial](https://github.com/knowm/Sundial) - Lightweight Quartz wrapper with simplified configuration. +- [Wisp](https://github.com/Coreoz/Wisp) - Minimal scheduler (~10KB) with cron and fixed-delay scheduling. +- [db-scheduler](https://github.com/kagkarlsson/db-scheduler) - Persistent scheduler with cluster coordination via database locks. +- [easy-batch](https://github.com/j-easy/easy-batch) - Batch processing with readers, processors, and writers pipeline. +- [shedlock](https://github.com/lukas-krecan/ShedLock) - Distributed lock ensuring single execution across cluster nodes. ### JSON -_Libraries for serializing and deserializing JSON to and from Java objects._ - -- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. -- [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. -- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. -- [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. -- [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. -- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. -- [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. -- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. -- [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. -- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. -- [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. -- [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. -- [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. -- [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. -- [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. -- [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. +_Libraries for JSON serialization and deserialization._ + +- [Avaje Jsonb](https://avaje.io/jsonb/) - Compile-time JSON binding with no reflection; Jackson-compatible annotations. +- [DSL-JSON](https://github.com/ngs-doo/dsl-json) - Fastest JSON library via compile-time generated readers/writers. +- [Genson](http://genson.io) - Feature-rich JSON with streaming, polymorphism, and JAX-RS support. +- [Gson](https://github.com/google/gson) - Google's simple JSON library with no-config serialization. +- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - Ultra-fast JSON parser; 2x faster than Jackson. +- [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Jackson support for Optional, JSR-310 dates, and parameter names. +- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Jackson serializer/deserializer for JavaMoney types. +- [Jackson](https://github.com/FasterXML/jackson) - Industry-standard JSON with streaming, data-binding, and modules. +- [JSON-io](https://github.com/jdereg/json-io) - Deep object graph serialization with cycle handling. +- [jsoniter](http://jsoniter.com) - Iterator-style API for streaming and lazy JSON parsing. +- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - Compile-time JSON for Android; faster than Gson and Jackson. +- [Moshi](https://github.com/square/moshi) - Square's modern JSON with Kotlin support and adapters. +- [Yasson](https://github.com/eclipse-ee4j/yasson) - Jakarta JSON Binding (JSON-B) reference implementation. +- [fastjson](https://github.com/alibaba/fastjson) - Alibaba's high-performance JSON with JSONPath support. +- [Jolt](https://github.com/bazaarvoice/jolt) - JSON-to-JSON transformation via shift, default, and sort specs. +- [JsonPath](https://github.com/json-path/JsonPath) - XPath-like queries for extracting JSON data. +- [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath for processing large JSON without loading all. ### JVM and JDK -_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. -- [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. -- [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) -- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) -- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! +_JVM and JDK implementations._ + +- [Which JDK](https://whichjdk.com/) - Decision guide for choosing a JDK distribution. +- [Adopt Open JDK](https://adoptopenjdk.net) - Community OpenJDK with HotSpot and OpenJ9 variants. +- [Corretto](https://aws.amazon.com/corretto/) - Amazon's LTS OpenJDK with AWS optimizations. +- [Dragonwell8](https://github.com/alibaba/dragonwell8) - Alibaba's OpenJDK optimized for long-running services. +- [Graal](https://github.com/oracle/graal) - Polyglot VM with native image compilation (GraalVM). +- [Liberica JDK](https://bell-sw.com) - JCK-certified OpenJDK with JavaFX bundled option. +- [OpenJ9](https://github.com/eclipse/openj9) - Eclipse JVM with low memory footprint and fast startup. +- [Open JDK](https://openjdk.java.net) - Reference implementation and development home. +- [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) - Non-blocking GC VM for iOS mobile development. +- [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) - Red Hat's enterprise-supported OpenJDK. +- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's JCK-verified OpenJDK for enterprise. +- [Zulu](https://www.azul.com/products/zulu-community/) - Azul's TCK-certified OpenJDK with commercial support option. +- [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft's OpenJDK build with Azure optimizations. ### Logging -_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. -- [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. -- [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. -- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. -- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. -- [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. +_Libraries for application logging._ + +- [Apache Log4j 2](https://logging.apache.org/log4j/) - Async logging with lazy evaluation and plugin architecture. +- [Echopraxia](https://github.com/tersesystems/echopraxia) - Structured logging API with conditions and JSON context. +- [Graylog](https://www.graylog.org) - Centralized log management with search and dashboards. +- [Kibana](https://www.elastic.co/kibana) - Elasticsearch visualization for log analysis and monitoring. +- [Logback](http://logback.qos.ch) - SLF4J native implementation with Groovy config and filters. +- [Logbook](https://github.com/zalando/logbook) - HTTP request/response logging with filtering and correlation. +- [Logstash](https://www.elastic.co/logstash) - Log pipeline for parsing, transforming, and forwarding. +- [p6spy](https://github.com/p6spy/p6spy) - JDBC proxy logging all SQL with timing; no code changes. +- [SLF4J](http://www.slf4j.org) - Universal logging facade; bind to any implementation. +- [tinylog](https://tinylog.org/v2/) - Minimalist logger with static API and 100KB footprint. +- [OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox) - OpenTracing extensions for Spring and Servlet tracing. +- [Flogger](https://google.github.io/flogger/) - Google's fluent logging API with lazy argument evaluation. ### Machine Learning -_Tools that provide specific statistical algorithms for learning from data._ - -- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. -- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. -- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. -- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. -- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. -- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. -- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. -- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) -- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. -- [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. -- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. -- [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +_Tools for machine learning and statistical algorithms._ + +- [Apache Flink](https://flink.apache.org) - Stream/batch processing with exactly-once semantics and ML pipelines. +- [Apache Mahout](https://mahout.apache.org) - Distributed ML for clustering, classification, and recommendations. +- [DatumBox](http://www.datumbox.com) - Pre-trained NLP models for sentiment, topic, and spam detection. +- [Deeplearning4j](https://deeplearning4j.org) - Distributed deep learning with Spark and GPU support. +- [DJL](https://djl.ai) - Deep learning abstraction for PyTorch, TensorFlow, and MXNet. +- [H2O](https://www.h2o.ai) - AutoML platform with in-memory distributed training. +- [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Unified API for OpenAI, Cohere, and other AI services. +- [JSAT](https://github.com/EdwardRaff/JSAT) - Pure Java ML library with 100+ algorithms. +- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - Export trained models to Java/C/Python code. +- [Neureka](https://github.com/Gleethos/neureka) - OpenCL-accelerated tensor library for neural networks. +- [oj! Algorithms](https://www.ojalgo.org/) - High-performance linear algebra and optimization solvers. +- [Oryx 2](https://github.com/OryxProject/oryx) - Real-time ML on Spark with serving layer and model updates. +- [Siddhi](https://github.com/siddhi-io/siddhi) - Complex event processing for streaming analytics. +- [Smile](https://github.com/haifengl/smile) - Comprehensive ML library with Scala API and visualization. +- [Tribuo](https://tribuo.org/) - Oracle's ML library with reproducibility and ONNX export. +- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - GUI-based ML toolkit with 100+ algorithms. ### Messaging -_Tools that help send messages between clients to ensure protocol independency._ - -- [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. -- [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. -- [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. -- [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. -- [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. -- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. -- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. -- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. -- [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. -- [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. -- [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. -- [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. -- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. -- [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. -- [NATS client](https://github.com/nats-io/nats.java) - NATS client. +_Message brokers and communication libraries._ + +- [Aeron](https://github.com/real-logic/Aeron) - Ultra-low-latency messaging with UDP multicast and IPC. +- [Apache ActiveMQ](https://activemq.apache.org) - JMS broker with persistence, clustering, and REST API. +- [Apache Camel](https://camel.apache.org) - 300+ connectors with Enterprise Integration Patterns routing. +- [Apache Kafka](https://kafka.apache.org) - Distributed event streaming with exactly-once semantics. +- [Apache Pulsar](https://pulsar.apache.org) - Multi-tenant messaging with tiered storage and geo-replication. +- [Apache RocketMQ](https://rocketmq.apache.org) - Alibaba's distributed messaging with transactions and scheduling. +- [Apache Qpid](https://qpid.apache.org) - AMQP 1.0 broker and client libraries. +- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - Cloud-native Kafka with S3 storage and auto-scaling. +- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - In-process message dispatcher with compile-time handler resolution. +- [EventBus](https://github.com/greenrobot/EventBus) - Android-optimized publish/subscribe event bus. +- [Hermes](http://hermes.allegro.tech) - Kafka REST proxy with schema validation and rate limiting. +- [JeroMQ](https://github.com/zeromq/jeromq) - Pure Java ZeroMQ with pub/sub, push/pull patterns. +- [Nakadi](https://github.com/zalando/nakadi) - Event bus REST API with schema registry on Kafka. +- [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - Official AMQP client with connection recovery. +- [Smack](https://github.com/igniterealtime/Smack) - XMPP client for IM, presence, and extensions. +- [NATS client](https://github.com/nats-io/nats.java) - Lightweight messaging client for NATS with JetStream. ### Microservice -_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. -- [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. -- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. -- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. -- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. -- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. -- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. -- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. +_Tools for building and managing microservices._ + +- [ActiveRPC](https://rpc.activej.io) - Zero-allocation RPC with 15M+ requests/sec throughput. +- [Armeria](https://github.com/line/armeria) - Async microservice framework with gRPC, Thrift, and REST on Netty. +- [consul-api](https://github.com/Ecwid/consul-api) - Consul client for service discovery, health checks, and KV store. +- [Eureka](https://github.com/Netflix/eureka) - Netflix's service registry with self-preservation and replication. +- [Helidon](https://helidon.io) - Oracle's microservice framework: SE (functional) or MP (MicroProfile). +- [JDA](https://github.com/DV8FromTheWorld/JDA) - Discord API wrapper with event handling and slash commands. +- [KeenType](https://github.com/DaveJarvis/KeenType) - Modern TeX implementation for document typesetting. +- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Fluent Kubernetes/OpenShift API client with CRD support. +- [Micronaut](https://micronaut.io) - Compile-time DI framework with instant startup and low memory. +- [Nacos](https://nacos.io) - Alibaba's service discovery and config management platform. +- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - OpenAI API client for GPT, DALL-E, and Whisper. +- [Quarkus](https://quarkus.io) - Supersonic Java with native compilation and live reload. +- [Sentinel](https://github.com/alibaba/Sentinel) - Flow control, circuit breaking, and real-time monitoring. ### Miscellaneous _Everything else._ -- [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) -- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. -- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -- [Jimfs](https://github.com/google/jimfs) - In-memory file system. -- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. -- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. -- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. -- [JPad](http://jpad.io) - Snippet runner. -- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. -- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. -- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. -- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. -- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. -- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. -- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. -- [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. -- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. -- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. -- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -- [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. -- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for - code and dependency management and allows you to run it directly. +- [CQEngine](https://github.com/npgall/cqengine) - In-memory indexed collections with SQL-like queries in microseconds. +- [Design Patterns](https://github.com/iluwatar/java-design-patterns) - 100+ design patterns with Java examples and explanations. +- [FF4J](https://github.com/ff4j/ff4j) - Feature flags with web console, audit, and Spring integration. +- [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) - Satirical over-engineered FizzBuzz demonstrating pattern overuse. +- [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) - IP geolocation and WHOIS lookup API client. +- [ISBN core](https://github.com/ladutsko/isbn-core) - ISBN-10/13 parsing, validation, and formatting. +- [J2ObjC](https://github.com/google/j2objc) - Google's Java to Objective-C transpiler for iOS code sharing. +- [JBake](https://jbake.org) - Static site generator with Freemarker, Groovy, and Markdown. +- [JBot](https://github.com/rampatra/jbot) - Slack and Facebook Messenger bot framework. +- [JCuda](http://jcuda.org) - Java bindings for CUDA GPU computing. +- [JEmoji](https://github.com/felldo/JEmoji) - Type-safe emoji library with Discord/Slack alias support. +- [Jimfs](https://github.com/google/jimfs) - In-memory file system for testing with full NIO.2 support. +- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscation for intellectual property protection. +- [Joda-Money](https://www.joda.org/joda-money/) - Money and currency handling with BigDecimal precision. +- [jOOX](https://github.com/jooq/joox) - jQuery-style fluent API for XML DOM manipulation. +- [JPad](http://jpad.io) - Code snippet runner with instant results. +- [jsweet](https://github.com/cincheo/jsweet) - Java to TypeScript/JavaScript transpiler. +- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Ensure consistent Maven version without local installation. +- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - API gateway with OAuth2, rate limiting, and transformation. +- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Embeddable FTP server in ~50KB. +- [LittleProxy](https://github.com/adamfisk/LittleProxy) - Netty-based HTTP proxy with MITM support. +- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Comprehensive Java 8 tutorial with streams and lambdas. +- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect legacy API usage (Guava → Java 8, etc.). +- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - GitHub browser extension linking imports to source files. +- [OpenRefine](http://openrefine.org) - Data cleaning and transformation tool with reconciliation. +- [PipelinR](https://github.com/sizovs/pipelinr) - Mediator pattern for command/query handlers. +- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Write POMs in Groovy, Kotlin, Scala, or YAML. +- [RR4J](https://github.com/Kartikvk1996/RR4J) - Record and replay Java execution for debugging. +- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Fluent email API with SMTP, attachments, and embedding. +- [Smooks](https://github.com/smooks/smooks) - Event-driven data transformation and routing framework. +- [Svix](https://github.com/svix/svix-webhooks/tree/main/java) - Webhook delivery platform with retries and signature verification. +- [Togglz](https://www.togglz.org) - Feature toggles with admin console and Spring Boot starter. +- [TypeTools](https://github.com/jhalterman/typetools) - Runtime generic type resolution for type-safe APIs. +- [webcam-capture](https://github.com/sarxos/webcam-capture) - Cross-platform webcam access with motion detection. +- [XMLBeam](https://github.com/SvenEwald/xmlbeam) - XPath-based XML projection onto Java interfaces. +- [yGuard](https://github.com/yWorks/yGuard) - Bytecode obfuscator with name mangling and shrinking. +- [JBang](https://github.com/maxandersen/jbang/) - Run Java as scripts with inline dependency declarations. ### Mobile Development -_Tools for creating or managing mobile applications._ +_Tools for mobile application development._ -- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +- [Codename One](https://www.codenameone.com) - Write once, deploy native iOS/Android/web from Java. +- [MobileUI](https://mobileui.dev) - Native mobile UI from Java/Kotlin with platform widgets. +- [Multi-OS Engine](https://multi-os-engine.org) - Shared Java codebase with native iOS/Android UI bindings. ### Monitoring -_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. -- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. -- [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. -- [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. -- [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 software’s 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. -- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. -- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. -- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. -- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +_Tools for observability and telemetry._ + +- [Apitally](https://github.com/apitally/apitally-java) - Privacy-focused API analytics with request logging. +- [Automon](https://github.com/stevensouza/automon) - AOP-based monitoring integration with JAMon/Metrics. +- [Datadog](https://github.com/DataDog/dd-trace-java) - APM agent with distributed tracing and profiling. +- [Dropwizard Metrics](https://github.com/dropwizard/metrics) - Application metrics with JMX, Graphite, and Prometheus export. +- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Spring Boot Actuator endpoints for Failsafe circuit breakers. +- [Glowroot](https://glowroot.org) - Lightweight APM with transaction tracing and historical analysis. +- [HertzBeat](https://github.com/dromara/hertzbeat) - Agentless monitoring for servers, databases, and APIs. +- [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) - Dynamic thread pool tuning with web console. +- [inspectIT](https://www.inspectit.rocks) - Bytecode-level APM with OpenTracing and EUM correlation. +- [Instrumental](https://instrumentalapp.com) - Real-time metrics with alerting and dashboards. +- [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) - Distributed tracing client for Jaeger backend. +- [JavaMelody](https://github.com/javamelody/javamelody) - Embedded monitoring with charts, SQL analysis, and profiling. +- [jmxtrans](https://github.com/jmxtrans/jmxtrans) - JMX metric collection to Graphite, InfluxDB, or Ganglia. +- [Jolokia](https://jolokia.org) - JMX over HTTP/JSON for remote monitoring. +- [Micrometer](https://github.com/micrometer-metrics/micrometer) - Metrics facade for Prometheus, Datadog, CloudWatch, etc. +- [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) - Tracing facade for Zipkin, Wavefront, and OTLP. +- [nudge4j](https://github.com/lorenzoongithub/nudge4j) - Browser REPL for live JVM inspection. +- [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) - CNCF standard for traces, metrics, and logs. +- [Pinpoint](https://github.com/naver/pinpoint) - Large-scale APM with call tree visualization. +- [Prometheus](https://github.com/prometheus/client_java) - Official Prometheus client with gauges, counters, and histograms. +- [Sentry](https://github.com/getsentry/sentry-java) - Error tracking with stack traces and performance monitoring. +- [SPM](https://github.com/sematext/sematext-agent-java) - Transaction tracing and JVM metrics. +- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Elasticsearch-integrated APM with Kibana dashboards. +- [Sysmon](https://github.com/palantir/Sysmon) - JVM resource monitoring (CPU, memory, GC). +- [zipkin](https://zipkin.io) - Distributed tracing system for latency analysis. ### Native _For working with platform-specific native libraries._ -- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. -- [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. -- [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. +- [Aparapi](https://github.com/Syncleus/aparapi) - Execute Java on GPUs via automatic OpenCL conversion. +- [JavaCPP](https://github.com/bytedeco/javacpp) - Native C/C++ binding generator with presets for OpenCV, FFmpeg. +- [JNA](https://github.com/java-native-access/jna) - Dynamic native access without JNI boilerplate. +- [JNR](https://github.com/jnr/jnr-ffi) - Faster JNA alternative; foundation for Project Panama. +- [native-lib-loader](https://github.com/scijava/native-lib-loader) - Extract and load bundled native libraries from JARs. ### Natural Language Processing -_Libraries that specialize in processing text._ +_Libraries for text processing and analysis._ -- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) -- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) -- [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -- [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. -- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. +- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - NLP pipeline with coreference, SRL, and relation extraction. +- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. +- [DKPro](https://dkpro.github.io) - UIMA-based NLP components for tokenization, POS, and parsing. +- [Hypherator](https://github.com/ejossev/hypherator-java) - Text hyphenation with bundled dictionaries for 30+ languages. +- [LingPipe](http://alias-i.com/lingpipe/) - Entity extraction, clustering, and classification toolkit. ### Networking -_Libraries for building network servers._ - -- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). -- [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. -- [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. -- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. -- [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. -- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -- [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -- [Netty](https://netty.io) - Framework for building high-performance network applications. -- [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. -- [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. -- [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. -- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) -- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) -- [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. +_Libraries for network applications._ + +- [Commons-networking](https://github.com/CiscoSE/commons-networking) - Server-Sent Events (SSE) client implementation. +- [Comsat](https://github.com/puniverse/comsat) - Fiber-aware web APIs (Servlet, JAX-RS) with Quasar. +- [Dubbo](https://github.com/apache/dubbo) - Alibaba's RPC framework with service discovery and load balancing. +- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework powering GlassFish with HTTP/2. +- [gRPC-java](https://github.com/grpc/grpc-java) - Google's HTTP/2 RPC with streaming and deadlines. +- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Fast TCP/UDP networking with Kryo serialization. +- [MINA](https://mina.apache.org) - Event-driven async network framework from Apache. +- [Netty](https://netty.io) - Industry-standard async networking with epoll/kqueue support. +- [Drift](https://github.com/airlift/drift) - Annotation-based Thrift client/server generation. +- [ServiceTalk](https://github.com/apple/servicetalk) - Apple's reactive networking with HTTP/1.1, HTTP/2, and gRPC. +- [sshj](https://github.com/hierynomus/sshj) - SSH2 client for SFTP, SCP, and remote execution. +- [TLS Channel](https://github.com/marianobarrios/tls-channel) - Blocking/non-blocking TLS via simple ByteChannel API. +- [Undertow](http://undertow.io) - High-performance web server with HTTP/2 and WebSocket. +- [urnlib](https://github.com/slub/urnlib) - URN parsing and validation per RFC 2141/8141. +- [Fluency](https://github.com/komamitsu/fluency) - Async, buffered logger to Fluentd with failover. ### ORM -_APIs that handle the persistence of objects._ +_Object-relational mapping frameworks._ -- [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -- [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -- [Ebean](https://ebean.io) - Provides simple and fast data access. -- [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. +- [Apache Cayenne](https://cayenne.apache.org) - Modeler-based ORM with lazy loading and caching. +- [Doma](https://github.com/domaframework/doma) - Compile-time SQL validation with two-way SQL templates. +- [Ebean](https://ebean.io) - Simple ORM with query beans, JSON, and soft-delete support. +- [EclipseLink](https://www.eclipse.org/eclipselink/) - JPA reference implementation with MOXy and multi-tenancy. +- [Hibernate](http://hibernate.org/orm/) - Feature-rich JPA implementation with caching and search. +- [MyBatis](https://github.com/mybatis/mybatis-3) - SQL mapping framework with XML or annotation config. +- [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) - MyBatis enhancements: CRUD, pagination, code generation. +- [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) - ActiveRecord-style ORM with method chaining queries. +- [Permazen](https://github.com/permazen/permazen) - Schema-independent persistence with change tracking. +- [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) - Zero-allocation result set to POJO mapping. ### PaaS _Java platform as a service._ -- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. -- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. -- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. -- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. -- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. -- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. +- [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) - Managed Tomcat/Jetty deployment with auto-scaling. +- [AWS Lambda](https://aws.amazon.com/lambda/) - Serverless Java with SnapStart for cold starts. +- [Google Cloud](https://cloud.google.com) - App Engine, Cloud Run, and GKE for Java workloads. +- [Heroku](https://www.heroku.com) - Git-push deployment with buildpacks and add-ons. +- [Microsoft Azure](https://azure.microsoft.com/en-us/) - App Service and Functions with Spring integration. +- [OpenShift](https://www.openshift.com) - Enterprise Kubernetes with Java S2I builds. ### Pathfinding -_Algorithms and libraries for finding routes in graphs and spatial environments._ +_Algorithms for finding routes in graphs and spatial environments._ -- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. +- [Pathetic](https://github.com/bsommerfeld/pathetic) - High-performance 3D A\* pathfinding with configurable heuristics. ### PDF -_Tools to help with PDF files._ +_Tools for PDF generation and manipulation._ -- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. -- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) -- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) -- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. -- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. -- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) -- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. -- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. +- [Apache FOP](https://xmlgraphics.apache.org/fop/) - XSL-FO to PDF with SVG and image support. +- [Apache PDFBox](https://pdfbox.apache.org) - Create, modify, extract, and sign PDFs. +- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Programmatic JasperReports without XML. +- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Fluent API for JasperReports with charts. +- [Eclipse BIRT](https://www.eclipse.org/birt) - Visual report designer with PDF, Excel, and HTML output. +- [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XHTML/CSS to PDF renderer. +- [iText](https://itextpdf.com/en) - Full-featured PDF library with forms and digital signatures. +- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Enterprise reporting with charts, barcodes, and subreports. +- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - HTML5/CSS3 to PDF/A with accessibility support. +- [OpenPDF](https://github.com/LibrePDF/OpenPDF) - LGPL iText fork with active maintenance. +- [Tabula](https://github.com/tabulapdf/tabula-java) - Extract tabular data from PDFs into CSV/JSON. ### Performance analysis -_Tools for performance analysis, profiling and benchmarking._ +_Tools for profiling, benchmarking, and performance analysis._ -- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. -- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. -- [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. -- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. +- [fastThread](https://fastthread.io) - Online thread dump analyzer with deadlock detection. +- [GCeasy](https://gceasy.io) - GC log analyzer with tuning recommendations. +- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - AsyncGetCallTrace-based profiler avoiding safepoint bias. +- [jHiccup](https://github.com/giltene/jHiccup) - Measure JVM pauses and OS scheduling hiccups. +- [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Visualize HotSpot JIT compilations and inlining decisions. +- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - OpenJDK's microbenchmark harness with warmup and statistics. +- [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - HDR histogram-based latency recording with pause correction. ### Platform @@ -996,286 +995,288 @@ _Libraries for developing reactive applications._ ### REST Frameworks -_Frameworks specifically for creating RESTful services._ - -- [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -- [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. -- [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. -- [Spark](http://sparkjava.com) - Sinatra inspired framework. -- [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. -- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. -- [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. -- [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. +_Frameworks for building RESTful services._ + +- [Dropwizard](https://github.com/dropwizard/dropwizard) - Production-ready REST with Jetty, Jersey, and Metrics. +- [Elide](https://elide.io) - JSON API/GraphQL from JPA models with security. +- [Jersey](https://jersey.github.io) - JAX-RS reference implementation with DI support. +- [Microserver](https://github.com/aol/micro-server) - Spring Boot microservices with 30+ plugins. +- [Rapidoid](https://www.rapidoid.org) - Ultra-fast HTTP server with embedded DI. +- [rest.li](https://github.com/linkedin/rest.li) - LinkedIn's REST framework with typed schemas. +- [RESTEasy](https://resteasy.github.io) - Red Hat's JAX-RS implementation with async. +- [RestExpress](https://github.com/RestExpress/RestExpress) - Netty-based REST for high throughput. +- [Restlet Framework](https://github.com/restlet/restlet-framework-java) - Unified REST client/server with content negotiation. +- [Spark](http://sparkjava.com) - Minimalist Sinatra-style REST in Java. +- [Crnk](http://www.crnk.io) - JSON API implementation with filtering and paging. +- [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - OpenAPI 3 docs from Spring Boot annotations. +- [Swagger](https://swagger.io) - API design, documentation, and code generation. +- [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Generate clients/servers from OpenAPI specs. ### Science -_Libraries for scientific computing, analysis and visualization._ - -- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. -- [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) -- [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. -- [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) -- [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. -- [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. -- [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. -- [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. -- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) -- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -- [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. +_Libraries for scientific computing, analysis, and visualization._ + +- [BioJava](https://biojava.org/) - Bioinformatics library for sequences, structures, and alignments. +- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Real-time scientific charting at 25Hz with millions of points. +- [DataMelt](https://datamelt.org/) - Scientific computing environment with Python/Jython. +- [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Graph theory algorithms for research. +- [GraphStream](http://graphstream-project.org) - Dynamic graph modeling with visualization. +- [JFreeChart](http://www.jfree.org/jfreechart/) - Comprehensive 2D charting for Swing/JavaFX. +- [JGraphT](https://github.com/jgrapht/jgrapht) - Graph algorithms: shortest path, flow, matching. +- [JGraphX](https://github.com/jgraph/jgraphx) - Interactive graph visualization (powers draw.io). +- [LogicNG](https://github.com/logic-ng/LogicNG) - Boolean formula manipulation and SAT solving. +- [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Geophysics: seismic processing and visualization. +- [Morpheus](https://github.com/zavtech/morpheus-core) - DataFrame library for tabular data analysis. +- [Orekit](https://www.orekit.org/) - Space flight dynamics: orbit propagation and attitude. +- [Orson-Charts](https://github.com/jfree/orson-charts) - Interactive 3D charts with PDF/SVG export. +- [Tablesaw](https://github.com/jtablesaw/tablesaw) - In-memory DataFrame with filtering and aggregation. +- [XChart](https://github.com/knowm/XChart) - Simple charting with minimal dependencies. ### Search -_Engines that index documents for search and analysis._ +_Engines for indexing and searching documents._ -- [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. -- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. -- [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. -- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. +- [Apache Lucene](https://lucene.apache.org) - Foundation of most Java search; fast inverted indexes. +- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search with faceting and clustering. +- [Elasticsearch](https://www.elastic.co) - Distributed search and analytics with REST API. +- [Indexer4j](https://github.com/haeungun/indexer4j) - Lightweight in-memory full-text search. ### Security -_Libraries that handle security, authentication, authorization or session management._ - -- [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. -- [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -- [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. -- [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. -- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. -- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. -- [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. -- [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. -- [OACC](http://oaccframework.org) - Provides permission-based authorization services. -- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. -- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). -- [pac4j](https://github.com/pac4j/pac4j) - Security engine. -- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. -- [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. -- [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. +_Libraries for authentication, authorization, and cryptography._ + +- [Apache Shiro](https://shiro.apache.org) - Framework-agnostic security with auth, crypto, and sessions. +- [Ayza](https://github.com/Hakky54/ayza) - Fluent SSL/TLS configuration for HTTP clients and servers. +- [Bouncy Castle](https://www.bouncycastle.org/java.html) - Comprehensive crypto library with FIPS-certified provider. +- [DependencyCheck](https://github.com/jeremylong/DependencyCheck) - OWASP tool detecting vulnerable dependencies via NVD. +- [Cryptomator](https://cryptomator.org) - Client-side encryption for cloud storage with WebDAV. +- [Hdiv](https://github.com/hdiv/hdiv) - Runtime protection against OWASP Top 10 attacks. +- [jjwt](https://github.com/jwtk/jjwt) - JWT creation and verification with JWS/JWE support. +- [jwt-java](https://github.com/BastiaanJansen/jwt-java) - Fluent JWT API with custom claim validation. +- [Jwks RSA](https://github.com/auth0/jwks-rsa-java) - JWKS endpoint client with key caching. +- [Kalium](https://github.com/abstractj/kalium) - NaCl/libsodium bindings for modern crypto primitives. +- [Keycloak](https://www.keycloak.org) - Open-source IAM with OIDC, SAML, and social login. +- [Keywhiz](https://github.com/square/keywhiz) - Square's secret management with ACLs and audit logs. +- [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Password strength estimator using pattern matching. +- [OACC](http://oaccframework.org) - Fine-grained permission-based access control framework. +- [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Enterprise access management with SSO and federation. +- [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - TOTP/HOTP one-time password generation per RFC specs. +- [pac4j](https://github.com/pac4j/pac4j) - Multi-protocol security engine for OAuth, SAML, CAS. +- [Passay](http://www.passay.org/) - Password policy enforcement with configurable rules. +- [Password4j](https://github.com/Password4j/password4j) - Password hashing with Argon2, BCrypt, SCrypt, and PBKDF2. +- [SecurityBuilder](https://github.com/tersesystems/securitybuilder) - Fluent builders for X.509, keystores, and TLS contexts. +- [Themis](https://github.com/cossacklabs/themis) - High-level crypto for secure messaging and storage. +- [Tink](https://github.com/google/tink) - Google's misuse-resistant crypto API with key management. +- [Topaz](https://www.topaz.sh) - Authorization service with RBAC, ABAC, and relationship-based AC. ### Serialization -_Libraries that handle serialization with high efficiency._ +_High-efficiency serialization libraries._ -- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. -- [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. -- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. -- [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. -- [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. -- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. +- [FlatBuffers](https://github.com/google/flatbuffers) - Zero-copy access to serialized data without parsing. +- [FST](https://github.com/RuedigerMoeller/fast-serialization) - 10x faster than JDK serialization with drop-in replacement. +- [Fury](https://github.com/alipay/fury) - JIT-accelerated serialization with cross-language support. +- [Kryo](https://github.com/EsotericSoftware/kryo) - Fast, compact object graph serialization for games and caching. +- [MessagePack](https://github.com/msgpack/msgpack-java) - Compact binary format smaller than JSON. +- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serialize Java objects to PHP format for interop. ### Server -_Servers specifically used to deploy applications._ +_Application servers for deployment._ -- [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. -- [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. -- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +- [Apache Tomcat](https://tomcat.apache.org) - Reference Servlet container with virtual hosts and clustering. +- [Apache TomEE](https://tomee.apache.org) - Tomcat with Jakarta EE (CDI, JPA, JAX-RS) baked in. +- [Jetty](https://www.eclipse.org/jetty/) - Lightweight, embeddable server with HTTP/2 and WebSocket. +- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny embeddable HTTP server in one Java file. +- [WildFly](https://www.wildfly.org) - Full Jakarta EE server with modular architecture. ### Template Engine -_Tools that substitute expressions in a template._ +_Tools for text generation from templates._ -- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. -- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. -- [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). -- [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. -- [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. -- [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. +- [Freemarker](https://freemarker.apache.org) - Powerful templating with macros, includes, and auto-escaping. +- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logic-less Mustache templates with helpers. +- [Jade4J](https://github.com/neuland/jade4j) - Pug/Jade template engine for concise HTML. +- [Jamal](https://github.com/verhas/jamal) - Macro processor for Maven/Javadoc with Groovy and JShell. +- [jstachio](https://github.com/jstachio/jstachio) - Compile-time Mustache with type-safe binding. +- [jte](https://github.com/casid/jte) - Fast, compiled templates with IntelliJ plugin support. +- [Jtwig](https://github.com/jtwig/jtwig) - Twig-inspired engine with inheritance and macros. +- [Pebble](https://pebbletemplates.io) - Twig-like templates with inheritance, i18n, and autoescaping. +- [Rocker](https://github.com/fizzed/rocker) - Type-safe templates compiling to optimized Java code. +- [StringTemplate](https://github.com/antlr/stringtemplate4) - ANTLR's template engine for code generation. +- [Thymeleaf](https://www.thymeleaf.org) - Natural templates that work as HTML prototypes. ### Testing -_Tools that test from model to the view._ +_Tools for testing from model to view._ #### Asynchronous -_Tools that simplify testing asynchronous services._ +_Tools for testing asynchronous services._ -- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. -- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) -- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. -- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. +- [Awaitility](https://github.com/awaitility/awaitility) - Fluent DSL for polling until async conditions are met. +- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Test multi-threaded code with assertions from any thread. +- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - Embedded SMTP/POP3/IMAP server for email testing. +- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - HTTP service virtualization with record/playback. +- [Karate](https://github.com/intuit/karate) - BDD API testing with mocks, perf tests, and JSON/XML assertions. +- [REST Assured](https://github.com/rest-assured/rest-assured) - Fluent API for testing REST services with JSON/XML validation. +- [WebTau](https://github.com/testingisdocumenting/webtau) - Unified testing: REST, GraphQL, browser, CLI, and database. #### BDD -_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ +_Behavior-driven development testing frameworks._ -- [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. -- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. -- [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. -- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. -- [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. -- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. -- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. +- [Cucumber](https://github.com/cucumber/cucumber-jvm) - Gherkin specs with step definitions in Java. +- [Cukes-REST](https://github.com/ctco/cukes) - Cucumber steps for REST API testing. +- [J8Spec](https://github.com/j8spec/j8spec) - Jasmine/RSpec-style specs with lambda syntax. +- [JBehave](https://jbehave.org) - Story-driven BDD with narrative format. +- [JGiven](http://jgiven.org) - Fluent BDD with readable HTML reports. +- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Expressive specs using lambdas and natural language. +- [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Living documentation with Cucumber/JUnit integration. #### Fixtures -_Everything related to the creation and handling of random data._ +_Test data generation and fixtures._ -- [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. -- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. -- [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. -- [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. -- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. -- [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. +- [AutoParams](https://github.com/AutoParams/AutoParams) - JUnit 5 extension for automatic test parameter generation. +- [Beanmother](https://github.com/keepcosmos/beanmother) - YAML-based fixture factory for test objects. +- [Datafaker](https://github.com/datafaker-net/datafaker) - Modern faker with 200+ data providers and locales. +- [Fixture Factory](https://github.com/six2six/fixture-factory) - Template-based test object builder. +- [jFairy](https://github.com/Devskiller/jfairy) - Realistic fake data (names, addresses, companies). +- [Instancio](https://github.com/instancio/instancio) - Generate fully-populated objects with reproducible seeds. +- [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - Repeatable randomized tests with seed control. +- [Java Faker](https://github.com/DiUS/java-faker) - Ruby Faker port with extensive data types. +- [Mockneat](https://github.com/nomemory/mockneat) - Fluent fake data API with constrained generators. +- [JMock](https://github.com/xcancloud/JMock) - High-performance mock data generation library. #### Frameworks -_Provide environments to run tests for a specific use case._ - -- [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. -- [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. +_Test execution environments and frameworks._ + +- [Apache JMeter](http://jmeter.apache.org) - Load testing with GUI and distributed execution. +- [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) - Programmatic JMeter tests with fluent Java API. +- [Arquillian](http://arquillian.org) - Integration testing with container lifecycle management. +- [cdi-test](https://github.com/guhilling/cdi-test) - Lightweight CDI testing without full container. +- [Citrus](https://citrusframework.org) - Integration testing for HTTP, JMS, SOAP, and Kafka. +- [Gatling](https://gatling.io) - Scala-based load testing with detailed HTML reports. +- [JUnit](https://junit.org/junit5/) - The standard Java testing framework with extensions. +- [jqwik](https://jqwik.net) - Property-based testing with shrinking on JUnit 5. +- [Pact JVM](https://github.com/DiUS/pact-jvm) - Contract testing for microservices compatibility. +- [PIT](http://pitest.org) - Mutation testing measuring test suite quality. +- [weld-testing](https://github.com/weld/weld-testing) - CDI test extensions for JUnit 4/5 and Spock. +- [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation for web application testing. #### Matchers -_Libraries that provide custom matchers._ +_Custom assertion and matcher libraries._ -- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. -- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. -- [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. -- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. -- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. -- [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. +- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions with IDE auto-completion. +- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Composable matchers for expressive assertions. +- [JSONAssert](http://jsonassert.skyscreamer.org) - JSON comparison with strict/lenient modes. +- [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - JSON assertions with path ignoring and regex. +- [Truth](https://truth.dev) - Google's extensible assertion framework. +- [XMLUnit](https://github.com/xmlunit/xmlunit) - XML comparison with diff and XPath assertions. #### Testing Miscellaneous -_Other stuff related to testing._ +_Other testing utilities._ -- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. -- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. -- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. -- [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. -- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. -- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. -- [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). -- [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. -- [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. +- [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Capture stdout/stderr for assertion. +- [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-style parameterized tests for JUnit. +- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extensions: environment variables, temp dirs, etc. +- [LogCaptor](https://github.com/Hakky54/log-captor) - Capture and assert log messages in tests. +- [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - AssertJ-style log assertions with MDC support. +- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Verify class immutability at test time. +- [pojo-tester](https://www.pojo.pl) - Auto-test equals, hashCode, toString, getters/setters. +- [raml-tester](https://github.com/nidi3/raml-tester) - Validate API requests/responses against RAML specs. +- [Selfie](https://github.com/diffplug/selfie) - Snapshot testing with inline or file-based snapshots. +- [Stebz](https://github.com/stebz/stebz) - Step-based test organization framework. +- [Testcontainers](https://github.com/testcontainers/testcontainers-java) - Disposable Docker containers for DBs, browsers, and services. #### Mocking -_Tools which mock collaborators to help testing single, isolated units._ +_Mock frameworks for isolated unit testing._ -- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. -- [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. -- [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. -- [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. -- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -- [WireMock](http://wiremock.org) - Stubs and mocks web services. -- [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. +- [JMockit](http://jmockit.github.io) - Full mocking with expectations, verifications, and coverage. +- [Mockito](https://github.com/mockito/mockito) - Clean, readable mocking with spy and argument capture. +- [MockServer](https://www.mock-server.com) - HTTP/HTTPS mock server with expectation matching. +- [Moco](https://github.com/dreamhead/moco) - Standalone mock server with simple JSON config. +- [PowerMock](https://github.com/powermock/powermock) - Mock statics, constructors, and final classes. +- [WireMock](http://wiremock.org) - HTTP service simulator with record/playback and fault injection. +- [EasyMock](https://github.com/easymock/easymock) - Record/replay mocking with nice/strict modes. ### Utility -_Libraries which provide general utility functions._ - -- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. -- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. -- [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. -- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. -- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) -- [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. -- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. -- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) -- [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. -- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. -- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. -- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. -- [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. -- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. -- [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. -- [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. -- [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. +_General utility libraries._ + +- [Arthas](https://github.com/alibaba/arthas) - Production diagnostics: class decompile, trace, and profiling live. +- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Token bucket rate limiter with distributed support. +- [cactoos](https://github.com/yegor256/cactoos) - Object-oriented primitives avoiding nulls and statics. +- [Chocotea](https://github.com/cleopatra27/chocotea) - Generate Postman collections from annotated Java code. +- [CRaSH](http://www.crashub.org) - SSH shell into running JVMs for inspection. +- [Dex](https://github.com/PatMartin/Dex) - Data visualization and ETL with JavaFX. +- [dregex](https://github.com/marianobarrios/dregex) - DFA-based regex with set operations and linear time. +- [Embulk](https://github.com/embulk/embulk) - Bulk data loader for DBs, S3, and file formats. +- [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Simplified file system watching wrapper. +- [Gephi](https://github.com/gephi/gephi) - Network graph visualization and analysis tool. +- [Guava](https://github.com/google/guava) - Google's core libraries: collections, caching, I/O, and more. +- [JADE](https://jade.tilab.com) - Multi-agent system framework with FIPA compliance. +- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - GitHub Action for auto-publishing Javadoc. +- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Unified diff, patch, and merge utilities. +- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Readable regex builder with fluent API. +- [JGit](https://www.eclipse.org/jgit/) - Pure Java Git implementation used by Eclipse. +- [JKScope](https://github.com/evpl/jkscope) - Kotlin-style scope functions (let, also, run) for Java. +- [minio-java](https://github.com/minio/minio-java) - S3-compatible object storage client. +- [Protégé](https://protege.stanford.edu) - Ontology editor for OWL and knowledge graphs. +- [Semver4j](https://github.com/semver4j/semver4j) - Semantic versioning parsing and comparison. +- [Underscore-java](https://github.com/javadev/underscore-java) - Functional utilities: map, filter, reduce, and more. ### Version Managers -_Utilities that help create the development shell environment and switch between different Java versions._ +_Tools for managing multiple Java versions._ -- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. -- [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. -- [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. +- [jabba](https://github.com/shyiko/jabba) - Cross-platform JDK manager with remote install support. +- [jenv](https://github.com/jenv/jenv) - Project-level Java version switching via shell. +- [SDKMan](https://github.com/sdkman/sdkman-cli) - Manage JDKs and tools (Maven, Gradle) with one CLI. ### Web Crawling -_Libraries that analyze the content of websites._ +_Libraries for web scraping and crawling._ -- [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. -- [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. -- [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. -- [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. -- [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. +- [Apache Nutch](https://nutch.apache.org) - Hadoop-based crawler with Solr/Elasticsearch integration. +- [Crawler4j](https://github.com/yasserg/crawler4j) - Multi-threaded crawler with depth and politeness control. +- [jsoup](https://jsoup.org) - HTML parsing with CSS selectors and DOM manipulation. +- [StormCrawler](http://stormcrawler.net) - Real-time crawler on Apache Storm for scale. +- [webmagic](https://github.com/code4craft/webmagic) - Modular crawler with XPath/CSS extraction and pipelines. ### Web Frameworks -_Frameworks that handle the communication between the layers of a web application._ - -- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -- [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. -- [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. -- [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. -- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. -- [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. -- [Javalin](https://javalin.io/) - Microframework for web applications. -- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. -- [Ninja](http://www.ninjaframework.org) - Full-stack web framework. -- [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. -- [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -- [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) - 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. -- [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. +_Frameworks for building web applications._ + +- [ActiveJ](https://activej.io) - Async-first framework with 1M+ req/sec on single core. +- [Apache Tapestry](https://tapestry.apache.org) - Component-based framework with live reload. +- [Apache Wicket](https://wicket.apache.org) - Stateful component model with type-safe Java. +- [Blade](https://github.com/lets-blade/blade) - Lightweight MVC framework with Netty backend. +- [Bootique](https://bootique.io) - Modular app framework with config and metrics. +- [Firefly](http://www.fireflysource.com) - Async framework with HTTP/2 and WebSocket. +- [Javalin](https://javalin.io/) - Simple REST API framework on Jetty. +- [Jooby](http://www.jooby.org) - Modular framework with Netty, Jetty, or Undertow. +- [Ninja](http://www.ninjaframework.org) - Full-stack with ORM, templates, and testing. +- [Pippo](http://www.pippo.ro) - Micro-framework with routing, templates, and i18n. +- [Play](https://www.playframework.com) - Reactive framework with hot reload for Scala/Java. +- [PrimeFaces](https://www.primefaces.org) - JSF components with 100+ UI widgets. +- [Ratpack](https://ratpack.io) - Non-blocking HTTP with RxJava and Groovy DSL. +- [Takes](https://github.com/yegor256/takes) - Truly OOP web framework without annotations. +- [Vaadin](https://vaadin.com) - Build web UIs in Java with optional React components. +- [WebForms Core](https://github.com/webforms-core) - Server-side HTML tag management. ### Workflow Orchestration Engines -- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. -- [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. -- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. +_Platforms for orchestrating workflows and business processes._ + +- [Cadence](https://cadenceworkflow.io) - Uber's durable execution platform for long-running workflows. +- [flowable](https://github.com/flowable/flowable-engine) - BPMN 2.0, CMMN, and DMN engine with REST API. +- [Temporal](https://temporal.io) - Durable execution with gRPC; Cadence successor with cloud offering. ## Resources diff --git a/README.md b/README.md deleted file mode 100644 index ef770b10..00000000 --- a/README.md +++ /dev/null @@ -1,1632 +0,0 @@ -# Awesome Java [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) - -A curated list of awesome Java frameworks, libraries and software. - -## Contents - -- [Awesome Java](#awesome-java-) - - [Contents](#contents) - - [Projects](#projects) - - [Architecture](#architecture) - - [Artificial Intelligence](#artificial-intelligence) - - [Bean Mapping](#bean-mapping) - - [Build](#build) - - [Bytecode Manipulation](#bytecode-manipulation) - - [Caching](#caching) - - [CLI](#cli) - - [Argument Parsing](#argument-parsing) - - [Text-Based User Interfaces](#text-based-user-interfaces) - - [Cloud](#cloud) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Decentralization](#decentralization) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [Pathfinding](#pathfinding) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Apache Commons](#apache-commons) - - [Other](#other) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Asynchronous](#asynchronous) - - [BDD](#bdd) - - [Fixtures](#fixtures) - - [Frameworks](#frameworks) - - [Matchers](#matchers) - - [Testing Miscellaneous](#testing-miscellaneous) - - [Mocking](#mocking) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) - - [Resources](#resources) - - [Related Awesome Lists](#related-awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Socials](#socials) - - [Websites](#websites) - - [Contributing](#contributing) - -## Projects - -### Architecture - -_Frameworks and libraries that help implementing and verifying design and architecture concepts._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ArchUnit](https://github.com/TNG/ArchUnit) | Test library for specifying and asserting architecture rules. | 3.6k | 23h | -| [jMolecules](https://github.com/xmolecules/jmolecules) | Annotations and interfaces to express design and architecture concepts in code. | 1.5k | 1mo | - -### Artificial Intelligence - -_Frameworks that help you to leverage LLMs and AI._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [LangChain4j](https://github.com/langchain4j/langchain4j) | Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. | 10.3k | 14h | -| [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. | 3.0k | 23d | -| [simple-openai](https://github.com/sashirestela/simple-openai) | Library to use the OpenAI API (and compatible ones) in the simplest possible way. | 370 | 3mo | -| [Spring AI](https://spring.io/projects/spring-ai) | Application framework for AI engineering for Spring. | - | - | - -### Bean Mapping - -_Frameworks that ease bean mapping._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [dOOv](https://github.com/doov-io/doov) | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. | - | - | -| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. | 241 | 2y | -| [MapStruct](https://github.com/mapstruct/mapstruct) | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. | 7.6k | 6d | -| [ModelMapper](https://github.com/modelmapper/modelmapper) | Intelligent object mapping library that automatically maps objects to each other. | 2.3k | 1mo | -| [Orika](https://github.com/orika-mapper/orika) | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. | 1.3k | 1y | -| [reMap](https://github.com/remondis-it/remap) | Lambda and method handle-based mapping which requires code and not annotations if objects have different names. | 126 | 5mo | -| [Selma](https://github.com/xebia-france/selma) | Annotation processor-based bean mapper. | - | - | - -### Build - -_Tools that handle the build cycle and dependencies of an application._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | - | - | -| [Buck2](https://github.com/facebook/buck2) | Encourages the creation of small, reusable modules consisting of code and resources. | 4.2k | 54m | -| [Gradle](https://gradle.org) | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. | - | - | - -### Bytecode Manipulation - -_Libraries to manipulate bytecode programmatically._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ASM](https://asm.ow2.io) | All-purpose, low-level bytecode manipulation and analysis. | - | - | -| [Byte Buddy](https://bytebuddy.net) | Further simplifies bytecode generation with a fluent API. | - | - | -| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) | 15.4k | 1d | -| [Byteman](https://byteman.jboss.org) | Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) | - | - | -| [cglib](https://github.com/cglib/cglib) | Bytecode generation library. | 4.9k | 1y | -| [Javassist](https://github.com/jboss-javassist/javassist) | Tries to simplify bytecode editing. | 4.2k | 1y | -| [Maker](https://github.com/cojen/maker) | Provides low level bytecode generation. | 65 | 13d | -| [Mixin](https://github.com/SpongePowered/Mixin) | Manipulate bytecode at runtime using real Java code. | 1.7k | 1y | -| [Perses](https://github.com/nicolasmanic/perses) | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. | - | - | -| [Recaf](https://www.coley.software/Recaf/) | JVM reverse engineering toolkit, essentially an IDE for Java bytecode. | - | - | - -### Caching - -_Libraries that provide caching facilities._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [cache2k](https://cache2k.org) | In-memory high performance caching library. | - | - | -| [Caffeine](https://github.com/ben-manes/caffeine) | High-performance, near-optimal caching library. | 17.4k | 2d | -| [Ehcache](http://www.ehcache.org) | Distributed general-purpose cache. | - | - | -| [Infinispan](https://infinispan.org) | Highly concurrent key/value datastore used for caching. | - | - | - -### CLI - -_Libraries for everything related to the CLI._ - -#### Argument Parsing - -_Libraries to assist with parsing command line arguments._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | -| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | -| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | -| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Airline](https://rvesse.github.io/airline/) | Annotation-based framework for parsing Git-like command-line arguments. | - | - | -| [JCommander](http://jcommander.org) | Command-line argument-parsing framework with custom types and validation via implementing interfaces. | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Reflectionless command line parser. | 88 | 2d | -| [JLine](https://github.com/jline/jline3) | Includes features from modern shells like completion or history. | 1.7k | 22d | -| [picocli](https://picocli.info) | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. | - | - | - -#### Text-Based User Interfaces - -_Libraries that provide TUI frameworks, or building blocks related functions._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | -| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | -| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | 2.5k | 5mo | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | ANSI escape codes to format console output. | 1.2k | 8mo | -| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Aids the creation of full console-based applications. | 351 | 5y | -| [Lanterna](https://github.com/mabe02/lanterna) | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) | 2.5k | 5mo | - -### Cloud - -_Libraries to integrate or use cloud-specific features._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Provides Java APIs for interacting with Amazon Web Services. | 4.2k | 2d | -| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Client libraries for accessing Google Cloud services from Java applications. | 2.0k | 16d | - -### Code Analysis - -_Tools that provide metrics and quality measurements._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Checkstyle](https://github.com/checkstyle/checkstyle) | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) | 8.8k | 2h | -| [Error Prone](https://github.com/google/error-prone) | Catches common programming mistakes as compile-time errors. | 7.1k | 8h | -| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | Error Prone extensions: extra bug checkers and a large battery of Refaster templates. | 232 | 1d | -| [Infer](https://github.com/facebook/infer) | Modern static analysis tool for verifying the correctness of code. | 15.5k | 1d | -| [jQAssistant](https://jqassistant.org) | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | - | - | -| [NullAway](https://github.com/uber/NullAway) | Eliminates NullPointerExceptions with low build-time overhead. | 4.0k | 10h | -| [PMD](https://github.com/pmd/pmd) | Source code analysis for finding bad coding practices. | 5.3k | 18h | -| [p3c](https://github.com/alibaba/p3c) | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. | 30.8k | 3y | -| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Identifies and prioritizes God Classes and Highly Coupled classes. | - | - | -| [SonarJava](https://github.com/SonarSource/sonar-java) | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) | 1.2k | 14h | -| [Spoon](https://github.com/INRIA/spoon) | Library for analyzing and transforming Java source code. | 1.9k | 1d | -| [Spotbugs](https://github.com/spotbugs/spotbugs) | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) | 3.8k | 3d | - -### Code Coverage - -_Frameworks and tools that enable code coverage metrics collection for test suites._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Clover](https://www.atlassian.com/software/clover) | Relies on source-code instrumentation instead of bytecode instrumentation. | - | - | -| [Cobertura](https://cobertura.github.io/cobertura/) | Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) | - | - | -| [JaCoCo](https://www.eclemma.org/jacoco/) | Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. | - | - | - -### Code Generators - -_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ADT4J](https://github.com/sviperll/adt4j) | JSR-269 code generator for algebraic data types. | 147 | 7y | -| [Auto](https://github.com/google/auto) | Generates factory, service, and value classes. | 10.5k | 11h | -| [Avaje Http Server](https://avaje.io/http/) | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. | - | - | -| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor for automatic DTO and Mapper generation with zero boilerplate. | 6 | 7mo | -| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Automatically generates the Builder pattern. | 833 | 1y | -| [Geci](https://github.com/verhas/javageci) | Discovers files that need generated code, updates automatically and writes to the source with a convenient API. | 135 | 3y | -| [Immutables](https://immutables.github.io) | Annotation processors to generate simple, safe and consistent value objects. | - | - | -| [JavaPoet](https://github.com/square/javapoet) | API to generate source files. | 10.9k | 1y | -| [JHipster](https://github.com/jhipster/generator-jhipster) | Yeoman source code generator for Spring Boot and AngularJS. | 22.3k | 3h | -| [Joda-Beans](https://www.joda.org/joda-beans/) | Small framework that adds queryable properties to Java, enhancing JavaBeans. | - | - | -| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. | 1 | 1mo | -| [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. | 900 | 1mo | -| [Telosys](https://www.telosys.org/) | Simple and light code generator available as an Eclipse Plugin and also as a CLI. | - | - | - -### Compiler-compiler - -_Frameworks that help to create parsers, interpreters or compilers._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ANTLR](https://www.antlr.org) | Complex full-featured framework for top-down parsing. | - | - | -| [JavaCC](https://javacc.github.io/javacc/) | Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. | - | - | -| [JFlex](https://jflex.de) | Lexical analyzer generator. | - | - | - -### Computer Vision - -_Libraries which seek to gain high level information from images and videos._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BoofCV](https://boofcv.org) | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. | - | - | -| [ImageJ](https://imagej.net/ImageJ) | Medical image processing application with an API. | - | - | -| [JavaCV](https://github.com/bytedeco/javacv) | Java interface to OpenCV, FFmpeg, and much more. | 8.3k | 10d | - -### Configuration - -_Libraries that provide external configuration._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [avaje config](https://avaje.io/config/) | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. | - | - | -| [centraldogma](https://github.com/line/centraldogma) | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. | 654 | 5h | -| [config](https://github.com/lightbend/config) | Configuration library supporting Java properties, JSON or its human optimized superset HOCON. | 6.3k | 3mo | -| [Configurate](https://github.com/SpongePowered/Configurate) | Configuration library with support for various configuration formats and transformations. | 449 | 3mo | -| [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. | 50 | 7y | -| [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. | 32 | 3mo | -| [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. | 94 | 1mo | -| [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. | 61 | 3y | -| [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. | - | - | - -### Constraint Satisfaction Problem Solver - -_Libraries that help with implementing optimization and satisfiability problems._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Choco](https://choco-solver.org) | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. | - | - | -| [JaCoP](https://github.com/radsz/jacop) | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) | 231 | 2y | -| [OptaPlanner](https://www.optaplanner.org) | Business planning and resource scheduling optimization solver. | - | - | -| [Timefold](https://timefold.ai/docs) | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. | - | - | - -### CSV - -_Frameworks and libraries that simplify reading/writing CSV data._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FastCSV](https://github.com/osiegmar/FastCSV) | Performance-optimized, dependency-free and RFC 4180 compliant. | 656 | 19d | -| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | Jackson extension for reading and writing CSV. | 194 | 8y | -| [opencsv](http://opencsv.sourceforge.net) | Simple CSV parser. | - | - | -| [Super CSV](https://super-csv.github.io/super-csv/) | Powerful CSV parser with support for Dozer, Joda-Time and Java 8. | - | - | -| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. | 931 | 4y | - -### Data Structures - -_Efficient and specific data structures._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Avro](https://avro.apache.org) | Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. | - | - | -| [Apache Orc](https://orc.apache.org) | Fast and efficient columnar storage format for Hadoop-based workloads. | - | - | -| [Apache Parquet](https://parquet.apache.org) | Columnar storage format based on assembly algorithms from Google's paper on Dremel. | - | - | -| [Apache Thrift](https://thrift.apache.org) | Data interchange format that originated at Facebook. | - | - | -| [Big Queue](https://github.com/bulldog2011/bigqueue) | Fast and persistent queue based on memory-mapped files. | 567 | 9y | -| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. | N/A | N/A | -| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Persistent and immutable analogue of the Java Collections Framework. | 784 | 5mo | -| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's data interchange format. | 70.2k | 2h | -| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Fast and efficient compressed bitmap. | 3.8k | 23d | -| [SBE](https://github.com/real-logic/simple-binary-encoding) | Simple Binary Encoding, one of the fastest message formats around. | - | - | -| [Tape](https://github.com/square/tape) | Lightning-fast, transactional, file-based FIFO. | 2.5k | 7y | -| [Wire](https://github.com/square/wire) | Clean, lightweight protocol buffers. | 4.4k | 2d | - -### Database - -_Everything that simplifies interactions with the database._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Calcite](https://calcite.apache.org) | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. | - | - | -| [Apache Drill](https://drill.apache.org) | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. | - | - | -| [Apache Phoenix](https://phoenix.apache.org) | High-performance relational database layer over HBase for low-latency applications. | - | - | -| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | ArangoDB Java driver. | 205 | 2d | -| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Efficient, in-memory (opt. persisted to disk), off-heap key-value store. | 2.9k | 16d | -| [Debezium](https://debezium.io/) | Low latency data streaming platform for change data capture. | - | - | -| [druid](https://druid.apache.org) | High-performance, column-oriented, distributed data store. | - | - | -| [eXist](https://github.com/eXist-db/exist) | NoSQL document database and application platform. (LGPL-2.1-only) | 457 | 1d | -| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Brings metrics and failover strategies to the most common connection pooling solutions. | 1.2k | 1mo | -| [Flyway](https://flywaydb.org) | Simple database migration tool. | - | - | -| [H2](https://h2database.com) | Small SQL database notable for its in-memory functionality. | - | - | -| [HikariCP](https://github.com/brettwooldridge/HikariCP) | High-performance JDBC connection pool. | 20.9k | 2mo | -| [HSQLDB](https://hsqldb.org/) | HyperSQL 100% Java database. | - | - | -| [JDBI](http://jdbi.org) | Convenient abstraction of JDBC. | - | - | -| [Jedis](https://github.com/xetorthio/jedis) | Small client for interaction with Redis, with methods for commands. | - | - | -| [Jest](https://github.com/searchbox-io/Jest) | Client for the Elasticsearch REST API. | 2.1k | 4y | -| [jetcd](https://github.com/justinsb/jetcd) | Client library for etcd. | 140 | 11y | -| [Jinq](https://github.com/my2iu/Jinq) | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). | 663 | 7mo | -| [jOOQ](https://www.jooq.org) | Generates typesafe code based on SQL schema. | - | - | -| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Distributed ID generate service. | 6.7k | 5y | -| [Lettuce](https://lettuce.io/) | Lettuce is a scalable Redis client for building non-blocking Reactive applications. | - | - | -| [Liquibase](http://www.liquibase.org) | Database-independent library for tracking, managing and applying database schema changes. | - | - | -| [MapDB](http://www.mapdb.org) | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. | - | - | -| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Launcher for MariaDB that requires no installation or external dependencies. | 15 | 5d | -| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with database reverse engineering features. | 15 | 1mo | -| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. | 422 | 27d | -| [Querydsl](http://www.querydsl.com) | Typesafe unified queries. | - | - | -| [QueryStream](https://github.com/querystream/querystream) | Build JPA Criteria queries using a Stream-like API. | 20 | 8mo | -| [QuestDB](https://github.com/questdb/questdb) | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. | 16.5k | 10h | -| [Realm](https://github.com/realm/realm-java) | Mobile database to run directly inside phones, tablets or wearables. | 11.5k | 3mo | -| [Redisson](https://github.com/redisson/redisson) | Allows for distributed and scalable data structures on top of a Redis server. | 24.2k | 2d | -| [requery](https://github.com/requery/requery) | Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. | 3.1k | 5y | -| [Speedment](https://github.com/speedment/speedment) | Database access library that utilizes Java 8's Stream API for querying. | 2.1k | 2y | -| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | Allows you to use MongoDB query language to query your relational database. | 101 | 19d | -| [Trino](https://trino.io) | Distributed SQL query engine for big data. | - | - | -| [Vibur DBCP](https://www.vibur.org) | JDBC connection pool library with advanced performance monitoring capabilities. | - | - | -| [Xodus](https://github.com/JetBrains/xodus) | Highly concurrent transactional schema-less and ACID-compliant embedded database. | 1.3k | 3mo | -| [CosId](https://github.com/Ahoo-Wang/CosId) | Universal, flexible, high-performance distributed ID generator. | 599 | 1d | -| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. | 20.6k | 1h | - -### Date and Time - -_Libraries related to handling date and time._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [iCal4j](https://github.com/ical4j/ical4j) | Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. | 821 | 9d | -| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Determines the holidays for a given year, country/name and eventually state/region. | 192 | 3y | -| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Additional date-time classes that complement those in JDK 8. | 420 | 4mo | -| [Time4J](https://github.com/MenoData/Time4J) | Advanced date and time library. (LGPL-2.1-only) | 470 | 1y | - -### Decentralization - -_Libraries that handle decentralization tasks._ - -### Dependency Injection - -_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache DeltaSpike](https://deltaspike.apache.org) | CDI extension framework. | - | - | -| [Avaje Inject](https://avaje.io/inject/) | Microservice-focused compile-time injection framework without reflection. | - | - | -| [Dagger](https://dagger.dev/) | Compile-time injection framework without reflection. | - | - | -| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight, JSR-330-compliant dependency injection library. | 362 | 8y | -| [Governator](https://github.com/Netflix/governator) | Extensions and utilities that enhance Google Guice. | 826 | 22d | -| [Guice](https://github.com/google/guice) | Lightweight and opinionated framework that completes Dagger. | 12.7k | 1mo | -| [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) | 60 | 5y | - -### Development - -_Augmentation of the development process at a fundamental level._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AspectJ](https://www.eclipse.org/aspectj/) | Seamless aspect-oriented programming extension. | - | - | -| [DCEVM](https://dcevm.github.io) | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | - | - | -| [Faux Pas](https://github.com/zalando/faux-pas) | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. | 140 | 6mo | -| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Unlimited runtime class and resource redefinition. (GPL-2.0-only) | 2.5k | 19d | -| [JavaParser](https://github.com/javaparser/javaparser) | Parse, modify and generate Java code. | 6.0k | 6h | -| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Symbol solver. | 296 | 7y | -| [Manifold](https://github.com/manifold-systems/manifold) | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. | 2.7k | 7d | -| [NoException](https://noexception.machinezoo.com) | Allows checked exceptions in functional interfaces and converts exceptions to Optional return. | - | - | -| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. | 79 | 6y | -| [Tail](https://nrktkt.github.io/tail/) | Enable infinite recursion using tail call optimization. | - | - | - -### Distributed Applications - -_Libraries and frameworks for writing distributed and fault-tolerant applications._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Geode](https://geode.apache.org) | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. | - | - | -| [Apache Storm](https://storm.apache.org) | Realtime computation system. | - | - | -| [Apache ZooKeeper](https://zookeeper.apache.org) | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. | - | - | -| [Atomix](https://atomix.io) | Fault-tolerant distributed coordination framework. | - | - | -| [Axon](https://axoniq.io) | Framework for creating CQRS applications. | - | - | -| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) | 45 | 6y | -| [Failsafe](https://github.com/jhalterman/failsafe) | Simple failure handling with retries and circuit breakers. | - | - | -| [Hazelcast](https://github.com/hazelcast/hazelcast) | Highly scalable in-memory datagrid with a free open-source version. | 6.5k | 2h | -| [JGroups](http://www.jgroups.org) | Toolkit for reliable messaging and cluster creation. | - | - | -| [Quasar](http://docs.paralleluniverse.co/quasar/) | Lightweight threads and actors for the JVM. | - | - | -| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance library. | 10.5k | 6d | -| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | High-performance reverse proxy server with specialized session management and credential replay functionality. | 86 | 22d | -| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Embeddable Cluster-Membership library based on SWIM and gossip protocol. | 636 | 10h | -| [Zuul](https://github.com/Netflix/zuul) | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. | 14.0k | 2d | - -### Distributed Transactions - -_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Atomikos](https://www.atomikos.com) | Provides transactions for REST, SOA and microservices with support for JTA and XA. | - | - | -| [Bitronix](https://github.com/bitronix/btm) | Simple but complete implementation of the JTA 1.1 API. | - | - | -| [Narayana](https://narayana.io) | Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) | - | - | -| [Seata](https://github.com/seata/seata) | Delivers high performance and easy to use distributed transaction services under a microservices architecture. | - | - | - -### Distribution - -_Tools that handle the distribution of applications in native formats._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Artipie](https://github.com/artipie/artipie) | Binary artifact management toolkit which hosts them on the file system or S3. | 649 | 10mo | -| [Capsule](https://github.com/puniverse/capsule) | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. | 1.2k | 9y | -| [Central Repository](https://search.maven.org) | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. | - | - | -| [Getdown](https://github.com/threerings/getdown) | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. | 526 | 1y | -| [IzPack](http://izpack.org) | Setup authoring tool for cross-platform deployments. | - | - | -| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. | - | - | -| [jDeploy](https://www.jdeploy.com) | Deploy desktop apps as native Mac, Windows or Linux bundles. | - | - | -| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | Builds optimized runtimes over HTTP. | 50 | 1y | -| [packr](https://github.com/libgdx/packr) | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. | 2.6k | 1y | -| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Maven plugin for making self-executing JARs. | 133 | 2y | - -### Document Processing - -_Libraries that assist with processing office document formats._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache POI](https://poi.apache.org) | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). | - | - | -| [documents4j](https://documents4j.com/#/) | API for document format conversion using third-party converters such as MS Word. | - | - | -| [docx4j](https://www.docx4java.org/trac/docx4j) | Create and manipulate Microsoft Open XML files. | - | - | -| [fastexcel](https://github.com/dhatim/fastexcel) | High performance library to read and write large Excel (XLSX) worksheets. | 855 | 22d | -| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. | 81 | 1y | - -### Financial - -_Libraries related to the financial domain._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework. | 650 | 1y | -| [Parity](https://github.com/paritytrading/parity) | Platform for trading venues. | 501 | 3y | -| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency financial information exchange. | 339 | 12d | -| [Square](https://github.com/square/connect-java-sdk) | Integration with the Square API. | 40 | 6y | -| [Stripe](https://github.com/stripe/stripe-java) | Integration with the Stripe API. | 942 | 1d | -| [ta4j](https://github.com/ta4j/ta4j) | Library for technical analysis. | 2.3k | 1d | - -### Formal Verification - -_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CATG](https://github.com/ksen007/janala2) | Concolic unit testing engine. Automatically generates unit tests using formal methods. | N/A | N/A | -| [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. | 593 | 22d | -| [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 - -_Libraries that facilitate functional programming._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cyclops](https://github.com/aol/cyclops) | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. | 1.3k | 3y | -| [derive4j](https://github.com/derive4j/derive4j) | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) | 577 | 4y | -| [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. | 2.1k | 1y | -| [Packrat](https://github.com/jhspetersson/packrat) | Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. | 24 | 3d | -| [protonpack](https://github.com/poetix/protonpack) | Collection of stream utilities. | 485 | 1y | -| [StreamEx](https://github.com/amaembo/streamex) | Enhances Java 8 Streams. | 2.3k | 4mo | -| [Vavr](https://www.vavr.io) | Functional component library that provides persistent data types and functional control structures. | - | - | - -### Game Development - -_Frameworks that support the development of games._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FXGL](https://almasb.github.io/FXGL/) | JavaFX Game Development Framework. | - | - | -| [JBox2D](http://www.jbox2d.org/) | Port of the renowned C++ 2D physics engine. | - | - | -| [jMonkeyEngine](https://jmonkeyengine.org) | Game engine for modern 3D development. | - | - | -| [libGDX](https://libgdx.com) | All-round cross-platform, high-level framework. | - | - | -| [Litiengine](https://litiengine.com/) | AWT-based, lightweight 2D game engine. | - | - | -| [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. | N/A | N/A | -| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. | - | - | - -### Geospatial - -_Libraries for working with geospatial data and algorithms._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache SIS](https://sis.apache.org) | Library for developing geospatial applications. | - | - | -| [Geo](https://github.com/davidmoten/geo) | GeoHash utilities in Java. | 431 | 16d | -| [GeoTools](https://geotools.org) | Library that provides tools for geospatial data. (LGPL-2.1-only) | - | - | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | Road-routing engine. Used as a Java library or standalone web service. | 6.2k | 2d | -| [H2GIS](http://www.h2gis.org) | Spatial extension of the H2 database. (LGPL-3.0-only) | - | - | -| [Jgeohash](https://astrapi69.github.io/jgeohash/) | Library for using the GeoHash algorithm. | - | - | -| [Mapsforge](https://github.com/mapsforge/mapsforge) | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) | 1.3k | 1d | -| [Spatial4j](https://github.com/locationtech/spatial4j) | General-purpose spatial/geospatial library. | 955 | 7mo | - -### GUI - -_Libraries to create modern graphical user interfaces._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Successor of Swing. | - | - | -| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Visual layout tool for JavaFX applications. | - | - | -| [SnapKit](https://github.com/reportmill/SnapKit) | Modern Java UI library for both desktop and web. | 310 | 16h | -| [SWT](https://www.eclipse.org/swt/) | Graphical widget toolkit. | - | - | - -### High Performance - -_Everything about high-performance computation, from collections to specific libraries._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Agrona](https://github.com/real-logic/Agrona) | Data structures and utility methods that are common in high-performance applications. | - | - | -| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Inter-thread messaging library. | - | - | -| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Collections framework inspired by Smalltalk. | - | - | -| [fastutil](http://fastutil.di.unimi.it) | Fast and compact type-specific collections. | - | - | -| [HPPC](https://labs.carrotsearch.com/hppc.html) | Primitive collections. | - | - | -| [JCTools](https://github.com/JCTools/JCTools) | Concurrency tools currently missing from the JDK. | 3.8k | 1y | -| [Koloboke](https://github.com/leventov/Koloboke) | Carefully designed extension of the Java Collections Framework with primitive specializations and more. | 1.0k | 9y | - -### HTTP Clients - -_Libraries that assist with creating HTTP requests and/or binding responses._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache HttpComponents](https://hc.apache.org/) | Toolset of low-level Java components focused on HTTP and associated protocols. | - | - | -| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Asynchronous HTTP and WebSocket client library. | 6.4k | 7d | -| [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. | 9.8k | 1h | -| [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. | 1.4k | 19d | -| [methanol](https://github.com/mizosoft/methanol) | HTTP client extensions library. | 286 | 17d | -| [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. | 4.6k | 22d | -| [Riptide](https://github.com/zalando/riptide) | Client-side response routing for Spring's RestTemplate. | 327 | 4mo | -| [unirest-java](https://github.com/Kong/unirest-java) | Simplified, lightweight HTTP client library. | 2.7k | 1mo | - -### Hypermedia Types - -_Libraries that handle serialization to hypermedia types._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [hate](https://github.com/blackdoor/hate) | Builds hypermedia-friendly objects according to HAL specification. | 25 | 2y | -| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | JSON-LD implementation. | 386 | 2y | -| [Siren4J](https://github.com/eserating-chwy/siren4j) | Library for the Siren specification. | 28 | 8y | -| [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. | 1.1k | 27d | - -### IDE - -_Integrated development environments that try to simplify several aspects of development._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Eclipse](https://www.eclipse.org) | Established open-source project with support for lots of plugins and languages. | - | - | -| [jGRASP](https://www.jgrasp.org) | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. | - | - | -| [NetBeans](https://netbeans.apache.org) | Provides integration for several Java SE and EE features, from database access to HTML5. | - | - | -| [SnapCode](https://reportmill.com/SnapCode/) | Modern IDE for Java running in the browser, focused on education. | - | - | -| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. | - | - | - -### Imagery - -_Libraries that assist with the creation, evaluation or manipulation of graphical images._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. | 9 | 15d | -| [Imgscalr](https://github.com/rkalla/imgscalr) | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. | 1.2k | 2y | -| [Tess4J](https://github.com/nguyenq/tess4j) | JNA wrapper for Tesseract OCR API. | 1.7k | 11d | -| [Thumbnailator](https://github.com/coobird/thumbnailator) | High-quality thumbnail generation library. | 5.4k | 5d | -| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | Collection of plugins that extend the number of supported image file formats. | 2.1k | 21h | -| [ZXing](https://github.com/zxing/zxing) | Multi-format 1D/2D barcode image processing library. | 33.8k | 1mo | -| [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. | 385 | 7mo | -| [vips-ffm](https://github.com/lopcode/vips-ffm) | Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. | 98 | 8d | -| [scrimage](https://sksamuel.github.io/scrimage) | Immutable, functional, and performant JVM library for manipulation of images. | - | - | - -### Introspection - -_Libraries that help make the Java introspection and reflection API easier and faster to use._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ClassGraph](https://github.com/classgraph/classgraph) | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. | 3.0k | 2mo | -| [jOOR](https://github.com/jOOQ/jOOR) | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. | 2.8k | 1y | -| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. | - | - | -| [Objenesis](http://objenesis.org) | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. | - | - | -| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | ReflectASM is a very small Java library that provides high performance reflection by using code generation. | 1.5k | 7mo | -| [Reflections](https://github.com/ronmamo/reflections) | Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. | 4.8k | 2y | - -### Job Scheduling - -_Libraries for scheduling background jobs._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 2.8k | 2d | -| [Quartz](https://github.com/quartz-scheduler/quartz) | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. | 6.7k | 1mo | -| [Sundial](https://github.com/knowm/Sundial) | Lightweight framework to simply define jobs, define triggers and start the scheduler. | 276 | 1y | -| [Wisp](https://github.com/Coreoz/Wisp) | Simple library with minimal footprint and straightforward API. | 141 | 7mo | -| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent and cluster-friendly scheduler. | 1.5k | 1d | -| [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. | 629 | 4y | -| [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. | 4.1k | 9h | - -### JSON - -_Libraries for serializing and deserializing JSON to and from Java objects._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Avaje Jsonb](https://avaje.io/jsonb/) | Reflection-free Json binding via source code generation with Jackson-like annotations. | - | - | -| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | JSON library with advanced compile time databinding. | 1.1k | 1y | -| [Genson](http://genson.io) | Powerful and easy-to-use Java-to-JSON conversion library. | - | - | -| [Gson](https://github.com/google/gson) | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. | 24.3k | 6d | -| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | High-performance JSON parser, 2x faster than Jackson. | 465 | 8y | -| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Set of Jackson modules for Java 8 datatypes and features. | 417 | 8d | -| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. | 264 | 6mo | -| [Jackson](https://github.com/FasterXML/jackson) | Similar to GSON, but offers performance gains if you need to instantiate the library more often. | 9.6k | 5d | -| [JSON-io](https://github.com/jdereg/json-io) | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. | 343 | 2d | -| [jsoniter](http://jsoniter.com) | Fast and flexible library with iterator and lazy parsing API. | - | - | -| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. | 3.2k | 9y | -| [Moshi](https://github.com/square/moshi) | Modern JSON library, less opinionated and uses built-in types like List and Map. | 10.1k | 3d | -| [Yasson](https://github.com/eclipse-ee4j/yasson) | Binding layer between classes and JSON documents similar to JAXB. | 215 | 5mo | -| [fastjson](https://github.com/alibaba/fastjson) | Very fast processor with no additional dependencies and full data binding. | 25.7k | 2y | -| [Jolt](https://github.com/bazaarvoice/jolt) | JSON to JSON transformation tool. | 1.7k | 2y | -| [JsonPath](https://github.com/json-path/JsonPath) | Extract data from JSON using XPATH-like syntax. | 9.4k | 2mo | -| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath processor dedicated to processing big and complicated JSON data. | - | - | - -### JVM and JDK - -_Current implementations of the JVM/JDK._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | - | - | -| [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) | 21.4k | 14h | -| [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. | - | - | -| [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) | N/A | N/A | -| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Zulu](https://www.azul.com/products/zulu-community/) | OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! | 339 | 2mo | - -### Logging - -_Libraries that log the behavior of an application._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 58 | 1y | -| [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. | - | - | -| [Logbook](https://github.com/zalando/logbook) | Extensible, open-source library for HTTP request and response logging. | 2.0k | 8d | -| [Logstash](https://www.elastic.co/logstash) | Tool for managing log files. | - | - | -| [p6spy](https://github.com/p6spy/p6spy) | Enables logging for all JDBC transactions without changes to the code. | 2.2k | 3y | -| [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. | 180 | 6mo | -| [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 - -_Tools that provide specific statistical algorithms for learning from data._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Flink](https://flink.apache.org) | Fast, reliable, large-scale data processing engine. | - | - | -| [Apache Mahout](https://mahout.apache.org) | Scalable algorithms focused on collaborative filtering, clustering and classification. | - | - | -| [DatumBox](http://www.datumbox.com) | Provides several algorithms and pre-trained models for natural language processing. | - | - | -| [Deeplearning4j](https://deeplearning4j.org) | Distributed and multi-threaded deep learning library. | - | - | -| [DJL](https://djl.ai) | High-level and engine-agnostic framework for deep learning. | - | - | -| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Seamlessly integrate with remote deep learning and language models programmatically. | - | - | -| [JSAT](https://github.com/EdwardRaff/JSAT) | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) | 800 | 3y | -| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | CLI tool to transpile models into native code. | 2.9k | 3y | -| [Neureka](https://github.com/Gleethos/neureka) | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. | 86 | 1y | -| [oj! Algorithms](https://www.ojalgo.org/) | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. | - | - | -| [Oryx 2](https://github.com/OryxProject/oryx) | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. | 1.8k | 4y | -| [Siddhi](https://github.com/siddhi-io/siddhi) | Cloud native streaming and complex event processing engine. | 1.6k | 5mo | -| [Smile](https://github.com/haifengl/smile) | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. | 6.3k | 8h | -| [Tribuo](https://tribuo.org/) | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. | - | - | -| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | - | - | - -### Messaging - -_Tools that help send messages between clients to ensure protocol independency._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Aeron](https://github.com/real-logic/Aeron) | Efficient, reliable, unicast and multicast message transport. | - | - | -| [Apache ActiveMQ](https://activemq.apache.org) | Message broker that implements JMS and converts synchronous to asynchronous communication. | - | - | -| [Apache Camel](https://camel.apache.org) | Glues together different transport APIs via Enterprise Integration Patterns. | - | - | -| [Apache Kafka](https://kafka.apache.org) | High-throughput distributed messaging system. | - | - | -| [Apache Pulsar](https://pulsar.apache.org) | Distributed pub/sub-messaging system. | - | - | -| [Apache RocketMQ](https://rocketmq.apache.org) | Fast, reliable, and scalable distributed messaging platform. | - | - | -| [Apache Qpid](https://qpid.apache.org) | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. | - | - | -| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. | - | - | -| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. | 64 | 3mo | -| [EventBus](https://github.com/greenrobot/EventBus) | Simple publish/subscribe event bus. | 24.8k | 3y | -| [Hermes](http://hermes.allegro.tech) | Fast and reliable message broker built on top of Kafka. | - | - | -| [JeroMQ](https://github.com/zeromq/jeromq) | Implementation of ZeroMQ. | 2.4k | 10mo | -| [Nakadi](https://github.com/zalando/nakadi) | Provides a RESTful API on top of Kafka. | 968 | 1y | -| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | RabbitMQ client. | 1.3k | 48m | -| [Smack](https://github.com/igniterealtime/Smack) | Cross-platform XMPP client library. | 2.4k | 1mo | -| [NATS client](https://github.com/nats-io/nats.java) | NATS client. | 640 | 16h | - -### Microservice - -_Tools for creating and managing microservices._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ActiveRPC](https://rpc.activej.io) | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. | - | - | -| [Armeria](https://github.com/line/armeria) | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. | 5.1k | 23h | -| [consul-api](https://github.com/Ecwid/consul-api) | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. | 423 | 3y | -| [Eureka](https://github.com/Netflix/eureka) | REST-based service registry for resilient load balancing and failover. | 12.7k | 21d | -| [Helidon](https://helidon.io) | Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. | - | - | -| [JDA](https://github.com/DV8FromTheWorld/JDA) | Wrapping of the Discord REST API and its WebSocket events. | - | - | -| [KeenType](https://github.com/DaveJarvis/KeenType) | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. | N/A | N/A | -| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. | 3.6k | 15d | -| [Micronaut](https://micronaut.io) | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. | - | - | -| [Nacos](https://nacos.io) | Dynamic service discovery, configuration and service management platform for building cloud native applications. | - | - | -| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | Java libraries for using OpenAI's GPT-3 API. | 4.8k | 1y | -| [Quarkus](https://quarkus.io) | Kubernetes stack tailored for the HotSpot and Graal VM. | - | - | -| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control component enabling reliability, resilience and monitoring for microservices. | 23.0k | 16d | - -### Miscellaneous - -_Everything else._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CQEngine](https://github.com/npgall/cqengine) | Ultra-fast, SQL-like queries on Java collections. | 1.8k | 3y | -| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | Implementation and explanation of the most common design patterns. | 93.6k | 7mo | -| [FF4J](https://github.com/ff4j/ff4j) | Feature Flags for Java. | 1.4k | 18d | -| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) | 23.1k | 6y | -| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. | 7 | 8d | -| [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. | 3 | 11d | -| [J2ObjC](https://github.com/google/j2objc) | Java-to-Objective-C translator for porting Android libraries to iOS. | 6.0k | 14h | -| [JBake](https://jbake.org) | Static website generator. | - | - | -| [JBot](https://github.com/rampatra/jbot) | Framework for building chatbots. (GPL-3.0-only) | 1.2k | 3mo | -| [JCuda](http://jcuda.org) | JCuda offers Java bindings for CUDA and CUDA-related libraries. | - | - | -| [JEmoji](https://github.com/felldo/JEmoji) | An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. | 102 | 22d | -| [Jimfs](https://github.com/google/jimfs) | In-memory file system. | 2.5k | 6d | -| [Joda-Money](https://www.joda.org/joda-money/) | Basic currency and money classes and algorithms not provided by the JDK. | - | - | -| [jOOX](https://github.com/jooq/joox) | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. | 505 | 1y | -| [JPad](http://jpad.io) | Snippet runner. | - | - | -| [jsweet](https://github.com/cincheo/jsweet) | Source transpiler to TypeScript/JavaScript. | 1.5k | 2y | -| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. | 1.6k | 4y | -| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | Open-source, reverse-proxy framework. | - | - | -| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Lightweight, small and customizable FTP server. | 186 | 6mo | -| [LittleProxy](https://github.com/adamfisk/LittleProxy) | High performance HTTP proxy atop Netty's event-based networking library. | 2.1k | 8y | -| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Popular Java 8 guide. | 16.8k | 2y | -| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect uses of legacy Java APIs. | 383 | 6d | -| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | Browser extension which allows to navigate through code on GitHub more efficiently. | 5.3k | 2y | -| [OpenRefine](http://openrefine.org) | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. | - | - | -| [PipelinR](https://github.com/sizovs/pipelinr) | Small utility library for using handlers and commands with pipelines. | 476 | 4mo | -| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. | 915 | 6mo | -| [RR4J](https://github.com/Kartikvk1996/RR4J) | RR4J is a tool that records java bytecode execution and later allows developers to replay locally. | 25 | 3y | -| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Mailing with a clean and fluent API. | 1.3k | 8mo | -| [Smooks](https://github.com/smooks/smooks) | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) | 414 | 10mo | -| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Library for the Svix API to send webhooks and verify signatures. | N/A | N/A | -| [Togglz](https://www.togglz.org) | Implementation of the Feature Toggles pattern. | - | - | -| [TypeTools](https://github.com/jhalterman/typetools) | Tools for resolving generic types. | 628 | 2y | -| [webcam-capture](https://github.com/sarxos/webcam-capture) | Library for using built-in and external webcams directly in Java. | 2.3k | 2mo | -| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | Processes XML by using annotations or XPath within code. | 76 | 5mo | -| [yGuard](https://github.com/yWorks/yGuard) | Obfuscation via renaming and shrinking. | 450 | 6mo | -| [JBang](https://github.com/maxandersen/jbang/) | JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. | N/A | N/A | - -### Mobile Development - -_Tools for creating or managing mobile applications._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Codename One](https://www.codenameone.com) | Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | -| [MobileUI](https://mobileui.dev) | Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. | - | - | -| [Multi-OS Engine](https://multi-os-engine.org) | Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. | - | - | - -### Monitoring - -_Tools that observe/monitor applications in production by providing telemetry._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apitally](https://github.com/apitally/apitally-java) | Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. | 5 | 3d | -| [Automon](https://github.com/stevensouza/automon) | Combines the power of AOP with monitoring and/or logging tools. | 573 | 1y | -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Expose metrics via JMX or HTTP and send them to a database. | 7.9k | 16d | -| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. | 54 | 4y | -| [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. | N/A | N/A | -| [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. | - | - | -| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Jaeger client. | 490 | 3y | -| [JavaMelody](https://github.com/javamelody/javamelody) | Performance monitoring and profiling. | 3.0k | 9d | -| [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. | 1.7k | 4y | -| [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. | 4.8k | 7h | -| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Vendor-neutral distributed tracing facade for the most popular tracer libraries. | 287 | 6h | -| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Remote developer console from the browser for Java 8 via bytecode injection. | 164 | 5y | -| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. | 2.3k | 14h | -| [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. | 2.3k | 6h | -| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Open-source performance monitoring and transaction tracing for JVM apps. | 1.7k | 2y | -| [Sysmon](https://github.com/palantir/Sysmon) | Lightweight platform monitoring tool for Java VMs. | 156 | 9y | -| [zipkin](https://zipkin.io) | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. | - | - | - -### Native - -_For working with platform-specific native libraries._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Aparapi](https://github.com/Syncleus/aparapi) | Converts bytecode to OpenCL which allows execution on GPUs. | 482 | 4y | -| [JavaCPP](https://github.com/bytedeco/javacpp) | Provides efficient and easy access to native C++. | 4.7k | 29d | -| [JNA](https://github.com/java-native-access/jna) | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. | 8.9k | 29d | -| [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). | 1.3k | 2mo | -| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Native library loader for extracting and loading native libraries from Java. | 215 | 1y | - -### Natural Language Processing - -_Libraries that specialize in processing text._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | Provides common annotators for plain text input. (Research and Academic Use License) | 480 | 3y | -| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) | - | - | -| [DKPro](https://dkpro.github.io) | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. | - | - | -| [Hypherator](https://github.com/ejossev/hypherator-java) | Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. | 3 | 6mo | -| [LingPipe](http://alias-i.com/lingpipe/) | Toolkit for tasks ranging from POS tagging to sentiment analysis. | - | - | - -### Networking - -_Libraries for building network servers._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Client for server-sent events (SSE). | 20 | 3y | -| [Comsat](https://github.com/puniverse/comsat) | Integrates standard Java web-related APIs with Quasar fibers and actors. | 595 | 9y | -| [Dubbo](https://github.com/apache/dubbo) | High-performance RPC framework. | 41.7k | 1d | -| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework. Used as a network layer in Glassfish. | - | - | -| [gRPC-java](https://github.com/grpc/grpc-java) | RPC framework based on protobuf and HTTP/2. | 11.9k | 1d | -| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. | 1.8k | 5y | -| [MINA](https://mina.apache.org) | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. | - | - | -| [Netty](https://netty.io) | Framework for building high-performance network applications. | - | - | -| [Drift](https://github.com/airlift/drift) | Easy-to-use, annotation-based library for creating Thrift clients and serializable types. | 248 | 3mo | -| [ServiceTalk](https://github.com/apple/servicetalk) | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. | 1.0k | 9h | -| [sshj](https://github.com/hierynomus/sshj) | Programmatically use SSH, SCP or SFTP. | 2.6k | 7mo | -| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. | 207 | 1d | -| [Undertow](http://undertow.io) | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | - | - | -| [urnlib](https://github.com/slub/urnlib) | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) | 34 | 9d | -| [Fluency](https://github.com/komamitsu/fluency) | High throughput data ingestion logger to Fluentd and Fluent Bit. | 163 | 3d | - -### ORM - -_APIs that handle the persistence of objects._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Cayenne](https://cayenne.apache.org) | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. | - | - | -| [Doma](https://github.com/domaframework/doma) | Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. | 494 | 1d | -| [Ebean](https://ebean.io) | Provides simple and fast data access. | - | - | -| [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. | 20.3k | 6d | -| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | A powerful enhanced toolkit of MyBatis for simplifying development. | 17.3k | 8d | -| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord ORM for rapid development and convention over configuration. | 1.3k | 1y | -| [Permazen](https://github.com/permazen/permazen) | Language-natural persistence layer. | 422 | 3mo | -| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Simple database and CSV mapper. | 454 | 1y | - -### PaaS - -_Java platform as a service._ - -### Pathfinding - -_Algorithms and libraries for finding routes in graphs and spatial environments._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. | 236 | 1h | - -### PDF - -_Tools to help with PDF files._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache FOP](https://xmlgraphics.apache.org/fop/) | Creates PDFs from XSL-FO. | - | - | -| [Apache PDFBox](https://pdfbox.apache.org) | Toolbox for creating and manipulating PDFs. | - | - | -| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Abstraction layer to JasperReports. (LGPL-3.0-only) | - | - | -| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Simplifies JasperReports. (LGPL-3.0-only) | 240 | 4mo | -| [Eclipse BIRT](https://www.eclipse.org/birt) | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. | - | - | -| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) | 2.2k | 5h | -| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Complex reporting engine. (LGPL-3.0-only) | - | - | -| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. | 2.1k | 3y | -| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) | 4.1k | 4mo | -| [Tabula](https://github.com/tabulapdf/tabula-java) | Extracts tables from PDF files. | 2.0k | 9mo | - -### Performance analysis - -_Tools for performance analysis, profiling and benchmarking._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | Low-overhead, bias-free sampling profiler. | 1.3k | 3y | -| [jHiccup](https://github.com/giltene/jHiccup) | Logs and records platform JVM stalls. | 697 | 4y | -| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Analyze the JIT compiler optimisations made by the HotSpot JVM. | 3.3k | 10d | -| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | -| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | Utilities for latency measurement and reporting. | 465 | 1y | - -### Platform - -_Frameworks that are suites of multiple libraries encompassing several categories._ - -#### Apache Commons - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | -| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | -| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | -| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | -| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | -| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | -| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | -| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | -| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | -| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | -| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | -| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | -| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | -| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | -| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | -| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | -| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | -| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | -| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | -| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | -| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | -| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | -| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | -| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | -| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | -| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | -| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | -| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | -| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | -| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | -| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | -| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | -| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | -| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | -| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | -| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | -| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | -| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | -| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | -| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | -| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | -| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | -| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | -| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | -| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | -| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | -| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | -| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | -| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | -| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | -| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | -| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | -| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | -| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | - -#### Other - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | -| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | -| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | -| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | - -### Processes - -_Libraries that help the management of operating system processes._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 2d | -| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 1y | -| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | - -### Reactive libraries - -_Libraries for developing reactive applications._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 4.9k | 2y | -| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 29d | -| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 21d | -| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | - -### REST Frameworks - -_Frameworks specifically for creating RESTful services._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Dropwizard](https://github.com/dropwizard/dropwizard) | Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. | 8.6k | 43m | -| [Elide](https://elide.io) | Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. | - | - | -| [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. | 934 | 5y | -| [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. | 2.5k | 2mo | -| [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. | 940 | 1y | -| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. | 661 | 1mo | -| [Spark](http://sparkjava.com) | Sinatra inspired framework. | - | - | -| [Crnk](http://www.crnk.io) | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. | - | - | -| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | Automates the generation of API documentation using Spring Boot projects. | 3.7k | 6d | -| [Swagger](https://swagger.io) | Standard, language-agnostic interface to REST APIs. | - | - | -| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. | 25.6k | 22m | - -### Science - -_Libraries for scientific computing, analysis and visualization._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [BioJava](https://biojava.org/) | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. | - | - | -| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. | - | - | -| [DataMelt](https://datamelt.org/) | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | - | - | -| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Modular, light and easy graph framework for theoretic algorithms. | 127 | 2y | -| [GraphStream](http://graphstream-project.org) | Library for modeling and analyzing dynamic graphs. | - | - | -| [JFreeChart](http://www.jfree.org/jfreechart/) | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | - | - | -| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph library that provides mathematical graph-theory objects and algorithms. | 2.7k | 11h | -| [JGraphX](https://github.com/jgraph/jgraphx) | Library for visualizing (mainly Swing) and interacting with node-edge graphs. | 687 | 5y | -| [LogicNG](https://github.com/logic-ng/LogicNG) | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. | 149 | 1y | -| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Library for geophysical scientific computation, visualization and digital signal analysis. | 82 | 5y | -| [Morpheus](https://github.com/zavtech/morpheus-core) | Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. | 244 | 7y | -| [Orekit](https://www.orekit.org/) | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. | - | - | -| [Orson-Charts](https://github.com/jfree/orson-charts) | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) | 120 | 6mo | -| [Tablesaw](https://github.com/jtablesaw/tablesaw) | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. | 3.7k | 6mo | -| [XChart](https://github.com/knowm/XChart) | Light-weight library for plotting data. Many customizable chart types are available. | 1.6k | 3mo | - -### Search - -_Engines that index documents for search and analysis._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Lucene](https://lucene.apache.org) | High-performance, full-featured, cross-platform, text search engine library. | - | - | -| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search engine optimized for high-volume traffic. | - | - | -| [Elasticsearch](https://www.elastic.co) | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. | - | - | -| [Indexer4j](https://github.com/haeungun/indexer4j) | Simple and light full text indexing and searching library. | 56 | 6y | - -### Security - -_Libraries that handle security, authentication, authorization or session management._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Shiro](https://shiro.apache.org) | Performs authentication, authorization, cryptography and session management. | - | - | -| [Ayza](https://github.com/Hakky54/ayza) | High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. | 564 | 5d | -| [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. | 40 | 10mo | -| [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. | 219 | 4y | -| [jjwt](https://github.com/jwtk/jjwt) | JSON web token for Java and Android. | 11.0k | 2mo | -| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. | 14 | 5mo | -| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JSON Web Key Set parser. | 204 | 3mo | -| [Kalium](https://github.com/abstractj/kalium) | Binding for the Networking and Cryptography (NaCl) library. | 218 | 7y | -| [Keycloak](https://www.keycloak.org) | Integrated SSO and IDM for browser apps and RESTful web services. | - | - | -| [Keywhiz](https://github.com/square/keywhiz) | System for distributing and managing secrets. | 2.6k | 2y | -| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Advanced password strength estimation. | 308 | 4mo | -| [OACC](http://oaccframework.org) | Provides permission-based authorization services. | - | - | -| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. | 860 | 22d | -| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). | 232 | 1y | -| [pac4j](https://github.com/pac4j/pac4j) | Security engine. | 2.5k | 2h | -| [Passay](http://www.passay.org/) | Enforce password policy by validating candidate passwords against a configurable rule set. | - | - | -| [Password4j](https://github.com/Password4j/password4j) | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. | 398 | 4mo | -| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. | 47 | 4y | -| [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. | 1.9k | 1y | -| [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. | - | - | - -### Serialization - -_Libraries that handle serialization with high efficiency._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [FlatBuffers](https://github.com/google/flatbuffers) | Memory-efficient serialization library that can access serialized data without unpacking and parsing it. | 25.3k | 17d | -| [FST](https://github.com/RuedigerMoeller/fast-serialization) | JDK-compatible, high-performance object graph serialization. | 1.6k | 4y | -| [Fury](https://github.com/alipay/fury) | Blazing fast object graph serialization framework powered by JIT and zero-copy. | - | - | -| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast and efficient object graph serialization framework. | 6.5k | 23d | -| [MessagePack](https://github.com/msgpack/msgpack-java) | Efficient binary serialization format. | 1.5k | 2d | -| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serializing objects in the PHP serialization format. | 19 | 7y | - -### Server - -_Servers specifically used to deploy applications._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Tomcat](https://tomcat.apache.org) | Robust, all-round server for Servlet and JSP. | - | - | -| [Apache TomEE](https://tomee.apache.org) | Tomcat plus Java EE. | - | - | -| [Jetty](https://www.eclipse.org/jetty/) | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. | - | - | -| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny, easily embeddable HTTP server. | 7.2k | 6y | -| [WildFly](https://www.wildfly.org) | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | - | - | - -### Template Engine - -_Tools that substitute expressions in a template._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Freemarker](https://freemarker.apache.org) | Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. | - | - | -| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logicless and semantic Mustache templates. | - | - | -| [Jade4J](https://github.com/neuland/jade4j) | Implementation of Pug (formerly known as Jade). | 706 | 4y | -| [Jamal](https://github.com/verhas/jamal) | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. | 65 | 8mo | -| [jstachio](https://github.com/jstachio/jstachio) | Typesafe Mustache templating engine. | 315 | 8mo | -| [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. | 1.1k | 2d | -| [Jtwig](https://github.com/jtwig/jtwig) | Modular, configurable and fully tested template engine. | 300 | 8y | -| [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. | 781 | 2mo | -| [StringTemplate](https://github.com/antlr/stringtemplate4) | Template engine for generating source code, web pages, emails, or any other formatted text output. | 1.0k | 7mo | -| [Thymeleaf](https://www.thymeleaf.org) | Aims to be a substitute for JSP and works for XML files. | - | - | - -### Testing - -_Tools that test from model to the view._ - -#### Asynchronous - -_Tools that simplify testing asynchronous services._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | 4.0k | 10mo | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | 427 | 2y | -| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | 174 | 18d | -| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | -| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | DSL for synchronizing asynchronous operations. | 4.0k | 10mo | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Toolkit for testing multi-threaded and asynchronous applications. | 427 | 2y | -| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. | 174 | 18d | -| [Karate](https://github.com/intuit/karate) | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. | - | - | -| [REST Assured](https://github.com/rest-assured/rest-assured) | DSL for easy testing of REST/HTTP services. | 7.1k | 26d | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. | 379 | 3mo | - -#### BDD - -_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | -| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | -| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | -| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | -| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 12h | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Provides a way to describe features in a plain language which customers can understand. | 2.8k | 1d | -| [Cukes-REST](https://github.com/ctco/cukes) | Collection of Gherkin steps for REST-service testing using Cucumber. | 110 | 3y | -| [J8Spec](https://github.com/j8spec/j8spec) | Follows a Jasmine-like syntax. | 48 | 3y | -| [JBehave](https://jbehave.org) | Extensively configurable framework that describes stories. | - | - | -| [JGiven](http://jgiven.org) | Provides a fluent API which allows for simpler composition. | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. | 253 | 5y | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. | 744 | 12h | - -#### Fixtures - -_Everything related to the creation and handling of random data._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | -| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 5h | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | 446 | 3y | -| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | - | - | -| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | 1.1k | 6m | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | 180 | 10mo | -| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | -| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | -| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | Supports generating test data or combining scenarios for parameterized tests. | 368 | 5mo | -| [Beanmother](https://github.com/keepcosmos/beanmother) | Sets up beans from YAML fixtures. | 121 | 3y | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern fake data generator forked from Java Faker. | 1.7k | 5h | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Generates fake objects from a template. | 446 | 3y | -| [jFairy](https://github.com/Devskiller/jfairy) | Fake data generator. | - | - | -| [Instancio](https://github.com/instancio/instancio) | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. | 1.1k | 6m | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | JUnit test runner and plugins for running JUnit tests with pseudo-randomness. | 180 | 10mo | -| [Java Faker](https://github.com/DiUS/java-faker) | Port of Ruby's fake data generator. | 4.9k | 3y | -| [Mockneat](https://github.com/nomemory/mockneat) | Another fake data generator. | 536 | 3y | -| [JMock](https://github.com/xcancloud/JMock) | JMock is a high-performance data generation and simulation component library implemented in Java. | 422 | 2mo | - -#### Frameworks - -_Provide environments to run tests for a specific use case._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 27 | 1d | -| [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. | 112 | 2d | -| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation framework and ecosystem. | 33.9k | 1h | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [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. | 27 | 1d | -| [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. | 112 | 2d | -| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation framework and ecosystem. | 33.9k | 1h | - -#### Matchers - -_Libraries that provide custom matchers._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | -| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | -| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 13h | -| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions that improve readability. | - | - | -| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Matchers that can be combined to create flexible expressions of intent. | - | - | -| [JSONAssert](http://jsonassert.skyscreamer.org) | Simplifies testing JSON strings. | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | Library that simplifies JSON comparison in tests. | 975 | 13h | -| [Truth](https://truth.dev) | Google's fluent assertion and proposition framework. | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | Simplifies testing for XML output. | 314 | 2mo | - -#### Testing Miscellaneous - -_Other stuff related to testing._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | -| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | 421 | 16d | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | 15 | 1mo | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | 241 | 2mo | -| [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. | 73 | 7y | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | -| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | -| [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. | 8.6k | 23d | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Captures console output for unit testing purposes. | 33 | 16d | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-like data provider/runner for JUnit. | 249 | 25d | -| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extension pack, pushing the frontiers on Jupiter. | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Captures log entries for unit testing purposes. | 421 | 16d | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | Captures log entries and provides assertions for unit and integration testing. | 15 | 1mo | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Reports whether instances of a given class are immutable. | 241 | 2mo | -| [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. | 73 | 7y | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing (inline and on disk). | 87 | 1mo | -| [Stebz](https://github.com/stebz/stebz) | Multi-approach framework for test steps managing. | 17 | 1d | -| [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. | 8.6k | 23d | - -#### Mocking - -_Tools which mock collaborators to help testing single, isolated units._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | -| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | -| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | -| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | 4.4k | 1y | -| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | 4.2k | 3y | -| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | -| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | 831 | 2d | - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [JMockit](http://jmockit.github.io) | Integration testing, API mocking and faking, and code coverage. | - | - | -| [Mockito](https://github.com/mockito/mockito) | Mocking framework that lets you write tests with a clean and simple API. | 15.4k | 2d | -| [MockServer](https://www.mock-server.com) | Allows mocking of systems integrated with HTTPS. | - | - | -| [Moco](https://github.com/dreamhead/moco) | Concise web services for stubs and mocks. | 4.4k | 1y | -| [PowerMock](https://github.com/powermock/powermock) | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. | 4.2k | 3y | -| [WireMock](http://wiremock.org) | Stubs and mocks web services. | - | - | -| [EasyMock](https://github.com/easymock/easymock) | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. | 831 | 2d | - -### Utility - -_Libraries which provide general utility functions._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Arthas](https://github.com/alibaba/arthas) | Allows to troubleshoot production issues for applications without modifying code or restarting servers. | 37.0k | 2d | -| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Rate limiting library based on token-bucket algorithm. | - | - | -| [cactoos](https://github.com/yegor256/cactoos) | Collection of object-oriented primitives. | 763 | 19h | -| [Chocotea](https://github.com/cleopatra27/chocotea) | Generates postman collection, environment and integration tests from java code. | 48 | 2y | -| [CRaSH](http://www.crashub.org) | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | - | - | -| [Dex](https://github.com/PatMartin/Dex) | Java/JavaFX tool capable of powerful ETL and data visualization. | 1.3k | 6y | -| [dregex](https://github.com/marianobarrios/dregex) | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. | 48 | 23h | -| [Embulk](https://github.com/embulk/embulk) | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. | 1.8k | 1mo | -| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. | 31 | 5d | -| [Gephi](https://github.com/gephi/gephi) | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) | 6.3k | 2d | -| [Guava](https://github.com/google/guava) | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. | 51.4k | 1d | -| [JADE](https://jade.tilab.com) | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | - | - | -| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. | 55 | 1mo | -| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Utilities for text or data comparison and patching. | - | - | -| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Library that helps with constructing difficult regular expressions. | 2.6k | 1mo | -| [JGit](https://www.eclipse.org/jgit/) | Lightweight, pure Java library implementing the Git version control system. | - | - | -| [JKScope](https://github.com/evpl/jkscope) | Java scope functions inspired by Kotlin. | 21 | 11mo | -| [minio-java](https://github.com/minio/minio-java) | Provides simple APIs to access any Amazon S3-compatible object storage server. | 1.3k | 22d | -| [Protégé](https://protege.stanford.edu) | Provides an ontology editor and a framework to build knowledge-based systems. | - | - | -| [Semver4j](https://github.com/semver4j/semver4j) | Lightweight library that helps you handling semantic versioning with different modes. | 106 | 23h | -| [Underscore-java](https://github.com/javadev/underscore-java) | Port of Underscore.js functions. | 547 | 29d | - -### Version Managers - -_Utilities that help create the development shell environment and switch between different Java versions._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [jabba](https://github.com/shyiko/jabba) | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. | 3.3k | 4y | -| [jenv](https://github.com/jenv/jenv) | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. | 6.5k | 14d | -| [SDKMan](https://github.com/sdkman/sdkman-cli) | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. | 6.6k | 10h | - -### Web Crawling - -_Libraries that analyze the content of websites._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Apache Nutch](https://nutch.apache.org) | Highly extensible, highly scalable web crawler for production environments. | - | - | -| [Crawler4j](https://github.com/yasserg/crawler4j) | Simple and lightweight web crawler. | 4.6k | 5y | -| [jsoup](https://jsoup.org) | Scrapes, parses, manipulates and cleans HTML. | - | - | -| [StormCrawler](http://stormcrawler.net) | SDK for building low-latency and scalable web crawlers. | - | - | -| [webmagic](https://github.com/code4craft/webmagic) | Scalable crawler with downloading, url management, content extraction and persistent. | 11.7k | 6mo | - -### Web Frameworks - -_Frameworks that handle the communication between the layers of a web application._ - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [ActiveJ](https://activej.io) | Lightweight asynchronous framework built from the ground up for developing high-performance web applications. | - | - | -| [Apache Tapestry](https://tapestry.apache.org) | Component-oriented framework for creating dynamic, robust, highly scalable web applications. | - | - | -| [Apache Wicket](https://wicket.apache.org) | Component-based web application framework similar to Tapestry, with a stateful GUI. | - | - | -| [Blade](https://github.com/lets-blade/blade) | Lightweight, modular framework that aims to be elegant and simple. | 5.9k | 11mo | -| [Bootique](https://bootique.io) | Minimally opinionated framework for runnable apps. | - | - | -| [Firefly](http://www.fireflysource.com) | Asynchronous framework for rapid development of high-performance web application. | - | - | -| [Javalin](https://javalin.io/) | Microframework for web applications. | - | - | -| [Jooby](http://www.jooby.org) | Scalable, fast and modular micro-framework that offers multiple programming models. | - | - | -| [Ninja](http://www.ninjaframework.org) | Full-stack web framework. | - | - | -| [Pippo](http://www.pippo.ro) | Small, highly modularized, Sinatra-like framework. | - | - | -| [Play](https://www.playframework.com) | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. | - | - | -| [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. | 868 | 6d | -| [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. | - | - | -| [WebForms Core](https://github.com/webforms-core) | A technology for managing HTML tags from the server. | - | - | - -### Workflow Orchestration Engines - -| Name | Description | Stars | Updated | -| :--- | :---------- | :---: | :-----: | -| [Cadence](https://cadenceworkflow.io) | Stateful code platform from Uber. | - | - | -| [flowable](https://github.com/flowable/flowable-engine) | Compact and efficient workflow and business process management platform. | 9.0k | 1d | -| [Temporal](https://temporal.io) | Microservice orchestration platform, forked from Cadence but gRPC based. | - | - | - -## Resources - -### Related Awesome Lists - -_Awesome Lists related to the Java & JVM ecosystem._ - -- [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) -- [Awesome REST](https://github.com/marmelab/awesome-rest) -- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) -- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) -- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) -- [Useful Java Links](https://github.com/Vedenin/useful-java-links) -- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) -- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) - -### Communities - -_Active discussions._ - -- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. -- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. - -### Frontends - -_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ - -- [java.libhunt.com](https://java.libhunt.com) - -### Influential Books - -_Books that made a big impact and are still worth reading._ - -- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) -- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) -- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) -- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) -- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) -- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) -- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) - -### Podcasts and Screencasts - -_Something to look at or listen to while programming._ - -- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. -- [A Bootiful Podcast](https://bootifulpodcast.fm) -- [Foojay Podcast](https://foojay.io/today/category/podcast/) -- [Inside Java](https://inside.java/podcast) (Official) -- [Java Off Heap](http://www.javaoffheap.com) -- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. - -### People - -#### Socials - -_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://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://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](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://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. -- [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. -- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. -- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. -- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. -- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. -- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. -- [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://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. - -### Websites - -_Sites to read._ - -- [Baeldung](https://www.baeldung.com) -- [Dzone](https://dzone.com) -- [foojay.io](https://foojay.io) -- [Google Java Style](https://google.github.io/styleguide/javaguide.html) -- [InfoQ](https://www.infoq.com) -- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) -- [Java, SQL, and jOOQ](https://blog.jooq.org) -- [Java.net](https://community.oracle.com/community/java) -- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) -- [JavaWorld](https://www.javaworld.com) -- [JAXenter](https://jaxenter.com) -- [RebelLabs](https://zeroturnaround.com/rebellabs) -- [OverOps Blog](https://blog.overops.com) -- [TheServerSide.com](http://www.theserverside.com) -- [Vanilla Java](https://vanilla-java.github.io) -- [Voxxed](https://www.voxxed.com) -- [Java Weekly](https://discu.eu/weekly/java/) - -## Contributing - -Contributions are very welcome! - -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). diff --git a/scripts/Constants.java b/scripts/Constants.java index 3f958df3..b0be2e5b 100644 --- a/scripts/Constants.java +++ b/scripts/Constants.java @@ -18,6 +18,7 @@ private Constants() {} public static final Pattern MARKDOWN_LINK_PATTERN = Pattern.compile("\\[([^\\]]+)\\]\\(([^)]+)\\)"); public static final Pattern STARS_PATTERN = Pattern.compile("\"stargazers_count\"\\s*:\\s*(\\d+)"); public static final Pattern PUSHED_AT_PATTERN = Pattern.compile("\"pushed_at\"\\s*:\\s*\"([^\"]+)\""); + public static final Pattern LICENSE_PATTERN = Pattern.compile("\"license\"\\s*:\\s*(?:null|\\{[^}]*\"spdx_id\"\\s*:\\s*\"([^\"]+)\"[^}]*\\})", Pattern.DOTALL); public static final String ENTRY_PATTERN = "^\\s*-\\s*\\[.*"; public static final String INDENTED_LINE_PATTERN = "^\\s+.*"; @@ -44,6 +45,7 @@ private Constants() {} public static final String REPO_PREFIX = "REPO:"; public static final String STARS_PREFIX = "STARS:"; public static final String COMMIT_PREFIX = "COMMIT:"; + public static final String LICENSE_PREFIX = "LICENSE:"; // Default values public static final String NO_DESCRIPTION = "No description available"; diff --git a/scripts/step_3_generate_stats.java b/scripts/step_3_generate_stats.java index 2a78655d..47c51d7d 100644 --- a/scripts/step_3_generate_stats.java +++ b/scripts/step_3_generate_stats.java @@ -103,7 +103,7 @@ Map readStatsMappings(Path statsPath) throws IOException { if (section.isBlank()) { continue; } - String repo = null, name = null, starsText = null, lastCommitText = null; + String repo = null, name = null, starsText = null, lastCommitText = null, licenseText = null; for (var line : section.lines().toArray(String[]::new)) { if (line.trim().isEmpty()) { @@ -117,6 +117,8 @@ Map readStatsMappings(Path statsPath) throws IOException { starsText = line.substring(Constants.STARS_PREFIX.length()); } else if (line.startsWith(Constants.COMMIT_PREFIX)) { lastCommitText = line.substring(Constants.COMMIT_PREFIX.length()); + } else if (line.startsWith(Constants.LICENSE_PREFIX)) { + licenseText = line.substring(Constants.LICENSE_PREFIX.length()); } } if (repo != null && name != null) { @@ -124,7 +126,8 @@ Map readStatsMappings(Path statsPath) throws IOException { name, repo, starsText != null ? starsText : Constants.NO_STATS, - lastCommitText != null ? lastCommitText : Constants.NO_STATS + lastCommitText != null ? lastCommitText : Constants.NO_STATS, + licenseText != null ? licenseText : Constants.NO_STATS )); } } @@ -160,6 +163,7 @@ List generateStatsMappings(List entries, Map generateStatsMappings(List entries, Map generateStatsMappings(List entries, Map generateStatsMappings(List entries, Map { System.err.printf("ERROR: Repository %s not found%n", repo); - yield new RepoStats(Constants.INVALID_REPO, Constants.INVALID_REPO); + yield new RepoStats(Constants.INVALID_REPO, Constants.INVALID_REPO, Constants.NO_STATS); } case 403 -> { System.err.printf("ERROR: Access forbidden for %s%n", repo); - yield new RepoStats(Constants.NO_STATS, Constants.NO_STATS); + yield new RepoStats(Constants.NO_STATS, Constants.NO_STATS, Constants.NO_STATS); } - default -> new RepoStats(Constants.NO_STATS, Constants.NO_STATS); + default -> new RepoStats(Constants.NO_STATS, Constants.NO_STATS, Constants.NO_STATS); }; } catch (InterruptedException e) { Thread.currentThread().interrupt(); - return new RepoStats(Constants.NO_STATS, Constants.NO_STATS); + return new RepoStats(Constants.NO_STATS, Constants.NO_STATS, Constants.NO_STATS); } catch (Exception e) { System.err.printf("ERROR fetching stats for %s: %s%n", repo, e.getMessage()); - return new RepoStats(Constants.NO_STATS, Constants.NO_STATS); + return new RepoStats(Constants.NO_STATS, Constants.NO_STATS, Constants.NO_STATS); } } @@ -282,6 +295,16 @@ String formatStars(long stars) { return String.valueOf(stars); } +/** + * Formats license SPDX ID for display. + */ +String formatLicense(String spdxId) { + if (spdxId == null || spdxId.isBlank() || spdxId.equals("NOASSERTION")) { + return Constants.NO_STATS; + } + return spdxId; +} + /** * Formats date as relative time (e.g., "2d", "1mo") or absolute date. */ @@ -330,11 +353,13 @@ void writeStatsMappings(Path outputPath, List mappings) throws IOE %s%s %s%s %s%s + %s%s """.formatted( Constants.REPO_PREFIX, m.repo(), Constants.NAME_PREFIX, m.name(), Constants.STARS_PREFIX, m.starsText(), - Constants.COMMIT_PREFIX, m.lastCommitText() + Constants.COMMIT_PREFIX, m.lastCommitText(), + Constants.LICENSE_PREFIX, m.licenseText() ).trim()) .collect(Collectors.joining("\n\n")); @@ -348,5 +373,6 @@ record StatsMapping( String name, String repo, String starsText, - String lastCommitText + String lastCommitText, + String licenseText ) {} diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 3bcfedf1..671fdf4e 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -83,7 +83,7 @@ Map readStatsMappings(Path statsPath) throws IOException { if (section.isBlank()) { continue; } - String repo = null, name = null, starsText = null, lastCommitText = null; + String repo = null, name = null, starsText = null, lastCommitText = null, licenseText = null; for (var line : section.lines().toArray(String[]::new)) { if (line.trim().isEmpty()) { @@ -97,6 +97,8 @@ Map readStatsMappings(Path statsPath) throws IOException { starsText = line.substring(Constants.STARS_PREFIX.length()); } else if (line.startsWith(Constants.COMMIT_PREFIX)) { lastCommitText = line.substring(Constants.COMMIT_PREFIX.length()); + } else if (line.startsWith(Constants.LICENSE_PREFIX)) { + licenseText = line.substring(Constants.LICENSE_PREFIX.length()); } } if (repo != null && name != null) { @@ -104,7 +106,8 @@ Map readStatsMappings(Path statsPath) throws IOException { name, repo, starsText, - lastCommitText + lastCommitText, + licenseText )); } } @@ -149,14 +152,15 @@ String createMarkdownTable(List entries, Map var sectionName = entries.get(0).section(); var table = new StringBuilder(); table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); - table.append("| Name | Description | Stars | Updated |\n"); - table.append("| :--- | :---------- | :---: | :-----: |\n"); + table.append("| Name | Description | Stars | Updated | License |\n"); + table.append("| :--- | :---------- | :---: | :-----: | :-----: |\n"); for (var entry : entries) { var desc = entry.description().isEmpty() ? Constants.NO_DESCRIPTION : entry.description(); var stats = statsMappings.get(entry.name()); var stars = stats != null ? stats.starsText() : Constants.NO_STATS; var commit = stats != null ? stats.lastCommitText() : Constants.NO_STATS; + var license = stats != null && stats.licenseText() != null ? stats.licenseText() : Constants.NO_STATS; // Escape pipe characters in description for markdown desc = desc.replace("|", "\\|"); @@ -164,7 +168,8 @@ String createMarkdownTable(List entries, Map table.append("| [").append(entry.name()).append("](").append(entry.url()).append(") | "); table.append(desc).append(" | "); table.append(stars).append(" | "); - table.append(commit).append(" |\n"); + table.append(commit).append(" | "); + table.append(license).append(" |\n"); } // Add single newline after table table.append("\n"); @@ -185,5 +190,6 @@ record StatsMapping( String name, String repo, String starsText, - String lastCommitText + String lastCommitText, + String licenseText ) {} diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index fbb149e2..38d071f7 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -157,11 +157,12 @@ List extractProjectEntriesFromTables(String content) { /** * Extracts a project entry from a Markdown table row. + * Table format: | Name | Description | Stars | Updated | License | */ ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { // Split by | and clean up var parts = line.split("\\|"); - if (parts.length < 5) { + if (parts.length < 6) { return null; } From 292c61a484a72ad9f9b5208117b33b327e9ca4ba Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 11:43:01 +0400 Subject: [PATCH 415/533] Update --- .github/workflows/update-readme.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index 733b6ddc..bcfd4359 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -56,7 +56,7 @@ jobs: run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git add README.md + git add -f README.md # Always commit the stats cache so it persists for next run git add .tmp/github-stats.txt || true if git diff --staged --quiet; then From ab3d8cd820084838cc7b3ec29e5ab255814843ea Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sun, 11 Jan 2026 08:00:02 +0000 Subject: [PATCH 416/533] Update README with latest GitHub stats [skip ci] --- .tmp/github-stats.txt | 134 +++- README.md | 1662 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1792 insertions(+), 4 deletions(-) create mode 100644 README.md diff --git a/.tmp/github-stats.txt b/.tmp/github-stats.txt index 8af4796b..aae38805 100644 --- a/.tmp/github-stats.txt +++ b/.tmp/github-stats.txt @@ -313,7 +313,7 @@ LICENSE:- REPO:INRIA/spoon NAME:Spoon STARS:1.9k -COMMIT:4h +COMMIT:5h LICENSE:- REPO:spotbugs/spotbugs @@ -358,6 +358,12 @@ STARS:- COMMIT:- LICENSE:- +REPO: +NAME:Bootify +STARS:- +COMMIT:- +LICENSE:- + REPO:Marcel091004/EasyEntityToDTO NAME:EasyEntityToDTO STARS:6 @@ -400,6 +406,12 @@ STARS:- COMMIT:- LICENSE:- +REPO: +NAME:JPA Buddy +STARS:- +COMMIT:- +LICENSE:- + REPO:bcaillard/jspecify-packageinfo-generator NAME:JSpecify Package-Info Generator STARS:1 @@ -631,7 +643,7 @@ LICENSE:- REPO:protocolbuffers/protobuf NAME:Protobuf STARS:70.3k -COMMIT:7m +COMMIT:42m LICENSE:- REPO:RoaringBitmap/RoaringBitmap @@ -1144,6 +1156,12 @@ STARS:649 COMMIT:3mo LICENSE:MIT +REPO: +NAME:Boxfuse +STARS:- +COMMIT:- +LICENSE:- + REPO:puniverse/capsule NAME:Capsule STARS:1.2k @@ -1156,6 +1174,12 @@ STARS:- COMMIT:- LICENSE:- +REPO: +NAME:Cloudsmith +STARS:- +COMMIT:- +LICENSE:- + REPO:threerings/getdown NAME:Getdown STARS:525 @@ -1186,6 +1210,12 @@ STARS:50 COMMIT:1y LICENSE:Apache-2.0 +REPO: +NAME:Nexus +STARS:- +COMMIT:- +LICENSE:- + REPO:libgdx/packr NAME:packr STARS:2.6k @@ -1420,6 +1450,12 @@ STARS:- COMMIT:- LICENSE:- +REPO:Esri/arcgis-maps-sdk-java-samples/ +NAME:ArcGIS Maps SDK for Java +STARS:N/A +COMMIT:N/A +LICENSE:- + REPO:davidmoten/geo NAME:Geo STARS:431 @@ -1477,7 +1513,7 @@ LICENSE:- REPO:reportmill/SnapKit NAME:SnapKit STARS:310 -COMMIT:12h +COMMIT:13h LICENSE:- REPO: @@ -1618,6 +1654,12 @@ STARS:- COMMIT:- LICENSE:- +REPO: +NAME:IntelliJ IDEA +STARS:- +COMMIT:- +LICENSE:- + REPO: NAME:jGRASP STARS:- @@ -1903,7 +1945,7 @@ LICENSE:- REPO:oracle/graal NAME:Graal STARS:21.4k -COMMIT:11h +COMMIT:12h LICENSE:- REPO: @@ -2056,6 +2098,12 @@ STARS:- COMMIT:- LICENSE:- +REPO: +NAME:H2O +STARS:- +COMMIT:- +LICENSE:- + REPO:Barqawiz/IntelliJava NAME:Intelligent java STARS:- @@ -2536,6 +2584,12 @@ STARS:573 COMMIT:1y LICENSE:Apache-2.0 +REPO:DataDog/dd-trace-java +NAME:Datadog +STARS:684 +COMMIT:3h +LICENSE:Apache-2.0 + REPO:dropwizard/metrics NAME:Dropwizard Metrics STARS:7.9k @@ -2572,6 +2626,12 @@ STARS:- COMMIT:- LICENSE:- +REPO: +NAME:Instrumental +STARS:- +COMMIT:- +LICENSE:- + REPO:jaegertracing/jaeger-client-java NAME:Jaeger client STARS:490 @@ -2632,6 +2692,18 @@ STARS:2.3k COMMIT:10h LICENSE:Apache-2.0 +REPO:getsentry/sentry-java +NAME:Sentry +STARS:1.3k +COMMIT:1d +LICENSE:MIT + +REPO:sematext/sematext-agent-java +NAME:SPM +STARS:24 +COMMIT:2d +LICENSE:Apache-2.0 + REPO:stagemonitor/stagemonitor NAME:Stagemonitor STARS:1.7k @@ -2860,6 +2932,42 @@ STARS:454 COMMIT:3mo LICENSE:MIT +REPO: +NAME:AWS Elastic Beanstalk +STARS:- +COMMIT:- +LICENSE:- + +REPO: +NAME:AWS Lambda +STARS:- +COMMIT:- +LICENSE:- + +REPO: +NAME:Google Cloud +STARS:- +COMMIT:- +LICENSE:- + +REPO: +NAME:Heroku +STARS:- +COMMIT:- +LICENSE:- + +REPO: +NAME:Microsoft Azure +STARS:- +COMMIT:- +LICENSE:- + +REPO: +NAME:OpenShift +STARS:- +COMMIT:- +LICENSE:- + REPO:bsommerfeld/pathetic NAME:Pathetic STARS:236 @@ -2902,6 +3010,12 @@ STARS:2.2k COMMIT:1d LICENSE:- +REPO: +NAME:iText +STARS:- +COMMIT:- +LICENSE:- + REPO: NAME:JasperReports STARS:- @@ -2926,6 +3040,18 @@ STARS:2.0k COMMIT:9mo LICENSE:MIT +REPO: +NAME:fastThread +STARS:- +COMMIT:- +LICENSE:- + +REPO: +NAME:GCeasy +STARS:- +COMMIT:- +LICENSE:- + REPO:jvm-profiling-tools/honest-profiler NAME:honest-profiler STARS:1.3k diff --git a/README.md b/README.md new file mode 100644 index 00000000..c20615cb --- /dev/null +++ b/README.md @@ -0,0 +1,1662 @@ +# Awesome Java [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) + +A curated list of awesome Java frameworks, libraries and software. + +## Contents + +- [Awesome Java ](#awesome-java-) + - [Contents](#contents) + - [Projects](#projects) + - [Architecture](#architecture) + - [Artificial Intelligence](#artificial-intelligence) + - [Bean Mapping](#bean-mapping) + - [Build](#build) + - [Bytecode Manipulation](#bytecode-manipulation) + - [Caching](#caching) + - [CLI](#cli) + - [Argument Parsing](#argument-parsing) + - [Text-Based User Interfaces](#text-based-user-interfaces) + - [Cloud](#cloud) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Decentralization](#decentralization) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [Pathfinding](#pathfinding) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Apache Commons](#apache-commons) + - [Other](#other) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Asynchronous](#asynchronous) + - [BDD](#bdd) + - [Fixtures](#fixtures) + - [Frameworks](#frameworks) + - [Matchers](#matchers) + - [Testing Miscellaneous](#testing-miscellaneous) + - [Mocking](#mocking) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) + - [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Socials](#socials) + - [Websites](#websites) + - [Contributing](#contributing) + +## Projects + +### Architecture + +_Frameworks and libraries for implementing and verifying design patterns and architecture._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Unit test architecture rules with a fluent Java API; catches violations at build time. | 3.6k | 3d | Apache-2.0 | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Express DDD, hexagonal, and layered architecture concepts directly in code with type-safe annotations. | 1.5k | 1mo | Apache-2.0 | + +### Artificial Intelligence + +_Frameworks for integrating LLMs and AI capabilities._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Unified API for 15+ LLM providers with RAG, function calling, and AI services out of the box. | 10.3k | 18h | Apache-2.0 | +| [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Model Context Protocol implementation enabling standardized AI model interactions with sync/async support. | 3.1k | 1d | MIT | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Lightweight, zero-dependency OpenAI API client with streaming support. | 368 | 3mo | MIT | +| [Spring AI](https://spring.io/projects/spring-ai) | Spring-native AI framework with portable APIs across AI providers and vector stores. | - | - | - | + +### Bean Mapping + +_Frameworks that ease bean mapping._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [dOOv](https://github.com/doov-io/doov) | Fluent, typesafe DSL for domain validation and mapping with code generation. | - | - | - | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Bytecode-powered mapper achieving near-native performance; supports annotations, API, or XML config. | 242 | 2y | Apache-2.0 | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Compile-time code generator producing type-safe, reflection-free mappers with zero runtime overhead. | 7.6k | 9d | - | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Convention-based mapper that auto-matches properties, reducing boilerplate. | 2.3k | 2mo | Apache-2.0 | +| [Orika](https://github.com/orika-mapper/orika) | Bytecode-generated mappers with automatic type conversion and deep copying. | 1.3k | 1y | Apache-2.0 | +| [reMap](https://github.com/remondis-it/remap) | Lambda-based mapping with compile-time safety; no annotations required. | 126 | 2mo | Apache-2.0 | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor generating optimized mappers at compile time. | - | - | - | + +### Build + +_Tools that handle the build cycle and dependencies of an application._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Maven](https://maven.apache.org) | Industry-standard declarative build tool with convention-over-configuration and vast plugin ecosystem. | - | - | - | +| [Bazel](https://bazel.build) | Google's build system with aggressive caching, remote execution, and reproducible builds at scale. | - | - | - | +| [Buck2](https://github.com/facebook/buck2) | Meta's fast build system with fine-grained parallelism and remote execution support. | 4.2k | 7h | Apache-2.0 | +| [Gradle](https://gradle.org) | Flexible build automation with incremental builds, build caching, and Kotlin/Groovy DSL. | - | - | - | + +### Bytecode Manipulation + +_Libraries to manipulate bytecode programmatically._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ASM](https://asm.ow2.io) | Low-level, high-performance bytecode manipulation; the foundation for most other tools. | - | - | - | +| [Byte Buddy](https://bytebuddy.net) | Fluent API for runtime code generation without needing bytecode knowledge. | - | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | All-in-one reverse engineering suite for JAR and APK files. | 15.4k | 3d | GPL-3.0 | +| [Byteman](https://byteman.jboss.org) | Rule-based runtime bytecode injection for testing and fault injection. | - | - | - | +| [cglib](https://github.com/cglib/cglib) | High-level bytecode generation for proxies and interceptors. | 4.9k | 1y | Apache-2.0 | +| [Javassist](https://github.com/jboss-javassist/javassist) | Edit bytecode using Java source syntax, no low-level knowledge required. | 4.2k | 1y | - | +| [Maker](https://github.com/cojen/maker) | Lightweight, low-level bytecode generation with minimal dependencies. | 65 | 1d | Apache-2.0 | +| [Mixin](https://github.com/SpongePowered/Mixin) | Runtime class transformation using annotated Java code; popular in Minecraft modding. | 1.7k | 1y | MIT | +| [Perses](https://github.com/nicolasmanic/perses) | Chaos engineering via bytecode-level fault injection. | - | - | - | +| [Recaf](https://www.coley.software/Recaf/) | Modern bytecode editor IDE with decompilation, search, and hex editing. | - | - | - | + +### Caching + +_Libraries that provide caching facilities._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [cache2k](https://cache2k.org) | In-memory cache with sub-microsecond access times and advanced expiry policies. | - | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | Near-optimal hit rates via Window TinyLFU algorithm; Java's fastest cache. | 17.4k | 1d | Apache-2.0 | +| [Ehcache](http://www.ehcache.org) | Mature, JCache-compliant cache with tiered storage (heap/off-heap/disk). | - | - | - | +| [Infinispan](https://infinispan.org) | Distributed, clustered cache with transactions and query support. | - | - | - | + +### CLI + +_Libraries for everything related to the CLI._ + +#### Argument Parsing + +_Libraries to assist with parsing command line arguments._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Git-style CLI parser with annotation-based commands and subcommands. | - | - | - | +| [JCommander](http://jcommander.org) | Annotation-driven parser with custom type converters and validation. | - | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Compile-time CLI parser with zero reflection and zero dependencies. | 89 | 4d | MIT | +| [JLine](https://github.com/jline/jline3) | Rich terminal handling with tab-completion, history, and syntax highlighting. | 1.7k | 4d | - | +| [picocli](https://picocli.info) | Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. | - | - | - | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Git-style CLI parser with annotation-based commands and subcommands. | - | - | - | +| [JCommander](http://jcommander.org) | Annotation-driven parser with custom type converters and validation. | - | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Compile-time CLI parser with zero reflection and zero dependencies. | 89 | 4d | MIT | +| [JLine](https://github.com/jline/jline3) | Rich terminal handling with tab-completion, history, and syntax highlighting. | 1.7k | 4d | - | +| [picocli](https://picocli.info) | Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. | - | - | - | + +#### Text-Based User Interfaces + +_Libraries that provide TUI frameworks or building blocks._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Jansi](https://github.com/fusesource/jansi) | Cross-platform ANSI escape code support for colored console output. | 1.2k | 8mo | Apache-2.0 | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. | - | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Simple API for interactive console applications with input validation. | 351 | 2y | Apache-2.0 | +| [Lanterna](https://github.com/mabe02/lanterna) | Curses-like TUI with cross-platform terminal abstraction. | 2.5k | 5mo | LGPL-3.0 | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Jansi](https://github.com/fusesource/jansi) | Cross-platform ANSI escape code support for colored console output. | 1.2k | 8mo | Apache-2.0 | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. | - | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Simple API for interactive console applications with input validation. | 351 | 2y | Apache-2.0 | +| [Lanterna](https://github.com/mabe02/lanterna) | Curses-like TUI with cross-platform terminal abstraction. | 2.5k | 5mo | LGPL-3.0 | + +### Cloud + +_Libraries to integrate cloud platform services._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Official SDK covering 200+ AWS services with async support and pagination. | 4.2k | 4d | Apache-2.0 | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Idiomatic Java clients for GCP services with automatic retries and streaming. | 2.0k | 8h | Apache-2.0 | + +### Code Analysis + +_Tools that provide metrics and quality measurements._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Enforces coding standards with 150+ configurable checks. | 8.8k | now | LGPL-2.1 | +| [Error Prone](https://github.com/google/error-prone) | Google's compiler plugin catching bugs at compile time with auto-fixes. | 7.1k | 1d | Apache-2.0 | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | 100+ additional Error Prone checks and Refaster refactoring templates. | 232 | 9h | MIT | +| [Infer](https://github.com/facebook/infer) | Meta's static analyzer detecting null dereferences, resource leaks, and concurrency issues. | 15.5k | 4h | MIT | +| [jQAssistant](https://jqassistant.org) | Query codebase structure with Cypher on a Neo4j graph. | - | - | - | +| [NullAway](https://github.com/uber/NullAway) | Fast null-safety checker with minimal annotation overhead; Uber-proven. | 4.0k | 15h | MIT | +| [PMD](https://github.com/pmd/pmd) | Extensible static analyzer detecting code smells and copy-paste issues. | 5.3k | 3d | - | +| [p3c](https://github.com/alibaba/p3c) | Alibaba's Java coding guidelines as PMD rules and IDE plugins. | 30.8k | 1y | Apache-2.0 | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Prioritizes refactoring targets by God Class and coupling metrics. | - | - | - | +| [SonarJava](https://github.com/SonarSource/sonar-java) | 600+ rules for SonarQube with security hotspot detection. | 1.2k | 1d | - | +| [Spoon](https://github.com/INRIA/spoon) | Full Java AST API for analysis, transformation, and code generation. | 1.9k | 5h | - | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | FindBugs successor; bytecode analysis for 400+ bug patterns. | 3.8k | 9h | LGPL-2.1 | + +### Code Coverage + +_Frameworks and tools for collecting code coverage metrics._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Clover](https://www.atlassian.com/software/clover) | Source-level instrumentation with detailed per-test coverage and historical trends. | - | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Bytecode instrumentation with branch coverage and complexity metrics. | - | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Lightweight agent with line/branch/instruction coverage and IDE/CI integration. | - | - | - | + +### Code Generators + +_Tools that generate patterns to reduce verbosity and boilerplate._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ADT4J](https://github.com/sviperll/adt4j) | Generates algebraic data types (sealed hierarchies) with pattern matching. | 147 | 7y | BSD-3-Clause | +| [Auto](https://github.com/google/auto) | Google's annotation processors for AutoValue, AutoFactory, and AutoService. | 10.5k | 2d | Apache-2.0 | +| [Avaje Http Server](https://avaje.io/http/) | Compile-time HTTP server generation for Javalin/Helidon; no reflection. | - | - | - | +| [Bootify](https://bootify.io) | Browser-based Spring Boot scaffolding with JPA entities and REST APIs. | - | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor generating DTOs and mappers automatically. | 6 | 7mo | MIT | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Generates Builder pattern with validation and partial builds. | 833 | 1y | Apache-2.0 | +| [Geci](https://github.com/verhas/javageci) | Test-time code generator that updates source files in-place. | 135 | 3y | Apache-2.0 | +| [Immutables](https://immutables.github.io) | Generates immutable value objects with builders, JSON support, and interning. | - | - | - | +| [JavaPoet](https://github.com/square/javapoet) | Fluent API for generating `.java` source files programmatically. | 10.9k | 1y | Apache-2.0 | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Full-stack app generator for Spring Boot + Angular/React/Vue. | 22.3k | 1h | Apache-2.0 | +| [Joda-Beans](https://www.joda.org/joda-beans/) | Adds queryable, serializable properties to POJOs via code generation. | - | - | - | +| [JPA Buddy](https://www.jpa-buddy.com) | IntelliJ plugin for visual JPA entity design with Liquibase/Flyway diff generation. | - | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin auto-generating `package-info.java` with nullness annotations. | 1 | 1mo | Apache-2.0 | +| [Lombok](https://projectlombok.org) | Eliminates boilerplate with annotations for getters, builders, and more. | - | - | - | +| [Record-Builder](https://github.com/Randgalt/record-builder) | Generates builders and withers for Java records. | 900 | 1mo | Apache-2.0 | +| [Telosys](https://www.telosys.org/) | Template-driven code generator for any language via CLI or Eclipse. | - | - | - | + +### Compiler-compiler + +_Frameworks for creating parsers, interpreters, or compilers._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ANTLR](https://www.antlr.org) | Powerful LL(\*) parser generator with IDE support and multiple target languages. | - | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | LL(k) parser generator with lookahead, lexical states, and tree building. | - | - | - | +| [JFlex](https://jflex.de) | Fast lexer generator with full Unicode support and JLex compatibility. | - | - | - | + +### Computer Vision + +_Libraries for image and video analysis._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [BoofCV](https://boofcv.org) | Real-time computer vision with 3D reconstruction, fiducial detection, and feature tracking. | - | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Extensible image analysis platform with 500+ plugins for scientific imaging. | - | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java bindings for OpenCV, FFmpeg, TensorFlow, and more via JavaCPP. | 8.3k | 13d | - | + +### Configuration + +_Libraries that provide external configuration._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [avaje config](https://avaje.io/config/) | Lightweight config with YAML/properties, file watching, and dynamic reload. | - | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Git-backed, versioned configuration service with change notifications. | 654 | 2d | Apache-2.0 | +| [config](https://github.com/lightbend/config) | HOCON/JSON/properties with substitutions, includes, and environment overrides. | 6.3k | 4mo | - | +| [Configurate](https://github.com/SpongePowered/Configurate) | Multi-format config (YAML, JSON, HOCON, XML) with type-safe object mapping. | 449 | 21h | Apache-2.0 | +| [Curator Framework](https://curator.apache.org/) | Simplified ZooKeeper client with recipes for locks, leaders, and caches. | - | - | - | +| [dotenv](https://github.com/shyiko/dotenv) | Twelve-factor app config from `.env` files with environment overrides. | 50 | 7y | - | +| [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) | Interface-based config with pluggable sources and automatic type conversion. | 32 | 29d | Apache-2.0 | +| [Gestalt](https://github.com/gestalt-config/gestalt) | Multi-source config merging with type-safe binding and validation. | 94 | 14h | Apache-2.0 | +| [ini4j](http://ini4j.sourceforge.net) | Windows INI file parser with section and multi-value support. | - | - | - | +| [KAConf](https://github.com/mariomac/kaconf) | Annotation-based config injection for Java and Kotlin. | 61 | 3y | Apache-2.0 | +| [microconfig](https://microconfig.io) | Microservice config management with inheritance and environment profiles. | - | - | - | +| [owner](https://github.com/lviggiano/owner) | Type-safe properties via interfaces with automatic conversion. | - | - | - | + +### Constraint Satisfaction Problem Solver + +_Libraries for optimization and satisfiability problems._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Choco](https://choco-solver.org) | Powerful CP solver with global constraints and search strategies. | - | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Constraint solver with MiniZinc/FlatZinc support for modeling. | 231 | 2y | - | +| [OptaPlanner](https://www.optaplanner.org) | AI constraint solver for planning problems like scheduling and routing. | - | - | - | +| [Timefold](https://timefold.ai/docs) | OptaPlanner fork with Spring/Quarkus integration and production-ready quickstarts. | - | - | - | + +### CSV + +_Libraries for reading and writing CSV data._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Ultra-fast, zero-dependency, RFC 4180-compliant CSV parser. | 657 | 21d | MIT | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | CSV via Jackson's streaming API with schema support. | 194 | 8y | - | +| [opencsv](http://opencsv.sourceforge.net) | Simple parser with bean binding and custom separators. | - | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Cell processors for validation, conversion, and constraint checking. | - | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | Fastest parser with CSV/TSV/fixed-width support and streaming. | 931 | 1y | - | + +### Data Structures + +_Efficient and specialized data structures._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Avro](https://avro.apache.org) | Schema-evolution-friendly serialization with compact binary format. | - | - | - | +| [Apache Orc](https://orc.apache.org) | Columnar storage with predicate pushdown and ACID support for Hive. | - | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar format with efficient compression and encoding for analytics. | - | - | - | +| [Apache Thrift](https://thrift.apache.org) | Cross-language RPC framework with compact binary protocol. | - | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Memory-mapped persistent queue handling 100M+ items. | 568 | 3y | Apache-2.0 | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic set operations in O(log log n) space. | N/A | N/A | - | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Immutable collections with efficient structural sharing. | 784 | 5mo | - | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's language-neutral, schema-driven binary serialization. | 70.3k | 42m | - | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Compressed bitmaps faster than traditional implementations by orders of magnitude. | 3.8k | 25d | Apache-2.0 | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Zero-copy, zero-allocation messaging for ultra-low latency. | - | - | - | +| [Tape](https://github.com/square/tape) | Crash-safe, file-based FIFO queue for Android and Java. | 2.5k | 2y | Apache-2.0 | +| [Wire](https://github.com/square/wire) | Lightweight Protocol Buffers with Kotlin and Java codegen. | 4.4k | 2d | Apache-2.0 | + +### Database + +_Everything that simplifies database interactions._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Calcite](https://calcite.apache.org) | SQL parser, optimizer, and query federation framework for building databases. | - | - | - | +| [Apache Drill](https://drill.apache.org) | Schema-free SQL for JSON, Parquet, and NoSQL with distributed execution. | - | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | SQL skin over HBase with secondary indexes and transactions. | - | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | Multi-model (document/graph/key-value) database driver with async support. | 205 | 1d | Apache-2.0 | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Off-heap, persisted ConcurrentMap with microsecond latency. | 2.9k | 1d | Apache-2.0 | +| [Debezium](https://debezium.io/) | CDC platform streaming database changes to Kafka in real-time. | - | - | - | +| [druid](https://druid.apache.org) | Real-time OLAP database with sub-second queries at scale. | - | - | - | +| [eXist](https://github.com/eXist-db/exist) | Native XML database with XQuery and full-text search. | 457 | 1d | LGPL-2.1 | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Connection pool monitoring with auto-scaling and failover. | 1.2k | 1mo | Apache-2.0 | +| [Flyway](https://flywaydb.org) | Version-controlled SQL migrations with rollback support. | - | - | - | +| [H2](https://h2database.com) | Embeddable SQL database with in-memory mode; great for testing. | - | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | Fastest JDBC connection pool with minimal overhead. | 20.9k | 2mo | Apache-2.0 | +| [HSQLDB](https://hsqldb.org/) | Pure Java SQL database with in-memory and file-based modes. | - | - | - | +| [JDBI](http://jdbi.org) | Fluent, annotation-free SQL API built on JDBC. | - | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Battle-tested Redis client with connection pooling and pipelining. | - | - | - | +| [Jest](https://github.com/searchbox-io/Jest) | Elasticsearch REST client with async support and bulk operations. | 2.1k | 2y | Apache-2.0 | +| [jetcd](https://github.com/justinsb/jetcd) | Official etcd v3 client with watch and lease support. | 140 | 2y | Apache-2.0 | +| [Jinq](https://github.com/my2iu/Jinq) | LINQ-style queries via lambda symbolic execution on JPA/jOOQ. | 663 | 7mo | - | +| [jOOQ](https://www.jooq.org) | Typesafe SQL DSL generated from your schema; catches errors at compile time. | - | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Meituan's distributed ID generator with segment and snowflake modes. | 6.7k | 2y | Apache-2.0 | +| [Lettuce](https://lettuce.io/) | Reactive, non-blocking Redis client with cluster and Sentinel support. | - | - | - | +| [Liquibase](http://www.liquibase.org) | Database-agnostic migrations with rollback and diff capabilities. | - | - | - | +| [MapDB](http://www.mapdb.org) | Concurrent maps/sets backed by disk or off-heap memory with transactions. | - | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Embedded MariaDB for integration testing; no install required. | 15 | 7d | Apache-2.0 | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with schema introspection and code generation. | 15 | 1mo | Apache-2.0 | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | High-performance LDAPv3 directory service with replication. | 422 | 1mo | - | +| [Querydsl](http://www.querydsl.com) | Unified typesafe queries for JPA, SQL, MongoDB, and more. | - | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Stream API for building JPA Criteria queries fluently. | 20 | 8mo | Apache-2.0 | +| [QuestDB](https://github.com/questdb/questdb) | Time-series database with millions of inserts/sec and SQL support. | 16.5k | 8m | Apache-2.0 | +| [Realm](https://github.com/realm/realm-java) | Mobile-first database with live objects and offline-first sync. | 11.5k | 3mo | Apache-2.0 | +| [Redisson](https://github.com/redisson/redisson) | Redis-backed distributed collections, locks, and services. | 24.2k | 5d | Apache-2.0 | +| [requery](https://github.com/requery/requery) | Modern ORM with compile-time query validation and RxJava support. | 3.1k | 3y | Apache-2.0 | +| [Speedment](https://github.com/speedment/speedment) | Stream-based database queries generated from schema. | 2.1k | 2y | Apache-2.0 | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | MongoDB-style queries for relational databases via Spring Data. | 101 | 21d | Apache-2.0 | +| [Trino](https://trino.io) | Federated SQL engine querying data lakes and databases at petabyte scale. | - | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC pool with statement caching and slow query logging. | - | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | JetBrains' embedded transactional database; powers YouTrack. | 1.3k | 1mo | Apache-2.0 | +| [CosId](https://github.com/Ahoo-Wang/CosId) | High-performance distributed ID generator with multiple algorithms. | 599 | 7h | Apache-2.0 | +| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Database middleware for sharding, encryption, and distributed transactions. | 20.6k | 1h | Apache-2.0 | + +### Date and Time + +_Libraries for handling date and time._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [iCal4j](https://github.com/ical4j/ical4j) | RFC 5545 iCalendar parser with recurrence rule support. | 821 | 11d | BSD-3-Clause | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Holiday calculations for 70+ countries with regional variations. | 192 | 1y | - | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Extra date/time types: Interval, YearQuarter, and more for java.time. | 420 | 4mo | BSD-3-Clause | +| [Time4J](https://github.com/MenoData/Time4J) | Comprehensive date/time with calendars, i18n, and formatting. | 470 | 1y | LGPL-2.1 | + +### Decentralization + +_Libraries for blockchain and decentralized applications._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [java-tron](https://github.com/tronprotocol/java-tron) | Full node implementation of the TRON blockchain protocol. | 4.0k | 11d | LGPL-3.0 | + +### Dependency Injection + +_Libraries for Inversion of Control and dependency injection._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache DeltaSpike](https://deltaspike.apache.org) | Portable CDI extensions for configuration, security, and data. | - | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Compile-time DI with no reflection; optimized for microservices. | - | - | - | +| [Dagger](https://dagger.dev/) | Google's compile-time DI with zero reflection overhead. | - | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight JSR-330 DI in ~16KB. | 362 | 7y | - | +| [Governator](https://github.com/Netflix/governator) | Netflix's Guice extensions with lifecycle management and warmup. | 826 | 24d | Apache-2.0 | +| [Guice](https://github.com/google/guice) | Google's lightweight DI with runtime binding and AOP support. | 12.7k | 1mo | Apache-2.0 | +| [HK2](https://eclipse-ee4j.github.io/glassfish-hk2/) | JSR-330 DI with dynamic service discovery; powers Jersey/GlassFish. | - | - | - | +| [JayWire](https://github.com/vanillasource/jaywire) | Minimal DI with no annotations required. | 60 | 2y | - | + +### Development + +_Tools that augment the development process._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AspectJ](https://www.eclipse.org/aspectj/) | Full-featured AOP with compile-time and load-time weaving. | - | - | - | +| [DCEVM](https://dcevm.github.io) | HotSwap on steroids: redefine classes, add methods/fields at runtime. | - | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Checked exception handling in lambdas and streams elegantly. | 140 | 6mo | MIT | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Hot reload classes, Spring beans, and resources without restart. | 2.5k | 22d | GPL-2.0 | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, analyze, transform, and generate Java source code. | 6.0k | 16h | - | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Resolve symbols and types in JavaParser ASTs. | 296 | 7y | Apache-2.0 | +| [Manifold](https://github.com/manifold-systems/manifold) | Compiler plugins for JSON types, extension methods, and string templates. | 2.7k | 9d | Apache-2.0 | +| [NoException](https://noexception.machinezoo.com) | Functional exception handling with sneaky throws and Optional conversion. | - | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Throw checked exceptions from lambdas without wrapping. | 79 | 6y | MIT | +| [Tail](https://nrktkt.github.io/tail/) | Tail call optimization via trampolining for stack-safe recursion. | - | - | - | + +### Distributed Applications + +_Libraries and frameworks for distributed and fault-tolerant systems._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Geode](https://geode.apache.org) | In-memory data grid with continuous queries and WAN replication. | - | - | - | +| [Apache Storm](https://storm.apache.org) | Real-time stream processing with guaranteed processing and fault tolerance. | - | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Distributed coordination for config, locks, and leader election. | - | - | - | +| [Atomix](https://atomix.io) | Raft-based distributed primitives: maps, locks, leader election. | - | - | - | +| [Axon](https://axoniq.io) | CQRS/Event Sourcing framework with saga and event store support. | - | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Annotation-based circuit breakers for Dropwizard. | 45 | 6mo | GPL-2.0 | +| [Failsafe](https://github.com/jhalterman/failsafe) | Lightweight fault tolerance with retries, circuit breakers, and fallbacks. | - | - | - | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | In-memory data grid with distributed maps, queues, and compute. | 6.6k | 2d | - | +| [JGroups](http://www.jgroups.org) | Reliable multicast and cluster membership toolkit. | - | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Fibers (lightweight threads) and actors for the JVM. | - | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance: circuit breakers, rate limiters, bulkheads. | 10.5k | 8d | Apache-2.0 | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | Identity gateway with SSO, credential replay, and request filtering. | 86 | 25d | - | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Reactive microservices with SWIM gossip and service discovery. | 636 | 2d | Apache-2.0 | +| [Zuul](https://github.com/Netflix/zuul) | Netflix's edge gateway for routing, filtering, and load balancing. | 14.0k | 19h | Apache-2.0 | + +### Distributed Transactions + +_Ensuring data consistency across distributed systems._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Atomikos](https://www.atomikos.com) | JTA/XA transaction manager for microservices and REST. | - | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Embeddable JTA 1.1 transaction manager with connection pooling. | - | - | - | +| [Narayana](https://narayana.io) | Red Hat's JTA/JTS transaction manager with saga support. | - | - | - | +| [Seata](https://github.com/seata/seata) | Alibaba's distributed transaction solution with AT/TCC/SAGA modes. | - | - | - | + +### Distribution + +_Tools for distributing applications in native formats._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Artipie](https://github.com/artipie/artipie) | Self-hosted artifact repository supporting Maven, Docker, npm on S3/filesystem. | 649 | 3mo | MIT | +| [Boxfuse](https://boxfuse.com) | Immutable AWS deployments with minimal VM images. | - | - | - | +| [Capsule](https://github.com/puniverse/capsule) | Single-file deployment with embedded JVM and dependency resolution. | 1.2k | 3y | EPL-1.0 | +| [Central Repository](https://search.maven.org) | Maven Central: the default artifact repository for the Java ecosystem. | - | - | - | +| [Cloudsmith](https://cloudsmith.io) | Cloud artifact hosting with Maven/Gradle support and free tier. | - | - | - | +| [Getdown](https://github.com/threerings/getdown) | Java Web Start replacement with auto-updates and delta patching. | 525 | 1y | - | +| [IzPack](http://izpack.org) | Cross-platform installer builder with XML configuration. | - | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven/Gradle plugin creating native executables and installers. | - | - | - | +| [jDeploy](https://www.jdeploy.com) | Deploy Java desktop apps via npm with native bundles. | - | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | HTTP API for custom JRE generation via jlink. | 50 | 1y | Apache-2.0 | +| [Nexus](https://www.sonatype.com) | Repository manager with proxying, caching, and security scanning. | - | - | - | +| [packr](https://github.com/libgdx/packr) | Bundle JRE with your app for native Windows/Mac/Linux distribution. | 2.6k | 1y | Apache-2.0 | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Creates JARs executable via `./app.jar` on Unix. | 133 | 2y | Apache-2.0 | + +### Document Processing + +_Libraries for processing office document formats._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache POI](https://poi.apache.org) | Full Office document support: Excel, Word, PowerPoint (OLE2 & OOXML). | - | - | - | +| [documents4j](https://documents4j.com/#/) | Document conversion API using MS Office or LibreOffice backends. | - | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | JAXB-based DOCX/PPTX/XLSX manipulation with mail merge. | - | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | Streaming Excel read/write handling millions of rows with low memory. | 855 | 4d | - | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-driven Excel to POJO mapping with minimal overhead. | 81 | 1y | Apache-2.0 | + +### Financial + +_Libraries for the financial domain._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework with exchange integration and backtesting. | 650 | 10mo | GPL-3.0 | +| [Parity](https://github.com/paritytrading/parity) | Open-source stock exchange with matching engine and market data. | 501 | 3y | Apache-2.0 | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency FIX protocol implementation. | 339 | 14d | Apache-2.0 | +| [Square](https://github.com/square/connect-java-sdk) | Official Square payments API client. | 40 | 4y | Apache-2.0 | +| [Stripe](https://github.com/stripe/stripe-java) | Official Stripe API client for payments and subscriptions. | 944 | 2d | MIT | +| [ta4j](https://github.com/ta4j/ta4j) | Technical analysis library with 130+ indicators and backtesting. | 2.3k | 2d | - | + +### Formal Verification + +_Proof assistants, model checking, and symbolic execution tools._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [CATG](https://github.com/ksen007/janala2) | Concolic testing: auto-generates tests via symbolic execution. | N/A | N/A | - | +| [Checker Framework](https://checkerframework.org) | Pluggable type systems for nullness, tainting, and more. | - | - | - | +| [Daikon](https://plse.cs.washington.edu/daikon/) | Dynamic invariant detection; infers likely specifications from runs. | - | - | - | +| [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) | NASA's model checker for finding concurrency bugs and deadlocks. | 593 | 25d | - | +| [JMLOK 2.0](https://massoni.computacao.ufcg.edu.br/home/jmlok) | Detects JML specification violations via random testing. | - | - | - | +| [KeY](https://www.key-project.org) | Deductive verification using JML and symbolic execution. | - | - | - | +| [OpenJML](http://www.openjml.org) | JML verification via SMT solvers (Z3, CVC4). | - | - | - | + +### Functional Programming + +_Libraries that facilitate functional programming._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cyclops](https://github.com/aol/cyclops) | Monads, pattern matching, and persistent collections for functional Java. | 1.3k | 2y | Apache-2.0 | +| [derive4j](https://github.com/derive4j/derive4j) | Algebraic data types with pattern matching via annotation processing. | 577 | 3y | - | +| [Fugue](https://bitbucket.org/atlassian/fugue) | Atlassian's functional extensions: Option, Either, and more. | - | - | - | +| [Functional Java](http://www.functionaljava.org) | Immutable collections, monads, and functional data structures. | - | - | - | +| [jOOλ](https://github.com/jOOQ/jOOL) | Tuples, Seq, and unchecked functional interfaces for streams. | 2.1k | 1y | Apache-2.0 | +| [Packrat](https://github.com/jhspetersson/packrat) | Custom Gatherers for Java Stream intermediate operations. | 24 | 6d | Apache-2.0 | +| [protonpack](https://github.com/poetix/protonpack) | Stream utilities: zip, unfold, takeWhile, and windowing. | 485 | 1y | MIT | +| [StreamEx](https://github.com/amaembo/streamex) | Enhanced streams with parallel support and additional collectors. | 2.3k | 4mo | Apache-2.0 | +| [Vavr](https://www.vavr.io) | Scala-inspired FP: immutable collections, Try, Either, pattern matching. | - | - | - | + +### Game Development + +_Frameworks for game development._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX game engine with ECS, physics, and UI out of the box. | - | - | - | +| [JBox2D](http://www.jbox2d.org/) | Box2D physics engine port for 2D rigid body simulation. | - | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Full-featured 3D engine with PBR, physics, and networking. | - | - | - | +| [libGDX](https://libgdx.com) | Cross-platform 2D/3D framework deploying to desktop, Android, iOS, web. | - | - | - | +| [Litiengine](https://litiengine.com/) | Pure Java 2D engine with no native dependencies. | - | - | - | +| [LWJGL](https://www.lwjgl.org) | Low-level bindings to OpenGL, Vulkan, OpenAL, and more. | - | - | - | +| [Mini2Dx](https://mini2dx.org) | Beginner-friendly 2D framework with tiled map and UI support. | - | - | - | +| [Void2D](https://github.com/xzripper/Void2D) | Swing-based 2D engine with physics for simple games. | N/A | N/A | - | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan and OpenGL ES2 bindings via Panama FFM. | - | - | - | + +### Geospatial + +_Libraries for geospatial data and algorithms._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache SIS](https://sis.apache.org) | OGC/ISO standards-based geospatial metadata and referencing. | - | - | - | +| [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) | Esri's JavaFX SDK for mapping and spatial analysis. | N/A | N/A | - | +| [Geo](https://github.com/davidmoten/geo) | GeoHash encoding/decoding with spatial indexing. | 431 | 3d | Apache-2.0 | +| [GeoTools](https://geotools.org) | Comprehensive GIS toolkit for OGC standards. | - | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Fast routing engine with turn costs and isochrones. | 6.2k | 1d | Apache-2.0 | +| [H2GIS](http://www.h2gis.org) | Spatial SQL extension for H2 with OGC compliance. | - | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | GeoHash algorithm with neighbor calculation and bounding boxes. | - | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Offline map rendering from OpenStreetMap vector data. | 1.3k | 4d | LGPL-3.0 | +| [Spatial4j](https://github.com/locationtech/spatial4j) | Geospatial shapes and distance calculations for search engines. | 954 | 7mo | - | + +### GUI + +_Libraries for modern graphical user interfaces._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Rich client platform with CSS styling, FXML, and hardware acceleration. | - | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Drag-and-drop FXML UI designer for JavaFX. | - | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Cross-platform UI (desktop/web) with declarative layout. | 310 | 13h | - | +| [SWT](https://www.eclipse.org/swt/) | Eclipse's native widget toolkit for OS-native look and feel. | - | - | - | + +### High Performance + +_High-performance collections and computation libraries._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Agrona](https://github.com/real-logic/Agrona) | Off-heap buffers, ring buffers, and lock-free data structures. | - | - | - | +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Lock-free ring buffer achieving 25M+ msgs/sec between threads. | - | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Memory-efficient collections with primitives and immutables. | - | - | - | +| [fastutil](http://fastutil.di.unimi.it) | Primitive collections 2-3x faster than java.util. | - | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | High-performance primitive collections with minimal memory. | - | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Non-blocking queues: SPSC, MPSC, MPMC for concurrent apps. | 3.8k | 1y | Apache-2.0 | +| [Koloboke](https://github.com/leventov/Koloboke) | Fastest hash maps/sets with primitive specialization. | 1.0k | 8y | - | + +### HTTP Clients + +_Libraries for creating HTTP requests and binding responses._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache HttpComponents](https://hc.apache.org/) | Full-featured HTTP client with connection pooling and async support. | - | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Non-blocking HTTP/WebSocket client on Netty. | 6.4k | 10d | - | +| [Avaje Http Client](https://avaje.io/http-client) | JDK HttpClient wrapper with declarative interfaces and JSON binding. | - | - | - | +| [Feign](https://github.com/OpenFeign/feign) | Declarative REST client via annotated interfaces. | 9.8k | 2d | Apache-2.0 | +| [Google HTTP Client](https://github.com/googleapis/google-http-java-client) | Pluggable transport with JSON parsing and OAuth support. | 1.4k | 21d | Apache-2.0 | +| [methanol](https://github.com/mizosoft/methanol) | JDK HttpClient extensions: caching, compression, multipart. | 286 | 19d | MIT | +| [Retrofit](https://square.github.io/retrofit/) | Type-safe REST client with pluggable converters and call adapters. | - | - | - | +| [Ribbon](https://github.com/Netflix/ribbon) | Netflix's client-side load balancer with retry policies. | 4.6k | 24d | Apache-2.0 | +| [Riptide](https://github.com/zalando/riptide) | Response routing DSL for RestTemplate with problem+json support. | 329 | 19h | MIT | +| [unirest-java](https://github.com/Kong/unirest-java) | Fluent HTTP client with JSON, async, and file upload support. | 2.7k | 1mo | MIT | + +### Hypermedia Types + +_Libraries for hypermedia API serialization._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [hate](https://github.com/blackdoor/hate) | HAL+JSON builder with link templating support. | 25 | 2y | MIT | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | W3C JSON-LD processor with expansion, compaction, and framing. | 386 | 2y | BSD-3-Clause | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Siren hypermedia builder with actions and embedded entities. | 28 | 1y | MIT | +| [Spring HATEOAS](https://github.com/spring-projects/spring-hateoas) | Multi-format hypermedia (HAL, HAL-FORMS, Collection+JSON) for Spring. | 1.1k | 25d | Apache-2.0 | + +### IDE + +_Integrated development environments._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Eclipse](https://www.eclipse.org) | Extensible IDE with vast plugin ecosystem and multi-language support. | - | - | - | +| [IntelliJ IDEA](https://www.jetbrains.com/idea/) | Smart IDE with deep refactoring, inspections, and framework support. | - | - | - | +| [jGRASP](https://www.jgrasp.org) | Educational IDE with control structure and UML visualizations. | - | - | - | +| [NetBeans](https://netbeans.apache.org) | Apache IDE with Java SE/EE, Maven, and Git integration. | - | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Browser-based Java IDE for learning with live preview. | - | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Lightweight editor with Java extensions for debugging and Maven. | - | - | - | + +### Imagery + +_Libraries for image creation, evaluation, and manipulation._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Vector/raster barcode generation with CMYK and high-DPI support. | 9 | 17d | Apache-2.0 | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Hardware-accelerated image scaling with quality presets. | 1.2k | 2y | Apache-2.0 | +| [Tess4J](https://github.com/nguyenq/tess4j) | Tesseract OCR wrapper for text extraction from images. | 1.7k | 13d | Apache-2.0 | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | Fluent API for high-quality thumbnail generation. | 5.4k | 1d | MIT | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | ImageIO plugins for TIFF, PSD, WebP, and more formats. | 2.1k | 3d | BSD-3-Clause | +| [ZXing](https://github.com/zxing/zxing) | Multi-format barcode scanning and generation library. | 33.8k | 1mo | Apache-2.0 | +| [image-comparison](https://github.com/romankh3/image-comparison) | Visual diff tool highlighting image differences with rectangles. | 385 | 7mo | Apache-2.0 | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Blazing-fast libvips bindings via Panama FFM. | 98 | 10d | Apache-2.0 | +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable image operations: resize, crop, filters, and formats. | - | - | - | + +### Introspection + +_Libraries for easier and faster reflection._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ClassGraph](https://github.com/classgraph/classgraph) | Ultra-fast classpath scanner with parallel processing and module support. | 3.0k | 3mo | MIT | +| [jOOR](https://github.com/jOOQ/jOOR) | Fluent reflection API simplifying method invocation and field access. | 2.8k | 1y | Apache-2.0 | +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Simplified reflection for common tasks with a clean API. | - | - | - | +| [Objenesis](http://objenesis.org) | Instantiate objects bypassing constructors; used by serializers. | - | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | Code-generated reflection achieving near-native performance. | 1.5k | 7mo | BSD-3-Clause | +| [Reflections](https://github.com/ronmamo/reflections) | Runtime metadata scanning for annotations, subtypes, and resources. | 4.8k | 1y | WTFPL | + +### Job Scheduling + +_Libraries for scheduling background jobs._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [JobRunr](https://github.com/jobrunr/jobrunr) | Distributed job scheduler with lambda-based jobs and dashboard. | 2.8k | 1d | - | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Enterprise scheduler with cron expressions and clustering support. | 6.7k | 3d | Apache-2.0 | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight Quartz wrapper with simplified configuration. | 276 | 1y | Apache-2.0 | +| [Wisp](https://github.com/Coreoz/Wisp) | Minimal scheduler (~10KB) with cron and fixed-delay scheduling. | 141 | 7mo | Apache-2.0 | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent scheduler with cluster coordination via database locks. | 1.5k | 3d | Apache-2.0 | +| [easy-batch](https://github.com/j-easy/easy-batch) | Batch processing with readers, processors, and writers pipeline. | 629 | 2y | MIT | +| [shedlock](https://github.com/lukas-krecan/ShedLock) | Distributed lock ensuring single execution across cluster nodes. | 4.1k | 16h | Apache-2.0 | + +### JSON + +_Libraries for JSON serialization and deserialization._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Avaje Jsonb](https://avaje.io/jsonb/) | Compile-time JSON binding with no reflection; Jackson-compatible annotations. | - | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | Fastest JSON library via compile-time generated readers/writers. | 1.1k | 1y | BSD-3-Clause | +| [Genson](http://genson.io) | Feature-rich JSON with streaming, polymorphism, and JAX-RS support. | - | - | - | +| [Gson](https://github.com/google/gson) | Google's simple JSON library with no-config serialization. | 24.3k | 8d | Apache-2.0 | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | Ultra-fast JSON parser; 2x faster than Jackson. | 465 | 2y | Apache-2.0 | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Jackson support for Optional, JSR-310 dates, and parameter names. | 417 | 10d | Apache-2.0 | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Jackson serializer/deserializer for JavaMoney types. | 264 | 6mo | MIT | +| [Jackson](https://github.com/FasterXML/jackson) | Industry-standard JSON with streaming, data-binding, and modules. | 9.6k | 8d | - | +| [JSON-io](https://github.com/jdereg/json-io) | Deep object graph serialization with cycle handling. | 343 | 4d | Apache-2.0 | +| [jsoniter](http://jsoniter.com) | Iterator-style API for streaming and lazy JSON parsing. | - | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | Compile-time JSON for Android; faster than Gson and Jackson. | 3.2k | 4y | Apache-2.0 | +| [Moshi](https://github.com/square/moshi) | Square's modern JSON with Kotlin support and adapters. | 10.1k | 5d | Apache-2.0 | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Jakarta JSON Binding (JSON-B) reference implementation. | 215 | 6mo | - | +| [fastjson](https://github.com/alibaba/fastjson) | Alibaba's high-performance JSON with JSONPath support. | 25.7k | 1y | Apache-2.0 | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON-to-JSON transformation via shift, default, and sort specs. | 1.7k | 6mo | Apache-2.0 | +| [JsonPath](https://github.com/json-path/JsonPath) | XPath-like queries for extracting JSON data. | 9.4k | 2mo | Apache-2.0 | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath for processing large JSON without loading all. | - | - | - | + +### JVM and JDK + +_JVM and JDK implementations._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Which JDK](https://whichjdk.com/) | Decision guide for choosing a JDK distribution. | - | - | - | +| [Adopt Open JDK](https://adoptopenjdk.net) | Community OpenJDK with HotSpot and OpenJ9 variants. | - | - | - | +| [Corretto](https://aws.amazon.com/corretto/) | Amazon's LTS OpenJDK with AWS optimizations. | - | - | - | +| [Dragonwell8](https://github.com/alibaba/dragonwell8) | Alibaba's OpenJDK optimized for long-running services. | - | - | - | +| [Graal](https://github.com/oracle/graal) | Polyglot VM with native image compilation (GraalVM). | 21.4k | 12h | - | +| [Liberica JDK](https://bell-sw.com) | JCK-certified OpenJDK with JavaFX bundled option. | - | - | - | +| [OpenJ9](https://github.com/eclipse/openj9) | Eclipse JVM with low memory footprint and fast startup. | - | - | - | +| [Open JDK](https://openjdk.java.net) | Reference implementation and development home. | - | - | - | +| [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) | Non-blocking GC VM for iOS mobile development. | N/A | N/A | - | +| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | Red Hat's enterprise-supported OpenJDK. | - | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's JCK-verified OpenJDK for enterprise. | - | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | Azul's TCK-certified OpenJDK with commercial support option. | - | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft's OpenJDK build with Azure optimizations. | 340 | 2mo | MIT | + +### Logging + +_Libraries for application logging._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Log4j 2](https://logging.apache.org/log4j/) | Async logging with lazy evaluation and plugin architecture. | - | - | - | +| [Echopraxia](https://github.com/tersesystems/echopraxia) | Structured logging API with conditions and JSON context. | 58 | 10mo | - | +| [Graylog](https://www.graylog.org) | Centralized log management with search and dashboards. | - | - | - | +| [Kibana](https://www.elastic.co/kibana) | Elasticsearch visualization for log analysis and monitoring. | - | - | - | +| [Logback](http://logback.qos.ch) | SLF4J native implementation with Groovy config and filters. | - | - | - | +| [Logbook](https://github.com/zalando/logbook) | HTTP request/response logging with filtering and correlation. | 2.0k | 17h | MIT | +| [Logstash](https://www.elastic.co/logstash) | Log pipeline for parsing, transforming, and forwarding. | - | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | JDBC proxy logging all SQL with timing; no code changes. | 2.2k | 3y | Apache-2.0 | +| [SLF4J](http://www.slf4j.org) | Universal logging facade; bind to any implementation. | - | - | - | +| [tinylog](https://tinylog.org/v2/) | Minimalist logger with static API and 100KB footprint. | - | - | - | +| [OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox) | OpenTracing extensions for Spring and Servlet tracing. | 180 | 6mo | MIT | +| [Flogger](https://google.github.io/flogger/) | Google's fluent logging API with lazy argument evaluation. | - | - | - | + +### Machine Learning + +_Tools for machine learning and statistical algorithms._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Flink](https://flink.apache.org) | Stream/batch processing with exactly-once semantics and ML pipelines. | - | - | - | +| [Apache Mahout](https://mahout.apache.org) | Distributed ML for clustering, classification, and recommendations. | - | - | - | +| [DatumBox](http://www.datumbox.com) | Pre-trained NLP models for sentiment, topic, and spam detection. | - | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed deep learning with Spark and GPU support. | - | - | - | +| [DJL](https://djl.ai) | Deep learning abstraction for PyTorch, TensorFlow, and MXNet. | - | - | - | +| [H2O](https://www.h2o.ai) | AutoML platform with in-memory distributed training. | - | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Unified API for OpenAI, Cohere, and other AI services. | - | - | - | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Pure Java ML library with 100+ algorithms. | 800 | 3y | GPL-3.0 | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | Export trained models to Java/C/Python code. | 2.9k | 1y | MIT | +| [Neureka](https://github.com/Gleethos/neureka) | OpenCL-accelerated tensor library for neural networks. | 86 | 1y | MIT | +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance linear algebra and optimization solvers. | - | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Real-time ML on Spark with serving layer and model updates. | 1.8k | 4y | Apache-2.0 | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Complex event processing for streaming analytics. | 1.6k | 5mo | Apache-2.0 | +| [Smile](https://github.com/haifengl/smile) | Comprehensive ML library with Scala API and visualization. | 6.3k | 1d | - | +| [Tribuo](https://tribuo.org/) | Oracle's ML library with reproducibility and ONNX export. | - | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | GUI-based ML toolkit with 100+ algorithms. | - | - | - | + +### Messaging + +_Message brokers and communication libraries._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Aeron](https://github.com/real-logic/Aeron) | Ultra-low-latency messaging with UDP multicast and IPC. | - | - | - | +| [Apache ActiveMQ](https://activemq.apache.org) | JMS broker with persistence, clustering, and REST API. | - | - | - | +| [Apache Camel](https://camel.apache.org) | 300+ connectors with Enterprise Integration Patterns routing. | - | - | - | +| [Apache Kafka](https://kafka.apache.org) | Distributed event streaming with exactly-once semantics. | - | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Multi-tenant messaging with tiered storage and geo-replication. | - | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Alibaba's distributed messaging with transactions and scheduling. | - | - | - | +| [Apache Qpid](https://qpid.apache.org) | AMQP 1.0 broker and client libraries. | - | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | Cloud-native Kafka with S3 storage and auto-scaling. | - | - | - | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | In-process message dispatcher with compile-time handler resolution. | 64 | 1mo | Apache-2.0 | +| [EventBus](https://github.com/greenrobot/EventBus) | Android-optimized publish/subscribe event bus. | 24.8k | 1y | Apache-2.0 | +| [Hermes](http://hermes.allegro.tech) | Kafka REST proxy with schema validation and rate limiting. | - | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Pure Java ZeroMQ with pub/sub, push/pull patterns. | 2.4k | 1mo | MPL-2.0 | +| [Nakadi](https://github.com/zalando/nakadi) | Event bus REST API with schema registry on Kafka. | 968 | 1y | MIT | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | Official AMQP client with connection recovery. | 1.3k | 1d | - | +| [Smack](https://github.com/igniterealtime/Smack) | XMPP client for IM, presence, and extensions. | 2.4k | 1mo | Apache-2.0 | +| [NATS client](https://github.com/nats-io/nats.java) | Lightweight messaging client for NATS with JetStream. | 640 | 1d | Apache-2.0 | + +### Microservice + +_Tools for building and managing microservices._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ActiveRPC](https://rpc.activej.io) | Zero-allocation RPC with 15M+ requests/sec throughput. | - | - | - | +| [Armeria](https://github.com/line/armeria) | Async microservice framework with gRPC, Thrift, and REST on Netty. | 5.1k | 1d | Apache-2.0 | +| [consul-api](https://github.com/Ecwid/consul-api) | Consul client for service discovery, health checks, and KV store. | 423 | 2y | Apache-2.0 | +| [Eureka](https://github.com/Netflix/eureka) | Netflix's service registry with self-preservation and replication. | 12.7k | 23d | Apache-2.0 | +| [Helidon](https://helidon.io) | Oracle's microservice framework: SE (functional) or MP (MicroProfile). | - | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Discord API wrapper with event handling and slash commands. | - | - | - | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modern TeX implementation for document typesetting. | N/A | N/A | - | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Fluent Kubernetes/OpenShift API client with CRD support. | 3.6k | 21h | Apache-2.0 | +| [Micronaut](https://micronaut.io) | Compile-time DI framework with instant startup and low memory. | - | - | - | +| [Nacos](https://nacos.io) | Alibaba's service discovery and config management platform. | - | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | OpenAI API client for GPT, DALL-E, and Whisper. | 4.8k | 1y | MIT | +| [Quarkus](https://quarkus.io) | Supersonic Java with native compilation and live reload. | - | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control, circuit breaking, and real-time monitoring. | 23.0k | 8d | Apache-2.0 | + +### Miscellaneous + +_Everything else._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [CQEngine](https://github.com/npgall/cqengine) | In-memory indexed collections with SQL-like queries in microseconds. | 1.8k | 2y | Apache-2.0 | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | 100+ design patterns with Java examples and explanations. | 93.6k | 2mo | - | +| [FF4J](https://github.com/ff4j/ff4j) | Feature flags with web console, audit, and Spring integration. | 1.4k | 20d | Apache-2.0 | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | Satirical over-engineered FizzBuzz demonstrating pattern overuse. | 23.1k | 1y | - | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | IP geolocation and WHOIS lookup API client. | 7 | 10d | MIT | +| [ISBN core](https://github.com/ladutsko/isbn-core) | ISBN-10/13 parsing, validation, and formatting. | 3 | 14d | MIT | +| [J2ObjC](https://github.com/google/j2objc) | Google's Java to Objective-C transpiler for iOS code sharing. | 6.0k | 1d | Apache-2.0 | +| [JBake](https://jbake.org) | Static site generator with Freemarker, Groovy, and Markdown. | - | - | - | +| [JBot](https://github.com/rampatra/jbot) | Slack and Facebook Messenger bot framework. | 1.2k | 3mo | GPL-3.0 | +| [JCuda](http://jcuda.org) | Java bindings for CUDA GPU computing. | - | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | Type-safe emoji library with Discord/Slack alias support. | 102 | 4d | Apache-2.0 | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system for testing with full NIO.2 support. | 2.5k | 8d | Apache-2.0 | +| [Joda-Money](https://www.joda.org/joda-money/) | Money and currency handling with BigDecimal precision. | - | - | - | +| [jOOX](https://github.com/jooq/joox) | jQuery-style fluent API for XML DOM manipulation. | 505 | 1y | Apache-2.0 | +| [JPad](http://jpad.io) | Code snippet runner with instant results. | - | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Java to TypeScript/JavaScript transpiler. | 1.5k | 2y | - | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Ensure consistent Maven version without local installation. | 1.6k | 4y | Apache-2.0 | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | API gateway with OAuth2, rate limiting, and transformation. | - | - | - | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Embeddable FTP server in ~50KB. | 186 | 6mo | Apache-2.0 | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | Netty-based HTTP proxy with MITM support. | 2.1k | 1y | Apache-2.0 | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Comprehensive Java 8 tutorial with streams and lambdas. | 16.8k | 2y | MIT | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect legacy API usage (Guava → Java 8, etc.). | 383 | 8d | Apache-2.0 | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | GitHub browser extension linking imports to source files. | 5.3k | 2y | MIT | +| [OpenRefine](http://openrefine.org) | Data cleaning and transformation tool with reconciliation. | - | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Mediator pattern for command/query handlers. | 476 | 4mo | MIT | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Write POMs in Groovy, Kotlin, Scala, or YAML. | 915 | 1mo | EPL-1.0 | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | Record and replay Java execution for debugging. | 25 | 3y | GPL-3.0 | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Fluent email API with SMTP, attachments, and embedding. | 1.3k | 7mo | Apache-2.0 | +| [Smooks](https://github.com/smooks/smooks) | Event-driven data transformation and routing framework. | 415 | 1mo | - | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Webhook delivery platform with retries and signature verification. | N/A | N/A | - | +| [Togglz](https://www.togglz.org) | Feature toggles with admin console and Spring Boot starter. | - | - | - | +| [TypeTools](https://github.com/jhalterman/typetools) | Runtime generic type resolution for type-safe APIs. | 628 | 2y | Apache-2.0 | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Cross-platform webcam access with motion detection. | 2.3k | 2mo | MIT | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | XPath-based XML projection onto Java interfaces. | 76 | 5mo | Apache-2.0 | +| [yGuard](https://github.com/yWorks/yGuard) | Bytecode obfuscator with name mangling and shrinking. | 449 | 6mo | MIT | +| [JBang](https://github.com/maxandersen/jbang/) | Run Java as scripts with inline dependency declarations. | N/A | N/A | - | + +### Mobile Development + +_Tools for mobile application development._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Codename One](https://www.codenameone.com) | Write once, deploy native iOS/Android/web from Java. | - | - | - | +| [MobileUI](https://mobileui.dev) | Native mobile UI from Java/Kotlin with platform widgets. | - | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Shared Java codebase with native iOS/Android UI bindings. | - | - | - | + +### Monitoring + +_Tools for observability and telemetry._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apitally](https://github.com/apitally/apitally-java) | Privacy-focused API analytics with request logging. | 5 | 13h | MIT | +| [Automon](https://github.com/stevensouza/automon) | AOP-based monitoring integration with JAMon/Metrics. | 573 | 1y | Apache-2.0 | +| [Datadog](https://github.com/DataDog/dd-trace-java) | APM agent with distributed tracing and profiling. | 684 | 3h | Apache-2.0 | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Application metrics with JMX, Graphite, and Prometheus export. | 7.9k | 13d | Apache-2.0 | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Spring Boot Actuator endpoints for Failsafe circuit breakers. | 54 | 3y | MIT | +| [Glowroot](https://glowroot.org) | Lightweight APM with transaction tracing and historical analysis. | - | - | - | +| [HertzBeat](https://github.com/dromara/hertzbeat) | Agentless monitoring for servers, databases, and APIs. | - | - | - | +| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic thread pool tuning with web console. | N/A | N/A | - | +| [inspectIT](https://www.inspectit.rocks) | Bytecode-level APM with OpenTracing and EUM correlation. | - | - | - | +| [Instrumental](https://instrumentalapp.com) | Real-time metrics with alerting and dashboards. | - | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Distributed tracing client for Jaeger backend. | 490 | 3y | - | +| [JavaMelody](https://github.com/javamelody/javamelody) | Embedded monitoring with charts, SQL analysis, and profiling. | 3.0k | 11d | Apache-2.0 | +| [jmxtrans](https://github.com/jmxtrans/jmxtrans) | JMX metric collection to Graphite, InfluxDB, or Ganglia. | 1.7k | 3y | MIT | +| [Jolokia](https://jolokia.org) | JMX over HTTP/JSON for remote monitoring. | - | - | - | +| [Micrometer](https://github.com/micrometer-metrics/micrometer) | Metrics facade for Prometheus, Datadog, CloudWatch, etc. | 4.8k | 13h | Apache-2.0 | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Tracing facade for Zipkin, Wavefront, and OTLP. | 288 | 21h | Apache-2.0 | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Browser REPL for live JVM inspection. | 164 | 5y | MIT | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | CNCF standard for traces, metrics, and logs. | 2.3k | 9h | Apache-2.0 | +| [Pinpoint](https://github.com/naver/pinpoint) | Large-scale APM with call tree visualization. | - | - | - | +| [Prometheus](https://github.com/prometheus/client_java) | Official Prometheus client with gauges, counters, and histograms. | 2.3k | 10h | Apache-2.0 | +| [Sentry](https://github.com/getsentry/sentry-java) | Error tracking with stack traces and performance monitoring. | 1.3k | 1d | MIT | +| [SPM](https://github.com/sematext/sematext-agent-java) | Transaction tracing and JVM metrics. | 24 | 2d | Apache-2.0 | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Elasticsearch-integrated APM with Kibana dashboards. | 1.7k | 2y | Apache-2.0 | +| [Sysmon](https://github.com/palantir/Sysmon) | JVM resource monitoring (CPU, memory, GC). | 156 | 9y | Apache-2.0 | +| [zipkin](https://zipkin.io) | Distributed tracing system for latency analysis. | - | - | - | + +### Native + +_For working with platform-specific native libraries._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Aparapi](https://github.com/Syncleus/aparapi) | Execute Java on GPUs via automatic OpenCL conversion. | 482 | 3y | Apache-2.0 | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Native C/C++ binding generator with presets for OpenCV, FFmpeg. | 4.7k | 1mo | - | +| [JNA](https://github.com/java-native-access/jna) | Dynamic native access without JNI boilerplate. | 8.9k | 9d | - | +| [JNR](https://github.com/jnr/jnr-ffi) | Faster JNA alternative; foundation for Project Panama. | 1.3k | 2mo | - | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Extract and load bundled native libraries from JARs. | 215 | 1y | - | + +### Natural Language Processing + +_Libraries for text processing and analysis._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | NLP pipeline with coreference, SRL, and relation extraction. | 480 | 2y | - | +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. | - | - | - | +| [DKPro](https://dkpro.github.io) | UIMA-based NLP components for tokenization, POS, and parsing. | - | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Text hyphenation with bundled dictionaries for 30+ languages. | 3 | 6mo | MIT | +| [LingPipe](http://alias-i.com/lingpipe/) | Entity extraction, clustering, and classification toolkit. | - | - | - | + +### Networking + +_Libraries for network applications._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Server-Sent Events (SSE) client implementation. | 20 | 3y | Apache-2.0 | +| [Comsat](https://github.com/puniverse/comsat) | Fiber-aware web APIs (Servlet, JAX-RS) with Quasar. | 595 | 8y | - | +| [Dubbo](https://github.com/apache/dubbo) | Alibaba's RPC framework with service discovery and load balancing. | 41.7k | 1d | Apache-2.0 | +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework powering GlassFish with HTTP/2. | - | - | - | +| [gRPC-java](https://github.com/grpc/grpc-java) | Google's HTTP/2 RPC with streaming and deadlines. | 11.9k | 21h | Apache-2.0 | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Fast TCP/UDP networking with Kryo serialization. | 1.8k | 4y | BSD-3-Clause | +| [MINA](https://mina.apache.org) | Event-driven async network framework from Apache. | - | - | - | +| [Netty](https://netty.io) | Industry-standard async networking with epoll/kqueue support. | - | - | - | +| [Drift](https://github.com/airlift/drift) | Annotation-based Thrift client/server generation. | 248 | 4mo | Apache-2.0 | +| [ServiceTalk](https://github.com/apple/servicetalk) | Apple's reactive networking with HTTP/1.1, HTTP/2, and gRPC. | 1.0k | 10h | Apache-2.0 | +| [sshj](https://github.com/hierynomus/sshj) | SSH2 client for SFTP, SCP, and remote execution. | 2.6k | 8mo | Apache-2.0 | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Blocking/non-blocking TLS via simple ByteChannel API. | 207 | 3d | MIT | +| [Undertow](http://undertow.io) | High-performance web server with HTTP/2 and WebSocket. | - | - | - | +| [urnlib](https://github.com/slub/urnlib) | URN parsing and validation per RFC 2141/8141. | 34 | 11d | GPL-3.0 | +| [Fluency](https://github.com/komamitsu/fluency) | Async, buffered logger to Fluentd with failover. | 163 | 5d | Apache-2.0 | + +### ORM + +_Object-relational mapping frameworks._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Cayenne](https://cayenne.apache.org) | Modeler-based ORM with lazy loading and caching. | - | - | - | +| [Doma](https://github.com/domaframework/doma) | Compile-time SQL validation with two-way SQL templates. | 494 | 3d | Apache-2.0 | +| [Ebean](https://ebean.io) | Simple ORM with query beans, JSON, and soft-delete support. | - | - | - | +| [EclipseLink](https://www.eclipse.org/eclipselink/) | JPA reference implementation with MOXy and multi-tenancy. | - | - | - | +| [Hibernate](http://hibernate.org/orm/) | Feature-rich JPA implementation with caching and search. | - | - | - | +| [MyBatis](https://github.com/mybatis/mybatis-3) | SQL mapping framework with XML or annotation config. | 20.3k | 12h | Apache-2.0 | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | MyBatis enhancements: CRUD, pagination, code generation. | 17.3k | 3d | Apache-2.0 | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord-style ORM with method chaining queries. | 1.3k | 1y | Apache-2.0 | +| [Permazen](https://github.com/permazen/permazen) | Schema-independent persistence with change tracking. | 422 | 3mo | Apache-2.0 | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Zero-allocation result set to POJO mapping. | 454 | 3mo | MIT | + +### PaaS + +_Java platform as a service._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) | Managed Tomcat/Jetty deployment with auto-scaling. | - | - | - | +| [AWS Lambda](https://aws.amazon.com/lambda/) | Serverless Java with SnapStart for cold starts. | - | - | - | +| [Google Cloud](https://cloud.google.com) | App Engine, Cloud Run, and GKE for Java workloads. | - | - | - | +| [Heroku](https://www.heroku.com) | Git-push deployment with buildpacks and add-ons. | - | - | - | +| [Microsoft Azure](https://azure.microsoft.com/en-us/) | App Service and Functions with Spring integration. | - | - | - | +| [OpenShift](https://www.openshift.com) | Enterprise Kubernetes with Java S2I builds. | - | - | - | + +### Pathfinding + +_Algorithms for finding routes in graphs and spatial environments._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | High-performance 3D A\* pathfinding with configurable heuristics. | 236 | 1d | MIT | + +### PDF + +_Tools for PDF generation and manipulation._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | XSL-FO to PDF with SVG and image support. | - | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Create, modify, extract, and sign PDFs. | - | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Programmatic JasperReports without XML. | - | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Fluent API for JasperReports with charts. | 240 | 24d | LGPL-3.0 | +| [Eclipse BIRT](https://www.eclipse.org/birt) | Visual report designer with PDF, Excel, and HTML output. | - | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XHTML/CSS to PDF renderer. | 2.2k | 1d | - | +| [iText](https://itextpdf.com/en) | Full-featured PDF library with forms and digital signatures. | - | - | - | +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Enterprise reporting with charts, barcodes, and subreports. | - | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | HTML5/CSS3 to PDF/A with accessibility support. | 2.1k | 1y | - | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | LGPL iText fork with active maintenance. | 4.1k | 2mo | - | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extract tabular data from PDFs into CSV/JSON. | 2.0k | 9mo | MIT | + +### Performance analysis + +_Tools for profiling, benchmarking, and performance analysis._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [fastThread](https://fastthread.io) | Online thread dump analyzer with deadlock detection. | - | - | - | +| [GCeasy](https://gceasy.io) | GC log analyzer with tuning recommendations. | - | - | - | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | AsyncGetCallTrace-based profiler avoiding safepoint bias. | 1.3k | 2y | MIT | +| [jHiccup](https://github.com/giltene/jHiccup) | Measure JVM pauses and OS scheduling hiccups. | 696 | 1y | - | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Visualize HotSpot JIT compilations and inlining decisions. | 3.3k | 13d | - | +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | OpenJDK's microbenchmark harness with warmup and statistics. | - | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | HDR histogram-based latency recording with pause correction. | 465 | 1y | - | + +### Platform + +_Frameworks that are suites of multiple libraries encompassing several categories._ + +#### Apache Commons + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | - | + +#### Other + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | - | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | - | +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | - | + +### Processes + +_Libraries that help the management of operating system processes._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 1d | Apache-2.0 | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 6mo | Apache-2.0 | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | Apache-2.0 | + +### Reactive libraries + +_Libraries for developing reactive applications._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [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. | 4.9k | 1y | MIT-0 | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 1mo | Apache-2.0 | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 12d | Apache-2.0 | +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | - | + +### REST Frameworks + +_Frameworks for building RESTful services._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Production-ready REST with Jetty, Jersey, and Metrics. | 8.6k | 19h | Apache-2.0 | +| [Elide](https://elide.io) | JSON API/GraphQL from JPA models with security. | - | - | - | +| [Jersey](https://jersey.github.io) | JAX-RS reference implementation with DI support. | - | - | - | +| [Microserver](https://github.com/aol/micro-server) | Spring Boot microservices with 30+ plugins. | 934 | 2y | Apache-2.0 | +| [Rapidoid](https://www.rapidoid.org) | Ultra-fast HTTP server with embedded DI. | - | - | - | +| [rest.li](https://github.com/linkedin/rest.li) | LinkedIn's REST framework with typed schemas. | 2.5k | 1d | - | +| [RESTEasy](https://resteasy.github.io) | Red Hat's JAX-RS implementation with async. | - | - | - | +| [RestExpress](https://github.com/RestExpress/RestExpress) | Netty-based REST for high throughput. | 940 | 1y | Apache-2.0 | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Unified REST client/server with content negotiation. | 661 | 1mo | - | +| [Spark](http://sparkjava.com) | Minimalist Sinatra-style REST in Java. | - | - | - | +| [Crnk](http://www.crnk.io) | JSON API implementation with filtering and paging. | - | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | OpenAPI 3 docs from Spring Boot annotations. | 3.7k | 8d | Apache-2.0 | +| [Swagger](https://swagger.io) | API design, documentation, and code generation. | - | - | - | +| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Generate clients/servers from OpenAPI specs. | 25.6k | 14h | Apache-2.0 | + +### Science + +_Libraries for scientific computing, analysis, and visualization._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [BioJava](https://biojava.org/) | Bioinformatics library for sequences, structures, and alignments. | - | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Real-time scientific charting at 25Hz with millions of points. | - | - | - | +| [DataMelt](https://datamelt.org/) | Scientific computing environment with Python/Jython. | - | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Graph theory algorithms for research. | 127 | 2y | MIT | +| [GraphStream](http://graphstream-project.org) | Dynamic graph modeling with visualization. | - | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | Comprehensive 2D charting for Swing/JavaFX. | - | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph algorithms: shortest path, flow, matching. | 2.7k | 15h | EPL-2.0 | +| [JGraphX](https://github.com/jgraph/jgraphx) | Interactive graph visualization (powers draw.io). | 687 | 5y | - | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Boolean formula manipulation and SAT solving. | 149 | 5mo | Apache-2.0 | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Geophysics: seismic processing and visualization. | 82 | 4y | Apache-2.0 | +| [Morpheus](https://github.com/zavtech/morpheus-core) | DataFrame library for tabular data analysis. | 242 | 2y | Apache-2.0 | +| [Orekit](https://www.orekit.org/) | Space flight dynamics: orbit propagation and attitude. | - | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Interactive 3D charts with PDF/SVG export. | 120 | 7mo | GPL-3.0 | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | In-memory DataFrame with filtering and aggregation. | 3.7k | 6mo | Apache-2.0 | +| [XChart](https://github.com/knowm/XChart) | Simple charting with minimal dependencies. | 1.6k | 2mo | Apache-2.0 | + +### Search + +_Engines for indexing and searching documents._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Lucene](https://lucene.apache.org) | Foundation of most Java search; fast inverted indexes. | - | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search with faceting and clustering. | - | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed search and analytics with REST API. | - | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Lightweight in-memory full-text search. | 56 | 6y | Apache-2.0 | + +### Security + +_Libraries for authentication, authorization, and cryptography._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Shiro](https://shiro.apache.org) | Framework-agnostic security with auth, crypto, and sessions. | - | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | Fluent SSL/TLS configuration for HTTP clients and servers. | 565 | 8d | Apache-2.0 | +| [Bouncy Castle](https://www.bouncycastle.org/java.html) | Comprehensive crypto library with FIPS-certified provider. | - | - | - | +| [DependencyCheck](https://github.com/jeremylong/DependencyCheck) | OWASP tool detecting vulnerable dependencies via NVD. | 40 | 3mo | Apache-2.0 | +| [Cryptomator](https://cryptomator.org) | Client-side encryption for cloud storage with WebDAV. | - | - | - | +| [Hdiv](https://github.com/hdiv/hdiv) | Runtime protection against OWASP Top 10 attacks. | 219 | 1y | - | +| [jjwt](https://github.com/jwtk/jjwt) | JWT creation and verification with JWS/JWE support. | 11.0k | 2mo | Apache-2.0 | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Fluent JWT API with custom claim validation. | 14 | 5mo | MIT | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JWKS endpoint client with key caching. | 204 | 1mo | MIT | +| [Kalium](https://github.com/abstractj/kalium) | NaCl/libsodium bindings for modern crypto primitives. | 218 | 2y | Apache-2.0 | +| [Keycloak](https://www.keycloak.org) | Open-source IAM with OIDC, SAML, and social login. | - | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | Square's secret management with ACLs and audit logs. | 2.6k | 2y | Apache-2.0 | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Password strength estimator using pattern matching. | 308 | 4mo | MIT | +| [OACC](http://oaccframework.org) | Fine-grained permission-based access control framework. | - | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Enterprise access management with SSO and federation. | 860 | 9d | - | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | TOTP/HOTP one-time password generation per RFC specs. | 231 | 1y | MIT | +| [pac4j](https://github.com/pac4j/pac4j) | Multi-protocol security engine for OAuth, SAML, CAS. | 2.5k | 6h | Apache-2.0 | +| [Passay](http://www.passay.org/) | Password policy enforcement with configurable rules. | - | - | - | +| [Password4j](https://github.com/Password4j/password4j) | Password hashing with Argon2, BCrypt, SCrypt, and PBKDF2. | 399 | 4mo | Apache-2.0 | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent builders for X.509, keystores, and TLS contexts. | 47 | 4y | Apache-2.0 | +| [Themis](https://github.com/cossacklabs/themis) | High-level crypto for secure messaging and storage. | 1.9k | 19h | Apache-2.0 | +| [Tink](https://github.com/google/tink) | Google's misuse-resistant crypto API with key management. | - | - | - | +| [Topaz](https://www.topaz.sh) | Authorization service with RBAC, ABAC, and relationship-based AC. | - | - | - | + +### Serialization + +_High-efficiency serialization libraries._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [FlatBuffers](https://github.com/google/flatbuffers) | Zero-copy access to serialized data without parsing. | 25.4k | 19d | Apache-2.0 | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | 10x faster than JDK serialization with drop-in replacement. | 1.6k | 2y | Apache-2.0 | +| [Fury](https://github.com/alipay/fury) | JIT-accelerated serialization with cross-language support. | - | - | - | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast, compact object graph serialization for games and caching. | 6.5k | 19d | BSD-3-Clause | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Compact binary format smaller than JSON. | 1.5k | 4d | Apache-2.0 | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serialize Java objects to PHP format for interop. | 19 | 7y | MIT | + +### Server + +_Application servers for deployment._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Tomcat](https://tomcat.apache.org) | Reference Servlet container with virtual hosts and clustering. | - | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat with Jakarta EE (CDI, JPA, JAX-RS) baked in. | - | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Lightweight, embeddable server with HTTP/2 and WebSocket. | - | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny embeddable HTTP server in one Java file. | 7.2k | 2y | BSD-3-Clause | +| [WildFly](https://www.wildfly.org) | Full Jakarta EE server with modular architecture. | - | - | - | + +### Template Engine + +_Tools for text generation from templates._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Freemarker](https://freemarker.apache.org) | Powerful templating with macros, includes, and auto-escaping. | - | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logic-less Mustache templates with helpers. | - | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Pug/Jade template engine for concise HTML. | 706 | 3y | MIT | +| [Jamal](https://github.com/verhas/jamal) | Macro processor for Maven/Javadoc with Groovy and JShell. | 65 | 8mo | Apache-2.0 | +| [jstachio](https://github.com/jstachio/jstachio) | Compile-time Mustache with type-safe binding. | 315 | 9mo | BSD-3-Clause | +| [jte](https://github.com/casid/jte) | Fast, compiled templates with IntelliJ plugin support. | 1.1k | 4d | Apache-2.0 | +| [Jtwig](https://github.com/jtwig/jtwig) | Twig-inspired engine with inheritance and macros. | 300 | 7y | - | +| [Pebble](https://pebbletemplates.io) | Twig-like templates with inheritance, i18n, and autoescaping. | - | - | - | +| [Rocker](https://github.com/fizzed/rocker) | Type-safe templates compiling to optimized Java code. | 781 | 2mo | - | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | ANTLR's template engine for code generation. | 1.0k | 8mo | - | +| [Thymeleaf](https://www.thymeleaf.org) | Natural templates that work as HTML prototypes. | - | - | - | + +### Testing + +_Tools for testing from model to view._ + +#### Asynchronous + +_Tools for testing asynchronous services._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | Fluent DSL for polling until async conditions are met. | 4.0k | 10mo | Apache-2.0 | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Test multi-threaded code with assertions from any thread. | 427 | 1y | Apache-2.0 | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | Embedded SMTP/POP3/IMAP server for email testing. | - | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | HTTP service virtualization with record/playback. | 174 | 21d | Apache-2.0 | +| [Karate](https://github.com/intuit/karate) | BDD API testing with mocks, perf tests, and JSON/XML assertions. | - | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | Fluent API for testing REST services with JSON/XML validation. | 7.1k | 22d | Apache-2.0 | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Unified testing: REST, GraphQL, browser, CLI, and database. | 379 | 10d | Apache-2.0 | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | Fluent DSL for polling until async conditions are met. | 4.0k | 10mo | Apache-2.0 | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Test multi-threaded code with assertions from any thread. | 427 | 1y | Apache-2.0 | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | Embedded SMTP/POP3/IMAP server for email testing. | - | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | HTTP service virtualization with record/playback. | 174 | 21d | Apache-2.0 | +| [Karate](https://github.com/intuit/karate) | BDD API testing with mocks, perf tests, and JSON/XML assertions. | - | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | Fluent API for testing REST services with JSON/XML validation. | 7.1k | 22d | Apache-2.0 | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Unified testing: REST, GraphQL, browser, CLI, and database. | 379 | 10d | Apache-2.0 | + +#### BDD + +_Behavior-driven development testing frameworks._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Gherkin specs with step definitions in Java. | 2.8k | 3d | MIT | +| [Cukes-REST](https://github.com/ctco/cukes) | Cucumber steps for REST API testing. | 110 | 7mo | Apache-2.0 | +| [J8Spec](https://github.com/j8spec/j8spec) | Jasmine/RSpec-style specs with lambda syntax. | 48 | 3y | MIT | +| [JBehave](https://jbehave.org) | Story-driven BDD with narrative format. | - | - | - | +| [JGiven](http://jgiven.org) | Fluent BDD with readable HTML reports. | - | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Expressive specs using lambdas and natural language. | 253 | 3y | MIT | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Living documentation with Cucumber/JUnit integration. | 744 | 2d | - | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Gherkin specs with step definitions in Java. | 2.8k | 3d | MIT | +| [Cukes-REST](https://github.com/ctco/cukes) | Cucumber steps for REST API testing. | 110 | 7mo | Apache-2.0 | +| [J8Spec](https://github.com/j8spec/j8spec) | Jasmine/RSpec-style specs with lambda syntax. | 48 | 3y | MIT | +| [JBehave](https://jbehave.org) | Story-driven BDD with narrative format. | - | - | - | +| [JGiven](http://jgiven.org) | Fluent BDD with readable HTML reports. | - | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Expressive specs using lambdas and natural language. | 253 | 3y | MIT | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Living documentation with Cucumber/JUnit integration. | 744 | 2d | - | + +#### Fixtures + +_Test data generation and fixtures._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AutoParams](https://github.com/AutoParams/AutoParams) | JUnit 5 extension for automatic test parameter generation. | 368 | 3mo | MIT | +| [Beanmother](https://github.com/keepcosmos/beanmother) | YAML-based fixture factory for test objects. | 121 | 3y | Apache-2.0 | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern faker with 200+ data providers and locales. | 1.7k | 30m | Apache-2.0 | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Template-based test object builder. | 446 | 2y | Apache-2.0 | +| [jFairy](https://github.com/Devskiller/jfairy) | Realistic fake data (names, addresses, companies). | - | - | - | +| [Instancio](https://github.com/instancio/instancio) | Generate fully-populated objects with reproducible seeds. | 1.1k | 3h | Apache-2.0 | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | Repeatable randomized tests with seed control. | 180 | 10mo | Apache-2.0 | +| [Java Faker](https://github.com/DiUS/java-faker) | Ruby Faker port with extensive data types. | 4.9k | 1y | - | +| [Mockneat](https://github.com/nomemory/mockneat) | Fluent fake data API with constrained generators. | 536 | 2y | Apache-2.0 | +| [JMock](https://github.com/xcancloud/JMock) | High-performance mock data generation library. | 422 | 2mo | Apache-2.0 | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AutoParams](https://github.com/AutoParams/AutoParams) | JUnit 5 extension for automatic test parameter generation. | 368 | 3mo | MIT | +| [Beanmother](https://github.com/keepcosmos/beanmother) | YAML-based fixture factory for test objects. | 121 | 3y | Apache-2.0 | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern faker with 200+ data providers and locales. | 1.7k | 30m | Apache-2.0 | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Template-based test object builder. | 446 | 2y | Apache-2.0 | +| [jFairy](https://github.com/Devskiller/jfairy) | Realistic fake data (names, addresses, companies). | - | - | - | +| [Instancio](https://github.com/instancio/instancio) | Generate fully-populated objects with reproducible seeds. | 1.1k | 3h | Apache-2.0 | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | Repeatable randomized tests with seed control. | 180 | 10mo | Apache-2.0 | +| [Java Faker](https://github.com/DiUS/java-faker) | Ruby Faker port with extensive data types. | 4.9k | 1y | - | +| [Mockneat](https://github.com/nomemory/mockneat) | Fluent fake data API with constrained generators. | 536 | 2y | Apache-2.0 | +| [JMock](https://github.com/xcancloud/JMock) | High-performance mock data generation library. | 422 | 2mo | Apache-2.0 | + +#### Frameworks + +_Test execution environments and frameworks._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache JMeter](http://jmeter.apache.org) | Load testing with GUI and distributed execution. | - | - | - | +| [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) | Programmatic JMeter tests with fluent Java API. | - | - | - | +| [Arquillian](http://arquillian.org) | Integration testing with container lifecycle management. | - | - | - | +| [cdi-test](https://github.com/guhilling/cdi-test) | Lightweight CDI testing without full container. | 27 | 3d | Apache-2.0 | +| [Citrus](https://citrusframework.org) | Integration testing for HTTP, JMS, SOAP, and Kafka. | - | - | - | +| [Gatling](https://gatling.io) | Scala-based load testing with detailed HTML reports. | - | - | - | +| [JUnit](https://junit.org/junit5/) | The standard Java testing framework with extensions. | - | - | - | +| [jqwik](https://jqwik.net) | Property-based testing with shrinking on JUnit 5. | - | - | - | +| [Pact JVM](https://github.com/DiUS/pact-jvm) | Contract testing for microservices compatibility. | - | - | - | +| [PIT](http://pitest.org) | Mutation testing measuring test suite quality. | - | - | - | +| [weld-testing](https://github.com/weld/weld-testing) | CDI test extensions for JUnit 4/5 and Spock. | 112 | 5d | Apache-2.0 | +| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation for web application testing. | 33.9k | 8h | Apache-2.0 | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache JMeter](http://jmeter.apache.org) | Load testing with GUI and distributed execution. | - | - | - | +| [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) | Programmatic JMeter tests with fluent Java API. | - | - | - | +| [Arquillian](http://arquillian.org) | Integration testing with container lifecycle management. | - | - | - | +| [cdi-test](https://github.com/guhilling/cdi-test) | Lightweight CDI testing without full container. | 27 | 3d | Apache-2.0 | +| [Citrus](https://citrusframework.org) | Integration testing for HTTP, JMS, SOAP, and Kafka. | - | - | - | +| [Gatling](https://gatling.io) | Scala-based load testing with detailed HTML reports. | - | - | - | +| [JUnit](https://junit.org/junit5/) | The standard Java testing framework with extensions. | - | - | - | +| [jqwik](https://jqwik.net) | Property-based testing with shrinking on JUnit 5. | - | - | - | +| [Pact JVM](https://github.com/DiUS/pact-jvm) | Contract testing for microservices compatibility. | - | - | - | +| [PIT](http://pitest.org) | Mutation testing measuring test suite quality. | - | - | - | +| [weld-testing](https://github.com/weld/weld-testing) | CDI test extensions for JUnit 4/5 and Spock. | 112 | 5d | Apache-2.0 | +| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation for web application testing. | 33.9k | 8h | Apache-2.0 | + +#### Matchers + +_Custom assertion and matcher libraries._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions with IDE auto-completion. | - | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Composable matchers for expressive assertions. | - | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | JSON comparison with strict/lenient modes. | - | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | JSON assertions with path ignoring and regex. | 975 | 1d | Apache-2.0 | +| [Truth](https://truth.dev) | Google's extensible assertion framework. | - | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | XML comparison with diff and XPath assertions. | 314 | 2mo | Apache-2.0 | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions with IDE auto-completion. | - | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Composable matchers for expressive assertions. | - | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | JSON comparison with strict/lenient modes. | - | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | JSON assertions with path ignoring and regex. | 975 | 1d | Apache-2.0 | +| [Truth](https://truth.dev) | Google's extensible assertion framework. | - | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | XML comparison with diff and XPath assertions. | 314 | 2mo | Apache-2.0 | + +#### Testing Miscellaneous + +_Other testing utilities._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Capture stdout/stderr for assertion. | 33 | 18d | Apache-2.0 | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-style parameterized tests for JUnit. | 249 | 3d | Apache-2.0 | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extensions: environment variables, temp dirs, etc. | - | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Capture and assert log messages in tests. | 421 | 18d | Apache-2.0 | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | AssertJ-style log assertions with MDC support. | 15 | 1mo | MIT | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Verify class immutability at test time. | 241 | 3mo | Apache-2.0 | +| [pojo-tester](https://www.pojo.pl) | Auto-test equals, hashCode, toString, getters/setters. | - | - | - | +| [raml-tester](https://github.com/nidi3/raml-tester) | Validate API requests/responses against RAML specs. | 73 | 6y | Apache-2.0 | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing with inline or file-based snapshots. | 88 | 14h | Apache-2.0 | +| [Stebz](https://github.com/stebz/stebz) | Step-based test organization framework. | 17 | 3d | MIT | +| [Testcontainers](https://github.com/testcontainers/testcontainers-java) | Disposable Docker containers for DBs, browsers, and services. | 8.6k | 8d | MIT | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Capture stdout/stderr for assertion. | 33 | 18d | Apache-2.0 | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-style parameterized tests for JUnit. | 249 | 3d | Apache-2.0 | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extensions: environment variables, temp dirs, etc. | - | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Capture and assert log messages in tests. | 421 | 18d | Apache-2.0 | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | AssertJ-style log assertions with MDC support. | 15 | 1mo | MIT | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Verify class immutability at test time. | 241 | 3mo | Apache-2.0 | +| [pojo-tester](https://www.pojo.pl) | Auto-test equals, hashCode, toString, getters/setters. | - | - | - | +| [raml-tester](https://github.com/nidi3/raml-tester) | Validate API requests/responses against RAML specs. | 73 | 6y | Apache-2.0 | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing with inline or file-based snapshots. | 88 | 14h | Apache-2.0 | +| [Stebz](https://github.com/stebz/stebz) | Step-based test organization framework. | 17 | 3d | MIT | +| [Testcontainers](https://github.com/testcontainers/testcontainers-java) | Disposable Docker containers for DBs, browsers, and services. | 8.6k | 8d | MIT | + +#### Mocking + +_Mock frameworks for isolated unit testing._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [JMockit](http://jmockit.github.io) | Full mocking with expectations, verifications, and coverage. | - | - | - | +| [Mockito](https://github.com/mockito/mockito) | Clean, readable mocking with spy and argument capture. | 15.4k | 4d | MIT | +| [MockServer](https://www.mock-server.com) | HTTP/HTTPS mock server with expectation matching. | - | - | - | +| [Moco](https://github.com/dreamhead/moco) | Standalone mock server with simple JSON config. | 4.4k | 1y | MIT | +| [PowerMock](https://github.com/powermock/powermock) | Mock statics, constructors, and final classes. | 4.2k | 2y | Apache-2.0 | +| [WireMock](http://wiremock.org) | HTTP service simulator with record/playback and fault injection. | - | - | - | +| [EasyMock](https://github.com/easymock/easymock) | Record/replay mocking with nice/strict modes. | 831 | 4d | - | + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [JMockit](http://jmockit.github.io) | Full mocking with expectations, verifications, and coverage. | - | - | - | +| [Mockito](https://github.com/mockito/mockito) | Clean, readable mocking with spy and argument capture. | 15.4k | 4d | MIT | +| [MockServer](https://www.mock-server.com) | HTTP/HTTPS mock server with expectation matching. | - | - | - | +| [Moco](https://github.com/dreamhead/moco) | Standalone mock server with simple JSON config. | 4.4k | 1y | MIT | +| [PowerMock](https://github.com/powermock/powermock) | Mock statics, constructors, and final classes. | 4.2k | 2y | Apache-2.0 | +| [WireMock](http://wiremock.org) | HTTP service simulator with record/playback and fault injection. | - | - | - | +| [EasyMock](https://github.com/easymock/easymock) | Record/replay mocking with nice/strict modes. | 831 | 4d | - | + +### Utility + +_General utility libraries._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Arthas](https://github.com/alibaba/arthas) | Production diagnostics: class decompile, trace, and profiling live. | 37.0k | 26m | Apache-2.0 | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Token bucket rate limiter with distributed support. | - | - | - | +| [cactoos](https://github.com/yegor256/cactoos) | Object-oriented primitives avoiding nulls and statics. | 763 | 1d | MIT | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generate Postman collections from annotated Java code. | 48 | 2y | Apache-2.0 | +| [CRaSH](http://www.crashub.org) | SSH shell into running JVMs for inspection. | - | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Data visualization and ETL with JavaFX. | 1.3k | 6y | Apache-2.0 | +| [dregex](https://github.com/marianobarrios/dregex) | DFA-based regex with set operations and linear time. | 48 | 3d | BSD-2-Clause | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader for DBs, S3, and file formats. | 1.8k | 1mo | Apache-2.0 | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Simplified file system watching wrapper. | 31 | 7d | Apache-2.0 | +| [Gephi](https://github.com/gephi/gephi) | Network graph visualization and analysis tool. | 6.3k | 13h | GPL-3.0 | +| [Guava](https://github.com/google/guava) | Google's core libraries: collections, caching, I/O, and more. | 51.4k | 11h | Apache-2.0 | +| [JADE](https://jade.tilab.com) | Multi-agent system framework with FIPA compliance. | - | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | GitHub Action for auto-publishing Javadoc. | 55 | 1mo | Apache-2.0 | +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Unified diff, patch, and merge utilities. | - | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Readable regex builder with fluent API. | 2.6k | 9d | MIT | +| [JGit](https://www.eclipse.org/jgit/) | Pure Java Git implementation used by Eclipse. | - | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Kotlin-style scope functions (let, also, run) for Java. | 21 | 11mo | Apache-2.0 | +| [minio-java](https://github.com/minio/minio-java) | S3-compatible object storage client. | 1.3k | 25d | Apache-2.0 | +| [Protégé](https://protege.stanford.edu) | Ontology editor for OWL and knowledge graphs. | - | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Semantic versioning parsing and comparison. | 106 | 1d | MIT | +| [Underscore-java](https://github.com/javadev/underscore-java) | Functional utilities: map, filter, reduce, and more. | 547 | 1mo | MIT | + +### Version Managers + +_Tools for managing multiple Java versions._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [jabba](https://github.com/shyiko/jabba) | Cross-platform JDK manager with remote install support. | 3.3k | 1y | - | +| [jenv](https://github.com/jenv/jenv) | Project-level Java version switching via shell. | 6.5k | 16d | MIT | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Manage JDKs and tools (Maven, Gradle) with one CLI. | 6.6k | 2d | Apache-2.0 | + +### Web Crawling + +_Libraries for web scraping and crawling._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Apache Nutch](https://nutch.apache.org) | Hadoop-based crawler with Solr/Elasticsearch integration. | - | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Multi-threaded crawler with depth and politeness control. | 4.6k | 4y | Apache-2.0 | +| [jsoup](https://jsoup.org) | HTML parsing with CSS selectors and DOM manipulation. | - | - | - | +| [StormCrawler](http://stormcrawler.net) | Real-time crawler on Apache Storm for scale. | - | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Modular crawler with XPath/CSS extraction and pipelines. | 11.7k | 20d | Apache-2.0 | + +### Web Frameworks + +_Frameworks for building web applications._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [ActiveJ](https://activej.io) | Async-first framework with 1M+ req/sec on single core. | - | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-based framework with live reload. | - | - | - | +| [Apache Wicket](https://wicket.apache.org) | Stateful component model with type-safe Java. | - | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight MVC framework with Netty backend. | 5.9k | 25d | Apache-2.0 | +| [Bootique](https://bootique.io) | Modular app framework with config and metrics. | - | - | - | +| [Firefly](http://www.fireflysource.com) | Async framework with HTTP/2 and WebSocket. | - | - | - | +| [Javalin](https://javalin.io/) | Simple REST API framework on Jetty. | - | - | - | +| [Jooby](http://www.jooby.org) | Modular framework with Netty, Jetty, or Undertow. | - | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack with ORM, templates, and testing. | - | - | - | +| [Pippo](http://www.pippo.ro) | Micro-framework with routing, templates, and i18n. | - | - | - | +| [Play](https://www.playframework.com) | Reactive framework with hot reload for Scala/Java. | - | - | - | +| [PrimeFaces](https://www.primefaces.org) | JSF components with 100+ UI widgets. | - | - | - | +| [Ratpack](https://ratpack.io) | Non-blocking HTTP with RxJava and Groovy DSL. | - | - | - | +| [Takes](https://github.com/yegor256/takes) | Truly OOP web framework without annotations. | 868 | 7h | MIT | +| [Vaadin](https://vaadin.com) | Build web UIs in Java with optional React components. | - | - | - | +| [WebForms Core](https://github.com/webforms-core) | Server-side HTML tag management. | - | - | - | + +### Workflow Orchestration Engines + +_Platforms for orchestrating workflows and business processes._ + +| Name | Description | Stars | Updated | License | +| :--- | :---------- | :---: | :-----: | :-----: | +| [Cadence](https://cadenceworkflow.io) | Uber's durable execution platform for long-running workflows. | - | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | BPMN 2.0, CMMN, and DMN engine with REST API. | 9.0k | 1d | Apache-2.0 | +| [Temporal](https://temporal.io) | Durable execution with gRPC; Cadence successor with cloud offering. | - | - | - | + +## Resources + +### Related Awesome Lists + +_Awesome Lists related to the Java & JVM ecosystem._ + +- [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) +- [Awesome REST](https://github.com/marmelab/awesome-rest) +- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) +- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) +- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) +- [Useful Java Links](https://github.com/Vedenin/useful-java-links) +- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) +- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) + +### Communities + +_Active discussions._ + +- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. +- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. + +### Frontends + +_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ + +- [java.libhunt.com](https://java.libhunt.com) + +### Influential Books + +_Books that made a big impact and are still worth reading._ + +- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) +- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) +- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) +- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) +- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) +- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) +- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) + +### Podcasts and Screencasts + +_Something to look at or listen to while programming._ + +- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. +- [A Bootiful Podcast](https://bootifulpodcast.fm) +- [Foojay Podcast](https://foojay.io/today/category/podcast/) +- [Inside Java](https://inside.java/podcast) (Official) +- [Java Off Heap](http://www.javaoffheap.com) +- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. + +### People + +#### Socials + +_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://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://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](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://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. +- [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. +- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. +- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. +- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. +- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. +- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. +- [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://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. + +### Websites + +_Sites to read._ + +- [Baeldung](https://www.baeldung.com) +- [Dzone](https://dzone.com) +- [foojay.io](https://foojay.io) +- [Google Java Style](https://google.github.io/styleguide/javaguide.html) +- [InfoQ](https://www.infoq.com) +- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) +- [Java, SQL, and jOOQ](https://blog.jooq.org) +- [Java.net](https://community.oracle.com/community/java) +- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) +- [JavaWorld](https://www.javaworld.com) +- [JAXenter](https://jaxenter.com) +- [RebelLabs](https://zeroturnaround.com/rebellabs) +- [OverOps Blog](https://blog.overops.com) +- [TheServerSide.com](http://www.theserverside.com) +- [Vanilla Java](https://vanilla-java.github.io) +- [Voxxed](https://www.voxxed.com) +- [Java Weekly](https://discu.eu/weekly/java/) + +## Contributing + +Contributions are very welcome! + +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). From 549bfedf4d010ddff8ffab58f34f1fd7ef0440c7 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 12:07:08 +0400 Subject: [PATCH 417/533] Update --- .github/pull_request_template.md | 2 - .github/workflows/update-readme.yml | 4 +- .tmp/parsed-projects.txt | 267 +++++++++++++++----- CONTRIBUTING.md | 4 +- scripts/step_3_generate_stats.java | 8 +- scripts/step_4_generate_tables.java | 8 +- scripts/step_6_validate_transformation.java | 2 +- 7 files changed, 219 insertions(+), 76 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 4dae8f97..100919d7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,6 +2,4 @@ Never ever change the README.md directly! Add your contributions to the CONTRIBUTE_README.md! - -Please read the CONTRIBUTING.md first! --> diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index bcfd4359..b02700e7 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -48,7 +48,7 @@ jobs: - name: Run README generation workflow env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PAT: ${{ secrets.PAT }} run: | java --enable-preview --source 25 scripts/run_workflow.java @@ -58,7 +58,7 @@ jobs: git config --local user.name "GitHub Action" git add -f README.md # Always commit the stats cache so it persists for next run - git add .tmp/github-stats.txt || true + git add -f .tmp/github-stats.txt || true if git diff --staged --quiet; then echo "No changes to commit" else diff --git a/.tmp/parsed-projects.txt b/.tmp/parsed-projects.txt index 37fee3d9..134cbbd5 100644 --- a/.tmp/parsed-projects.txt +++ b/.tmp/parsed-projects.txt @@ -133,14 +133,14 @@ SECTION:Bytecode Manipulation NAME:bytecode-viewer URL:https://github.com/Konloch/bytecode-viewer -DESC:All-in-one reverse engineering suite for JAR and APK files. (GPL-3.0-only) +DESC:All-in-one reverse engineering suite for JAR and APK files. SKIP:1 SECTION:Bytecode Manipulation --- NAME:Byteman URL:https://byteman.jboss.org -DESC:Rule-based runtime bytecode injection for testing and fault injection. (LGPL-2.1-or-later) +DESC:Rule-based runtime bytecode injection for testing and fault injection. SKIP:1 SECTION:Bytecode Manipulation --- @@ -273,7 +273,7 @@ SECTION:CLI/Text-Based User Interfaces NAME:Lanterna URL:https://github.com/mabe02/lanterna -DESC:Curses-like TUI with cross-platform terminal abstraction. (LGPL-3.0-only) +DESC:Curses-like TUI with cross-platform terminal abstraction. SKIP:1 SECTION:CLI/Text-Based User Interfaces --- @@ -294,7 +294,7 @@ SECTION:Cloud NAME:Checkstyle URL:https://github.com/checkstyle/checkstyle -DESC:Enforces coding standards with 150+ configurable checks. (LGPL-2.1-or-later) +DESC:Enforces coding standards with 150+ configurable checks. SKIP:1 SECTION:Code Analysis --- @@ -322,7 +322,7 @@ SECTION:Code Analysis NAME:jQAssistant URL:https://jqassistant.org -DESC:Query codebase structure with Cypher on a Neo4j graph. (GPL-3.0-only) +DESC:Query codebase structure with Cypher on a Neo4j graph. SKIP:1 SECTION:Code Analysis --- @@ -357,7 +357,7 @@ SECTION:Code Analysis NAME:SonarJava URL:https://github.com/SonarSource/sonar-java -DESC:600+ rules for SonarQube with security hotspot detection. (LGPL-3.0-only) +DESC:600+ rules for SonarQube with security hotspot detection. SKIP:1 SECTION:Code Analysis --- @@ -371,7 +371,7 @@ SECTION:Code Analysis NAME:Spotbugs URL:https://github.com/spotbugs/spotbugs -DESC:FindBugs successor; bytecode analysis for 400+ bug patterns. (LGPL-2.1-only) +DESC:FindBugs successor; bytecode analysis for 400+ bug patterns. SKIP:1 SECTION:Code Analysis --- @@ -385,7 +385,7 @@ SECTION:Code Coverage NAME:Cobertura URL:https://cobertura.github.io/cobertura/ -DESC:Bytecode instrumentation with branch coverage and complexity metrics. (GPL-2.0-only) +DESC:Bytecode instrumentation with branch coverage and complexity metrics. SKIP:1 SECTION:Code Coverage --- @@ -418,6 +418,13 @@ SKIP:1 SECTION:Code Generators --- +NAME:Bootify +URL:https://bootify.io +DESC:Browser-based Spring Boot scaffolding with JPA entities and REST APIs. +SKIP:1 +SECTION:Code Generators +--- + NAME:EasyEntityToDTO URL:https://github.com/Marcel091004/EasyEntityToDTO DESC:Annotation processor generating DTOs and mappers automatically. @@ -467,6 +474,13 @@ SKIP:1 SECTION:Code Generators --- +NAME:JPA Buddy +URL:https://www.jpa-buddy.com +DESC:IntelliJ plugin for visual JPA entity design with Liquibase/Flyway diff generation. +SKIP:1 +SECTION:Code Generators +--- + NAME:JSpecify Package-Info Generator URL:https://github.com/bcaillard/jspecify-packageinfo-generator DESC:Maven plugin auto-generating `package-info.java` with nullness annotations. @@ -630,7 +644,7 @@ SECTION:Constraint Satisfaction Problem Solver NAME:JaCoP URL:https://github.com/radsz/jacop -DESC:Constraint solver with MiniZinc/FlatZinc support for modeling. (AGPL-3.0) +DESC:Constraint solver with MiniZinc/FlatZinc support for modeling. SKIP:1 SECTION:Constraint Satisfaction Problem Solver --- @@ -819,7 +833,7 @@ SECTION:Database NAME:eXist URL:https://github.com/eXist-db/exist -DESC:Native XML database with XQuery and full-text search. (LGPL-2.1-only) +DESC:Native XML database with XQuery and full-text search. SKIP:1 SECTION:Database --- @@ -1064,7 +1078,7 @@ SECTION:Date and Time NAME:Time4J URL:https://github.com/MenoData/Time4J -DESC:Comprehensive date/time with calendars, i18n, and formatting. (LGPL-2.1-only) +DESC:Comprehensive date/time with calendars, i18n, and formatting. SKIP:1 SECTION:Date and Time --- @@ -1127,7 +1141,7 @@ SECTION:Dependency Injection NAME:JayWire URL:https://github.com/vanillasource/jaywire -DESC:Minimal DI with no annotations required. (LGPL-3.0-only) +DESC:Minimal DI with no annotations required. SKIP:1 SECTION:Dependency Injection --- @@ -1141,7 +1155,7 @@ SECTION:Development NAME:DCEVM URL:https://dcevm.github.io -DESC:HotSwap on steroids: redefine classes, add methods/fields at runtime. (GPL-2.0-only) +DESC:HotSwap on steroids: redefine classes, add methods/fields at runtime. SKIP:1 SECTION:Development --- @@ -1155,7 +1169,7 @@ SECTION:Development NAME:HotswapAgent URL:https://github.com/HotswapProjects/HotswapAgent -DESC:Hot reload classes, Spring beans, and resources without restart. (GPL-2.0-only) +DESC:Hot reload classes, Spring beans, and resources without restart. SKIP:1 SECTION:Development --- @@ -1239,7 +1253,7 @@ SECTION:Distributed Applications NAME:Dropwizard Circuit Breaker URL:https://github.com/mtakaki/dropwizard-circuitbreaker -DESC:Annotation-based circuit breakers for Dropwizard. (GPL-2.0-only) +DESC:Annotation-based circuit breakers for Dropwizard. SKIP:1 SECTION:Distributed Applications --- @@ -1316,7 +1330,7 @@ SECTION:Distributed Transactions NAME:Narayana URL:https://narayana.io -DESC:Red Hat's JTA/JTS transaction manager with saga support. (LGPL-2.1-only) +DESC:Red Hat's JTA/JTS transaction manager with saga support. SKIP:1 SECTION:Distributed Transactions --- @@ -1335,6 +1349,13 @@ SKIP:1 SECTION:Distribution --- +NAME:Boxfuse +URL:https://boxfuse.com +DESC:Immutable AWS deployments with minimal VM images. +SKIP:1 +SECTION:Distribution +--- + NAME:Capsule URL:https://github.com/puniverse/capsule DESC:Single-file deployment with embedded JVM and dependency resolution. @@ -1349,6 +1370,13 @@ SKIP:1 SECTION:Distribution --- +NAME:Cloudsmith +URL:https://cloudsmith.io +DESC:Cloud artifact hosting with Maven/Gradle support and free tier. +SKIP:1 +SECTION:Distribution +--- + NAME:Getdown URL:https://github.com/threerings/getdown DESC:Java Web Start replacement with auto-updates and delta patching. @@ -1384,6 +1412,13 @@ SKIP:1 SECTION:Distribution --- +NAME:Nexus +URL:https://www.sonatype.com +DESC:Repository manager with proxying, caching, and security scanning. +SKIP:1 +SECTION:Distribution +--- + NAME:packr URL:https://github.com/libgdx/packr DESC:Bundle JRE with your app for native Windows/Mac/Linux distribution. @@ -1484,7 +1519,7 @@ SECTION:Formal Verification NAME:Checker Framework URL:https://checkerframework.org -DESC:Pluggable type systems for nullness, tainting, and more. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Pluggable type systems for nullness, tainting, and more. SKIP:1 SECTION:Formal Verification --- @@ -1505,21 +1540,21 @@ SECTION:Formal Verification NAME:JMLOK 2.0 URL:https://massoni.computacao.ufcg.edu.br/home/jmlok -DESC:Detects JML specification violations via random testing. (GPL-3.0-only) +DESC:Detects JML specification violations via random testing. SKIP:1 SECTION:Formal Verification --- NAME:KeY URL:https://www.key-project.org -DESC:Deductive verification using JML and symbolic execution. (GPL-2.0-or-later) +DESC:Deductive verification using JML and symbolic execution. SKIP:1 SECTION:Formal Verification --- NAME:OpenJML URL:http://www.openjml.org -DESC:JML verification via SMT solvers (Z3, CVC4). (GPL-2.0-only) +DESC:JML verification via SMT solvers (Z3, CVC4). SKIP:1 SECTION:Formal Verification --- @@ -1533,7 +1568,7 @@ SECTION:Functional Programming NAME:derive4j URL:https://github.com/derive4j/derive4j -DESC:Algebraic data types with pattern matching via annotation processing. (GPL-3.0-only) +DESC:Algebraic data types with pattern matching via annotation processing. SKIP:1 SECTION:Functional Programming --- @@ -1657,6 +1692,13 @@ SKIP:1 SECTION:Geospatial --- +NAME:ArcGIS Maps SDK for Java +URL:https://github.com/Esri/arcgis-maps-sdk-java-samples/ +DESC:Esri's JavaFX SDK for mapping and spatial analysis. +SKIP:1 +SECTION:Geospatial +--- + NAME:Geo URL:https://github.com/davidmoten/geo DESC:GeoHash encoding/decoding with spatial indexing. @@ -1666,7 +1708,7 @@ SECTION:Geospatial NAME:GeoTools URL:https://geotools.org -DESC:Comprehensive GIS toolkit for OGC standards. (LGPL-2.1-only) +DESC:Comprehensive GIS toolkit for OGC standards. SKIP:1 SECTION:Geospatial --- @@ -1680,7 +1722,7 @@ SECTION:Geospatial NAME:H2GIS URL:http://www.h2gis.org -DESC:Spatial SQL extension for H2 with OGC compliance. (LGPL-3.0-only) +DESC:Spatial SQL extension for H2 with OGC compliance. SKIP:1 SECTION:Geospatial --- @@ -1694,7 +1736,7 @@ SECTION:Geospatial NAME:Mapsforge URL:https://github.com/mapsforge/mapsforge -DESC:Offline map rendering from OpenStreetMap vector data. (LGPL-3.0-only) +DESC:Offline map rendering from OpenStreetMap vector data. SKIP:1 SECTION:Geospatial --- @@ -1888,6 +1930,13 @@ SKIP:1 SECTION:IDE --- +NAME:IntelliJ IDEA +URL:https://www.jetbrains.com/idea/ +DESC:Smart IDE with deep refactoring, inspections, and framework support. +SKIP:1 +SECTION:IDE +--- + NAME:jGRASP URL:https://www.jgrasp.org DESC:Educational IDE with control structure and UML visualizations. @@ -2205,7 +2254,7 @@ SECTION:JVM and JDK NAME:Corretto URL:https://aws.amazon.com/corretto/ -DESC:Amazon's LTS OpenJDK with AWS optimizations. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Amazon's LTS OpenJDK with AWS optimizations. SKIP:1 SECTION:JVM and JDK --- @@ -2219,14 +2268,14 @@ SECTION:JVM and JDK NAME:Graal URL:https://github.com/oracle/graal -DESC:Polyglot VM with native image compilation (GraalVM). (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Polyglot VM with native image compilation (GraalVM). SKIP:1 SECTION:JVM and JDK --- NAME:Liberica JDK URL:https://bell-sw.com -DESC:JCK-certified OpenJDK with JavaFX bundled option. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:JCK-certified OpenJDK with JavaFX bundled option. SKIP:1 SECTION:JVM and JDK --- @@ -2240,35 +2289,35 @@ SECTION:JVM and JDK NAME:Open JDK URL:https://openjdk.java.net -DESC:Reference implementation and development home. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Reference implementation and development home. SKIP:1 SECTION:JVM and JDK --- NAME:ParparVM URL:https://github.com/codenameone/CodenameOne/tree/master/vm -DESC:Non-blocking GC VM for iOS mobile development. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Non-blocking GC VM for iOS mobile development. SKIP:1 SECTION:JVM and JDK --- NAME:RedHat Open JDK URL:https://developers.redhat.com/products/openjdk/overview -DESC:Red Hat's enterprise-supported OpenJDK. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Red Hat's enterprise-supported OpenJDK. SKIP:1 SECTION:JVM and JDK --- NAME:SAP Machine URL:https://sap.github.io/SapMachine/ -DESC:SAP's JCK-verified OpenJDK for enterprise. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:SAP's JCK-verified OpenJDK for enterprise. SKIP:1 SECTION:JVM and JDK --- NAME:Zulu URL:https://www.azul.com/products/zulu-community/ -DESC:Azul's TCK-certified OpenJDK with commercial support option. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Azul's TCK-certified OpenJDK with commercial support option. SKIP:1 SECTION:JVM and JDK --- @@ -2296,7 +2345,7 @@ SECTION:Logging NAME:Graylog URL:https://www.graylog.org -DESC:Centralized log management with search and dashboards. (GPL-3.0-only) +DESC:Centralized log management with search and dashboards. SKIP:1 SECTION:Logging --- @@ -2399,6 +2448,13 @@ SKIP:1 SECTION:Machine Learning --- +NAME:H2O +URL:https://www.h2o.ai +DESC:AutoML platform with in-memory distributed training. +SKIP:1 +SECTION:Machine Learning +--- + NAME:Intelligent java URL:https://github.com/Barqawiz/IntelliJava DESC:Unified API for OpenAI, Cohere, and other AI services. @@ -2408,7 +2464,7 @@ SECTION:Machine Learning NAME:JSAT URL:https://github.com/EdwardRaff/JSAT -DESC:Pure Java ML library with 100+ algorithms. (GPL-3.0-only) +DESC:Pure Java ML library with 100+ algorithms. SKIP:1 SECTION:Machine Learning --- @@ -2464,7 +2520,7 @@ SECTION:Machine Learning NAME:Weka URL:https://www.cs.waikato.ac.nz/ml/weka/ -DESC:GUI-based ML toolkit with 100+ algorithms. (GPL-3.0-only) +DESC:GUI-based ML toolkit with 100+ algorithms. SKIP:1 SECTION:Machine Learning --- @@ -2695,7 +2751,7 @@ SECTION:Miscellaneous NAME:FizzBuzz Enterprise Edition URL:https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition -DESC:Satirical over-engineered FizzBuzz demonstrating pattern overuse. (No explicit license) +DESC:Satirical over-engineered FizzBuzz demonstrating pattern overuse. SKIP:1 SECTION:Miscellaneous --- @@ -2730,7 +2786,7 @@ SECTION:Miscellaneous NAME:JBot URL:https://github.com/rampatra/jbot -DESC:Slack and Facebook Messenger bot framework. (GPL-3.0-only) +DESC:Slack and Facebook Messenger bot framework. SKIP:1 SECTION:Miscellaneous --- @@ -2870,7 +2926,7 @@ SECTION:Miscellaneous NAME:Smooks URL:https://github.com/smooks/smooks -DESC:Event-driven data transformation and routing framework. (Apache-2.0 OR LGPL-3.0-or-later) +DESC:Event-driven data transformation and routing framework. SKIP:1 SECTION:Miscellaneous --- @@ -2926,7 +2982,7 @@ SECTION:Miscellaneous NAME:Codename One URL:https://www.codenameone.com -DESC:Write once, deploy native iOS/Android/web from Java. (GPL-2.0-only WITH Classpath-exception-2.0) +DESC:Write once, deploy native iOS/Android/web from Java. SKIP:1 SECTION:Mobile Development --- @@ -2959,6 +3015,13 @@ SKIP:1 SECTION:Monitoring --- +NAME:Datadog +URL:https://github.com/DataDog/dd-trace-java +DESC:APM agent with distributed tracing and profiling. +SKIP:1 +SECTION:Monitoring +--- + NAME:Dropwizard Metrics URL:https://github.com/dropwizard/metrics DESC:Application metrics with JMX, Graphite, and Prometheus export. @@ -3001,6 +3064,13 @@ SKIP:1 SECTION:Monitoring --- +NAME:Instrumental +URL:https://instrumentalapp.com +DESC:Real-time metrics with alerting and dashboards. +SKIP:1 +SECTION:Monitoring +--- + NAME:Jaeger client URL:https://github.com/jaegertracing/jaeger-client-java DESC:Distributed tracing client for Jaeger backend. @@ -3071,6 +3141,20 @@ SKIP:1 SECTION:Monitoring --- +NAME:Sentry +URL:https://github.com/getsentry/sentry-java +DESC:Error tracking with stack traces and performance monitoring. +SKIP:1 +SECTION:Monitoring +--- + +NAME:SPM +URL:https://github.com/sematext/sematext-agent-java +DESC:Transaction tracing and JVM metrics. +SKIP:1 +SECTION:Monitoring +--- + NAME:Stagemonitor URL:https://github.com/stagemonitor/stagemonitor DESC:Elasticsearch-integrated APM with Kibana dashboards. @@ -3129,14 +3213,14 @@ SECTION:Native NAME:CogCompNLP URL:https://github.com/CogComp/cogcomp-nlp -DESC:NLP pipeline with coreference, SRL, and relation extraction. (Research and Academic Use License) +DESC:NLP pipeline with coreference, SRL, and relation extraction. SKIP:1 SECTION:Natural Language Processing --- NAME:CoreNLP URL:https://nlp.stanford.edu/software/corenlp.shtml -DESC:Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. (GPL-3.0-or-later) +DESC:Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. SKIP:1 SECTION:Natural Language Processing --- @@ -3248,14 +3332,14 @@ SECTION:Networking NAME:Undertow URL:http://undertow.io -DESC:High-performance web server with HTTP/2 and WebSocket. (LGPL-2.1-only) +DESC:High-performance web server with HTTP/2 and WebSocket. SKIP:1 SECTION:Networking --- NAME:urnlib URL:https://github.com/slub/urnlib -DESC:URN parsing and validation per RFC 2141/8141. (GPL-3.0-only) +DESC:URN parsing and validation per RFC 2141/8141. SKIP:1 SECTION:Networking --- @@ -3297,7 +3381,7 @@ SECTION:ORM NAME:Hibernate URL:http://hibernate.org/orm/ -DESC:Feature-rich JPA implementation with caching and search. (LGPL-2.1-only) +DESC:Feature-rich JPA implementation with caching and search. SKIP:1 SECTION:ORM --- @@ -3337,6 +3421,48 @@ SKIP:1 SECTION:ORM --- +NAME:AWS Elastic Beanstalk +URL:https://aws.amazon.com/elasticbeanstalk/ +DESC:Managed Tomcat/Jetty deployment with auto-scaling. +SKIP:1 +SECTION:PaaS +--- + +NAME:AWS Lambda +URL:https://aws.amazon.com/lambda/ +DESC:Serverless Java with SnapStart for cold starts. +SKIP:1 +SECTION:PaaS +--- + +NAME:Google Cloud +URL:https://cloud.google.com +DESC:App Engine, Cloud Run, and GKE for Java workloads. +SKIP:1 +SECTION:PaaS +--- + +NAME:Heroku +URL:https://www.heroku.com +DESC:Git-push deployment with buildpacks and add-ons. +SKIP:1 +SECTION:PaaS +--- + +NAME:Microsoft Azure +URL:https://azure.microsoft.com/en-us/ +DESC:App Service and Functions with Spring integration. +SKIP:1 +SECTION:PaaS +--- + +NAME:OpenShift +URL:https://www.openshift.com +DESC:Enterprise Kubernetes with Java S2I builds. +SKIP:1 +SECTION:PaaS +--- + NAME:Pathetic URL:https://github.com/bsommerfeld/pathetic DESC:High-performance 3D A\* pathfinding with configurable heuristics. @@ -3360,14 +3486,14 @@ SECTION:PDF NAME:Dynamic Jasper URL:https://intive-fdv.github.io/DynamicJasper/ -DESC:Programmatic JasperReports without XML. (LGPL-3.0-only) +DESC:Programmatic JasperReports without XML. SKIP:1 SECTION:PDF --- NAME:DynamicReports URL:https://github.com/dynamicreports/dynamicreports -DESC:Fluent API for JasperReports with charts. (LGPL-3.0-only) +DESC:Fluent API for JasperReports with charts. SKIP:1 SECTION:PDF --- @@ -3381,14 +3507,21 @@ SECTION:PDF NAME:flyingsaucer URL:https://github.com/flyingsaucerproject/flyingsaucer -DESC:XHTML/CSS to PDF renderer. (LGPL-2.1-or-later) +DESC:XHTML/CSS to PDF renderer. +SKIP:1 +SECTION:PDF +--- + +NAME:iText +URL:https://itextpdf.com/en +DESC:Full-featured PDF library with forms and digital signatures. SKIP:1 SECTION:PDF --- NAME:JasperReports URL:https://community.jaspersoft.com/project/jasperreports-library -DESC:Enterprise reporting with charts, barcodes, and subreports. (LGPL-3.0-only) +DESC:Enterprise reporting with charts, barcodes, and subreports. SKIP:1 SECTION:PDF --- @@ -3402,7 +3535,7 @@ SECTION:PDF NAME:OpenPDF URL:https://github.com/LibrePDF/OpenPDF -DESC:LGPL iText fork with active maintenance. (LGPL-3.0-only & MPL-2.0) +DESC:LGPL iText fork with active maintenance. SKIP:1 SECTION:PDF --- @@ -3414,6 +3547,20 @@ SKIP:1 SECTION:PDF --- +NAME:fastThread +URL:https://fastthread.io +DESC:Online thread dump analyzer with deadlock detection. +SKIP:1 +SECTION:Performance analysis +--- + +NAME:GCeasy +URL:https://gceasy.io +DESC:GC log analyzer with tuning recommendations. +SKIP:1 +SECTION:Performance analysis +--- + NAME:honest-profiler URL:https://github.com/jvm-profiling-tools/honest-profiler DESC:AsyncGetCallTrace-based profiler avoiding safepoint bias. @@ -3437,7 +3584,7 @@ SECTION:Performance analysis NAME:JMH URL:http://openjdk.java.net/projects/code-tools/jmh/ -DESC:OpenJDK's microbenchmark harness with warmup and statistics. (GPL-2.0 only WITH Classpath-exception-2.0) +DESC:OpenJDK's microbenchmark harness with warmup and statistics. SKIP:1 SECTION:Performance analysis --- @@ -4025,7 +4172,7 @@ SECTION:Science NAME:DataMelt URL:https://datamelt.org/ -DESC:Scientific computing environment with Python/Jython. (GPL-3.0-or-later) +DESC:Scientific computing environment with Python/Jython. SKIP:1 SECTION:Science --- @@ -4046,7 +4193,7 @@ SECTION:Science NAME:JFreeChart URL:http://www.jfree.org/jfreechart/ -DESC:Comprehensive 2D charting for Swing/JavaFX. (LGPL-2.1-only) +DESC:Comprehensive 2D charting for Swing/JavaFX. SKIP:1 SECTION:Science --- @@ -4095,7 +4242,7 @@ SECTION:Science NAME:Orson-Charts URL:https://github.com/jfree/orson-charts -DESC:Interactive 3D charts with PDF/SVG export. (GPL-3.0-only) +DESC:Interactive 3D charts with PDF/SVG export. SKIP:1 SECTION:Science --- @@ -4172,7 +4319,7 @@ SECTION:Security NAME:Cryptomator URL:https://cryptomator.org -DESC:Client-side encryption for cloud storage with WebDAV. (GPL-3.0-only) +DESC:Client-side encryption for cloud storage with WebDAV. SKIP:1 SECTION:Security --- @@ -4375,7 +4522,7 @@ SECTION:Server NAME:WildFly URL:https://www.wildfly.org -DESC:Full Jakarta EE server with modular architecture. (LGPL-2.1-only) +DESC:Full Jakarta EE server with modular architecture. SKIP:1 SECTION:Server --- @@ -4473,7 +4620,7 @@ SECTION:Testing/Asynchronous NAME:GreenMail URL:https://greenmail-mail-test.github.io/greenmail/ -DESC:Embedded SMTP/POP3/IMAP server for email testing. (GPL-2.0-only) +DESC:Embedded SMTP/POP3/IMAP server for email testing. SKIP:1 SECTION:Testing/Asynchronous --- @@ -4795,7 +4942,7 @@ SECTION:Testing/Testing Miscellaneous NAME:pojo-tester URL:https://www.pojo.pl -DESC:Auto-test equals, hashCode, toString, getters/setters. (LGPL-3.0-only) +DESC:Auto-test equals, hashCode, toString, getters/setters. SKIP:1 SECTION:Testing/Testing Miscellaneous --- @@ -4907,7 +5054,7 @@ SECTION:Utility NAME:CRaSH URL:http://www.crashub.org -DESC:SSH shell into running JVMs for inspection. (LGPL-2.1-or-later) +DESC:SSH shell into running JVMs for inspection. SKIP:1 SECTION:Utility --- @@ -4942,7 +5089,7 @@ SECTION:Utility NAME:Gephi URL:https://github.com/gephi/gephi -DESC:Network graph visualization and analysis tool. (GPL-3.0-only) +DESC:Network graph visualization and analysis tool. SKIP:1 SECTION:Utility --- @@ -4956,7 +5103,7 @@ SECTION:Utility NAME:JADE URL:https://jade.tilab.com -DESC:Multi-agent system framework with FIPA compliance. (LGPL-2.0-only) +DESC:Multi-agent system framework with FIPA compliance. SKIP:1 SECTION:Utility --- diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9ec74afc..374eb3c8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -81,7 +81,7 @@ The automated workflow (`update-readme.yml`) runs when: - **Push to master** - When `CONTRIBUTE_README.md` or scripts are updated - **Manual trigger** - Can be triggered manually from the Actions tab -The workflow requires a GitHub Personal Access Token (PAT) stored as `GITHUB_TOKEN` in repository secrets to fetch repository statistics. +The workflow requires a GitHub Personal Access Token (PAT) stored as `PAT` in repository secrets to fetch repository statistics. ### File Structure @@ -167,7 +167,7 @@ java --enable-preview --source 25 scripts/step_2_parse_projects.java # ... ``` -**Note:** Step 3 requires the `GITHUB_TOKEN` environment variable to be set with a valid GitHub Personal Access Token. +**Note:** Step 3 requires the `PAT` environment variable to be set with a valid GitHub Personal Access Token. ## Troubleshooting diff --git a/scripts/step_3_generate_stats.java b/scripts/step_3_generate_stats.java index 47c51d7d..c8bdefae 100644 --- a/scripts/step_3_generate_stats.java +++ b/scripts/step_3_generate_stats.java @@ -142,13 +142,13 @@ List generateStatsMappings(List entries, Map(); // Check for GitHub Personal Access Token from environment variable - var githubToken = System.getenv("GITHUB_TOKEN"); + var githubToken = System.getenv("PAT"); if (githubToken == null || githubToken.isBlank()) { - System.err.println("ERROR: GITHUB_TOKEN environment variable is required!"); + System.err.println("ERROR: PAT environment variable is required!"); System.err.println(" Without a PAT, the rate limit is only 60 requests/hour (not enough for all repositories)"); - System.err.println(" Please set GITHUB_TOKEN environment variable:"); - System.err.println(" export GITHUB_TOKEN=your_token_here"); + System.err.println(" Please set PAT environment variable:"); + System.err.println(" export PAT=your_token_here"); System.exit(1); } diff --git a/scripts/step_4_generate_tables.java b/scripts/step_4_generate_tables.java index 671fdf4e..89cf0d21 100644 --- a/scripts/step_4_generate_tables.java +++ b/scripts/step_4_generate_tables.java @@ -152,15 +152,14 @@ String createMarkdownTable(List entries, Map var sectionName = entries.get(0).section(); var table = new StringBuilder(); table.append(Constants.SECTION_COMMENT_PREFIX).append(sectionName).append(" -->\n\n"); - table.append("| Name | Description | Stars | Updated | License |\n"); - table.append("| :--- | :---------- | :---: | :-----: | :-----: |\n"); + table.append("| Name | Description | Stars | Updated |\n"); + table.append("| :--- | :---------- | :---: | :-----: |\n"); for (var entry : entries) { var desc = entry.description().isEmpty() ? Constants.NO_DESCRIPTION : entry.description(); var stats = statsMappings.get(entry.name()); var stars = stats != null ? stats.starsText() : Constants.NO_STATS; var commit = stats != null ? stats.lastCommitText() : Constants.NO_STATS; - var license = stats != null && stats.licenseText() != null ? stats.licenseText() : Constants.NO_STATS; // Escape pipe characters in description for markdown desc = desc.replace("|", "\\|"); @@ -168,8 +167,7 @@ String createMarkdownTable(List entries, Map table.append("| [").append(entry.name()).append("](").append(entry.url()).append(") | "); table.append(desc).append(" | "); table.append(stars).append(" | "); - table.append(commit).append(" | "); - table.append(license).append(" |\n"); + table.append(commit).append(" |\n"); } // Add single newline after table table.append("\n"); diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index 38d071f7..eeab1e23 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -157,7 +157,7 @@ List extractProjectEntriesFromTables(String content) { /** * Extracts a project entry from a Markdown table row. - * Table format: | Name | Description | Stars | Updated | License | + * Table format: | Name | Description | Stars | Updated | */ ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { // Split by | and clean up From ccb6ede127574a2985d62e47fa09ebd6ba1f3bc1 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 12:07:46 +0400 Subject: [PATCH 418/533] Update --- .github/workflows/update-readme.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index fcedcdf4..b02700e7 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -7,6 +7,7 @@ on: workflow_dispatch: # Allow manual triggering push: branches: + - master - test paths: - "CONTRIBUTE_README.md" @@ -47,7 +48,7 @@ jobs: - name: Run README generation workflow env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PAT: ${{ secrets.PAT }} run: | java --enable-preview --source 25 scripts/run_workflow.java @@ -55,9 +56,9 @@ jobs: run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git add README.md + git add -f README.md # Always commit the stats cache so it persists for next run - git add .tmp/github-stats.txt || true + git add -f .tmp/github-stats.txt || true if git diff --staged --quiet; then echo "No changes to commit" else From 2ad94c828bd426c4926b9563322aa50899a92f87 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 12:10:45 +0400 Subject: [PATCH 419/533] Update --- README.md | 182 +++++++++++++++++++++++++++++------------------------- 1 file changed, 99 insertions(+), 83 deletions(-) diff --git a/README.md b/README.md index a87f7897..14cb44c2 100644 --- a/README.md +++ b/README.md @@ -2,90 +2,106 @@ A curated list of awesome Java frameworks, libraries and software. +[Please find a different kind of layout here](https://github.com/akullpp/awesome-java/tree/test). We are evaluating to make this the default, you can provide feedback here in [#1171](https://github.com/akullpp/awesome-java/issues/1171). + ## Contents -- [Projects](#projects) - - [Architecture](#architecture) - - [Artificial Intelligence](#artificial-intelligence) - - [Bean Mapping](#bean-mapping) - - [Build](#build) - - [Bytecode Manipulation](#bytecode-manipulation) - - [Caching](#caching) - - [CLI](#cli) - - [Cloud](#cloud) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Decentralization](#decentraliation) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [Pathfinding](#pathfinding) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) -- [Resources](#resources) - - [Related Awesome Lists](#related-awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Websites](#websites) -- [Contributing](#contributing) +- [Awesome Java](#awesome-java-) + - [Contents](#contents) + - [Projects](#projects) + - [Architecture](#architecture) + - [Artificial Intelligence](#artificial-intelligence) + - [Bean Mapping](#bean-mapping) + - [Build](#build) + - [Bytecode Manipulation](#bytecode-manipulation) + - [Caching](#caching) + - [CLI](#cli) + - [Argument Parsing](#argument-parsing) + - [Text-Based User Interfaces](#text-based-user-interfaces) + - [Cloud](#cloud) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Decentralization](#decentralization) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [Pathfinding](#pathfinding) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Apache Commons](#apache-commons) + - [Other](#other) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Asynchronous](#asynchronous) + - [BDD](#bdd) + - [Fixtures](#fixtures) + - [Frameworks](#frameworks) + - [Matchers](#matchers) + - [Miscellaneous](#miscellaneous-1) + - [Mocking](#mocking) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) + - [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Socials](#socials) + - [Websites](#websites) + - [Contributing](#contributing) ## Projects @@ -864,7 +880,7 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ -- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. +- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. ### PDF From 01efdf3150af3ee6e0860ffb731933f4a3f3baca Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 12:11:31 +0400 Subject: [PATCH 420/533] Update --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 14cb44c2..f16ed01f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ A curated list of awesome Java frameworks, libraries and software. -[Please find a different kind of layout here](https://github.com/akullpp/awesome-java/tree/test). We are evaluating to make this the default, you can provide feedback here in [#1171](https://github.com/akullpp/awesome-java/issues/1171). +[Please find a different kind of layout here](https://github.com/akullpp/awesome-java/tree/test). + +We are evaluating to make this the default, you can provide feedback here in [#1171](https://github.com/akullpp/awesome-java/issues/1171). ## Contents From 0def39f768c978185a0c4995a07102b9b254da45 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 12:56:59 +0400 Subject: [PATCH 421/533] Update --- .tmp/generated-tables.md | 1832 ++++++++--------- README.md | 1948 +++++++++---------- scripts/step_3_generate_stats.java | 60 +- scripts/step_5_assemble_readme.java | 10 +- scripts/step_6_validate_transformation.java | 37 +- 5 files changed, 1938 insertions(+), 1949 deletions(-) diff --git a/.tmp/generated-tables.md b/.tmp/generated-tables.md index 069229cc..f144bf57 100644 --- a/.tmp/generated-tables.md +++ b/.tmp/generated-tables.md @@ -1,1140 +1,1166 @@ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ArchUnit](https://github.com/TNG/ArchUnit) | Unit test architecture rules with a fluent Java API; catches violations at build time. | 3.6k | 3d | Apache-2.0 | -| [jMolecules](https://github.com/xmolecules/jmolecules) | Express DDD, hexagonal, and layered architecture concepts directly in code with type-safe annotations. | 1.5k | 1mo | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Unit test architecture rules with a fluent Java API; catches violations at build time. | 3.6k | 3d | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Express DDD, hexagonal, and layered architecture concepts directly in code with type-safe annotations. | 1.5k | 1mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [LangChain4j](https://github.com/langchain4j/langchain4j) | Unified API for 15+ LLM providers with RAG, function calling, and AI services out of the box. | 10.3k | 18h | Apache-2.0 | -| [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Model Context Protocol implementation enabling standardized AI model interactions with sync/async support. | 3.1k | 1d | MIT | -| [simple-openai](https://github.com/sashirestela/simple-openai) | Lightweight, zero-dependency OpenAI API client with streaming support. | 368 | 3mo | MIT | -| [Spring AI](https://spring.io/projects/spring-ai) | Spring-native AI framework with portable APIs across AI providers and vector stores. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Unified API for 15+ LLM providers with RAG, function calling, and AI services out of the box. | 10.3k | 18h | +| [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Model Context Protocol implementation enabling standardized AI model interactions with sync/async support. | 3.1k | 1d | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Lightweight, zero-dependency OpenAI API client with streaming support. | 368 | 3mo | +| [Spring AI](https://spring.io/projects/spring-ai) | Spring-native AI framework with portable APIs across AI providers and vector stores. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [dOOv](https://github.com/doov-io/doov) | Fluent, typesafe DSL for domain validation and mapping with code generation. | - | - | - | -| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Bytecode-powered mapper achieving near-native performance; supports annotations, API, or XML config. | 242 | 2y | Apache-2.0 | -| [MapStruct](https://github.com/mapstruct/mapstruct) | Compile-time code generator producing type-safe, reflection-free mappers with zero runtime overhead. | 7.6k | 9d | - | -| [ModelMapper](https://github.com/modelmapper/modelmapper) | Convention-based mapper that auto-matches properties, reducing boilerplate. | 2.3k | 2mo | Apache-2.0 | -| [Orika](https://github.com/orika-mapper/orika) | Bytecode-generated mappers with automatic type conversion and deep copying. | 1.3k | 1y | Apache-2.0 | -| [reMap](https://github.com/remondis-it/remap) | Lambda-based mapping with compile-time safety; no annotations required. | 126 | 2mo | Apache-2.0 | -| [Selma](https://github.com/xebia-france/selma) | Annotation processor generating optimized mappers at compile time. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [dOOv](https://github.com/doov-io/doov) | Fluent, typesafe DSL for domain validation and mapping with code generation. | - | - | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Bytecode-powered mapper achieving near-native performance; supports annotations, API, or XML config. | 242 | 2y | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Compile-time code generator producing type-safe, reflection-free mappers with zero runtime overhead. | 7.6k | 9d | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Convention-based mapper that auto-matches properties, reducing boilerplate. | 2.3k | 2mo | +| [Orika](https://github.com/orika-mapper/orika) | Bytecode-generated mappers with automatic type conversion and deep copying. | 1.3k | 1y | +| [reMap](https://github.com/remondis-it/remap) | Lambda-based mapping with compile-time safety; no annotations required. | 126 | 2mo | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor generating optimized mappers at compile time. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Maven](https://maven.apache.org) | Industry-standard declarative build tool with convention-over-configuration and vast plugin ecosystem. | - | - | - | -| [Bazel](https://bazel.build) | Google's build system with aggressive caching, remote execution, and reproducible builds at scale. | - | - | - | -| [Buck2](https://github.com/facebook/buck2) | Meta's fast build system with fine-grained parallelism and remote execution support. | 4.2k | 7h | Apache-2.0 | -| [Gradle](https://gradle.org) | Flexible build automation with incremental builds, build caching, and Kotlin/Groovy DSL. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Maven](https://maven.apache.org) | Industry-standard declarative build tool with convention-over-configuration and vast plugin ecosystem. | - | - | +| [Bazel](https://bazel.build) | Google's build system with aggressive caching, remote execution, and reproducible builds at scale. | - | - | +| [Buck2](https://github.com/facebook/buck2) | Meta's fast build system with fine-grained parallelism and remote execution support. | 4.2k | 7h | +| [Gradle](https://gradle.org) | Flexible build automation with incremental builds, build caching, and Kotlin/Groovy DSL. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ASM](https://asm.ow2.io) | Low-level, high-performance bytecode manipulation; the foundation for most other tools. | - | - | - | -| [Byte Buddy](https://bytebuddy.net) | Fluent API for runtime code generation without needing bytecode knowledge. | - | - | - | -| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | All-in-one reverse engineering suite for JAR and APK files. (GPL-3.0-only) | 15.4k | 3d | GPL-3.0 | -| [Byteman](https://byteman.jboss.org) | Rule-based runtime bytecode injection for testing and fault injection. (LGPL-2.1-or-later) | - | - | - | -| [cglib](https://github.com/cglib/cglib) | High-level bytecode generation for proxies and interceptors. | 4.9k | 1y | Apache-2.0 | -| [Javassist](https://github.com/jboss-javassist/javassist) | Edit bytecode using Java source syntax, no low-level knowledge required. | 4.2k | 1y | - | -| [Maker](https://github.com/cojen/maker) | Lightweight, low-level bytecode generation with minimal dependencies. | 65 | 1d | Apache-2.0 | -| [Mixin](https://github.com/SpongePowered/Mixin) | Runtime class transformation using annotated Java code; popular in Minecraft modding. | 1.7k | 1y | MIT | -| [Perses](https://github.com/nicolasmanic/perses) | Chaos engineering via bytecode-level fault injection. | - | - | - | -| [Recaf](https://www.coley.software/Recaf/) | Modern bytecode editor IDE with decompilation, search, and hex editing. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ASM](https://asm.ow2.io) | Low-level, high-performance bytecode manipulation; the foundation for most other tools. | - | - | +| [Byte Buddy](https://bytebuddy.net) | Fluent API for runtime code generation without needing bytecode knowledge. | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | All-in-one reverse engineering suite for JAR and APK files. | 15.4k | 3d | +| [Byteman](https://byteman.jboss.org) | Rule-based runtime bytecode injection for testing and fault injection. | - | - | +| [cglib](https://github.com/cglib/cglib) | High-level bytecode generation for proxies and interceptors. | 4.9k | 1y | +| [Javassist](https://github.com/jboss-javassist/javassist) | Edit bytecode using Java source syntax, no low-level knowledge required. | 4.2k | 1y | +| [Maker](https://github.com/cojen/maker) | Lightweight, low-level bytecode generation with minimal dependencies. | 65 | 1d | +| [Mixin](https://github.com/SpongePowered/Mixin) | Runtime class transformation using annotated Java code; popular in Minecraft modding. | 1.7k | 1y | +| [Perses](https://github.com/nicolasmanic/perses) | Chaos engineering via bytecode-level fault injection. | - | - | +| [Recaf](https://www.coley.software/Recaf/) | Modern bytecode editor IDE with decompilation, search, and hex editing. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [cache2k](https://cache2k.org) | In-memory cache with sub-microsecond access times and advanced expiry policies. | - | - | - | -| [Caffeine](https://github.com/ben-manes/caffeine) | Near-optimal hit rates via Window TinyLFU algorithm; Java's fastest cache. | 17.4k | 1d | Apache-2.0 | -| [Ehcache](http://www.ehcache.org) | Mature, JCache-compliant cache with tiered storage (heap/off-heap/disk). | - | - | - | -| [Infinispan](https://infinispan.org) | Distributed, clustered cache with transactions and query support. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [cache2k](https://cache2k.org) | In-memory cache with sub-microsecond access times and advanced expiry policies. | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | Near-optimal hit rates via Window TinyLFU algorithm; Java's fastest cache. | 17.4k | 1d | +| [Ehcache](http://www.ehcache.org) | Mature, JCache-compliant cache with tiered storage (heap/off-heap/disk). | - | - | +| [Infinispan](https://infinispan.org) | Distributed, clustered cache with transactions and query support. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Airline](https://rvesse.github.io/airline/) | Git-style CLI parser with annotation-based commands and subcommands. | - | - | - | -| [JCommander](http://jcommander.org) | Annotation-driven parser with custom type converters and validation. | - | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Compile-time CLI parser with zero reflection and zero dependencies. | 89 | 4d | MIT | -| [JLine](https://github.com/jline/jline3) | Rich terminal handling with tab-completion, history, and syntax highlighting. | 1.7k | 4d | - | -| [picocli](https://picocli.info) | Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Git-style CLI parser with annotation-based commands and subcommands. | - | - | +| [JCommander](http://jcommander.org) | Annotation-driven parser with custom type converters and validation. | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Compile-time CLI parser with zero reflection and zero dependencies. | 89 | 4d | +| [JLine](https://github.com/jline/jline3) | Rich terminal handling with tab-completion, history, and syntax highlighting. | 1.7k | 4d | +| [picocli](https://picocli.info) | Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | Cross-platform ANSI escape code support for colored console output. | 1.2k | 8mo | Apache-2.0 | -| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. | - | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Simple API for interactive console applications with input validation. | 351 | 2y | Apache-2.0 | -| [Lanterna](https://github.com/mabe02/lanterna) | Curses-like TUI with cross-platform terminal abstraction. (LGPL-3.0-only) | 2.5k | 5mo | LGPL-3.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Jansi](https://github.com/fusesource/jansi) | Cross-platform ANSI escape code support for colored console output. | 1.2k | 8mo | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Simple API for interactive console applications with input validation. | 351 | 2y | +| [Lanterna](https://github.com/mabe02/lanterna) | Curses-like TUI with cross-platform terminal abstraction. | 2.5k | 5mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Official SDK covering 200+ AWS services with async support and pagination. | 4.2k | 4d | Apache-2.0 | -| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Idiomatic Java clients for GCP services with automatic retries and streaming. | 2.0k | 8h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Official SDK covering 200+ AWS services with async support and pagination. | 4.2k | 4d | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Idiomatic Java clients for GCP services with automatic retries and streaming. | 2.0k | 8h | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Checkstyle](https://github.com/checkstyle/checkstyle) | Enforces coding standards with 150+ configurable checks. (LGPL-2.1-or-later) | 8.8k | now | LGPL-2.1 | -| [Error Prone](https://github.com/google/error-prone) | Google's compiler plugin catching bugs at compile time with auto-fixes. | 7.1k | 1d | Apache-2.0 | -| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | 100+ additional Error Prone checks and Refaster refactoring templates. | 232 | 9h | MIT | -| [Infer](https://github.com/facebook/infer) | Meta's static analyzer detecting null dereferences, resource leaks, and concurrency issues. | 15.5k | 4h | MIT | -| [jQAssistant](https://jqassistant.org) | Query codebase structure with Cypher on a Neo4j graph. (GPL-3.0-only) | - | - | - | -| [NullAway](https://github.com/uber/NullAway) | Fast null-safety checker with minimal annotation overhead; Uber-proven. | 4.0k | 15h | MIT | -| [PMD](https://github.com/pmd/pmd) | Extensible static analyzer detecting code smells and copy-paste issues. | 5.3k | 3d | - | -| [p3c](https://github.com/alibaba/p3c) | Alibaba's Java coding guidelines as PMD rules and IDE plugins. | 30.8k | 1y | Apache-2.0 | -| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Prioritizes refactoring targets by God Class and coupling metrics. | - | - | - | -| [SonarJava](https://github.com/SonarSource/sonar-java) | 600+ rules for SonarQube with security hotspot detection. (LGPL-3.0-only) | 1.2k | 1d | - | -| [Spoon](https://github.com/INRIA/spoon) | Full Java AST API for analysis, transformation, and code generation. | 1.9k | 4h | - | -| [Spotbugs](https://github.com/spotbugs/spotbugs) | FindBugs successor; bytecode analysis for 400+ bug patterns. (LGPL-2.1-only) | 3.8k | 9h | LGPL-2.1 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Enforces coding standards with 150+ configurable checks. | 8.8k | now | +| [Error Prone](https://github.com/google/error-prone) | Google's compiler plugin catching bugs at compile time with auto-fixes. | 7.1k | 1d | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | 100+ additional Error Prone checks and Refaster refactoring templates. | 232 | 9h | +| [Infer](https://github.com/facebook/infer) | Meta's static analyzer detecting null dereferences, resource leaks, and concurrency issues. | 15.5k | 4h | +| [jQAssistant](https://jqassistant.org) | Query codebase structure with Cypher on a Neo4j graph. | - | - | +| [NullAway](https://github.com/uber/NullAway) | Fast null-safety checker with minimal annotation overhead; Uber-proven. | 4.0k | 15h | +| [PMD](https://github.com/pmd/pmd) | Extensible static analyzer detecting code smells and copy-paste issues. | 5.3k | 3d | +| [p3c](https://github.com/alibaba/p3c) | Alibaba's Java coding guidelines as PMD rules and IDE plugins. | 30.8k | 1y | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Prioritizes refactoring targets by God Class and coupling metrics. | - | - | +| [SonarJava](https://github.com/SonarSource/sonar-java) | 600+ rules for SonarQube with security hotspot detection. | 1.2k | 1d | +| [Spoon](https://github.com/INRIA/spoon) | Full Java AST API for analysis, transformation, and code generation. | 1.9k | 5h | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | FindBugs successor; bytecode analysis for 400+ bug patterns. | 3.8k | 9h | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Clover](https://www.atlassian.com/software/clover) | Source-level instrumentation with detailed per-test coverage and historical trends. | - | - | - | -| [Cobertura](https://cobertura.github.io/cobertura/) | Bytecode instrumentation with branch coverage and complexity metrics. (GPL-2.0-only) | - | - | - | -| [JaCoCo](https://www.eclemma.org/jacoco/) | Lightweight agent with line/branch/instruction coverage and IDE/CI integration. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Clover](https://www.atlassian.com/software/clover) | Source-level instrumentation with detailed per-test coverage and historical trends. | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Bytecode instrumentation with branch coverage and complexity metrics. | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Lightweight agent with line/branch/instruction coverage and IDE/CI integration. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ADT4J](https://github.com/sviperll/adt4j) | Generates algebraic data types (sealed hierarchies) with pattern matching. | 147 | 7y | BSD-3-Clause | -| [Auto](https://github.com/google/auto) | Google's annotation processors for AutoValue, AutoFactory, and AutoService. | 10.5k | 2d | Apache-2.0 | -| [Avaje Http Server](https://avaje.io/http/) | Compile-time HTTP server generation for Javalin/Helidon; no reflection. | - | - | - | -| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor generating DTOs and mappers automatically. | 6 | 7mo | MIT | -| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Generates Builder pattern with validation and partial builds. | 833 | 1y | Apache-2.0 | -| [Geci](https://github.com/verhas/javageci) | Test-time code generator that updates source files in-place. | 135 | 3y | Apache-2.0 | -| [Immutables](https://immutables.github.io) | Generates immutable value objects with builders, JSON support, and interning. | - | - | - | -| [JavaPoet](https://github.com/square/javapoet) | Fluent API for generating `.java` source files programmatically. | 10.9k | 1y | Apache-2.0 | -| [JHipster](https://github.com/jhipster/generator-jhipster) | Full-stack app generator for Spring Boot + Angular/React/Vue. | 22.3k | 1h | Apache-2.0 | -| [Joda-Beans](https://www.joda.org/joda-beans/) | Adds queryable, serializable properties to POJOs via code generation. | - | - | - | -| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin auto-generating `package-info.java` with nullness annotations. | 1 | 1mo | Apache-2.0 | -| [Lombok](https://projectlombok.org) | Eliminates boilerplate with annotations for getters, builders, and more. | - | - | - | -| [Record-Builder](https://github.com/Randgalt/record-builder) | Generates builders and withers for Java records. | 900 | 1mo | Apache-2.0 | -| [Telosys](https://www.telosys.org/) | Template-driven code generator for any language via CLI or Eclipse. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ADT4J](https://github.com/sviperll/adt4j) | Generates algebraic data types (sealed hierarchies) with pattern matching. | 147 | 7y | +| [Auto](https://github.com/google/auto) | Google's annotation processors for AutoValue, AutoFactory, and AutoService. | 10.5k | 2d | +| [Avaje Http Server](https://avaje.io/http/) | Compile-time HTTP server generation for Javalin/Helidon; no reflection. | - | - | +| [Bootify](https://bootify.io) | Browser-based Spring Boot scaffolding with JPA entities and REST APIs. | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor generating DTOs and mappers automatically. | 6 | 7mo | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Generates Builder pattern with validation and partial builds. | 833 | 1y | +| [Geci](https://github.com/verhas/javageci) | Test-time code generator that updates source files in-place. | 135 | 3y | +| [Immutables](https://immutables.github.io) | Generates immutable value objects with builders, JSON support, and interning. | - | - | +| [JavaPoet](https://github.com/square/javapoet) | Fluent API for generating `.java` source files programmatically. | 10.9k | 1y | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Full-stack app generator for Spring Boot + Angular/React/Vue. | 22.3k | 1h | +| [Joda-Beans](https://www.joda.org/joda-beans/) | Adds queryable, serializable properties to POJOs via code generation. | - | - | +| [JPA Buddy](https://www.jpa-buddy.com) | IntelliJ plugin for visual JPA entity design with Liquibase/Flyway diff generation. | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin auto-generating `package-info.java` with nullness annotations. | 1 | 1mo | +| [Lombok](https://projectlombok.org) | Eliminates boilerplate with annotations for getters, builders, and more. | - | - | +| [Record-Builder](https://github.com/Randgalt/record-builder) | Generates builders and withers for Java records. | 900 | 1mo | +| [Telosys](https://www.telosys.org/) | Template-driven code generator for any language via CLI or Eclipse. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ANTLR](https://www.antlr.org) | Powerful LL(\*) parser generator with IDE support and multiple target languages. | - | - | - | -| [JavaCC](https://javacc.github.io/javacc/) | LL(k) parser generator with lookahead, lexical states, and tree building. | - | - | - | -| [JFlex](https://jflex.de) | Fast lexer generator with full Unicode support and JLex compatibility. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ANTLR](https://www.antlr.org) | Powerful LL(\*) parser generator with IDE support and multiple target languages. | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | LL(k) parser generator with lookahead, lexical states, and tree building. | - | - | +| [JFlex](https://jflex.de) | Fast lexer generator with full Unicode support and JLex compatibility. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [BoofCV](https://boofcv.org) | Real-time computer vision with 3D reconstruction, fiducial detection, and feature tracking. | - | - | - | -| [ImageJ](https://imagej.net/ImageJ) | Extensible image analysis platform with 500+ plugins for scientific imaging. | - | - | - | -| [JavaCV](https://github.com/bytedeco/javacv) | Java bindings for OpenCV, FFmpeg, TensorFlow, and more via JavaCPP. | 8.3k | 13d | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BoofCV](https://boofcv.org) | Real-time computer vision with 3D reconstruction, fiducial detection, and feature tracking. | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Extensible image analysis platform with 500+ plugins for scientific imaging. | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java bindings for OpenCV, FFmpeg, TensorFlow, and more via JavaCPP. | 8.3k | 13d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [avaje config](https://avaje.io/config/) | Lightweight config with YAML/properties, file watching, and dynamic reload. | - | - | - | -| [centraldogma](https://github.com/line/centraldogma) | Git-backed, versioned configuration service with change notifications. | 654 | 2d | Apache-2.0 | -| [config](https://github.com/lightbend/config) | HOCON/JSON/properties with substitutions, includes, and environment overrides. | 6.3k | 4mo | - | -| [Configurate](https://github.com/SpongePowered/Configurate) | Multi-format config (YAML, JSON, HOCON, XML) with type-safe object mapping. | 449 | 21h | Apache-2.0 | -| [Curator Framework](https://curator.apache.org/) | Simplified ZooKeeper client with recipes for locks, leaders, and caches. | - | - | - | -| [dotenv](https://github.com/shyiko/dotenv) | Twelve-factor app config from `.env` files with environment overrides. | 50 | 7y | - | -| [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) | Interface-based config with pluggable sources and automatic type conversion. | 32 | 29d | Apache-2.0 | -| [Gestalt](https://github.com/gestalt-config/gestalt) | Multi-source config merging with type-safe binding and validation. | 94 | 14h | Apache-2.0 | -| [ini4j](http://ini4j.sourceforge.net) | Windows INI file parser with section and multi-value support. | - | - | - | -| [KAConf](https://github.com/mariomac/kaconf) | Annotation-based config injection for Java and Kotlin. | 61 | 3y | Apache-2.0 | -| [microconfig](https://microconfig.io) | Microservice config management with inheritance and environment profiles. | - | - | - | -| [owner](https://github.com/lviggiano/owner) | Type-safe properties via interfaces with automatic conversion. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [avaje config](https://avaje.io/config/) | Lightweight config with YAML/properties, file watching, and dynamic reload. | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Git-backed, versioned configuration service with change notifications. | 654 | 2d | +| [config](https://github.com/lightbend/config) | HOCON/JSON/properties with substitutions, includes, and environment overrides. | 6.3k | 4mo | +| [Configurate](https://github.com/SpongePowered/Configurate) | Multi-format config (YAML, JSON, HOCON, XML) with type-safe object mapping. | 449 | 21h | +| [Curator Framework](https://curator.apache.org/) | Simplified ZooKeeper client with recipes for locks, leaders, and caches. | - | - | +| [dotenv](https://github.com/shyiko/dotenv) | Twelve-factor app config from `.env` files with environment overrides. | 50 | 7y | +| [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) | Interface-based config with pluggable sources and automatic type conversion. | 32 | 29d | +| [Gestalt](https://github.com/gestalt-config/gestalt) | Multi-source config merging with type-safe binding and validation. | 94 | 14h | +| [ini4j](http://ini4j.sourceforge.net) | Windows INI file parser with section and multi-value support. | - | - | +| [KAConf](https://github.com/mariomac/kaconf) | Annotation-based config injection for Java and Kotlin. | 61 | 3y | +| [microconfig](https://microconfig.io) | Microservice config management with inheritance and environment profiles. | - | - | +| [owner](https://github.com/lviggiano/owner) | Type-safe properties via interfaces with automatic conversion. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Choco](https://choco-solver.org) | Powerful CP solver with global constraints and search strategies. | - | - | - | -| [JaCoP](https://github.com/radsz/jacop) | Constraint solver with MiniZinc/FlatZinc support for modeling. (AGPL-3.0) | 231 | 2y | - | -| [OptaPlanner](https://www.optaplanner.org) | AI constraint solver for planning problems like scheduling and routing. | - | - | - | -| [Timefold](https://timefold.ai/docs) | OptaPlanner fork with Spring/Quarkus integration and production-ready quickstarts. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Choco](https://choco-solver.org) | Powerful CP solver with global constraints and search strategies. | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Constraint solver with MiniZinc/FlatZinc support for modeling. | 231 | 2y | +| [OptaPlanner](https://www.optaplanner.org) | AI constraint solver for planning problems like scheduling and routing. | - | - | +| [Timefold](https://timefold.ai/docs) | OptaPlanner fork with Spring/Quarkus integration and production-ready quickstarts. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [FastCSV](https://github.com/osiegmar/FastCSV) | Ultra-fast, zero-dependency, RFC 4180-compliant CSV parser. | 657 | 21d | MIT | -| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | CSV via Jackson's streaming API with schema support. | 194 | 8y | - | -| [opencsv](http://opencsv.sourceforge.net) | Simple parser with bean binding and custom separators. | - | - | - | -| [Super CSV](https://super-csv.github.io/super-csv/) | Cell processors for validation, conversion, and constraint checking. | - | - | - | -| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | Fastest parser with CSV/TSV/fixed-width support and streaming. | 931 | 1y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Ultra-fast, zero-dependency, RFC 4180-compliant CSV parser. | 657 | 21d | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | CSV via Jackson's streaming API with schema support. | 194 | 8y | +| [opencsv](http://opencsv.sourceforge.net) | Simple parser with bean binding and custom separators. | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Cell processors for validation, conversion, and constraint checking. | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | Fastest parser with CSV/TSV/fixed-width support and streaming. | 931 | 1y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Avro](https://avro.apache.org) | Schema-evolution-friendly serialization with compact binary format. | - | - | - | -| [Apache Orc](https://orc.apache.org) | Columnar storage with predicate pushdown and ACID support for Hive. | - | - | - | -| [Apache Parquet](https://parquet.apache.org) | Columnar format with efficient compression and encoding for analytics. | - | - | - | -| [Apache Thrift](https://thrift.apache.org) | Cross-language RPC framework with compact binary protocol. | - | - | - | -| [Big Queue](https://github.com/bulldog2011/bigqueue) | Memory-mapped persistent queue handling 100M+ items. | 568 | 3y | Apache-2.0 | -| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic set operations in O(log log n) space. | N/A | N/A | - | -| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Immutable collections with efficient structural sharing. | 784 | 5mo | - | -| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's language-neutral, schema-driven binary serialization. | 70.3k | 7m | - | -| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Compressed bitmaps faster than traditional implementations by orders of magnitude. | 3.8k | 25d | Apache-2.0 | -| [SBE](https://github.com/real-logic/simple-binary-encoding) | Zero-copy, zero-allocation messaging for ultra-low latency. | - | - | - | -| [Tape](https://github.com/square/tape) | Crash-safe, file-based FIFO queue for Android and Java. | 2.5k | 2y | Apache-2.0 | -| [Wire](https://github.com/square/wire) | Lightweight Protocol Buffers with Kotlin and Java codegen. | 4.4k | 2d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Avro](https://avro.apache.org) | Schema-evolution-friendly serialization with compact binary format. | - | - | +| [Apache Orc](https://orc.apache.org) | Columnar storage with predicate pushdown and ACID support for Hive. | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar format with efficient compression and encoding for analytics. | - | - | +| [Apache Thrift](https://thrift.apache.org) | Cross-language RPC framework with compact binary protocol. | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Memory-mapped persistent queue handling 100M+ items. | 568 | 3y | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic set operations in O(log log n) space. | N/A | N/A | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Immutable collections with efficient structural sharing. | 784 | 5mo | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's language-neutral, schema-driven binary serialization. | 70.3k | 42m | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Compressed bitmaps faster than traditional implementations by orders of magnitude. | 3.8k | 25d | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Zero-copy, zero-allocation messaging for ultra-low latency. | - | - | +| [Tape](https://github.com/square/tape) | Crash-safe, file-based FIFO queue for Android and Java. | 2.5k | 2y | +| [Wire](https://github.com/square/wire) | Lightweight Protocol Buffers with Kotlin and Java codegen. | 4.4k | 2d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Calcite](https://calcite.apache.org) | SQL parser, optimizer, and query federation framework for building databases. | - | - | - | -| [Apache Drill](https://drill.apache.org) | Schema-free SQL for JSON, Parquet, and NoSQL with distributed execution. | - | - | - | -| [Apache Phoenix](https://phoenix.apache.org) | SQL skin over HBase with secondary indexes and transactions. | - | - | - | -| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | Multi-model (document/graph/key-value) database driver with async support. | 205 | 1d | Apache-2.0 | -| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Off-heap, persisted ConcurrentMap with microsecond latency. | 2.9k | 1d | Apache-2.0 | -| [Debezium](https://debezium.io/) | CDC platform streaming database changes to Kafka in real-time. | - | - | - | -| [druid](https://druid.apache.org) | Real-time OLAP database with sub-second queries at scale. | - | - | - | -| [eXist](https://github.com/eXist-db/exist) | Native XML database with XQuery and full-text search. (LGPL-2.1-only) | 457 | 1d | LGPL-2.1 | -| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Connection pool monitoring with auto-scaling and failover. | 1.2k | 1mo | Apache-2.0 | -| [Flyway](https://flywaydb.org) | Version-controlled SQL migrations with rollback support. | - | - | - | -| [H2](https://h2database.com) | Embeddable SQL database with in-memory mode; great for testing. | - | - | - | -| [HikariCP](https://github.com/brettwooldridge/HikariCP) | Fastest JDBC connection pool with minimal overhead. | 20.9k | 2mo | Apache-2.0 | -| [HSQLDB](https://hsqldb.org/) | Pure Java SQL database with in-memory and file-based modes. | - | - | - | -| [JDBI](http://jdbi.org) | Fluent, annotation-free SQL API built on JDBC. | - | - | - | -| [Jedis](https://github.com/xetorthio/jedis) | Battle-tested Redis client with connection pooling and pipelining. | - | - | - | -| [Jest](https://github.com/searchbox-io/Jest) | Elasticsearch REST client with async support and bulk operations. | 2.1k | 2y | Apache-2.0 | -| [jetcd](https://github.com/justinsb/jetcd) | Official etcd v3 client with watch and lease support. | 140 | 2y | Apache-2.0 | -| [Jinq](https://github.com/my2iu/Jinq) | LINQ-style queries via lambda symbolic execution on JPA/jOOQ. | 663 | 7mo | - | -| [jOOQ](https://www.jooq.org) | Typesafe SQL DSL generated from your schema; catches errors at compile time. | - | - | - | -| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Meituan's distributed ID generator with segment and snowflake modes. | 6.7k | 2y | Apache-2.0 | -| [Lettuce](https://lettuce.io/) | Reactive, non-blocking Redis client with cluster and Sentinel support. | - | - | - | -| [Liquibase](http://www.liquibase.org) | Database-agnostic migrations with rollback and diff capabilities. | - | - | - | -| [MapDB](http://www.mapdb.org) | Concurrent maps/sets backed by disk or off-heap memory with transactions. | - | - | - | -| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Embedded MariaDB for integration testing; no install required. | 15 | 7d | Apache-2.0 | -| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with schema introspection and code generation. | 15 | 1mo | Apache-2.0 | -| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | High-performance LDAPv3 directory service with replication. | 422 | 1mo | - | -| [Querydsl](http://www.querydsl.com) | Unified typesafe queries for JPA, SQL, MongoDB, and more. | - | - | - | -| [QueryStream](https://github.com/querystream/querystream) | Stream API for building JPA Criteria queries fluently. | 20 | 8mo | Apache-2.0 | -| [QuestDB](https://github.com/questdb/questdb) | Time-series database with millions of inserts/sec and SQL support. | 16.5k | 8m | Apache-2.0 | -| [Realm](https://github.com/realm/realm-java) | Mobile-first database with live objects and offline-first sync. | 11.5k | 3mo | Apache-2.0 | -| [Redisson](https://github.com/redisson/redisson) | Redis-backed distributed collections, locks, and services. | 24.2k | 5d | Apache-2.0 | -| [requery](https://github.com/requery/requery) | Modern ORM with compile-time query validation and RxJava support. | 3.1k | 3y | Apache-2.0 | -| [Speedment](https://github.com/speedment/speedment) | Stream-based database queries generated from schema. | 2.1k | 2y | Apache-2.0 | -| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | MongoDB-style queries for relational databases via Spring Data. | 101 | 21d | Apache-2.0 | -| [Trino](https://trino.io) | Federated SQL engine querying data lakes and databases at petabyte scale. | - | - | - | -| [Vibur DBCP](https://www.vibur.org) | JDBC pool with statement caching and slow query logging. | - | - | - | -| [Xodus](https://github.com/JetBrains/xodus) | JetBrains' embedded transactional database; powers YouTrack. | 1.3k | 1mo | Apache-2.0 | -| [CosId](https://github.com/Ahoo-Wang/CosId) | High-performance distributed ID generator with multiple algorithms. | 599 | 7h | Apache-2.0 | -| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Database middleware for sharding, encryption, and distributed transactions. | 20.6k | 1h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Calcite](https://calcite.apache.org) | SQL parser, optimizer, and query federation framework for building databases. | - | - | +| [Apache Drill](https://drill.apache.org) | Schema-free SQL for JSON, Parquet, and NoSQL with distributed execution. | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | SQL skin over HBase with secondary indexes and transactions. | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | Multi-model (document/graph/key-value) database driver with async support. | 205 | 1d | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Off-heap, persisted ConcurrentMap with microsecond latency. | 2.9k | 1d | +| [Debezium](https://debezium.io/) | CDC platform streaming database changes to Kafka in real-time. | - | - | +| [druid](https://druid.apache.org) | Real-time OLAP database with sub-second queries at scale. | - | - | +| [eXist](https://github.com/eXist-db/exist) | Native XML database with XQuery and full-text search. | 457 | 1d | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Connection pool monitoring with auto-scaling and failover. | 1.2k | 1mo | +| [Flyway](https://flywaydb.org) | Version-controlled SQL migrations with rollback support. | - | - | +| [H2](https://h2database.com) | Embeddable SQL database with in-memory mode; great for testing. | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | Fastest JDBC connection pool with minimal overhead. | 20.9k | 2mo | +| [HSQLDB](https://hsqldb.org/) | Pure Java SQL database with in-memory and file-based modes. | - | - | +| [JDBI](http://jdbi.org) | Fluent, annotation-free SQL API built on JDBC. | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Battle-tested Redis client with connection pooling and pipelining. | - | - | +| [Jest](https://github.com/searchbox-io/Jest) | Elasticsearch REST client with async support and bulk operations. | 2.1k | 2y | +| [jetcd](https://github.com/justinsb/jetcd) | Official etcd v3 client with watch and lease support. | 140 | 2y | +| [Jinq](https://github.com/my2iu/Jinq) | LINQ-style queries via lambda symbolic execution on JPA/jOOQ. | 663 | 7mo | +| [jOOQ](https://www.jooq.org) | Typesafe SQL DSL generated from your schema; catches errors at compile time. | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Meituan's distributed ID generator with segment and snowflake modes. | 6.7k | 2y | +| [Lettuce](https://lettuce.io/) | Reactive, non-blocking Redis client with cluster and Sentinel support. | - | - | +| [Liquibase](http://www.liquibase.org) | Database-agnostic migrations with rollback and diff capabilities. | - | - | +| [MapDB](http://www.mapdb.org) | Concurrent maps/sets backed by disk or off-heap memory with transactions. | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Embedded MariaDB for integration testing; no install required. | 15 | 7d | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with schema introspection and code generation. | 15 | 1mo | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | High-performance LDAPv3 directory service with replication. | 422 | 1mo | +| [Querydsl](http://www.querydsl.com) | Unified typesafe queries for JPA, SQL, MongoDB, and more. | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Stream API for building JPA Criteria queries fluently. | 20 | 8mo | +| [QuestDB](https://github.com/questdb/questdb) | Time-series database with millions of inserts/sec and SQL support. | 16.5k | 8m | +| [Realm](https://github.com/realm/realm-java) | Mobile-first database with live objects and offline-first sync. | 11.5k | 3mo | +| [Redisson](https://github.com/redisson/redisson) | Redis-backed distributed collections, locks, and services. | 24.2k | 5d | +| [requery](https://github.com/requery/requery) | Modern ORM with compile-time query validation and RxJava support. | 3.1k | 3y | +| [Speedment](https://github.com/speedment/speedment) | Stream-based database queries generated from schema. | 2.1k | 2y | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | MongoDB-style queries for relational databases via Spring Data. | 101 | 21d | +| [Trino](https://trino.io) | Federated SQL engine querying data lakes and databases at petabyte scale. | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC pool with statement caching and slow query logging. | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | JetBrains' embedded transactional database; powers YouTrack. | 1.3k | 1mo | +| [CosId](https://github.com/Ahoo-Wang/CosId) | High-performance distributed ID generator with multiple algorithms. | 599 | 7h | +| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Database middleware for sharding, encryption, and distributed transactions. | 20.6k | 1h | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [iCal4j](https://github.com/ical4j/ical4j) | RFC 5545 iCalendar parser with recurrence rule support. | 821 | 11d | BSD-3-Clause | -| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Holiday calculations for 70+ countries with regional variations. | 192 | 1y | - | -| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Extra date/time types: Interval, YearQuarter, and more for java.time. | 420 | 4mo | BSD-3-Clause | -| [Time4J](https://github.com/MenoData/Time4J) | Comprehensive date/time with calendars, i18n, and formatting. (LGPL-2.1-only) | 470 | 1y | LGPL-2.1 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [iCal4j](https://github.com/ical4j/ical4j) | RFC 5545 iCalendar parser with recurrence rule support. | 821 | 11d | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Holiday calculations for 70+ countries with regional variations. | 192 | 1y | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Extra date/time types: Interval, YearQuarter, and more for java.time. | 420 | 4mo | +| [Time4J](https://github.com/MenoData/Time4J) | Comprehensive date/time with calendars, i18n, and formatting. | 470 | 1y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [java-tron](https://github.com/tronprotocol/java-tron) | Full node implementation of the TRON blockchain protocol. | 4.0k | 11d | LGPL-3.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [java-tron](https://github.com/tronprotocol/java-tron) | Full node implementation of the TRON blockchain protocol. | 4.0k | 11d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache DeltaSpike](https://deltaspike.apache.org) | Portable CDI extensions for configuration, security, and data. | - | - | - | -| [Avaje Inject](https://avaje.io/inject/) | Compile-time DI with no reflection; optimized for microservices. | - | - | - | -| [Dagger](https://dagger.dev/) | Google's compile-time DI with zero reflection overhead. | - | - | - | -| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight JSR-330 DI in ~16KB. | 362 | 7y | - | -| [Governator](https://github.com/Netflix/governator) | Netflix's Guice extensions with lifecycle management and warmup. | 826 | 24d | Apache-2.0 | -| [Guice](https://github.com/google/guice) | Google's lightweight DI with runtime binding and AOP support. | 12.7k | 1mo | Apache-2.0 | -| [HK2](https://eclipse-ee4j.github.io/glassfish-hk2/) | JSR-330 DI with dynamic service discovery; powers Jersey/GlassFish. | - | - | - | -| [JayWire](https://github.com/vanillasource/jaywire) | Minimal DI with no annotations required. (LGPL-3.0-only) | 60 | 2y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache DeltaSpike](https://deltaspike.apache.org) | Portable CDI extensions for configuration, security, and data. | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Compile-time DI with no reflection; optimized for microservices. | - | - | +| [Dagger](https://dagger.dev/) | Google's compile-time DI with zero reflection overhead. | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight JSR-330 DI in ~16KB. | 362 | 7y | +| [Governator](https://github.com/Netflix/governator) | Netflix's Guice extensions with lifecycle management and warmup. | 826 | 24d | +| [Guice](https://github.com/google/guice) | Google's lightweight DI with runtime binding and AOP support. | 12.7k | 1mo | +| [HK2](https://eclipse-ee4j.github.io/glassfish-hk2/) | JSR-330 DI with dynamic service discovery; powers Jersey/GlassFish. | - | - | +| [JayWire](https://github.com/vanillasource/jaywire) | Minimal DI with no annotations required. | 60 | 2y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AspectJ](https://www.eclipse.org/aspectj/) | Full-featured AOP with compile-time and load-time weaving. | - | - | - | -| [DCEVM](https://dcevm.github.io) | HotSwap on steroids: redefine classes, add methods/fields at runtime. (GPL-2.0-only) | - | - | - | -| [Faux Pas](https://github.com/zalando/faux-pas) | Checked exception handling in lambdas and streams elegantly. | 140 | 6mo | MIT | -| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Hot reload classes, Spring beans, and resources without restart. (GPL-2.0-only) | 2.5k | 22d | GPL-2.0 | -| [JavaParser](https://github.com/javaparser/javaparser) | Parse, analyze, transform, and generate Java source code. | 6.0k | 16h | - | -| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Resolve symbols and types in JavaParser ASTs. | 296 | 7y | Apache-2.0 | -| [Manifold](https://github.com/manifold-systems/manifold) | Compiler plugins for JSON types, extension methods, and string templates. | 2.7k | 9d | Apache-2.0 | -| [NoException](https://noexception.machinezoo.com) | Functional exception handling with sneaky throws and Optional conversion. | - | - | - | -| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Throw checked exceptions from lambdas without wrapping. | 79 | 6y | MIT | -| [Tail](https://nrktkt.github.io/tail/) | Tail call optimization via trampolining for stack-safe recursion. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AspectJ](https://www.eclipse.org/aspectj/) | Full-featured AOP with compile-time and load-time weaving. | - | - | +| [DCEVM](https://dcevm.github.io) | HotSwap on steroids: redefine classes, add methods/fields at runtime. | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Checked exception handling in lambdas and streams elegantly. | 140 | 6mo | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Hot reload classes, Spring beans, and resources without restart. | 2.5k | 22d | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, analyze, transform, and generate Java source code. | 6.0k | 16h | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Resolve symbols and types in JavaParser ASTs. | 296 | 7y | +| [Manifold](https://github.com/manifold-systems/manifold) | Compiler plugins for JSON types, extension methods, and string templates. | 2.7k | 9d | +| [NoException](https://noexception.machinezoo.com) | Functional exception handling with sneaky throws and Optional conversion. | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Throw checked exceptions from lambdas without wrapping. | 79 | 6y | +| [Tail](https://nrktkt.github.io/tail/) | Tail call optimization via trampolining for stack-safe recursion. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Geode](https://geode.apache.org) | In-memory data grid with continuous queries and WAN replication. | - | - | - | -| [Apache Storm](https://storm.apache.org) | Real-time stream processing with guaranteed processing and fault tolerance. | - | - | - | -| [Apache ZooKeeper](https://zookeeper.apache.org) | Distributed coordination for config, locks, and leader election. | - | - | - | -| [Atomix](https://atomix.io) | Raft-based distributed primitives: maps, locks, leader election. | - | - | - | -| [Axon](https://axoniq.io) | CQRS/Event Sourcing framework with saga and event store support. | - | - | - | -| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Annotation-based circuit breakers for Dropwizard. (GPL-2.0-only) | 45 | 6mo | GPL-2.0 | -| [Failsafe](https://github.com/jhalterman/failsafe) | Lightweight fault tolerance with retries, circuit breakers, and fallbacks. | - | - | - | -| [Hazelcast](https://github.com/hazelcast/hazelcast) | In-memory data grid with distributed maps, queues, and compute. | 6.6k | 2d | - | -| [JGroups](http://www.jgroups.org) | Reliable multicast and cluster membership toolkit. | - | - | - | -| [Quasar](http://docs.paralleluniverse.co/quasar/) | Fibers (lightweight threads) and actors for the JVM. | - | - | - | -| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance: circuit breakers, rate limiters, bulkheads. | 10.5k | 8d | Apache-2.0 | -| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | Identity gateway with SSO, credential replay, and request filtering. | 86 | 25d | - | -| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Reactive microservices with SWIM gossip and service discovery. | 636 | 2d | Apache-2.0 | -| [Zuul](https://github.com/Netflix/zuul) | Netflix's edge gateway for routing, filtering, and load balancing. | 14.0k | 19h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Geode](https://geode.apache.org) | In-memory data grid with continuous queries and WAN replication. | - | - | +| [Apache Storm](https://storm.apache.org) | Real-time stream processing with guaranteed processing and fault tolerance. | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Distributed coordination for config, locks, and leader election. | - | - | +| [Atomix](https://atomix.io) | Raft-based distributed primitives: maps, locks, leader election. | - | - | +| [Axon](https://axoniq.io) | CQRS/Event Sourcing framework with saga and event store support. | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Annotation-based circuit breakers for Dropwizard. | 45 | 6mo | +| [Failsafe](https://github.com/jhalterman/failsafe) | Lightweight fault tolerance with retries, circuit breakers, and fallbacks. | - | - | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | In-memory data grid with distributed maps, queues, and compute. | 6.6k | 2d | +| [JGroups](http://www.jgroups.org) | Reliable multicast and cluster membership toolkit. | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Fibers (lightweight threads) and actors for the JVM. | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance: circuit breakers, rate limiters, bulkheads. | 10.5k | 8d | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | Identity gateway with SSO, credential replay, and request filtering. | 86 | 25d | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Reactive microservices with SWIM gossip and service discovery. | 636 | 2d | +| [Zuul](https://github.com/Netflix/zuul) | Netflix's edge gateway for routing, filtering, and load balancing. | 14.0k | 19h | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Atomikos](https://www.atomikos.com) | JTA/XA transaction manager for microservices and REST. | - | - | - | -| [Bitronix](https://github.com/bitronix/btm) | Embeddable JTA 1.1 transaction manager with connection pooling. | - | - | - | -| [Narayana](https://narayana.io) | Red Hat's JTA/JTS transaction manager with saga support. (LGPL-2.1-only) | - | - | - | -| [Seata](https://github.com/seata/seata) | Alibaba's distributed transaction solution with AT/TCC/SAGA modes. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Atomikos](https://www.atomikos.com) | JTA/XA transaction manager for microservices and REST. | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Embeddable JTA 1.1 transaction manager with connection pooling. | - | - | +| [Narayana](https://narayana.io) | Red Hat's JTA/JTS transaction manager with saga support. | - | - | +| [Seata](https://github.com/seata/seata) | Alibaba's distributed transaction solution with AT/TCC/SAGA modes. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Artipie](https://github.com/artipie/artipie) | Self-hosted artifact repository supporting Maven, Docker, npm on S3/filesystem. | 649 | 3mo | MIT | -| [Capsule](https://github.com/puniverse/capsule) | Single-file deployment with embedded JVM and dependency resolution. | 1.2k | 3y | EPL-1.0 | -| [Central Repository](https://search.maven.org) | Maven Central: the default artifact repository for the Java ecosystem. | - | - | - | -| [Getdown](https://github.com/threerings/getdown) | Java Web Start replacement with auto-updates and delta patching. | 525 | 1y | - | -| [IzPack](http://izpack.org) | Cross-platform installer builder with XML configuration. | - | - | - | -| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven/Gradle plugin creating native executables and installers. | - | - | - | -| [jDeploy](https://www.jdeploy.com) | Deploy Java desktop apps via npm with native bundles. | - | - | - | -| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | HTTP API for custom JRE generation via jlink. | 50 | 1y | Apache-2.0 | -| [packr](https://github.com/libgdx/packr) | Bundle JRE with your app for native Windows/Mac/Linux distribution. | 2.6k | 1y | Apache-2.0 | -| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Creates JARs executable via `./app.jar` on Unix. | 133 | 2y | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Artipie](https://github.com/artipie/artipie) | Self-hosted artifact repository supporting Maven, Docker, npm on S3/filesystem. | 649 | 3mo | +| [Boxfuse](https://boxfuse.com) | Immutable AWS deployments with minimal VM images. | - | - | +| [Capsule](https://github.com/puniverse/capsule) | Single-file deployment with embedded JVM and dependency resolution. | 1.2k | 3y | +| [Central Repository](https://search.maven.org) | Maven Central: the default artifact repository for the Java ecosystem. | - | - | +| [Cloudsmith](https://cloudsmith.io) | Cloud artifact hosting with Maven/Gradle support and free tier. | - | - | +| [Getdown](https://github.com/threerings/getdown) | Java Web Start replacement with auto-updates and delta patching. | 525 | 1y | +| [IzPack](http://izpack.org) | Cross-platform installer builder with XML configuration. | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven/Gradle plugin creating native executables and installers. | - | - | +| [jDeploy](https://www.jdeploy.com) | Deploy Java desktop apps via npm with native bundles. | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | HTTP API for custom JRE generation via jlink. | 50 | 1y | +| [Nexus](https://www.sonatype.com) | Repository manager with proxying, caching, and security scanning. | - | - | +| [packr](https://github.com/libgdx/packr) | Bundle JRE with your app for native Windows/Mac/Linux distribution. | 2.6k | 1y | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Creates JARs executable via `./app.jar` on Unix. | 133 | 2y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache POI](https://poi.apache.org) | Full Office document support: Excel, Word, PowerPoint (OLE2 & OOXML). | - | - | - | -| [documents4j](https://documents4j.com/#/) | Document conversion API using MS Office or LibreOffice backends. | - | - | - | -| [docx4j](https://www.docx4java.org/trac/docx4j) | JAXB-based DOCX/PPTX/XLSX manipulation with mail merge. | - | - | - | -| [fastexcel](https://github.com/dhatim/fastexcel) | Streaming Excel read/write handling millions of rows with low memory. | 855 | 4d | - | -| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-driven Excel to POJO mapping with minimal overhead. | 81 | 1y | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache POI](https://poi.apache.org) | Full Office document support: Excel, Word, PowerPoint (OLE2 & OOXML). | - | - | +| [documents4j](https://documents4j.com/#/) | Document conversion API using MS Office or LibreOffice backends. | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | JAXB-based DOCX/PPTX/XLSX manipulation with mail merge. | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | Streaming Excel read/write handling millions of rows with low memory. | 855 | 4d | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-driven Excel to POJO mapping with minimal overhead. | 81 | 1y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework with exchange integration and backtesting. | 650 | 10mo | GPL-3.0 | -| [Parity](https://github.com/paritytrading/parity) | Open-source stock exchange with matching engine and market data. | 501 | 3y | Apache-2.0 | -| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency FIX protocol implementation. | 339 | 14d | Apache-2.0 | -| [Square](https://github.com/square/connect-java-sdk) | Official Square payments API client. | 40 | 4y | Apache-2.0 | -| [Stripe](https://github.com/stripe/stripe-java) | Official Stripe API client for payments and subscriptions. | 944 | 2d | MIT | -| [ta4j](https://github.com/ta4j/ta4j) | Technical analysis library with 130+ indicators and backtesting. | 2.3k | 2d | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework with exchange integration and backtesting. | 650 | 10mo | +| [Parity](https://github.com/paritytrading/parity) | Open-source stock exchange with matching engine and market data. | 501 | 3y | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency FIX protocol implementation. | 339 | 14d | +| [Square](https://github.com/square/connect-java-sdk) | Official Square payments API client. | 40 | 4y | +| [Stripe](https://github.com/stripe/stripe-java) | Official Stripe API client for payments and subscriptions. | 944 | 2d | +| [ta4j](https://github.com/ta4j/ta4j) | Technical analysis library with 130+ indicators and backtesting. | 2.3k | 2d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [CATG](https://github.com/ksen007/janala2) | Concolic testing: auto-generates tests via symbolic execution. | N/A | N/A | - | -| [Checker Framework](https://checkerframework.org) | Pluggable type systems for nullness, tainting, and more. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | -| [Daikon](https://plse.cs.washington.edu/daikon/) | Dynamic invariant detection; infers likely specifications from runs. | - | - | - | -| [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) | NASA's model checker for finding concurrency bugs and deadlocks. | 593 | 25d | - | -| [JMLOK 2.0](https://massoni.computacao.ufcg.edu.br/home/jmlok) | Detects JML specification violations via random testing. (GPL-3.0-only) | - | - | - | -| [KeY](https://www.key-project.org) | Deductive verification using JML and symbolic execution. (GPL-2.0-or-later) | - | - | - | -| [OpenJML](http://www.openjml.org) | JML verification via SMT solvers (Z3, CVC4). (GPL-2.0-only) | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CATG](https://github.com/ksen007/janala2) | Concolic testing: auto-generates tests via symbolic execution. | N/A | N/A | +| [Checker Framework](https://checkerframework.org) | Pluggable type systems for nullness, tainting, and more. | - | - | +| [Daikon](https://plse.cs.washington.edu/daikon/) | Dynamic invariant detection; infers likely specifications from runs. | - | - | +| [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) | NASA's model checker for finding concurrency bugs and deadlocks. | 593 | 25d | +| [JMLOK 2.0](https://massoni.computacao.ufcg.edu.br/home/jmlok) | Detects JML specification violations via random testing. | - | - | +| [KeY](https://www.key-project.org) | Deductive verification using JML and symbolic execution. | - | - | +| [OpenJML](http://www.openjml.org) | JML verification via SMT solvers (Z3, CVC4). | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cyclops](https://github.com/aol/cyclops) | Monads, pattern matching, and persistent collections for functional Java. | 1.3k | 2y | Apache-2.0 | -| [derive4j](https://github.com/derive4j/derive4j) | Algebraic data types with pattern matching via annotation processing. (GPL-3.0-only) | 577 | 3y | - | -| [Fugue](https://bitbucket.org/atlassian/fugue) | Atlassian's functional extensions: Option, Either, and more. | - | - | - | -| [Functional Java](http://www.functionaljava.org) | Immutable collections, monads, and functional data structures. | - | - | - | -| [jOOλ](https://github.com/jOOQ/jOOL) | Tuples, Seq, and unchecked functional interfaces for streams. | 2.1k | 1y | Apache-2.0 | -| [Packrat](https://github.com/jhspetersson/packrat) | Custom Gatherers for Java Stream intermediate operations. | 24 | 6d | Apache-2.0 | -| [protonpack](https://github.com/poetix/protonpack) | Stream utilities: zip, unfold, takeWhile, and windowing. | 485 | 1y | MIT | -| [StreamEx](https://github.com/amaembo/streamex) | Enhanced streams with parallel support and additional collectors. | 2.3k | 4mo | Apache-2.0 | -| [Vavr](https://www.vavr.io) | Scala-inspired FP: immutable collections, Try, Either, pattern matching. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cyclops](https://github.com/aol/cyclops) | Monads, pattern matching, and persistent collections for functional Java. | 1.3k | 2y | +| [derive4j](https://github.com/derive4j/derive4j) | Algebraic data types with pattern matching via annotation processing. | 577 | 3y | +| [Fugue](https://bitbucket.org/atlassian/fugue) | Atlassian's functional extensions: Option, Either, and more. | - | - | +| [Functional Java](http://www.functionaljava.org) | Immutable collections, monads, and functional data structures. | - | - | +| [jOOλ](https://github.com/jOOQ/jOOL) | Tuples, Seq, and unchecked functional interfaces for streams. | 2.1k | 1y | +| [Packrat](https://github.com/jhspetersson/packrat) | Custom Gatherers for Java Stream intermediate operations. | 24 | 6d | +| [protonpack](https://github.com/poetix/protonpack) | Stream utilities: zip, unfold, takeWhile, and windowing. | 485 | 1y | +| [StreamEx](https://github.com/amaembo/streamex) | Enhanced streams with parallel support and additional collectors. | 2.3k | 4mo | +| [Vavr](https://www.vavr.io) | Scala-inspired FP: immutable collections, Try, Either, pattern matching. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [FXGL](https://almasb.github.io/FXGL/) | JavaFX game engine with ECS, physics, and UI out of the box. | - | - | - | -| [JBox2D](http://www.jbox2d.org/) | Box2D physics engine port for 2D rigid body simulation. | - | - | - | -| [jMonkeyEngine](https://jmonkeyengine.org) | Full-featured 3D engine with PBR, physics, and networking. | - | - | - | -| [libGDX](https://libgdx.com) | Cross-platform 2D/3D framework deploying to desktop, Android, iOS, web. | - | - | - | -| [Litiengine](https://litiengine.com/) | Pure Java 2D engine with no native dependencies. | - | - | - | -| [LWJGL](https://www.lwjgl.org) | Low-level bindings to OpenGL, Vulkan, OpenAL, and more. | - | - | - | -| [Mini2Dx](https://mini2dx.org) | Beginner-friendly 2D framework with tiled map and UI support. | - | - | - | -| [Void2D](https://github.com/xzripper/Void2D) | Swing-based 2D engine with physics for simple games. | N/A | N/A | - | -| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan and OpenGL ES2 bindings via Panama FFM. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX game engine with ECS, physics, and UI out of the box. | - | - | +| [JBox2D](http://www.jbox2d.org/) | Box2D physics engine port for 2D rigid body simulation. | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Full-featured 3D engine with PBR, physics, and networking. | - | - | +| [libGDX](https://libgdx.com) | Cross-platform 2D/3D framework deploying to desktop, Android, iOS, web. | - | - | +| [Litiengine](https://litiengine.com/) | Pure Java 2D engine with no native dependencies. | - | - | +| [LWJGL](https://www.lwjgl.org) | Low-level bindings to OpenGL, Vulkan, OpenAL, and more. | - | - | +| [Mini2Dx](https://mini2dx.org) | Beginner-friendly 2D framework with tiled map and UI support. | - | - | +| [Void2D](https://github.com/xzripper/Void2D) | Swing-based 2D engine with physics for simple games. | N/A | N/A | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan and OpenGL ES2 bindings via Panama FFM. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache SIS](https://sis.apache.org) | OGC/ISO standards-based geospatial metadata and referencing. | - | - | - | -| [Geo](https://github.com/davidmoten/geo) | GeoHash encoding/decoding with spatial indexing. | 431 | 3d | Apache-2.0 | -| [GeoTools](https://geotools.org) | Comprehensive GIS toolkit for OGC standards. (LGPL-2.1-only) | - | - | - | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | Fast routing engine with turn costs and isochrones. | 6.2k | 1d | Apache-2.0 | -| [H2GIS](http://www.h2gis.org) | Spatial SQL extension for H2 with OGC compliance. (LGPL-3.0-only) | - | - | - | -| [Jgeohash](https://astrapi69.github.io/jgeohash/) | GeoHash algorithm with neighbor calculation and bounding boxes. | - | - | - | -| [Mapsforge](https://github.com/mapsforge/mapsforge) | Offline map rendering from OpenStreetMap vector data. (LGPL-3.0-only) | 1.3k | 4d | LGPL-3.0 | -| [Spatial4j](https://github.com/locationtech/spatial4j) | Geospatial shapes and distance calculations for search engines. | 954 | 7mo | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache SIS](https://sis.apache.org) | OGC/ISO standards-based geospatial metadata and referencing. | - | - | +| [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) | Esri's JavaFX SDK for mapping and spatial analysis. | N/A | N/A | +| [Geo](https://github.com/davidmoten/geo) | GeoHash encoding/decoding with spatial indexing. | 431 | 3d | +| [GeoTools](https://geotools.org) | Comprehensive GIS toolkit for OGC standards. | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Fast routing engine with turn costs and isochrones. | 6.2k | 1d | +| [H2GIS](http://www.h2gis.org) | Spatial SQL extension for H2 with OGC compliance. | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | GeoHash algorithm with neighbor calculation and bounding boxes. | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Offline map rendering from OpenStreetMap vector data. | 1.3k | 4d | +| [Spatial4j](https://github.com/locationtech/spatial4j) | Geospatial shapes and distance calculations for search engines. | 954 | 7mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Rich client platform with CSS styling, FXML, and hardware acceleration. | - | - | - | -| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Drag-and-drop FXML UI designer for JavaFX. | - | - | - | -| [SnapKit](https://github.com/reportmill/SnapKit) | Cross-platform UI (desktop/web) with declarative layout. | 310 | 12h | - | -| [SWT](https://www.eclipse.org/swt/) | Eclipse's native widget toolkit for OS-native look and feel. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Rich client platform with CSS styling, FXML, and hardware acceleration. | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Drag-and-drop FXML UI designer for JavaFX. | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Cross-platform UI (desktop/web) with declarative layout. | 310 | 13h | +| [SWT](https://www.eclipse.org/swt/) | Eclipse's native widget toolkit for OS-native look and feel. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Agrona](https://github.com/real-logic/Agrona) | Off-heap buffers, ring buffers, and lock-free data structures. | - | - | - | -| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Lock-free ring buffer achieving 25M+ msgs/sec between threads. | - | - | - | -| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Memory-efficient collections with primitives and immutables. | - | - | - | -| [fastutil](http://fastutil.di.unimi.it) | Primitive collections 2-3x faster than java.util. | - | - | - | -| [HPPC](https://labs.carrotsearch.com/hppc.html) | High-performance primitive collections with minimal memory. | - | - | - | -| [JCTools](https://github.com/JCTools/JCTools) | Non-blocking queues: SPSC, MPSC, MPMC for concurrent apps. | 3.8k | 1y | Apache-2.0 | -| [Koloboke](https://github.com/leventov/Koloboke) | Fastest hash maps/sets with primitive specialization. | 1.0k | 8y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Agrona](https://github.com/real-logic/Agrona) | Off-heap buffers, ring buffers, and lock-free data structures. | - | - | +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Lock-free ring buffer achieving 25M+ msgs/sec between threads. | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Memory-efficient collections with primitives and immutables. | - | - | +| [fastutil](http://fastutil.di.unimi.it) | Primitive collections 2-3x faster than java.util. | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | High-performance primitive collections with minimal memory. | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Non-blocking queues: SPSC, MPSC, MPMC for concurrent apps. | 3.8k | 1y | +| [Koloboke](https://github.com/leventov/Koloboke) | Fastest hash maps/sets with primitive specialization. | 1.0k | 8y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache HttpComponents](https://hc.apache.org/) | Full-featured HTTP client with connection pooling and async support. | - | - | - | -| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Non-blocking HTTP/WebSocket client on Netty. | 6.4k | 10d | - | -| [Avaje Http Client](https://avaje.io/http-client) | JDK HttpClient wrapper with declarative interfaces and JSON binding. | - | - | - | -| [Feign](https://github.com/OpenFeign/feign) | Declarative REST client via annotated interfaces. | 9.8k | 2d | Apache-2.0 | -| [Google HTTP Client](https://github.com/googleapis/google-http-java-client) | Pluggable transport with JSON parsing and OAuth support. | 1.4k | 21d | Apache-2.0 | -| [methanol](https://github.com/mizosoft/methanol) | JDK HttpClient extensions: caching, compression, multipart. | 286 | 19d | MIT | -| [Retrofit](https://square.github.io/retrofit/) | Type-safe REST client with pluggable converters and call adapters. | - | - | - | -| [Ribbon](https://github.com/Netflix/ribbon) | Netflix's client-side load balancer with retry policies. | 4.6k | 24d | Apache-2.0 | -| [Riptide](https://github.com/zalando/riptide) | Response routing DSL for RestTemplate with problem+json support. | 329 | 19h | MIT | -| [unirest-java](https://github.com/Kong/unirest-java) | Fluent HTTP client with JSON, async, and file upload support. | 2.7k | 1mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache HttpComponents](https://hc.apache.org/) | Full-featured HTTP client with connection pooling and async support. | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Non-blocking HTTP/WebSocket client on Netty. | 6.4k | 10d | +| [Avaje Http Client](https://avaje.io/http-client) | JDK HttpClient wrapper with declarative interfaces and JSON binding. | - | - | +| [Feign](https://github.com/OpenFeign/feign) | Declarative REST client via annotated interfaces. | 9.8k | 2d | +| [Google HTTP Client](https://github.com/googleapis/google-http-java-client) | Pluggable transport with JSON parsing and OAuth support. | 1.4k | 21d | +| [methanol](https://github.com/mizosoft/methanol) | JDK HttpClient extensions: caching, compression, multipart. | 286 | 19d | +| [Retrofit](https://square.github.io/retrofit/) | Type-safe REST client with pluggable converters and call adapters. | - | - | +| [Ribbon](https://github.com/Netflix/ribbon) | Netflix's client-side load balancer with retry policies. | 4.6k | 24d | +| [Riptide](https://github.com/zalando/riptide) | Response routing DSL for RestTemplate with problem+json support. | 329 | 19h | +| [unirest-java](https://github.com/Kong/unirest-java) | Fluent HTTP client with JSON, async, and file upload support. | 2.7k | 1mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [hate](https://github.com/blackdoor/hate) | HAL+JSON builder with link templating support. | 25 | 2y | MIT | -| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | W3C JSON-LD processor with expansion, compaction, and framing. | 386 | 2y | BSD-3-Clause | -| [Siren4J](https://github.com/eserating-chwy/siren4j) | Siren hypermedia builder with actions and embedded entities. | 28 | 1y | MIT | -| [Spring HATEOAS](https://github.com/spring-projects/spring-hateoas) | Multi-format hypermedia (HAL, HAL-FORMS, Collection+JSON) for Spring. | 1.1k | 25d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [hate](https://github.com/blackdoor/hate) | HAL+JSON builder with link templating support. | 25 | 2y | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | W3C JSON-LD processor with expansion, compaction, and framing. | 386 | 2y | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Siren hypermedia builder with actions and embedded entities. | 28 | 1y | +| [Spring HATEOAS](https://github.com/spring-projects/spring-hateoas) | Multi-format hypermedia (HAL, HAL-FORMS, Collection+JSON) for Spring. | 1.1k | 25d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Eclipse](https://www.eclipse.org) | Extensible IDE with vast plugin ecosystem and multi-language support. | - | - | - | -| [jGRASP](https://www.jgrasp.org) | Educational IDE with control structure and UML visualizations. | - | - | - | -| [NetBeans](https://netbeans.apache.org) | Apache IDE with Java SE/EE, Maven, and Git integration. | - | - | - | -| [SnapCode](https://reportmill.com/SnapCode/) | Browser-based Java IDE for learning with live preview. | - | - | - | -| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Lightweight editor with Java extensions for debugging and Maven. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Eclipse](https://www.eclipse.org) | Extensible IDE with vast plugin ecosystem and multi-language support. | - | - | +| [IntelliJ IDEA](https://www.jetbrains.com/idea/) | Smart IDE with deep refactoring, inspections, and framework support. | - | - | +| [jGRASP](https://www.jgrasp.org) | Educational IDE with control structure and UML visualizations. | - | - | +| [NetBeans](https://netbeans.apache.org) | Apache IDE with Java SE/EE, Maven, and Git integration. | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Browser-based Java IDE for learning with live preview. | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Lightweight editor with Java extensions for debugging and Maven. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Vector/raster barcode generation with CMYK and high-DPI support. | 9 | 17d | Apache-2.0 | -| [Imgscalr](https://github.com/rkalla/imgscalr) | Hardware-accelerated image scaling with quality presets. | 1.2k | 2y | Apache-2.0 | -| [Tess4J](https://github.com/nguyenq/tess4j) | Tesseract OCR wrapper for text extraction from images. | 1.7k | 13d | Apache-2.0 | -| [Thumbnailator](https://github.com/coobird/thumbnailator) | Fluent API for high-quality thumbnail generation. | 5.4k | 1d | MIT | -| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | ImageIO plugins for TIFF, PSD, WebP, and more formats. | 2.1k | 3d | BSD-3-Clause | -| [ZXing](https://github.com/zxing/zxing) | Multi-format barcode scanning and generation library. | 33.8k | 1mo | Apache-2.0 | -| [image-comparison](https://github.com/romankh3/image-comparison) | Visual diff tool highlighting image differences with rectangles. | 385 | 7mo | Apache-2.0 | -| [vips-ffm](https://github.com/lopcode/vips-ffm) | Blazing-fast libvips bindings via Panama FFM. | 98 | 10d | Apache-2.0 | -| [scrimage](https://sksamuel.github.io/scrimage) | Immutable image operations: resize, crop, filters, and formats. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Vector/raster barcode generation with CMYK and high-DPI support. | 9 | 17d | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Hardware-accelerated image scaling with quality presets. | 1.2k | 2y | +| [Tess4J](https://github.com/nguyenq/tess4j) | Tesseract OCR wrapper for text extraction from images. | 1.7k | 13d | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | Fluent API for high-quality thumbnail generation. | 5.4k | 1d | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | ImageIO plugins for TIFF, PSD, WebP, and more formats. | 2.1k | 3d | +| [ZXing](https://github.com/zxing/zxing) | Multi-format barcode scanning and generation library. | 33.8k | 1mo | +| [image-comparison](https://github.com/romankh3/image-comparison) | Visual diff tool highlighting image differences with rectangles. | 385 | 7mo | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Blazing-fast libvips bindings via Panama FFM. | 98 | 10d | +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable image operations: resize, crop, filters, and formats. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ClassGraph](https://github.com/classgraph/classgraph) | Ultra-fast classpath scanner with parallel processing and module support. | 3.0k | 3mo | MIT | -| [jOOR](https://github.com/jOOQ/jOOR) | Fluent reflection API simplifying method invocation and field access. | 2.8k | 1y | Apache-2.0 | -| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Simplified reflection for common tasks with a clean API. | - | - | - | -| [Objenesis](http://objenesis.org) | Instantiate objects bypassing constructors; used by serializers. | - | - | - | -| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | Code-generated reflection achieving near-native performance. | 1.5k | 7mo | BSD-3-Clause | -| [Reflections](https://github.com/ronmamo/reflections) | Runtime metadata scanning for annotations, subtypes, and resources. | 4.8k | 1y | WTFPL | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ClassGraph](https://github.com/classgraph/classgraph) | Ultra-fast classpath scanner with parallel processing and module support. | 3.0k | 3mo | +| [jOOR](https://github.com/jOOQ/jOOR) | Fluent reflection API simplifying method invocation and field access. | 2.8k | 1y | +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Simplified reflection for common tasks with a clean API. | - | - | +| [Objenesis](http://objenesis.org) | Instantiate objects bypassing constructors; used by serializers. | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | Code-generated reflection achieving near-native performance. | 1.5k | 7mo | +| [Reflections](https://github.com/ronmamo/reflections) | Runtime metadata scanning for annotations, subtypes, and resources. | 4.8k | 1y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [JobRunr](https://github.com/jobrunr/jobrunr) | Distributed job scheduler with lambda-based jobs and dashboard. | 2.8k | 1d | - | -| [Quartz](https://github.com/quartz-scheduler/quartz) | Enterprise scheduler with cron expressions and clustering support. | 6.7k | 3d | Apache-2.0 | -| [Sundial](https://github.com/knowm/Sundial) | Lightweight Quartz wrapper with simplified configuration. | 276 | 1y | Apache-2.0 | -| [Wisp](https://github.com/Coreoz/Wisp) | Minimal scheduler (~10KB) with cron and fixed-delay scheduling. | 141 | 7mo | Apache-2.0 | -| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent scheduler with cluster coordination via database locks. | 1.5k | 3d | Apache-2.0 | -| [easy-batch](https://github.com/j-easy/easy-batch) | Batch processing with readers, processors, and writers pipeline. | 629 | 2y | MIT | -| [shedlock](https://github.com/lukas-krecan/ShedLock) | Distributed lock ensuring single execution across cluster nodes. | 4.1k | 16h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JobRunr](https://github.com/jobrunr/jobrunr) | Distributed job scheduler with lambda-based jobs and dashboard. | 2.8k | 1d | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Enterprise scheduler with cron expressions and clustering support. | 6.7k | 3d | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight Quartz wrapper with simplified configuration. | 276 | 1y | +| [Wisp](https://github.com/Coreoz/Wisp) | Minimal scheduler (~10KB) with cron and fixed-delay scheduling. | 141 | 7mo | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent scheduler with cluster coordination via database locks. | 1.5k | 3d | +| [easy-batch](https://github.com/j-easy/easy-batch) | Batch processing with readers, processors, and writers pipeline. | 629 | 2y | +| [shedlock](https://github.com/lukas-krecan/ShedLock) | Distributed lock ensuring single execution across cluster nodes. | 4.1k | 16h | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Avaje Jsonb](https://avaje.io/jsonb/) | Compile-time JSON binding with no reflection; Jackson-compatible annotations. | - | - | - | -| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | Fastest JSON library via compile-time generated readers/writers. | 1.1k | 1y | BSD-3-Clause | -| [Genson](http://genson.io) | Feature-rich JSON with streaming, polymorphism, and JAX-RS support. | - | - | - | -| [Gson](https://github.com/google/gson) | Google's simple JSON library with no-config serialization. | 24.3k | 8d | Apache-2.0 | -| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | Ultra-fast JSON parser; 2x faster than Jackson. | 465 | 2y | Apache-2.0 | -| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Jackson support for Optional, JSR-310 dates, and parameter names. | 417 | 10d | Apache-2.0 | -| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Jackson serializer/deserializer for JavaMoney types. | 264 | 6mo | MIT | -| [Jackson](https://github.com/FasterXML/jackson) | Industry-standard JSON with streaming, data-binding, and modules. | 9.6k | 8d | - | -| [JSON-io](https://github.com/jdereg/json-io) | Deep object graph serialization with cycle handling. | 343 | 4d | Apache-2.0 | -| [jsoniter](http://jsoniter.com) | Iterator-style API for streaming and lazy JSON parsing. | - | - | - | -| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | Compile-time JSON for Android; faster than Gson and Jackson. | 3.2k | 4y | Apache-2.0 | -| [Moshi](https://github.com/square/moshi) | Square's modern JSON with Kotlin support and adapters. | 10.1k | 5d | Apache-2.0 | -| [Yasson](https://github.com/eclipse-ee4j/yasson) | Jakarta JSON Binding (JSON-B) reference implementation. | 215 | 6mo | - | -| [fastjson](https://github.com/alibaba/fastjson) | Alibaba's high-performance JSON with JSONPath support. | 25.7k | 1y | Apache-2.0 | -| [Jolt](https://github.com/bazaarvoice/jolt) | JSON-to-JSON transformation via shift, default, and sort specs. | 1.7k | 6mo | Apache-2.0 | -| [JsonPath](https://github.com/json-path/JsonPath) | XPath-like queries for extracting JSON data. | 9.4k | 2mo | Apache-2.0 | -| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath for processing large JSON without loading all. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Avaje Jsonb](https://avaje.io/jsonb/) | Compile-time JSON binding with no reflection; Jackson-compatible annotations. | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | Fastest JSON library via compile-time generated readers/writers. | 1.1k | 1y | +| [Genson](http://genson.io) | Feature-rich JSON with streaming, polymorphism, and JAX-RS support. | - | - | +| [Gson](https://github.com/google/gson) | Google's simple JSON library with no-config serialization. | 24.3k | 8d | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | Ultra-fast JSON parser; 2x faster than Jackson. | 465 | 2y | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Jackson support for Optional, JSR-310 dates, and parameter names. | 417 | 10d | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Jackson serializer/deserializer for JavaMoney types. | 264 | 6mo | +| [Jackson](https://github.com/FasterXML/jackson) | Industry-standard JSON with streaming, data-binding, and modules. | 9.6k | 8d | +| [JSON-io](https://github.com/jdereg/json-io) | Deep object graph serialization with cycle handling. | 343 | 4d | +| [jsoniter](http://jsoniter.com) | Iterator-style API for streaming and lazy JSON parsing. | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | Compile-time JSON for Android; faster than Gson and Jackson. | 3.2k | 4y | +| [Moshi](https://github.com/square/moshi) | Square's modern JSON with Kotlin support and adapters. | 10.1k | 5d | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Jakarta JSON Binding (JSON-B) reference implementation. | 215 | 6mo | +| [fastjson](https://github.com/alibaba/fastjson) | Alibaba's high-performance JSON with JSONPath support. | 25.7k | 1y | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON-to-JSON transformation via shift, default, and sort specs. | 1.7k | 6mo | +| [JsonPath](https://github.com/json-path/JsonPath) | XPath-like queries for extracting JSON data. | 9.4k | 2mo | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath for processing large JSON without loading all. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Which JDK](https://whichjdk.com/) | Decision guide for choosing a JDK distribution. | - | - | - | -| [Adopt Open JDK](https://adoptopenjdk.net) | Community OpenJDK with HotSpot and OpenJ9 variants. | - | - | - | -| [Corretto](https://aws.amazon.com/corretto/) | Amazon's LTS OpenJDK with AWS optimizations. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | -| [Dragonwell8](https://github.com/alibaba/dragonwell8) | Alibaba's OpenJDK optimized for long-running services. | - | - | - | -| [Graal](https://github.com/oracle/graal) | Polyglot VM with native image compilation (GraalVM). (GPL-2.0-only WITH Classpath-exception-2.0) | 21.4k | 11h | - | -| [Liberica JDK](https://bell-sw.com) | JCK-certified OpenJDK with JavaFX bundled option. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | -| [OpenJ9](https://github.com/eclipse/openj9) | Eclipse JVM with low memory footprint and fast startup. | - | - | - | -| [Open JDK](https://openjdk.java.net) | Reference implementation and development home. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | -| [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) | Non-blocking GC VM for iOS mobile development. (GPL-2.0-only WITH Classpath-exception-2.0) | N/A | N/A | - | -| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | Red Hat's enterprise-supported OpenJDK. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | -| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's JCK-verified OpenJDK for enterprise. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | -| [Zulu](https://www.azul.com/products/zulu-community/) | Azul's TCK-certified OpenJDK with commercial support option. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | -| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft's OpenJDK build with Azure optimizations. | 340 | 2mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Which JDK](https://whichjdk.com/) | Decision guide for choosing a JDK distribution. | - | - | +| [Adopt Open JDK](https://adoptopenjdk.net) | Community OpenJDK with HotSpot and OpenJ9 variants. | - | - | +| [Corretto](https://aws.amazon.com/corretto/) | Amazon's LTS OpenJDK with AWS optimizations. | - | - | +| [Dragonwell8](https://github.com/alibaba/dragonwell8) | Alibaba's OpenJDK optimized for long-running services. | - | - | +| [Graal](https://github.com/oracle/graal) | Polyglot VM with native image compilation (GraalVM). | 21.4k | 12h | +| [Liberica JDK](https://bell-sw.com) | JCK-certified OpenJDK with JavaFX bundled option. | - | - | +| [OpenJ9](https://github.com/eclipse/openj9) | Eclipse JVM with low memory footprint and fast startup. | - | - | +| [Open JDK](https://openjdk.java.net) | Reference implementation and development home. | - | - | +| [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) | Non-blocking GC VM for iOS mobile development. | N/A | N/A | +| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | Red Hat's enterprise-supported OpenJDK. | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's JCK-verified OpenJDK for enterprise. | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | Azul's TCK-certified OpenJDK with commercial support option. | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft's OpenJDK build with Azure optimizations. | 340 | 2mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Log4j 2](https://logging.apache.org/log4j/) | Async logging with lazy evaluation and plugin architecture. | - | - | - | -| [Echopraxia](https://github.com/tersesystems/echopraxia) | Structured logging API with conditions and JSON context. | 58 | 10mo | - | -| [Graylog](https://www.graylog.org) | Centralized log management with search and dashboards. (GPL-3.0-only) | - | - | - | -| [Kibana](https://www.elastic.co/kibana) | Elasticsearch visualization for log analysis and monitoring. | - | - | - | -| [Logback](http://logback.qos.ch) | SLF4J native implementation with Groovy config and filters. | - | - | - | -| [Logbook](https://github.com/zalando/logbook) | HTTP request/response logging with filtering and correlation. | 2.0k | 17h | MIT | -| [Logstash](https://www.elastic.co/logstash) | Log pipeline for parsing, transforming, and forwarding. | - | - | - | -| [p6spy](https://github.com/p6spy/p6spy) | JDBC proxy logging all SQL with timing; no code changes. | 2.2k | 3y | Apache-2.0 | -| [SLF4J](http://www.slf4j.org) | Universal logging facade; bind to any implementation. | - | - | - | -| [tinylog](https://tinylog.org/v2/) | Minimalist logger with static API and 100KB footprint. | - | - | - | -| [OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox) | OpenTracing extensions for Spring and Servlet tracing. | 180 | 6mo | MIT | -| [Flogger](https://google.github.io/flogger/) | Google's fluent logging API with lazy argument evaluation. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Log4j 2](https://logging.apache.org/log4j/) | Async logging with lazy evaluation and plugin architecture. | - | - | +| [Echopraxia](https://github.com/tersesystems/echopraxia) | Structured logging API with conditions and JSON context. | 58 | 10mo | +| [Graylog](https://www.graylog.org) | Centralized log management with search and dashboards. | - | - | +| [Kibana](https://www.elastic.co/kibana) | Elasticsearch visualization for log analysis and monitoring. | - | - | +| [Logback](http://logback.qos.ch) | SLF4J native implementation with Groovy config and filters. | - | - | +| [Logbook](https://github.com/zalando/logbook) | HTTP request/response logging with filtering and correlation. | 2.0k | 17h | +| [Logstash](https://www.elastic.co/logstash) | Log pipeline for parsing, transforming, and forwarding. | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | JDBC proxy logging all SQL with timing; no code changes. | 2.2k | 3y | +| [SLF4J](http://www.slf4j.org) | Universal logging facade; bind to any implementation. | - | - | +| [tinylog](https://tinylog.org/v2/) | Minimalist logger with static API and 100KB footprint. | - | - | +| [OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox) | OpenTracing extensions for Spring and Servlet tracing. | 180 | 6mo | +| [Flogger](https://google.github.io/flogger/) | Google's fluent logging API with lazy argument evaluation. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Flink](https://flink.apache.org) | Stream/batch processing with exactly-once semantics and ML pipelines. | - | - | - | -| [Apache Mahout](https://mahout.apache.org) | Distributed ML for clustering, classification, and recommendations. | - | - | - | -| [DatumBox](http://www.datumbox.com) | Pre-trained NLP models for sentiment, topic, and spam detection. | - | - | - | -| [Deeplearning4j](https://deeplearning4j.org) | Distributed deep learning with Spark and GPU support. | - | - | - | -| [DJL](https://djl.ai) | Deep learning abstraction for PyTorch, TensorFlow, and MXNet. | - | - | - | -| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Unified API for OpenAI, Cohere, and other AI services. | - | - | - | -| [JSAT](https://github.com/EdwardRaff/JSAT) | Pure Java ML library with 100+ algorithms. (GPL-3.0-only) | 800 | 3y | GPL-3.0 | -| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | Export trained models to Java/C/Python code. | 2.9k | 1y | MIT | -| [Neureka](https://github.com/Gleethos/neureka) | OpenCL-accelerated tensor library for neural networks. | 86 | 1y | MIT | -| [oj! Algorithms](https://www.ojalgo.org/) | High-performance linear algebra and optimization solvers. | - | - | - | -| [Oryx 2](https://github.com/OryxProject/oryx) | Real-time ML on Spark with serving layer and model updates. | 1.8k | 4y | Apache-2.0 | -| [Siddhi](https://github.com/siddhi-io/siddhi) | Complex event processing for streaming analytics. | 1.6k | 5mo | Apache-2.0 | -| [Smile](https://github.com/haifengl/smile) | Comprehensive ML library with Scala API and visualization. | 6.3k | 1d | - | -| [Tribuo](https://tribuo.org/) | Oracle's ML library with reproducibility and ONNX export. | - | - | - | -| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | GUI-based ML toolkit with 100+ algorithms. (GPL-3.0-only) | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Flink](https://flink.apache.org) | Stream/batch processing with exactly-once semantics and ML pipelines. | - | - | +| [Apache Mahout](https://mahout.apache.org) | Distributed ML for clustering, classification, and recommendations. | - | - | +| [DatumBox](http://www.datumbox.com) | Pre-trained NLP models for sentiment, topic, and spam detection. | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed deep learning with Spark and GPU support. | - | - | +| [DJL](https://djl.ai) | Deep learning abstraction for PyTorch, TensorFlow, and MXNet. | - | - | +| [H2O](https://www.h2o.ai) | AutoML platform with in-memory distributed training. | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Unified API for OpenAI, Cohere, and other AI services. | - | - | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Pure Java ML library with 100+ algorithms. | 800 | 3y | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | Export trained models to Java/C/Python code. | 2.9k | 1y | +| [Neureka](https://github.com/Gleethos/neureka) | OpenCL-accelerated tensor library for neural networks. | 86 | 1y | +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance linear algebra and optimization solvers. | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Real-time ML on Spark with serving layer and model updates. | 1.8k | 4y | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Complex event processing for streaming analytics. | 1.6k | 5mo | +| [Smile](https://github.com/haifengl/smile) | Comprehensive ML library with Scala API and visualization. | 6.3k | 1d | +| [Tribuo](https://tribuo.org/) | Oracle's ML library with reproducibility and ONNX export. | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | GUI-based ML toolkit with 100+ algorithms. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Aeron](https://github.com/real-logic/Aeron) | Ultra-low-latency messaging with UDP multicast and IPC. | - | - | - | -| [Apache ActiveMQ](https://activemq.apache.org) | JMS broker with persistence, clustering, and REST API. | - | - | - | -| [Apache Camel](https://camel.apache.org) | 300+ connectors with Enterprise Integration Patterns routing. | - | - | - | -| [Apache Kafka](https://kafka.apache.org) | Distributed event streaming with exactly-once semantics. | - | - | - | -| [Apache Pulsar](https://pulsar.apache.org) | Multi-tenant messaging with tiered storage and geo-replication. | - | - | - | -| [Apache RocketMQ](https://rocketmq.apache.org) | Alibaba's distributed messaging with transactions and scheduling. | - | - | - | -| [Apache Qpid](https://qpid.apache.org) | AMQP 1.0 broker and client libraries. | - | - | - | -| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | Cloud-native Kafka with S3 storage and auto-scaling. | - | - | - | -| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | In-process message dispatcher with compile-time handler resolution. | 64 | 1mo | Apache-2.0 | -| [EventBus](https://github.com/greenrobot/EventBus) | Android-optimized publish/subscribe event bus. | 24.8k | 1y | Apache-2.0 | -| [Hermes](http://hermes.allegro.tech) | Kafka REST proxy with schema validation and rate limiting. | - | - | - | -| [JeroMQ](https://github.com/zeromq/jeromq) | Pure Java ZeroMQ with pub/sub, push/pull patterns. | 2.4k | 1mo | MPL-2.0 | -| [Nakadi](https://github.com/zalando/nakadi) | Event bus REST API with schema registry on Kafka. | 968 | 1y | MIT | -| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | Official AMQP client with connection recovery. | 1.3k | 1d | - | -| [Smack](https://github.com/igniterealtime/Smack) | XMPP client for IM, presence, and extensions. | 2.4k | 1mo | Apache-2.0 | -| [NATS client](https://github.com/nats-io/nats.java) | Lightweight messaging client for NATS with JetStream. | 640 | 1d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aeron](https://github.com/real-logic/Aeron) | Ultra-low-latency messaging with UDP multicast and IPC. | - | - | +| [Apache ActiveMQ](https://activemq.apache.org) | JMS broker with persistence, clustering, and REST API. | - | - | +| [Apache Camel](https://camel.apache.org) | 300+ connectors with Enterprise Integration Patterns routing. | - | - | +| [Apache Kafka](https://kafka.apache.org) | Distributed event streaming with exactly-once semantics. | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Multi-tenant messaging with tiered storage and geo-replication. | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Alibaba's distributed messaging with transactions and scheduling. | - | - | +| [Apache Qpid](https://qpid.apache.org) | AMQP 1.0 broker and client libraries. | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | Cloud-native Kafka with S3 storage and auto-scaling. | - | - | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | In-process message dispatcher with compile-time handler resolution. | 64 | 1mo | +| [EventBus](https://github.com/greenrobot/EventBus) | Android-optimized publish/subscribe event bus. | 24.8k | 1y | +| [Hermes](http://hermes.allegro.tech) | Kafka REST proxy with schema validation and rate limiting. | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Pure Java ZeroMQ with pub/sub, push/pull patterns. | 2.4k | 1mo | +| [Nakadi](https://github.com/zalando/nakadi) | Event bus REST API with schema registry on Kafka. | 968 | 1y | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | Official AMQP client with connection recovery. | 1.3k | 1d | +| [Smack](https://github.com/igniterealtime/Smack) | XMPP client for IM, presence, and extensions. | 2.4k | 1mo | +| [NATS client](https://github.com/nats-io/nats.java) | Lightweight messaging client for NATS with JetStream. | 640 | 1d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ActiveRPC](https://rpc.activej.io) | Zero-allocation RPC with 15M+ requests/sec throughput. | - | - | - | -| [Armeria](https://github.com/line/armeria) | Async microservice framework with gRPC, Thrift, and REST on Netty. | 5.1k | 1d | Apache-2.0 | -| [consul-api](https://github.com/Ecwid/consul-api) | Consul client for service discovery, health checks, and KV store. | 423 | 2y | Apache-2.0 | -| [Eureka](https://github.com/Netflix/eureka) | Netflix's service registry with self-preservation and replication. | 12.7k | 23d | Apache-2.0 | -| [Helidon](https://helidon.io) | Oracle's microservice framework: SE (functional) or MP (MicroProfile). | - | - | - | -| [JDA](https://github.com/DV8FromTheWorld/JDA) | Discord API wrapper with event handling and slash commands. | - | - | - | -| [KeenType](https://github.com/DaveJarvis/KeenType) | Modern TeX implementation for document typesetting. | N/A | N/A | - | -| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Fluent Kubernetes/OpenShift API client with CRD support. | 3.6k | 21h | Apache-2.0 | -| [Micronaut](https://micronaut.io) | Compile-time DI framework with instant startup and low memory. | - | - | - | -| [Nacos](https://nacos.io) | Alibaba's service discovery and config management platform. | - | - | - | -| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | OpenAI API client for GPT, DALL-E, and Whisper. | 4.8k | 1y | MIT | -| [Quarkus](https://quarkus.io) | Supersonic Java with native compilation and live reload. | - | - | - | -| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control, circuit breaking, and real-time monitoring. | 23.0k | 8d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveRPC](https://rpc.activej.io) | Zero-allocation RPC with 15M+ requests/sec throughput. | - | - | +| [Armeria](https://github.com/line/armeria) | Async microservice framework with gRPC, Thrift, and REST on Netty. | 5.1k | 1d | +| [consul-api](https://github.com/Ecwid/consul-api) | Consul client for service discovery, health checks, and KV store. | 423 | 2y | +| [Eureka](https://github.com/Netflix/eureka) | Netflix's service registry with self-preservation and replication. | 12.7k | 23d | +| [Helidon](https://helidon.io) | Oracle's microservice framework: SE (functional) or MP (MicroProfile). | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Discord API wrapper with event handling and slash commands. | - | - | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modern TeX implementation for document typesetting. | N/A | N/A | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Fluent Kubernetes/OpenShift API client with CRD support. | 3.6k | 21h | +| [Micronaut](https://micronaut.io) | Compile-time DI framework with instant startup and low memory. | - | - | +| [Nacos](https://nacos.io) | Alibaba's service discovery and config management platform. | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | OpenAI API client for GPT, DALL-E, and Whisper. | 4.8k | 1y | +| [Quarkus](https://quarkus.io) | Supersonic Java with native compilation and live reload. | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control, circuit breaking, and real-time monitoring. | 23.0k | 8d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [CQEngine](https://github.com/npgall/cqengine) | In-memory indexed collections with SQL-like queries in microseconds. | 1.8k | 2y | Apache-2.0 | -| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | 100+ design patterns with Java examples and explanations. | 93.6k | 2mo | - | -| [FF4J](https://github.com/ff4j/ff4j) | Feature flags with web console, audit, and Spring integration. | 1.4k | 20d | Apache-2.0 | -| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | Satirical over-engineered FizzBuzz demonstrating pattern overuse. (No explicit license) | 23.1k | 1y | - | -| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | IP geolocation and WHOIS lookup API client. | 7 | 10d | MIT | -| [ISBN core](https://github.com/ladutsko/isbn-core) | ISBN-10/13 parsing, validation, and formatting. | 3 | 14d | MIT | -| [J2ObjC](https://github.com/google/j2objc) | Google's Java to Objective-C transpiler for iOS code sharing. | 6.0k | 1d | Apache-2.0 | -| [JBake](https://jbake.org) | Static site generator with Freemarker, Groovy, and Markdown. | - | - | - | -| [JBot](https://github.com/rampatra/jbot) | Slack and Facebook Messenger bot framework. (GPL-3.0-only) | 1.2k | 3mo | GPL-3.0 | -| [JCuda](http://jcuda.org) | Java bindings for CUDA GPU computing. | - | - | - | -| [JEmoji](https://github.com/felldo/JEmoji) | Type-safe emoji library with Discord/Slack alias support. | 102 | 4d | Apache-2.0 | -| [Jimfs](https://github.com/google/jimfs) | In-memory file system for testing with full NIO.2 support. | 2.5k | 8d | Apache-2.0 | -| [Joda-Money](https://www.joda.org/joda-money/) | Money and currency handling with BigDecimal precision. | - | - | - | -| [jOOX](https://github.com/jooq/joox) | jQuery-style fluent API for XML DOM manipulation. | 505 | 1y | Apache-2.0 | -| [JPad](http://jpad.io) | Code snippet runner with instant results. | - | - | - | -| [jsweet](https://github.com/cincheo/jsweet) | Java to TypeScript/JavaScript transpiler. | 1.5k | 2y | - | -| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Ensure consistent Maven version without local installation. | 1.6k | 4y | Apache-2.0 | -| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | API gateway with OAuth2, rate limiting, and transformation. | - | - | - | -| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Embeddable FTP server in ~50KB. | 186 | 6mo | Apache-2.0 | -| [LittleProxy](https://github.com/adamfisk/LittleProxy) | Netty-based HTTP proxy with MITM support. | 2.1k | 1y | Apache-2.0 | -| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Comprehensive Java 8 tutorial with streams and lambdas. | 16.8k | 2y | MIT | -| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect legacy API usage (Guava → Java 8, etc.). | 383 | 8d | Apache-2.0 | -| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | GitHub browser extension linking imports to source files. | 5.3k | 2y | MIT | -| [OpenRefine](http://openrefine.org) | Data cleaning and transformation tool with reconciliation. | - | - | - | -| [PipelinR](https://github.com/sizovs/pipelinr) | Mediator pattern for command/query handlers. | 476 | 4mo | MIT | -| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Write POMs in Groovy, Kotlin, Scala, or YAML. | 915 | 1mo | EPL-1.0 | -| [RR4J](https://github.com/Kartikvk1996/RR4J) | Record and replay Java execution for debugging. | 25 | 3y | GPL-3.0 | -| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Fluent email API with SMTP, attachments, and embedding. | 1.3k | 7mo | Apache-2.0 | -| [Smooks](https://github.com/smooks/smooks) | Event-driven data transformation and routing framework. (Apache-2.0 OR LGPL-3.0-or-later) | 415 | 1mo | - | -| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Webhook delivery platform with retries and signature verification. | N/A | N/A | - | -| [Togglz](https://www.togglz.org) | Feature toggles with admin console and Spring Boot starter. | - | - | - | -| [TypeTools](https://github.com/jhalterman/typetools) | Runtime generic type resolution for type-safe APIs. | 628 | 2y | Apache-2.0 | -| [webcam-capture](https://github.com/sarxos/webcam-capture) | Cross-platform webcam access with motion detection. | 2.3k | 2mo | MIT | -| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | XPath-based XML projection onto Java interfaces. | 76 | 5mo | Apache-2.0 | -| [yGuard](https://github.com/yWorks/yGuard) | Bytecode obfuscator with name mangling and shrinking. | 449 | 6mo | MIT | -| [JBang](https://github.com/maxandersen/jbang/) | Run Java as scripts with inline dependency declarations. | N/A | N/A | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CQEngine](https://github.com/npgall/cqengine) | In-memory indexed collections with SQL-like queries in microseconds. | 1.8k | 2y | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | 100+ design patterns with Java examples and explanations. | 93.6k | 2mo | +| [FF4J](https://github.com/ff4j/ff4j) | Feature flags with web console, audit, and Spring integration. | 1.4k | 20d | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | Satirical over-engineered FizzBuzz demonstrating pattern overuse. | 23.1k | 1y | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | IP geolocation and WHOIS lookup API client. | 7 | 10d | +| [ISBN core](https://github.com/ladutsko/isbn-core) | ISBN-10/13 parsing, validation, and formatting. | 3 | 14d | +| [J2ObjC](https://github.com/google/j2objc) | Google's Java to Objective-C transpiler for iOS code sharing. | 6.0k | 1d | +| [JBake](https://jbake.org) | Static site generator with Freemarker, Groovy, and Markdown. | - | - | +| [JBot](https://github.com/rampatra/jbot) | Slack and Facebook Messenger bot framework. | 1.2k | 3mo | +| [JCuda](http://jcuda.org) | Java bindings for CUDA GPU computing. | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | Type-safe emoji library with Discord/Slack alias support. | 102 | 4d | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system for testing with full NIO.2 support. | 2.5k | 8d | +| [Joda-Money](https://www.joda.org/joda-money/) | Money and currency handling with BigDecimal precision. | - | - | +| [jOOX](https://github.com/jooq/joox) | jQuery-style fluent API for XML DOM manipulation. | 505 | 1y | +| [JPad](http://jpad.io) | Code snippet runner with instant results. | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Java to TypeScript/JavaScript transpiler. | 1.5k | 2y | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Ensure consistent Maven version without local installation. | 1.6k | 4y | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | API gateway with OAuth2, rate limiting, and transformation. | - | - | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Embeddable FTP server in ~50KB. | 186 | 6mo | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | Netty-based HTTP proxy with MITM support. | 2.1k | 1y | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Comprehensive Java 8 tutorial with streams and lambdas. | 16.8k | 2y | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect legacy API usage (Guava → Java 8, etc.). | 383 | 8d | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | GitHub browser extension linking imports to source files. | 5.3k | 2y | +| [OpenRefine](http://openrefine.org) | Data cleaning and transformation tool with reconciliation. | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Mediator pattern for command/query handlers. | 476 | 4mo | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Write POMs in Groovy, Kotlin, Scala, or YAML. | 915 | 1mo | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | Record and replay Java execution for debugging. | 25 | 3y | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Fluent email API with SMTP, attachments, and embedding. | 1.3k | 7mo | +| [Smooks](https://github.com/smooks/smooks) | Event-driven data transformation and routing framework. | 415 | 1mo | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Webhook delivery platform with retries and signature verification. | N/A | N/A | +| [Togglz](https://www.togglz.org) | Feature toggles with admin console and Spring Boot starter. | - | - | +| [TypeTools](https://github.com/jhalterman/typetools) | Runtime generic type resolution for type-safe APIs. | 628 | 2y | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Cross-platform webcam access with motion detection. | 2.3k | 2mo | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | XPath-based XML projection onto Java interfaces. | 76 | 5mo | +| [yGuard](https://github.com/yWorks/yGuard) | Bytecode obfuscator with name mangling and shrinking. | 449 | 6mo | +| [JBang](https://github.com/maxandersen/jbang/) | Run Java as scripts with inline dependency declarations. | N/A | N/A | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Codename One](https://www.codenameone.com) | Write once, deploy native iOS/Android/web from Java. (GPL-2.0-only WITH Classpath-exception-2.0) | - | - | - | -| [MobileUI](https://mobileui.dev) | Native mobile UI from Java/Kotlin with platform widgets. | - | - | - | -| [Multi-OS Engine](https://multi-os-engine.org) | Shared Java codebase with native iOS/Android UI bindings. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Codename One](https://www.codenameone.com) | Write once, deploy native iOS/Android/web from Java. | - | - | +| [MobileUI](https://mobileui.dev) | Native mobile UI from Java/Kotlin with platform widgets. | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Shared Java codebase with native iOS/Android UI bindings. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apitally](https://github.com/apitally/apitally-java) | Privacy-focused API analytics with request logging. | 5 | 13h | MIT | -| [Automon](https://github.com/stevensouza/automon) | AOP-based monitoring integration with JAMon/Metrics. | 573 | 1y | Apache-2.0 | -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Application metrics with JMX, Graphite, and Prometheus export. | 7.9k | 13d | Apache-2.0 | -| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Spring Boot Actuator endpoints for Failsafe circuit breakers. | 54 | 3y | MIT | -| [Glowroot](https://glowroot.org) | Lightweight APM with transaction tracing and historical analysis. | - | - | - | -| [HertzBeat](https://github.com/dromara/hertzbeat) | Agentless monitoring for servers, databases, and APIs. | - | - | - | -| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic thread pool tuning with web console. | N/A | N/A | - | -| [inspectIT](https://www.inspectit.rocks) | Bytecode-level APM with OpenTracing and EUM correlation. | - | - | - | -| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Distributed tracing client for Jaeger backend. | 490 | 3y | - | -| [JavaMelody](https://github.com/javamelody/javamelody) | Embedded monitoring with charts, SQL analysis, and profiling. | 3.0k | 11d | Apache-2.0 | -| [jmxtrans](https://github.com/jmxtrans/jmxtrans) | JMX metric collection to Graphite, InfluxDB, or Ganglia. | 1.7k | 3y | MIT | -| [Jolokia](https://jolokia.org) | JMX over HTTP/JSON for remote monitoring. | - | - | - | -| [Micrometer](https://github.com/micrometer-metrics/micrometer) | Metrics facade for Prometheus, Datadog, CloudWatch, etc. | 4.8k | 13h | Apache-2.0 | -| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Tracing facade for Zipkin, Wavefront, and OTLP. | 288 | 21h | Apache-2.0 | -| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Browser REPL for live JVM inspection. | 164 | 5y | MIT | -| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | CNCF standard for traces, metrics, and logs. | 2.3k | 9h | Apache-2.0 | -| [Pinpoint](https://github.com/naver/pinpoint) | Large-scale APM with call tree visualization. | - | - | - | -| [Prometheus](https://github.com/prometheus/client_java) | Official Prometheus client with gauges, counters, and histograms. | 2.3k | 10h | Apache-2.0 | -| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Elasticsearch-integrated APM with Kibana dashboards. | 1.7k | 2y | Apache-2.0 | -| [Sysmon](https://github.com/palantir/Sysmon) | JVM resource monitoring (CPU, memory, GC). | 156 | 9y | Apache-2.0 | -| [zipkin](https://zipkin.io) | Distributed tracing system for latency analysis. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apitally](https://github.com/apitally/apitally-java) | Privacy-focused API analytics with request logging. | 5 | 13h | +| [Automon](https://github.com/stevensouza/automon) | AOP-based monitoring integration with JAMon/Metrics. | 573 | 1y | +| [Datadog](https://github.com/DataDog/dd-trace-java) | APM agent with distributed tracing and profiling. | 684 | 3h | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Application metrics with JMX, Graphite, and Prometheus export. | 7.9k | 13d | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Spring Boot Actuator endpoints for Failsafe circuit breakers. | 54 | 3y | +| [Glowroot](https://glowroot.org) | Lightweight APM with transaction tracing and historical analysis. | - | - | +| [HertzBeat](https://github.com/dromara/hertzbeat) | Agentless monitoring for servers, databases, and APIs. | - | - | +| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic thread pool tuning with web console. | N/A | N/A | +| [inspectIT](https://www.inspectit.rocks) | Bytecode-level APM with OpenTracing and EUM correlation. | - | - | +| [Instrumental](https://instrumentalapp.com) | Real-time metrics with alerting and dashboards. | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Distributed tracing client for Jaeger backend. | 490 | 3y | +| [JavaMelody](https://github.com/javamelody/javamelody) | Embedded monitoring with charts, SQL analysis, and profiling. | 3.0k | 11d | +| [jmxtrans](https://github.com/jmxtrans/jmxtrans) | JMX metric collection to Graphite, InfluxDB, or Ganglia. | 1.7k | 3y | +| [Jolokia](https://jolokia.org) | JMX over HTTP/JSON for remote monitoring. | - | - | +| [Micrometer](https://github.com/micrometer-metrics/micrometer) | Metrics facade for Prometheus, Datadog, CloudWatch, etc. | 4.8k | 13h | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Tracing facade for Zipkin, Wavefront, and OTLP. | 288 | 21h | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Browser REPL for live JVM inspection. | 164 | 5y | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | CNCF standard for traces, metrics, and logs. | 2.3k | 9h | +| [Pinpoint](https://github.com/naver/pinpoint) | Large-scale APM with call tree visualization. | - | - | +| [Prometheus](https://github.com/prometheus/client_java) | Official Prometheus client with gauges, counters, and histograms. | 2.3k | 10h | +| [Sentry](https://github.com/getsentry/sentry-java) | Error tracking with stack traces and performance monitoring. | 1.3k | 1d | +| [SPM](https://github.com/sematext/sematext-agent-java) | Transaction tracing and JVM metrics. | 24 | 2d | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Elasticsearch-integrated APM with Kibana dashboards. | 1.7k | 2y | +| [Sysmon](https://github.com/palantir/Sysmon) | JVM resource monitoring (CPU, memory, GC). | 156 | 9y | +| [zipkin](https://zipkin.io) | Distributed tracing system for latency analysis. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Aparapi](https://github.com/Syncleus/aparapi) | Execute Java on GPUs via automatic OpenCL conversion. | 482 | 3y | Apache-2.0 | -| [JavaCPP](https://github.com/bytedeco/javacpp) | Native C/C++ binding generator with presets for OpenCV, FFmpeg. | 4.7k | 1mo | - | -| [JNA](https://github.com/java-native-access/jna) | Dynamic native access without JNI boilerplate. | 8.9k | 9d | - | -| [JNR](https://github.com/jnr/jnr-ffi) | Faster JNA alternative; foundation for Project Panama. | 1.3k | 2mo | - | -| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Extract and load bundled native libraries from JARs. | 215 | 1y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aparapi](https://github.com/Syncleus/aparapi) | Execute Java on GPUs via automatic OpenCL conversion. | 482 | 3y | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Native C/C++ binding generator with presets for OpenCV, FFmpeg. | 4.7k | 1mo | +| [JNA](https://github.com/java-native-access/jna) | Dynamic native access without JNI boilerplate. | 8.9k | 9d | +| [JNR](https://github.com/jnr/jnr-ffi) | Faster JNA alternative; foundation for Project Panama. | 1.3k | 2mo | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Extract and load bundled native libraries from JARs. | 215 | 1y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | NLP pipeline with coreference, SRL, and relation extraction. (Research and Academic Use License) | 480 | 2y | - | -| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. (GPL-3.0-or-later) | - | - | - | -| [DKPro](https://dkpro.github.io) | UIMA-based NLP components for tokenization, POS, and parsing. | - | - | - | -| [Hypherator](https://github.com/ejossev/hypherator-java) | Text hyphenation with bundled dictionaries for 30+ languages. | 3 | 6mo | MIT | -| [LingPipe](http://alias-i.com/lingpipe/) | Entity extraction, clustering, and classification toolkit. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | NLP pipeline with coreference, SRL, and relation extraction. | 480 | 2y | +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. | - | - | +| [DKPro](https://dkpro.github.io) | UIMA-based NLP components for tokenization, POS, and parsing. | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Text hyphenation with bundled dictionaries for 30+ languages. | 3 | 6mo | +| [LingPipe](http://alias-i.com/lingpipe/) | Entity extraction, clustering, and classification toolkit. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Server-Sent Events (SSE) client implementation. | 20 | 3y | Apache-2.0 | -| [Comsat](https://github.com/puniverse/comsat) | Fiber-aware web APIs (Servlet, JAX-RS) with Quasar. | 595 | 8y | - | -| [Dubbo](https://github.com/apache/dubbo) | Alibaba's RPC framework with service discovery and load balancing. | 41.7k | 1d | Apache-2.0 | -| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework powering GlassFish with HTTP/2. | - | - | - | -| [gRPC-java](https://github.com/grpc/grpc-java) | Google's HTTP/2 RPC with streaming and deadlines. | 11.9k | 21h | Apache-2.0 | -| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Fast TCP/UDP networking with Kryo serialization. | 1.8k | 4y | BSD-3-Clause | -| [MINA](https://mina.apache.org) | Event-driven async network framework from Apache. | - | - | - | -| [Netty](https://netty.io) | Industry-standard async networking with epoll/kqueue support. | - | - | - | -| [Drift](https://github.com/airlift/drift) | Annotation-based Thrift client/server generation. | 248 | 4mo | Apache-2.0 | -| [ServiceTalk](https://github.com/apple/servicetalk) | Apple's reactive networking with HTTP/1.1, HTTP/2, and gRPC. | 1.0k | 10h | Apache-2.0 | -| [sshj](https://github.com/hierynomus/sshj) | SSH2 client for SFTP, SCP, and remote execution. | 2.6k | 8mo | Apache-2.0 | -| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Blocking/non-blocking TLS via simple ByteChannel API. | 207 | 3d | MIT | -| [Undertow](http://undertow.io) | High-performance web server with HTTP/2 and WebSocket. (LGPL-2.1-only) | - | - | - | -| [urnlib](https://github.com/slub/urnlib) | URN parsing and validation per RFC 2141/8141. (GPL-3.0-only) | 34 | 11d | GPL-3.0 | -| [Fluency](https://github.com/komamitsu/fluency) | Async, buffered logger to Fluentd with failover. | 163 | 5d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Server-Sent Events (SSE) client implementation. | 20 | 3y | +| [Comsat](https://github.com/puniverse/comsat) | Fiber-aware web APIs (Servlet, JAX-RS) with Quasar. | 595 | 8y | +| [Dubbo](https://github.com/apache/dubbo) | Alibaba's RPC framework with service discovery and load balancing. | 41.7k | 1d | +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework powering GlassFish with HTTP/2. | - | - | +| [gRPC-java](https://github.com/grpc/grpc-java) | Google's HTTP/2 RPC with streaming and deadlines. | 11.9k | 21h | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Fast TCP/UDP networking with Kryo serialization. | 1.8k | 4y | +| [MINA](https://mina.apache.org) | Event-driven async network framework from Apache. | - | - | +| [Netty](https://netty.io) | Industry-standard async networking with epoll/kqueue support. | - | - | +| [Drift](https://github.com/airlift/drift) | Annotation-based Thrift client/server generation. | 248 | 4mo | +| [ServiceTalk](https://github.com/apple/servicetalk) | Apple's reactive networking with HTTP/1.1, HTTP/2, and gRPC. | 1.0k | 10h | +| [sshj](https://github.com/hierynomus/sshj) | SSH2 client for SFTP, SCP, and remote execution. | 2.6k | 8mo | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Blocking/non-blocking TLS via simple ByteChannel API. | 207 | 3d | +| [Undertow](http://undertow.io) | High-performance web server with HTTP/2 and WebSocket. | - | - | +| [urnlib](https://github.com/slub/urnlib) | URN parsing and validation per RFC 2141/8141. | 34 | 11d | +| [Fluency](https://github.com/komamitsu/fluency) | Async, buffered logger to Fluentd with failover. | 163 | 5d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Cayenne](https://cayenne.apache.org) | Modeler-based ORM with lazy loading and caching. | - | - | - | -| [Doma](https://github.com/domaframework/doma) | Compile-time SQL validation with two-way SQL templates. | 494 | 3d | Apache-2.0 | -| [Ebean](https://ebean.io) | Simple ORM with query beans, JSON, and soft-delete support. | - | - | - | -| [EclipseLink](https://www.eclipse.org/eclipselink/) | JPA reference implementation with MOXy and multi-tenancy. | - | - | - | -| [Hibernate](http://hibernate.org/orm/) | Feature-rich JPA implementation with caching and search. (LGPL-2.1-only) | - | - | - | -| [MyBatis](https://github.com/mybatis/mybatis-3) | SQL mapping framework with XML or annotation config. | 20.3k | 12h | Apache-2.0 | -| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | MyBatis enhancements: CRUD, pagination, code generation. | 17.3k | 3d | Apache-2.0 | -| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord-style ORM with method chaining queries. | 1.3k | 1y | Apache-2.0 | -| [Permazen](https://github.com/permazen/permazen) | Schema-independent persistence with change tracking. | 422 | 3mo | Apache-2.0 | -| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Zero-allocation result set to POJO mapping. | 454 | 3mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Cayenne](https://cayenne.apache.org) | Modeler-based ORM with lazy loading and caching. | - | - | +| [Doma](https://github.com/domaframework/doma) | Compile-time SQL validation with two-way SQL templates. | 494 | 3d | +| [Ebean](https://ebean.io) | Simple ORM with query beans, JSON, and soft-delete support. | - | - | +| [EclipseLink](https://www.eclipse.org/eclipselink/) | JPA reference implementation with MOXy and multi-tenancy. | - | - | +| [Hibernate](http://hibernate.org/orm/) | Feature-rich JPA implementation with caching and search. | - | - | +| [MyBatis](https://github.com/mybatis/mybatis-3) | SQL mapping framework with XML or annotation config. | 20.3k | 12h | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | MyBatis enhancements: CRUD, pagination, code generation. | 17.3k | 3d | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord-style ORM with method chaining queries. | 1.3k | 1y | +| [Permazen](https://github.com/permazen/permazen) | Schema-independent persistence with change tracking. | 422 | 3mo | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Zero-allocation result set to POJO mapping. | 454 | 3mo | + + + +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) | Managed Tomcat/Jetty deployment with auto-scaling. | - | - | +| [AWS Lambda](https://aws.amazon.com/lambda/) | Serverless Java with SnapStart for cold starts. | - | - | +| [Google Cloud](https://cloud.google.com) | App Engine, Cloud Run, and GKE for Java workloads. | - | - | +| [Heroku](https://www.heroku.com) | Git-push deployment with buildpacks and add-ons. | - | - | +| [Microsoft Azure](https://azure.microsoft.com/en-us/) | App Service and Functions with Spring integration. | - | - | +| [OpenShift](https://www.openshift.com) | Enterprise Kubernetes with Java S2I builds. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | High-performance 3D A\* pathfinding with configurable heuristics. | 236 | 1d | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | High-performance 3D A\* pathfinding with configurable heuristics. | 236 | 1d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache FOP](https://xmlgraphics.apache.org/fop/) | XSL-FO to PDF with SVG and image support. | - | - | - | -| [Apache PDFBox](https://pdfbox.apache.org) | Create, modify, extract, and sign PDFs. | - | - | - | -| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Programmatic JasperReports without XML. (LGPL-3.0-only) | - | - | - | -| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Fluent API for JasperReports with charts. (LGPL-3.0-only) | 240 | 24d | LGPL-3.0 | -| [Eclipse BIRT](https://www.eclipse.org/birt) | Visual report designer with PDF, Excel, and HTML output. | - | - | - | -| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XHTML/CSS to PDF renderer. (LGPL-2.1-or-later) | 2.2k | 1d | - | -| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Enterprise reporting with charts, barcodes, and subreports. (LGPL-3.0-only) | - | - | - | -| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | HTML5/CSS3 to PDF/A with accessibility support. | 2.1k | 1y | - | -| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | LGPL iText fork with active maintenance. (LGPL-3.0-only & MPL-2.0) | 4.1k | 2mo | - | -| [Tabula](https://github.com/tabulapdf/tabula-java) | Extract tabular data from PDFs into CSV/JSON. | 2.0k | 9mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | XSL-FO to PDF with SVG and image support. | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Create, modify, extract, and sign PDFs. | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Programmatic JasperReports without XML. | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Fluent API for JasperReports with charts. | 240 | 24d | +| [Eclipse BIRT](https://www.eclipse.org/birt) | Visual report designer with PDF, Excel, and HTML output. | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XHTML/CSS to PDF renderer. | 2.2k | 1d | +| [iText](https://itextpdf.com/en) | Full-featured PDF library with forms and digital signatures. | - | - | +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Enterprise reporting with charts, barcodes, and subreports. | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | HTML5/CSS3 to PDF/A with accessibility support. | 2.1k | 1y | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | LGPL iText fork with active maintenance. | 4.1k | 2mo | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extract tabular data from PDFs into CSV/JSON. | 2.0k | 9mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | AsyncGetCallTrace-based profiler avoiding safepoint bias. | 1.3k | 2y | MIT | -| [jHiccup](https://github.com/giltene/jHiccup) | Measure JVM pauses and OS scheduling hiccups. | 696 | 1y | - | -| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Visualize HotSpot JIT compilations and inlining decisions. | 3.3k | 13d | - | -| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | OpenJDK's microbenchmark harness with warmup and statistics. (GPL-2.0 only WITH Classpath-exception-2.0) | - | - | - | -| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | HDR histogram-based latency recording with pause correction. | 465 | 1y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [fastThread](https://fastthread.io) | Online thread dump analyzer with deadlock detection. | - | - | +| [GCeasy](https://gceasy.io) | GC log analyzer with tuning recommendations. | - | - | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | AsyncGetCallTrace-based profiler avoiding safepoint bias. | 1.3k | 2y | +| [jHiccup](https://github.com/giltene/jHiccup) | Measure JVM pauses and OS scheduling hiccups. | 696 | 1y | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Visualize HotSpot JIT compilations and inlining decisions. | 3.3k | 13d | +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | OpenJDK's microbenchmark harness with warmup and statistics. | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | HDR histogram-based latency recording with pause correction. | 465 | 1y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | - | -| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | - | -| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | - | -| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | - | -| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | - | -| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | - | -| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | - | -| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | - | -| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | - | -| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | - | -| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | - | -| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | - | -| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | - | -| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | - | -| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | - | -| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | - | -| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | - | -| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | - | -| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | - | -| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | - | -| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | - | -| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | - | -| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | - | -| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | - | -| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | - | -| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | - | -| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | - | -| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | - | -| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | - | -| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | - | -| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | - | -| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | - | -| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | - | -| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | - | -| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | - | -| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | - | -| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | - | -| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | - | -| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | - | -| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | - | -| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | - | -| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | - | -| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | - | -| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | - | -| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | - | -| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | - | -| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | - | -| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | - | -| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | - | -| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | - | -| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | - | -| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | - | -| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | - | -| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | - | -| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | - | -| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | - | -| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 1d | Apache-2.0 | -| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 6mo | Apache-2.0 | -| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 1d | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 6mo | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [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. | 4.9k | 1y | MIT-0 | -| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 1mo | Apache-2.0 | -| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 12d | Apache-2.0 | -| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 4.9k | 1y | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 1mo | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 12d | +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Dropwizard](https://github.com/dropwizard/dropwizard) | Production-ready REST with Jetty, Jersey, and Metrics. | 8.6k | 19h | Apache-2.0 | -| [Elide](https://elide.io) | JSON API/GraphQL from JPA models with security. | - | - | - | -| [Jersey](https://jersey.github.io) | JAX-RS reference implementation with DI support. | - | - | - | -| [Microserver](https://github.com/aol/micro-server) | Spring Boot microservices with 30+ plugins. | 934 | 2y | Apache-2.0 | -| [Rapidoid](https://www.rapidoid.org) | Ultra-fast HTTP server with embedded DI. | - | - | - | -| [rest.li](https://github.com/linkedin/rest.li) | LinkedIn's REST framework with typed schemas. | 2.5k | 1d | - | -| [RESTEasy](https://resteasy.github.io) | Red Hat's JAX-RS implementation with async. | - | - | - | -| [RestExpress](https://github.com/RestExpress/RestExpress) | Netty-based REST for high throughput. | 940 | 1y | Apache-2.0 | -| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Unified REST client/server with content negotiation. | 661 | 1mo | - | -| [Spark](http://sparkjava.com) | Minimalist Sinatra-style REST in Java. | - | - | - | -| [Crnk](http://www.crnk.io) | JSON API implementation with filtering and paging. | - | - | - | -| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | OpenAPI 3 docs from Spring Boot annotations. | 3.7k | 8d | Apache-2.0 | -| [Swagger](https://swagger.io) | API design, documentation, and code generation. | - | - | - | -| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Generate clients/servers from OpenAPI specs. | 25.6k | 14h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Production-ready REST with Jetty, Jersey, and Metrics. | 8.6k | 19h | +| [Elide](https://elide.io) | JSON API/GraphQL from JPA models with security. | - | - | +| [Jersey](https://jersey.github.io) | JAX-RS reference implementation with DI support. | - | - | +| [Microserver](https://github.com/aol/micro-server) | Spring Boot microservices with 30+ plugins. | 934 | 2y | +| [Rapidoid](https://www.rapidoid.org) | Ultra-fast HTTP server with embedded DI. | - | - | +| [rest.li](https://github.com/linkedin/rest.li) | LinkedIn's REST framework with typed schemas. | 2.5k | 1d | +| [RESTEasy](https://resteasy.github.io) | Red Hat's JAX-RS implementation with async. | - | - | +| [RestExpress](https://github.com/RestExpress/RestExpress) | Netty-based REST for high throughput. | 940 | 1y | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Unified REST client/server with content negotiation. | 661 | 1mo | +| [Spark](http://sparkjava.com) | Minimalist Sinatra-style REST in Java. | - | - | +| [Crnk](http://www.crnk.io) | JSON API implementation with filtering and paging. | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | OpenAPI 3 docs from Spring Boot annotations. | 3.7k | 8d | +| [Swagger](https://swagger.io) | API design, documentation, and code generation. | - | - | +| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Generate clients/servers from OpenAPI specs. | 25.6k | 14h | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [BioJava](https://biojava.org/) | Bioinformatics library for sequences, structures, and alignments. | - | - | - | -| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Real-time scientific charting at 25Hz with millions of points. | - | - | - | -| [DataMelt](https://datamelt.org/) | Scientific computing environment with Python/Jython. (GPL-3.0-or-later) | - | - | - | -| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Graph theory algorithms for research. | 127 | 2y | MIT | -| [GraphStream](http://graphstream-project.org) | Dynamic graph modeling with visualization. | - | - | - | -| [JFreeChart](http://www.jfree.org/jfreechart/) | Comprehensive 2D charting for Swing/JavaFX. (LGPL-2.1-only) | - | - | - | -| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph algorithms: shortest path, flow, matching. | 2.7k | 15h | EPL-2.0 | -| [JGraphX](https://github.com/jgraph/jgraphx) | Interactive graph visualization (powers draw.io). | 687 | 5y | - | -| [LogicNG](https://github.com/logic-ng/LogicNG) | Boolean formula manipulation and SAT solving. | 149 | 5mo | Apache-2.0 | -| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Geophysics: seismic processing and visualization. | 82 | 4y | Apache-2.0 | -| [Morpheus](https://github.com/zavtech/morpheus-core) | DataFrame library for tabular data analysis. | 242 | 2y | Apache-2.0 | -| [Orekit](https://www.orekit.org/) | Space flight dynamics: orbit propagation and attitude. | - | - | - | -| [Orson-Charts](https://github.com/jfree/orson-charts) | Interactive 3D charts with PDF/SVG export. (GPL-3.0-only) | 120 | 7mo | GPL-3.0 | -| [Tablesaw](https://github.com/jtablesaw/tablesaw) | In-memory DataFrame with filtering and aggregation. | 3.7k | 6mo | Apache-2.0 | -| [XChart](https://github.com/knowm/XChart) | Simple charting with minimal dependencies. | 1.6k | 2mo | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BioJava](https://biojava.org/) | Bioinformatics library for sequences, structures, and alignments. | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Real-time scientific charting at 25Hz with millions of points. | - | - | +| [DataMelt](https://datamelt.org/) | Scientific computing environment with Python/Jython. | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Graph theory algorithms for research. | 127 | 2y | +| [GraphStream](http://graphstream-project.org) | Dynamic graph modeling with visualization. | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | Comprehensive 2D charting for Swing/JavaFX. | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph algorithms: shortest path, flow, matching. | 2.7k | 15h | +| [JGraphX](https://github.com/jgraph/jgraphx) | Interactive graph visualization (powers draw.io). | 687 | 5y | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Boolean formula manipulation and SAT solving. | 149 | 5mo | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Geophysics: seismic processing and visualization. | 82 | 4y | +| [Morpheus](https://github.com/zavtech/morpheus-core) | DataFrame library for tabular data analysis. | 242 | 2y | +| [Orekit](https://www.orekit.org/) | Space flight dynamics: orbit propagation and attitude. | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Interactive 3D charts with PDF/SVG export. | 120 | 7mo | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | In-memory DataFrame with filtering and aggregation. | 3.7k | 6mo | +| [XChart](https://github.com/knowm/XChart) | Simple charting with minimal dependencies. | 1.6k | 2mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Lucene](https://lucene.apache.org) | Foundation of most Java search; fast inverted indexes. | - | - | - | -| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search with faceting and clustering. | - | - | - | -| [Elasticsearch](https://www.elastic.co) | Distributed search and analytics with REST API. | - | - | - | -| [Indexer4j](https://github.com/haeungun/indexer4j) | Lightweight in-memory full-text search. | 56 | 6y | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Lucene](https://lucene.apache.org) | Foundation of most Java search; fast inverted indexes. | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search with faceting and clustering. | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed search and analytics with REST API. | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Lightweight in-memory full-text search. | 56 | 6y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Shiro](https://shiro.apache.org) | Framework-agnostic security with auth, crypto, and sessions. | - | - | - | -| [Ayza](https://github.com/Hakky54/ayza) | Fluent SSL/TLS configuration for HTTP clients and servers. | 565 | 8d | Apache-2.0 | -| [Bouncy Castle](https://www.bouncycastle.org/java.html) | Comprehensive crypto library with FIPS-certified provider. | - | - | - | -| [DependencyCheck](https://github.com/jeremylong/DependencyCheck) | OWASP tool detecting vulnerable dependencies via NVD. | 40 | 3mo | Apache-2.0 | -| [Cryptomator](https://cryptomator.org) | Client-side encryption for cloud storage with WebDAV. (GPL-3.0-only) | - | - | - | -| [Hdiv](https://github.com/hdiv/hdiv) | Runtime protection against OWASP Top 10 attacks. | 219 | 1y | - | -| [jjwt](https://github.com/jwtk/jjwt) | JWT creation and verification with JWS/JWE support. | 11.0k | 2mo | Apache-2.0 | -| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Fluent JWT API with custom claim validation. | 14 | 5mo | MIT | -| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JWKS endpoint client with key caching. | 204 | 1mo | MIT | -| [Kalium](https://github.com/abstractj/kalium) | NaCl/libsodium bindings for modern crypto primitives. | 218 | 2y | Apache-2.0 | -| [Keycloak](https://www.keycloak.org) | Open-source IAM with OIDC, SAML, and social login. | - | - | - | -| [Keywhiz](https://github.com/square/keywhiz) | Square's secret management with ACLs and audit logs. | 2.6k | 2y | Apache-2.0 | -| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Password strength estimator using pattern matching. | 308 | 4mo | MIT | -| [OACC](http://oaccframework.org) | Fine-grained permission-based access control framework. | - | - | - | -| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Enterprise access management with SSO and federation. | 860 | 9d | - | -| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | TOTP/HOTP one-time password generation per RFC specs. | 231 | 1y | MIT | -| [pac4j](https://github.com/pac4j/pac4j) | Multi-protocol security engine for OAuth, SAML, CAS. | 2.5k | 6h | Apache-2.0 | -| [Passay](http://www.passay.org/) | Password policy enforcement with configurable rules. | - | - | - | -| [Password4j](https://github.com/Password4j/password4j) | Password hashing with Argon2, BCrypt, SCrypt, and PBKDF2. | 399 | 4mo | Apache-2.0 | -| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent builders for X.509, keystores, and TLS contexts. | 47 | 4y | Apache-2.0 | -| [Themis](https://github.com/cossacklabs/themis) | High-level crypto for secure messaging and storage. | 1.9k | 19h | Apache-2.0 | -| [Tink](https://github.com/google/tink) | Google's misuse-resistant crypto API with key management. | - | - | - | -| [Topaz](https://www.topaz.sh) | Authorization service with RBAC, ABAC, and relationship-based AC. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Shiro](https://shiro.apache.org) | Framework-agnostic security with auth, crypto, and sessions. | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | Fluent SSL/TLS configuration for HTTP clients and servers. | 565 | 8d | +| [Bouncy Castle](https://www.bouncycastle.org/java.html) | Comprehensive crypto library with FIPS-certified provider. | - | - | +| [DependencyCheck](https://github.com/jeremylong/DependencyCheck) | OWASP tool detecting vulnerable dependencies via NVD. | 40 | 3mo | +| [Cryptomator](https://cryptomator.org) | Client-side encryption for cloud storage with WebDAV. | - | - | +| [Hdiv](https://github.com/hdiv/hdiv) | Runtime protection against OWASP Top 10 attacks. | 219 | 1y | +| [jjwt](https://github.com/jwtk/jjwt) | JWT creation and verification with JWS/JWE support. | 11.0k | 2mo | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Fluent JWT API with custom claim validation. | 14 | 5mo | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JWKS endpoint client with key caching. | 204 | 1mo | +| [Kalium](https://github.com/abstractj/kalium) | NaCl/libsodium bindings for modern crypto primitives. | 218 | 2y | +| [Keycloak](https://www.keycloak.org) | Open-source IAM with OIDC, SAML, and social login. | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | Square's secret management with ACLs and audit logs. | 2.6k | 2y | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Password strength estimator using pattern matching. | 308 | 4mo | +| [OACC](http://oaccframework.org) | Fine-grained permission-based access control framework. | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Enterprise access management with SSO and federation. | 860 | 9d | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | TOTP/HOTP one-time password generation per RFC specs. | 231 | 1y | +| [pac4j](https://github.com/pac4j/pac4j) | Multi-protocol security engine for OAuth, SAML, CAS. | 2.5k | 6h | +| [Passay](http://www.passay.org/) | Password policy enforcement with configurable rules. | - | - | +| [Password4j](https://github.com/Password4j/password4j) | Password hashing with Argon2, BCrypt, SCrypt, and PBKDF2. | 399 | 4mo | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent builders for X.509, keystores, and TLS contexts. | 47 | 4y | +| [Themis](https://github.com/cossacklabs/themis) | High-level crypto for secure messaging and storage. | 1.9k | 19h | +| [Tink](https://github.com/google/tink) | Google's misuse-resistant crypto API with key management. | - | - | +| [Topaz](https://www.topaz.sh) | Authorization service with RBAC, ABAC, and relationship-based AC. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [FlatBuffers](https://github.com/google/flatbuffers) | Zero-copy access to serialized data without parsing. | 25.4k | 19d | Apache-2.0 | -| [FST](https://github.com/RuedigerMoeller/fast-serialization) | 10x faster than JDK serialization with drop-in replacement. | 1.6k | 2y | Apache-2.0 | -| [Fury](https://github.com/alipay/fury) | JIT-accelerated serialization with cross-language support. | - | - | - | -| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast, compact object graph serialization for games and caching. | 6.5k | 19d | BSD-3-Clause | -| [MessagePack](https://github.com/msgpack/msgpack-java) | Compact binary format smaller than JSON. | 1.5k | 4d | Apache-2.0 | -| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serialize Java objects to PHP format for interop. | 19 | 7y | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FlatBuffers](https://github.com/google/flatbuffers) | Zero-copy access to serialized data without parsing. | 25.4k | 19d | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | 10x faster than JDK serialization with drop-in replacement. | 1.6k | 2y | +| [Fury](https://github.com/alipay/fury) | JIT-accelerated serialization with cross-language support. | - | - | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast, compact object graph serialization for games and caching. | 6.5k | 19d | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Compact binary format smaller than JSON. | 1.5k | 4d | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serialize Java objects to PHP format for interop. | 19 | 7y | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Tomcat](https://tomcat.apache.org) | Reference Servlet container with virtual hosts and clustering. | - | - | - | -| [Apache TomEE](https://tomee.apache.org) | Tomcat with Jakarta EE (CDI, JPA, JAX-RS) baked in. | - | - | - | -| [Jetty](https://www.eclipse.org/jetty/) | Lightweight, embeddable server with HTTP/2 and WebSocket. | - | - | - | -| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny embeddable HTTP server in one Java file. | 7.2k | 2y | BSD-3-Clause | -| [WildFly](https://www.wildfly.org) | Full Jakarta EE server with modular architecture. (LGPL-2.1-only) | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Tomcat](https://tomcat.apache.org) | Reference Servlet container with virtual hosts and clustering. | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat with Jakarta EE (CDI, JPA, JAX-RS) baked in. | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Lightweight, embeddable server with HTTP/2 and WebSocket. | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny embeddable HTTP server in one Java file. | 7.2k | 2y | +| [WildFly](https://www.wildfly.org) | Full Jakarta EE server with modular architecture. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Freemarker](https://freemarker.apache.org) | Powerful templating with macros, includes, and auto-escaping. | - | - | - | -| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logic-less Mustache templates with helpers. | - | - | - | -| [Jade4J](https://github.com/neuland/jade4j) | Pug/Jade template engine for concise HTML. | 706 | 3y | MIT | -| [Jamal](https://github.com/verhas/jamal) | Macro processor for Maven/Javadoc with Groovy and JShell. | 65 | 8mo | Apache-2.0 | -| [jstachio](https://github.com/jstachio/jstachio) | Compile-time Mustache with type-safe binding. | 315 | 9mo | BSD-3-Clause | -| [jte](https://github.com/casid/jte) | Fast, compiled templates with IntelliJ plugin support. | 1.1k | 4d | Apache-2.0 | -| [Jtwig](https://github.com/jtwig/jtwig) | Twig-inspired engine with inheritance and macros. | 300 | 7y | - | -| [Pebble](https://pebbletemplates.io) | Twig-like templates with inheritance, i18n, and autoescaping. | - | - | - | -| [Rocker](https://github.com/fizzed/rocker) | Type-safe templates compiling to optimized Java code. | 781 | 2mo | - | -| [StringTemplate](https://github.com/antlr/stringtemplate4) | ANTLR's template engine for code generation. | 1.0k | 8mo | - | -| [Thymeleaf](https://www.thymeleaf.org) | Natural templates that work as HTML prototypes. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Freemarker](https://freemarker.apache.org) | Powerful templating with macros, includes, and auto-escaping. | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logic-less Mustache templates with helpers. | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Pug/Jade template engine for concise HTML. | 706 | 3y | +| [Jamal](https://github.com/verhas/jamal) | Macro processor for Maven/Javadoc with Groovy and JShell. | 65 | 8mo | +| [jstachio](https://github.com/jstachio/jstachio) | Compile-time Mustache with type-safe binding. | 315 | 9mo | +| [jte](https://github.com/casid/jte) | Fast, compiled templates with IntelliJ plugin support. | 1.1k | 4d | +| [Jtwig](https://github.com/jtwig/jtwig) | Twig-inspired engine with inheritance and macros. | 300 | 7y | +| [Pebble](https://pebbletemplates.io) | Twig-like templates with inheritance, i18n, and autoescaping. | - | - | +| [Rocker](https://github.com/fizzed/rocker) | Type-safe templates compiling to optimized Java code. | 781 | 2mo | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | ANTLR's template engine for code generation. | 1.0k | 8mo | +| [Thymeleaf](https://www.thymeleaf.org) | Natural templates that work as HTML prototypes. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | Fluent DSL for polling until async conditions are met. | 4.0k | 10mo | Apache-2.0 | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Test multi-threaded code with assertions from any thread. | 427 | 1y | Apache-2.0 | -| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | Embedded SMTP/POP3/IMAP server for email testing. (GPL-2.0-only) | - | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | HTTP service virtualization with record/playback. | 174 | 21d | Apache-2.0 | -| [Karate](https://github.com/intuit/karate) | BDD API testing with mocks, perf tests, and JSON/XML assertions. | - | - | - | -| [REST Assured](https://github.com/rest-assured/rest-assured) | Fluent API for testing REST services with JSON/XML validation. | 7.1k | 22d | Apache-2.0 | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Unified testing: REST, GraphQL, browser, CLI, and database. | 379 | 10d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | Fluent DSL for polling until async conditions are met. | 4.0k | 10mo | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Test multi-threaded code with assertions from any thread. | 427 | 1y | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | Embedded SMTP/POP3/IMAP server for email testing. | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | HTTP service virtualization with record/playback. | 174 | 21d | +| [Karate](https://github.com/intuit/karate) | BDD API testing with mocks, perf tests, and JSON/XML assertions. | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | Fluent API for testing REST services with JSON/XML validation. | 7.1k | 22d | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Unified testing: REST, GraphQL, browser, CLI, and database. | 379 | 10d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Gherkin specs with step definitions in Java. | 2.8k | 3d | MIT | -| [Cukes-REST](https://github.com/ctco/cukes) | Cucumber steps for REST API testing. | 110 | 7mo | Apache-2.0 | -| [J8Spec](https://github.com/j8spec/j8spec) | Jasmine/RSpec-style specs with lambda syntax. | 48 | 3y | MIT | -| [JBehave](https://jbehave.org) | Story-driven BDD with narrative format. | - | - | - | -| [JGiven](http://jgiven.org) | Fluent BDD with readable HTML reports. | - | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Expressive specs using lambdas and natural language. | 253 | 3y | MIT | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Living documentation with Cucumber/JUnit integration. | 744 | 2d | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Gherkin specs with step definitions in Java. | 2.8k | 3d | +| [Cukes-REST](https://github.com/ctco/cukes) | Cucumber steps for REST API testing. | 110 | 7mo | +| [J8Spec](https://github.com/j8spec/j8spec) | Jasmine/RSpec-style specs with lambda syntax. | 48 | 3y | +| [JBehave](https://jbehave.org) | Story-driven BDD with narrative format. | - | - | +| [JGiven](http://jgiven.org) | Fluent BDD with readable HTML reports. | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Expressive specs using lambdas and natural language. | 253 | 3y | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Living documentation with Cucumber/JUnit integration. | 744 | 2d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | JUnit 5 extension for automatic test parameter generation. | 368 | 3mo | MIT | -| [Beanmother](https://github.com/keepcosmos/beanmother) | YAML-based fixture factory for test objects. | 121 | 3y | Apache-2.0 | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern faker with 200+ data providers and locales. | 1.7k | 30m | Apache-2.0 | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Template-based test object builder. | 446 | 2y | Apache-2.0 | -| [jFairy](https://github.com/Devskiller/jfairy) | Realistic fake data (names, addresses, companies). | - | - | - | -| [Instancio](https://github.com/instancio/instancio) | Generate fully-populated objects with reproducible seeds. | 1.1k | 3h | Apache-2.0 | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | Repeatable randomized tests with seed control. | 180 | 10mo | Apache-2.0 | -| [Java Faker](https://github.com/DiUS/java-faker) | Ruby Faker port with extensive data types. | 4.9k | 1y | - | -| [Mockneat](https://github.com/nomemory/mockneat) | Fluent fake data API with constrained generators. | 536 | 2y | Apache-2.0 | -| [JMock](https://github.com/xcancloud/JMock) | High-performance mock data generation library. | 422 | 2mo | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AutoParams](https://github.com/AutoParams/AutoParams) | JUnit 5 extension for automatic test parameter generation. | 368 | 3mo | +| [Beanmother](https://github.com/keepcosmos/beanmother) | YAML-based fixture factory for test objects. | 121 | 3y | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern faker with 200+ data providers and locales. | 1.7k | 30m | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Template-based test object builder. | 446 | 2y | +| [jFairy](https://github.com/Devskiller/jfairy) | Realistic fake data (names, addresses, companies). | - | - | +| [Instancio](https://github.com/instancio/instancio) | Generate fully-populated objects with reproducible seeds. | 1.1k | 3h | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | Repeatable randomized tests with seed control. | 180 | 10mo | +| [Java Faker](https://github.com/DiUS/java-faker) | Ruby Faker port with extensive data types. | 4.9k | 1y | +| [Mockneat](https://github.com/nomemory/mockneat) | Fluent fake data API with constrained generators. | 536 | 2y | +| [JMock](https://github.com/xcancloud/JMock) | High-performance mock data generation library. | 422 | 2mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache JMeter](http://jmeter.apache.org) | Load testing with GUI and distributed execution. | - | - | - | -| [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) | Programmatic JMeter tests with fluent Java API. | - | - | - | -| [Arquillian](http://arquillian.org) | Integration testing with container lifecycle management. | - | - | - | -| [cdi-test](https://github.com/guhilling/cdi-test) | Lightweight CDI testing without full container. | 27 | 3d | Apache-2.0 | -| [Citrus](https://citrusframework.org) | Integration testing for HTTP, JMS, SOAP, and Kafka. | - | - | - | -| [Gatling](https://gatling.io) | Scala-based load testing with detailed HTML reports. | - | - | - | -| [JUnit](https://junit.org/junit5/) | The standard Java testing framework with extensions. | - | - | - | -| [jqwik](https://jqwik.net) | Property-based testing with shrinking on JUnit 5. | - | - | - | -| [Pact JVM](https://github.com/DiUS/pact-jvm) | Contract testing for microservices compatibility. | - | - | - | -| [PIT](http://pitest.org) | Mutation testing measuring test suite quality. | - | - | - | -| [weld-testing](https://github.com/weld/weld-testing) | CDI test extensions for JUnit 4/5 and Spock. | 112 | 5d | Apache-2.0 | -| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation for web application testing. | 33.9k | 8h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache JMeter](http://jmeter.apache.org) | Load testing with GUI and distributed execution. | - | - | +| [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) | Programmatic JMeter tests with fluent Java API. | - | - | +| [Arquillian](http://arquillian.org) | Integration testing with container lifecycle management. | - | - | +| [cdi-test](https://github.com/guhilling/cdi-test) | Lightweight CDI testing without full container. | 27 | 3d | +| [Citrus](https://citrusframework.org) | Integration testing for HTTP, JMS, SOAP, and Kafka. | - | - | +| [Gatling](https://gatling.io) | Scala-based load testing with detailed HTML reports. | - | - | +| [JUnit](https://junit.org/junit5/) | The standard Java testing framework with extensions. | - | - | +| [jqwik](https://jqwik.net) | Property-based testing with shrinking on JUnit 5. | - | - | +| [Pact JVM](https://github.com/DiUS/pact-jvm) | Contract testing for microservices compatibility. | - | - | +| [PIT](http://pitest.org) | Mutation testing measuring test suite quality. | - | - | +| [weld-testing](https://github.com/weld/weld-testing) | CDI test extensions for JUnit 4/5 and Spock. | 112 | 5d | +| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation for web application testing. | 33.9k | 8h | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions with IDE auto-completion. | - | - | - | -| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Composable matchers for expressive assertions. | - | - | - | -| [JSONAssert](http://jsonassert.skyscreamer.org) | JSON comparison with strict/lenient modes. | - | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | JSON assertions with path ignoring and regex. | 975 | 1d | Apache-2.0 | -| [Truth](https://truth.dev) | Google's extensible assertion framework. | - | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | XML comparison with diff and XPath assertions. | 314 | 2mo | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions with IDE auto-completion. | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Composable matchers for expressive assertions. | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | JSON comparison with strict/lenient modes. | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | JSON assertions with path ignoring and regex. | 975 | 1d | +| [Truth](https://truth.dev) | Google's extensible assertion framework. | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | XML comparison with diff and XPath assertions. | 314 | 2mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Capture stdout/stderr for assertion. | 33 | 18d | Apache-2.0 | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-style parameterized tests for JUnit. | 249 | 3d | Apache-2.0 | -| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extensions: environment variables, temp dirs, etc. | - | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Capture and assert log messages in tests. | 421 | 18d | Apache-2.0 | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | AssertJ-style log assertions with MDC support. | 15 | 1mo | MIT | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Verify class immutability at test time. | 241 | 3mo | Apache-2.0 | -| [pojo-tester](https://www.pojo.pl) | Auto-test equals, hashCode, toString, getters/setters. (LGPL-3.0-only) | - | - | - | -| [raml-tester](https://github.com/nidi3/raml-tester) | Validate API requests/responses against RAML specs. | 73 | 6y | Apache-2.0 | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing with inline or file-based snapshots. | 88 | 14h | Apache-2.0 | -| [Stebz](https://github.com/stebz/stebz) | Step-based test organization framework. | 17 | 3d | MIT | -| [Testcontainers](https://github.com/testcontainers/testcontainers-java) | Disposable Docker containers for DBs, browsers, and services. | 8.6k | 8d | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Capture stdout/stderr for assertion. | 33 | 18d | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-style parameterized tests for JUnit. | 249 | 3d | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extensions: environment variables, temp dirs, etc. | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Capture and assert log messages in tests. | 421 | 18d | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | AssertJ-style log assertions with MDC support. | 15 | 1mo | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Verify class immutability at test time. | 241 | 3mo | +| [pojo-tester](https://www.pojo.pl) | Auto-test equals, hashCode, toString, getters/setters. | - | - | +| [raml-tester](https://github.com/nidi3/raml-tester) | Validate API requests/responses against RAML specs. | 73 | 6y | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing with inline or file-based snapshots. | 88 | 14h | +| [Stebz](https://github.com/stebz/stebz) | Step-based test organization framework. | 17 | 3d | +| [Testcontainers](https://github.com/testcontainers/testcontainers-java) | Disposable Docker containers for DBs, browsers, and services. | 8.6k | 8d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [JMockit](http://jmockit.github.io) | Full mocking with expectations, verifications, and coverage. | - | - | - | -| [Mockito](https://github.com/mockito/mockito) | Clean, readable mocking with spy and argument capture. | 15.4k | 4d | MIT | -| [MockServer](https://www.mock-server.com) | HTTP/HTTPS mock server with expectation matching. | - | - | - | -| [Moco](https://github.com/dreamhead/moco) | Standalone mock server with simple JSON config. | 4.4k | 1y | MIT | -| [PowerMock](https://github.com/powermock/powermock) | Mock statics, constructors, and final classes. | 4.2k | 2y | Apache-2.0 | -| [WireMock](http://wiremock.org) | HTTP service simulator with record/playback and fault injection. | - | - | - | -| [EasyMock](https://github.com/easymock/easymock) | Record/replay mocking with nice/strict modes. | 831 | 4d | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JMockit](http://jmockit.github.io) | Full mocking with expectations, verifications, and coverage. | - | - | +| [Mockito](https://github.com/mockito/mockito) | Clean, readable mocking with spy and argument capture. | 15.4k | 4d | +| [MockServer](https://www.mock-server.com) | HTTP/HTTPS mock server with expectation matching. | - | - | +| [Moco](https://github.com/dreamhead/moco) | Standalone mock server with simple JSON config. | 4.4k | 1y | +| [PowerMock](https://github.com/powermock/powermock) | Mock statics, constructors, and final classes. | 4.2k | 2y | +| [WireMock](http://wiremock.org) | HTTP service simulator with record/playback and fault injection. | - | - | +| [EasyMock](https://github.com/easymock/easymock) | Record/replay mocking with nice/strict modes. | 831 | 4d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Arthas](https://github.com/alibaba/arthas) | Production diagnostics: class decompile, trace, and profiling live. | 37.0k | 26m | Apache-2.0 | -| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Token bucket rate limiter with distributed support. | - | - | - | -| [cactoos](https://github.com/yegor256/cactoos) | Object-oriented primitives avoiding nulls and statics. | 763 | 1d | MIT | -| [Chocotea](https://github.com/cleopatra27/chocotea) | Generate Postman collections from annotated Java code. | 48 | 2y | Apache-2.0 | -| [CRaSH](http://www.crashub.org) | SSH shell into running JVMs for inspection. (LGPL-2.1-or-later) | - | - | - | -| [Dex](https://github.com/PatMartin/Dex) | Data visualization and ETL with JavaFX. | 1.3k | 6y | Apache-2.0 | -| [dregex](https://github.com/marianobarrios/dregex) | DFA-based regex with set operations and linear time. | 48 | 3d | BSD-2-Clause | -| [Embulk](https://github.com/embulk/embulk) | Bulk data loader for DBs, S3, and file formats. | 1.8k | 1mo | Apache-2.0 | -| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Simplified file system watching wrapper. | 31 | 7d | Apache-2.0 | -| [Gephi](https://github.com/gephi/gephi) | Network graph visualization and analysis tool. (GPL-3.0-only) | 6.3k | 13h | GPL-3.0 | -| [Guava](https://github.com/google/guava) | Google's core libraries: collections, caching, I/O, and more. | 51.4k | 11h | Apache-2.0 | -| [JADE](https://jade.tilab.com) | Multi-agent system framework with FIPA compliance. (LGPL-2.0-only) | - | - | - | -| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | GitHub Action for auto-publishing Javadoc. | 55 | 1mo | Apache-2.0 | -| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Unified diff, patch, and merge utilities. | - | - | - | -| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Readable regex builder with fluent API. | 2.6k | 9d | MIT | -| [JGit](https://www.eclipse.org/jgit/) | Pure Java Git implementation used by Eclipse. | - | - | - | -| [JKScope](https://github.com/evpl/jkscope) | Kotlin-style scope functions (let, also, run) for Java. | 21 | 11mo | Apache-2.0 | -| [minio-java](https://github.com/minio/minio-java) | S3-compatible object storage client. | 1.3k | 25d | Apache-2.0 | -| [Protégé](https://protege.stanford.edu) | Ontology editor for OWL and knowledge graphs. | - | - | - | -| [Semver4j](https://github.com/semver4j/semver4j) | Semantic versioning parsing and comparison. | 106 | 1d | MIT | -| [Underscore-java](https://github.com/javadev/underscore-java) | Functional utilities: map, filter, reduce, and more. | 547 | 1mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Arthas](https://github.com/alibaba/arthas) | Production diagnostics: class decompile, trace, and profiling live. | 37.0k | 26m | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Token bucket rate limiter with distributed support. | - | - | +| [cactoos](https://github.com/yegor256/cactoos) | Object-oriented primitives avoiding nulls and statics. | 763 | 1d | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generate Postman collections from annotated Java code. | 48 | 2y | +| [CRaSH](http://www.crashub.org) | SSH shell into running JVMs for inspection. | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Data visualization and ETL with JavaFX. | 1.3k | 6y | +| [dregex](https://github.com/marianobarrios/dregex) | DFA-based regex with set operations and linear time. | 48 | 3d | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader for DBs, S3, and file formats. | 1.8k | 1mo | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Simplified file system watching wrapper. | 31 | 7d | +| [Gephi](https://github.com/gephi/gephi) | Network graph visualization and analysis tool. | 6.3k | 13h | +| [Guava](https://github.com/google/guava) | Google's core libraries: collections, caching, I/O, and more. | 51.4k | 11h | +| [JADE](https://jade.tilab.com) | Multi-agent system framework with FIPA compliance. | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | GitHub Action for auto-publishing Javadoc. | 55 | 1mo | +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Unified diff, patch, and merge utilities. | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Readable regex builder with fluent API. | 2.6k | 9d | +| [JGit](https://www.eclipse.org/jgit/) | Pure Java Git implementation used by Eclipse. | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Kotlin-style scope functions (let, also, run) for Java. | 21 | 11mo | +| [minio-java](https://github.com/minio/minio-java) | S3-compatible object storage client. | 1.3k | 25d | +| [Protégé](https://protege.stanford.edu) | Ontology editor for OWL and knowledge graphs. | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Semantic versioning parsing and comparison. | 106 | 1d | +| [Underscore-java](https://github.com/javadev/underscore-java) | Functional utilities: map, filter, reduce, and more. | 547 | 1mo | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [jabba](https://github.com/shyiko/jabba) | Cross-platform JDK manager with remote install support. | 3.3k | 1y | - | -| [jenv](https://github.com/jenv/jenv) | Project-level Java version switching via shell. | 6.5k | 16d | MIT | -| [SDKMan](https://github.com/sdkman/sdkman-cli) | Manage JDKs and tools (Maven, Gradle) with one CLI. | 6.6k | 2d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [jabba](https://github.com/shyiko/jabba) | Cross-platform JDK manager with remote install support. | 3.3k | 1y | +| [jenv](https://github.com/jenv/jenv) | Project-level Java version switching via shell. | 6.5k | 16d | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Manage JDKs and tools (Maven, Gradle) with one CLI. | 6.6k | 2d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Nutch](https://nutch.apache.org) | Hadoop-based crawler with Solr/Elasticsearch integration. | - | - | - | -| [Crawler4j](https://github.com/yasserg/crawler4j) | Multi-threaded crawler with depth and politeness control. | 4.6k | 4y | Apache-2.0 | -| [jsoup](https://jsoup.org) | HTML parsing with CSS selectors and DOM manipulation. | - | - | - | -| [StormCrawler](http://stormcrawler.net) | Real-time crawler on Apache Storm for scale. | - | - | - | -| [webmagic](https://github.com/code4craft/webmagic) | Modular crawler with XPath/CSS extraction and pipelines. | 11.7k | 20d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Nutch](https://nutch.apache.org) | Hadoop-based crawler with Solr/Elasticsearch integration. | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Multi-threaded crawler with depth and politeness control. | 4.6k | 4y | +| [jsoup](https://jsoup.org) | HTML parsing with CSS selectors and DOM manipulation. | - | - | +| [StormCrawler](http://stormcrawler.net) | Real-time crawler on Apache Storm for scale. | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Modular crawler with XPath/CSS extraction and pipelines. | 11.7k | 20d | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ActiveJ](https://activej.io) | Async-first framework with 1M+ req/sec on single core. | - | - | - | -| [Apache Tapestry](https://tapestry.apache.org) | Component-based framework with live reload. | - | - | - | -| [Apache Wicket](https://wicket.apache.org) | Stateful component model with type-safe Java. | - | - | - | -| [Blade](https://github.com/lets-blade/blade) | Lightweight MVC framework with Netty backend. | 5.9k | 25d | Apache-2.0 | -| [Bootique](https://bootique.io) | Modular app framework with config and metrics. | - | - | - | -| [Firefly](http://www.fireflysource.com) | Async framework with HTTP/2 and WebSocket. | - | - | - | -| [Javalin](https://javalin.io/) | Simple REST API framework on Jetty. | - | - | - | -| [Jooby](http://www.jooby.org) | Modular framework with Netty, Jetty, or Undertow. | - | - | - | -| [Ninja](http://www.ninjaframework.org) | Full-stack with ORM, templates, and testing. | - | - | - | -| [Pippo](http://www.pippo.ro) | Micro-framework with routing, templates, and i18n. | - | - | - | -| [Play](https://www.playframework.com) | Reactive framework with hot reload for Scala/Java. | - | - | - | -| [PrimeFaces](https://www.primefaces.org) | JSF components with 100+ UI widgets. | - | - | - | -| [Ratpack](https://ratpack.io) | Non-blocking HTTP with RxJava and Groovy DSL. | - | - | - | -| [Takes](https://github.com/yegor256/takes) | Truly OOP web framework without annotations. | 868 | 7h | MIT | -| [Vaadin](https://vaadin.com) | Build web UIs in Java with optional React components. | - | - | - | -| [WebForms Core](https://github.com/webforms-core) | Server-side HTML tag management. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveJ](https://activej.io) | Async-first framework with 1M+ req/sec on single core. | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-based framework with live reload. | - | - | +| [Apache Wicket](https://wicket.apache.org) | Stateful component model with type-safe Java. | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight MVC framework with Netty backend. | 5.9k | 25d | +| [Bootique](https://bootique.io) | Modular app framework with config and metrics. | - | - | +| [Firefly](http://www.fireflysource.com) | Async framework with HTTP/2 and WebSocket. | - | - | +| [Javalin](https://javalin.io/) | Simple REST API framework on Jetty. | - | - | +| [Jooby](http://www.jooby.org) | Modular framework with Netty, Jetty, or Undertow. | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack with ORM, templates, and testing. | - | - | +| [Pippo](http://www.pippo.ro) | Micro-framework with routing, templates, and i18n. | - | - | +| [Play](https://www.playframework.com) | Reactive framework with hot reload for Scala/Java. | - | - | +| [PrimeFaces](https://www.primefaces.org) | JSF components with 100+ UI widgets. | - | - | +| [Ratpack](https://ratpack.io) | Non-blocking HTTP with RxJava and Groovy DSL. | - | - | +| [Takes](https://github.com/yegor256/takes) | Truly OOP web framework without annotations. | 868 | 7h | +| [Vaadin](https://vaadin.com) | Build web UIs in Java with optional React components. | - | - | +| [WebForms Core](https://github.com/webforms-core) | Server-side HTML tag management. | - | - | -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cadence](https://cadenceworkflow.io) | Uber's durable execution platform for long-running workflows. | - | - | - | -| [flowable](https://github.com/flowable/flowable-engine) | BPMN 2.0, CMMN, and DMN engine with REST API. | 9.0k | 1d | Apache-2.0 | -| [Temporal](https://temporal.io) | Durable execution with gRPC; Cadence successor with cloud offering. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cadence](https://cadenceworkflow.io) | Uber's durable execution platform for long-running workflows. | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | BPMN 2.0, CMMN, and DMN engine with REST API. | 9.0k | 1d | +| [Temporal](https://temporal.io) | Durable execution with gRPC; Cadence successor with cloud offering. | - | - | diff --git a/README.md b/README.md index c20615cb..cb8bc10e 100644 --- a/README.md +++ b/README.md @@ -107,74 +107,74 @@ A curated list of awesome Java frameworks, libraries and software. _Frameworks and libraries for implementing and verifying design patterns and architecture._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ArchUnit](https://github.com/TNG/ArchUnit) | Unit test architecture rules with a fluent Java API; catches violations at build time. | 3.6k | 3d | Apache-2.0 | -| [jMolecules](https://github.com/xmolecules/jmolecules) | Express DDD, hexagonal, and layered architecture concepts directly in code with type-safe annotations. | 1.5k | 1mo | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ArchUnit](https://github.com/TNG/ArchUnit) | Unit test architecture rules with a fluent Java API; catches violations at build time. | 3.6k | 3d | +| [jMolecules](https://github.com/xmolecules/jmolecules) | Express DDD, hexagonal, and layered architecture concepts directly in code with type-safe annotations. | 1.5k | 1mo | ### Artificial Intelligence _Frameworks for integrating LLMs and AI capabilities._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [LangChain4j](https://github.com/langchain4j/langchain4j) | Unified API for 15+ LLM providers with RAG, function calling, and AI services out of the box. | 10.3k | 18h | Apache-2.0 | -| [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Model Context Protocol implementation enabling standardized AI model interactions with sync/async support. | 3.1k | 1d | MIT | -| [simple-openai](https://github.com/sashirestela/simple-openai) | Lightweight, zero-dependency OpenAI API client with streaming support. | 368 | 3mo | MIT | -| [Spring AI](https://spring.io/projects/spring-ai) | Spring-native AI framework with portable APIs across AI providers and vector stores. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [LangChain4j](https://github.com/langchain4j/langchain4j) | Unified API for 15+ LLM providers with RAG, function calling, and AI services out of the box. | 10.3k | 18h | +| [MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk) | Model Context Protocol implementation enabling standardized AI model interactions with sync/async support. | 3.1k | 1d | +| [simple-openai](https://github.com/sashirestela/simple-openai) | Lightweight, zero-dependency OpenAI API client with streaming support. | 368 | 3mo | +| [Spring AI](https://spring.io/projects/spring-ai) | Spring-native AI framework with portable APIs across AI providers and vector stores. | - | - | ### Bean Mapping _Frameworks that ease bean mapping._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [dOOv](https://github.com/doov-io/doov) | Fluent, typesafe DSL for domain validation and mapping with code generation. | - | - | - | -| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Bytecode-powered mapper achieving near-native performance; supports annotations, API, or XML config. | 242 | 2y | Apache-2.0 | -| [MapStruct](https://github.com/mapstruct/mapstruct) | Compile-time code generator producing type-safe, reflection-free mappers with zero runtime overhead. | 7.6k | 9d | - | -| [ModelMapper](https://github.com/modelmapper/modelmapper) | Convention-based mapper that auto-matches properties, reducing boilerplate. | 2.3k | 2mo | Apache-2.0 | -| [Orika](https://github.com/orika-mapper/orika) | Bytecode-generated mappers with automatic type conversion and deep copying. | 1.3k | 1y | Apache-2.0 | -| [reMap](https://github.com/remondis-it/remap) | Lambda-based mapping with compile-time safety; no annotations required. | 126 | 2mo | Apache-2.0 | -| [Selma](https://github.com/xebia-france/selma) | Annotation processor generating optimized mappers at compile time. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [dOOv](https://github.com/doov-io/doov) | Fluent, typesafe DSL for domain validation and mapping with code generation. | - | - | +| [JMapper](https://github.com/jmapper-framework/jmapper-core) | Bytecode-powered mapper achieving near-native performance; supports annotations, API, or XML config. | 242 | 2y | +| [MapStruct](https://github.com/mapstruct/mapstruct) | Compile-time code generator producing type-safe, reflection-free mappers with zero runtime overhead. | 7.6k | 9d | +| [ModelMapper](https://github.com/modelmapper/modelmapper) | Convention-based mapper that auto-matches properties, reducing boilerplate. | 2.3k | 2mo | +| [Orika](https://github.com/orika-mapper/orika) | Bytecode-generated mappers with automatic type conversion and deep copying. | 1.3k | 1y | +| [reMap](https://github.com/remondis-it/remap) | Lambda-based mapping with compile-time safety; no annotations required. | 126 | 2mo | +| [Selma](https://github.com/xebia-france/selma) | Annotation processor generating optimized mappers at compile time. | - | - | ### Build _Tools that handle the build cycle and dependencies of an application._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Maven](https://maven.apache.org) | Industry-standard declarative build tool with convention-over-configuration and vast plugin ecosystem. | - | - | - | -| [Bazel](https://bazel.build) | Google's build system with aggressive caching, remote execution, and reproducible builds at scale. | - | - | - | -| [Buck2](https://github.com/facebook/buck2) | Meta's fast build system with fine-grained parallelism and remote execution support. | 4.2k | 7h | Apache-2.0 | -| [Gradle](https://gradle.org) | Flexible build automation with incremental builds, build caching, and Kotlin/Groovy DSL. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Maven](https://maven.apache.org) | Industry-standard declarative build tool with convention-over-configuration and vast plugin ecosystem. | - | - | +| [Bazel](https://bazel.build) | Google's build system with aggressive caching, remote execution, and reproducible builds at scale. | - | - | +| [Buck2](https://github.com/facebook/buck2) | Meta's fast build system with fine-grained parallelism and remote execution support. | 4.2k | 7h | +| [Gradle](https://gradle.org) | Flexible build automation with incremental builds, build caching, and Kotlin/Groovy DSL. | - | - | ### Bytecode Manipulation _Libraries to manipulate bytecode programmatically._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ASM](https://asm.ow2.io) | Low-level, high-performance bytecode manipulation; the foundation for most other tools. | - | - | - | -| [Byte Buddy](https://bytebuddy.net) | Fluent API for runtime code generation without needing bytecode knowledge. | - | - | - | -| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | All-in-one reverse engineering suite for JAR and APK files. | 15.4k | 3d | GPL-3.0 | -| [Byteman](https://byteman.jboss.org) | Rule-based runtime bytecode injection for testing and fault injection. | - | - | - | -| [cglib](https://github.com/cglib/cglib) | High-level bytecode generation for proxies and interceptors. | 4.9k | 1y | Apache-2.0 | -| [Javassist](https://github.com/jboss-javassist/javassist) | Edit bytecode using Java source syntax, no low-level knowledge required. | 4.2k | 1y | - | -| [Maker](https://github.com/cojen/maker) | Lightweight, low-level bytecode generation with minimal dependencies. | 65 | 1d | Apache-2.0 | -| [Mixin](https://github.com/SpongePowered/Mixin) | Runtime class transformation using annotated Java code; popular in Minecraft modding. | 1.7k | 1y | MIT | -| [Perses](https://github.com/nicolasmanic/perses) | Chaos engineering via bytecode-level fault injection. | - | - | - | -| [Recaf](https://www.coley.software/Recaf/) | Modern bytecode editor IDE with decompilation, search, and hex editing. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ASM](https://asm.ow2.io) | Low-level, high-performance bytecode manipulation; the foundation for most other tools. | - | - | +| [Byte Buddy](https://bytebuddy.net) | Fluent API for runtime code generation without needing bytecode knowledge. | - | - | +| [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) | All-in-one reverse engineering suite for JAR and APK files. | 15.4k | 3d | +| [Byteman](https://byteman.jboss.org) | Rule-based runtime bytecode injection for testing and fault injection. | - | - | +| [cglib](https://github.com/cglib/cglib) | High-level bytecode generation for proxies and interceptors. | 4.9k | 1y | +| [Javassist](https://github.com/jboss-javassist/javassist) | Edit bytecode using Java source syntax, no low-level knowledge required. | 4.2k | 1y | +| [Maker](https://github.com/cojen/maker) | Lightweight, low-level bytecode generation with minimal dependencies. | 65 | 1d | +| [Mixin](https://github.com/SpongePowered/Mixin) | Runtime class transformation using annotated Java code; popular in Minecraft modding. | 1.7k | 1y | +| [Perses](https://github.com/nicolasmanic/perses) | Chaos engineering via bytecode-level fault injection. | - | - | +| [Recaf](https://www.coley.software/Recaf/) | Modern bytecode editor IDE with decompilation, search, and hex editing. | - | - | ### Caching _Libraries that provide caching facilities._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [cache2k](https://cache2k.org) | In-memory cache with sub-microsecond access times and advanced expiry policies. | - | - | - | -| [Caffeine](https://github.com/ben-manes/caffeine) | Near-optimal hit rates via Window TinyLFU algorithm; Java's fastest cache. | 17.4k | 1d | Apache-2.0 | -| [Ehcache](http://www.ehcache.org) | Mature, JCache-compliant cache with tiered storage (heap/off-heap/disk). | - | - | - | -| [Infinispan](https://infinispan.org) | Distributed, clustered cache with transactions and query support. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [cache2k](https://cache2k.org) | In-memory cache with sub-microsecond access times and advanced expiry policies. | - | - | +| [Caffeine](https://github.com/ben-manes/caffeine) | Near-optimal hit rates via Window TinyLFU algorithm; Java's fastest cache. | 17.4k | 1d | +| [Ehcache](http://www.ehcache.org) | Mature, JCache-compliant cache with tiered storage (heap/off-heap/disk). | - | - | +| [Infinispan](https://infinispan.org) | Distributed, clustered cache with transactions and query support. | - | - | ### CLI @@ -184,856 +184,841 @@ _Libraries for everything related to the CLI._ _Libraries to assist with parsing command line arguments._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Airline](https://rvesse.github.io/airline/) | Git-style CLI parser with annotation-based commands and subcommands. | - | - | - | -| [JCommander](http://jcommander.org) | Annotation-driven parser with custom type converters and validation. | - | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Compile-time CLI parser with zero reflection and zero dependencies. | 89 | 4d | MIT | -| [JLine](https://github.com/jline/jline3) | Rich terminal handling with tab-completion, history, and syntax highlighting. | 1.7k | 4d | - | -| [picocli](https://picocli.info) | Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. | - | - | - | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Airline](https://rvesse.github.io/airline/) | Git-style CLI parser with annotation-based commands and subcommands. | - | - | - | -| [JCommander](http://jcommander.org) | Annotation-driven parser with custom type converters and validation. | - | - | - | -| [jbock](https://github.com/jbock-java/jbock) | Compile-time CLI parser with zero reflection and zero dependencies. | 89 | 4d | MIT | -| [JLine](https://github.com/jline/jline3) | Rich terminal handling with tab-completion, history, and syntax highlighting. | 1.7k | 4d | - | -| [picocli](https://picocli.info) | Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Airline](https://rvesse.github.io/airline/) | Git-style CLI parser with annotation-based commands and subcommands. | - | - | +| [JCommander](http://jcommander.org) | Annotation-driven parser with custom type converters and validation. | - | - | +| [jbock](https://github.com/jbock-java/jbock) | Compile-time CLI parser with zero reflection and zero dependencies. | 89 | 4d | +| [JLine](https://github.com/jline/jline3) | Rich terminal handling with tab-completion, history, and syntax highlighting. | 1.7k | 4d | +| [picocli](https://picocli.info) | Zero-dependency CLI framework with ANSI colors, autocompletion, and GraalVM native support. | - | - | #### Text-Based User Interfaces _Libraries that provide TUI frameworks or building blocks._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | Cross-platform ANSI escape code support for colored console output. | 1.2k | 8mo | Apache-2.0 | -| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. | - | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Simple API for interactive console applications with input validation. | 351 | 2y | Apache-2.0 | -| [Lanterna](https://github.com/mabe02/lanterna) | Curses-like TUI with cross-platform terminal abstraction. | 2.5k | 5mo | LGPL-3.0 | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Jansi](https://github.com/fusesource/jansi) | Cross-platform ANSI escape code support for colored console output. | 1.2k | 8mo | Apache-2.0 | -| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. | - | - | - | -| [Text-IO](https://github.com/beryx/text-io) | Simple API for interactive console applications with input validation. | 351 | 2y | Apache-2.0 | -| [Lanterna](https://github.com/mabe02/lanterna) | Curses-like TUI with cross-platform terminal abstraction. | 2.5k | 5mo | LGPL-3.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Jansi](https://github.com/fusesource/jansi) | Cross-platform ANSI escape code support for colored console output. | 1.2k | 8mo | +| [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) | Full-featured TUI with windows, menus, and sixel graphics; Turbo Vision-style. | - | - | +| [Text-IO](https://github.com/beryx/text-io) | Simple API for interactive console applications with input validation. | 351 | 2y | +| [Lanterna](https://github.com/mabe02/lanterna) | Curses-like TUI with cross-platform terminal abstraction. | 2.5k | 5mo | ### Cloud _Libraries to integrate cloud platform services._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Official SDK covering 200+ AWS services with async support and pagination. | 4.2k | 4d | Apache-2.0 | -| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Idiomatic Java clients for GCP services with automatic retries and streaming. | 2.0k | 8h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AWS SDK for Java](https://github.com/aws/aws-sdk-java) | Official SDK covering 200+ AWS services with async support and pagination. | 4.2k | 4d | +| [Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java) | Idiomatic Java clients for GCP services with automatic retries and streaming. | 2.0k | 8h | ### Code Analysis _Tools that provide metrics and quality measurements._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Checkstyle](https://github.com/checkstyle/checkstyle) | Enforces coding standards with 150+ configurable checks. | 8.8k | now | LGPL-2.1 | -| [Error Prone](https://github.com/google/error-prone) | Google's compiler plugin catching bugs at compile time with auto-fixes. | 7.1k | 1d | Apache-2.0 | -| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | 100+ additional Error Prone checks and Refaster refactoring templates. | 232 | 9h | MIT | -| [Infer](https://github.com/facebook/infer) | Meta's static analyzer detecting null dereferences, resource leaks, and concurrency issues. | 15.5k | 4h | MIT | -| [jQAssistant](https://jqassistant.org) | Query codebase structure with Cypher on a Neo4j graph. | - | - | - | -| [NullAway](https://github.com/uber/NullAway) | Fast null-safety checker with minimal annotation overhead; Uber-proven. | 4.0k | 15h | MIT | -| [PMD](https://github.com/pmd/pmd) | Extensible static analyzer detecting code smells and copy-paste issues. | 5.3k | 3d | - | -| [p3c](https://github.com/alibaba/p3c) | Alibaba's Java coding guidelines as PMD rules and IDE plugins. | 30.8k | 1y | Apache-2.0 | -| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Prioritizes refactoring targets by God Class and coupling metrics. | - | - | - | -| [SonarJava](https://github.com/SonarSource/sonar-java) | 600+ rules for SonarQube with security hotspot detection. | 1.2k | 1d | - | -| [Spoon](https://github.com/INRIA/spoon) | Full Java AST API for analysis, transformation, and code generation. | 1.9k | 5h | - | -| [Spotbugs](https://github.com/spotbugs/spotbugs) | FindBugs successor; bytecode analysis for 400+ bug patterns. | 3.8k | 9h | LGPL-2.1 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Checkstyle](https://github.com/checkstyle/checkstyle) | Enforces coding standards with 150+ configurable checks. | 8.8k | now | +| [Error Prone](https://github.com/google/error-prone) | Google's compiler plugin catching bugs at compile time with auto-fixes. | 7.1k | 1d | +| [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) | 100+ additional Error Prone checks and Refaster refactoring templates. | 232 | 9h | +| [Infer](https://github.com/facebook/infer) | Meta's static analyzer detecting null dereferences, resource leaks, and concurrency issues. | 15.5k | 4h | +| [jQAssistant](https://jqassistant.org) | Query codebase structure with Cypher on a Neo4j graph. | - | - | +| [NullAway](https://github.com/uber/NullAway) | Fast null-safety checker with minimal annotation overhead; Uber-proven. | 4.0k | 15h | +| [PMD](https://github.com/pmd/pmd) | Extensible static analyzer detecting code smells and copy-paste issues. | 5.3k | 3d | +| [p3c](https://github.com/alibaba/p3c) | Alibaba's Java coding guidelines as PMD rules and IDE plugins. | 30.8k | 1y | +| [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) | Prioritizes refactoring targets by God Class and coupling metrics. | - | - | +| [SonarJava](https://github.com/SonarSource/sonar-java) | 600+ rules for SonarQube with security hotspot detection. | 1.2k | 1d | +| [Spoon](https://github.com/INRIA/spoon) | Full Java AST API for analysis, transformation, and code generation. | 1.9k | 5h | +| [Spotbugs](https://github.com/spotbugs/spotbugs) | FindBugs successor; bytecode analysis for 400+ bug patterns. | 3.8k | 9h | ### Code Coverage _Frameworks and tools for collecting code coverage metrics._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Clover](https://www.atlassian.com/software/clover) | Source-level instrumentation with detailed per-test coverage and historical trends. | - | - | - | -| [Cobertura](https://cobertura.github.io/cobertura/) | Bytecode instrumentation with branch coverage and complexity metrics. | - | - | - | -| [JaCoCo](https://www.eclemma.org/jacoco/) | Lightweight agent with line/branch/instruction coverage and IDE/CI integration. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Clover](https://www.atlassian.com/software/clover) | Source-level instrumentation with detailed per-test coverage and historical trends. | - | - | +| [Cobertura](https://cobertura.github.io/cobertura/) | Bytecode instrumentation with branch coverage and complexity metrics. | - | - | +| [JaCoCo](https://www.eclemma.org/jacoco/) | Lightweight agent with line/branch/instruction coverage and IDE/CI integration. | - | - | ### Code Generators _Tools that generate patterns to reduce verbosity and boilerplate._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ADT4J](https://github.com/sviperll/adt4j) | Generates algebraic data types (sealed hierarchies) with pattern matching. | 147 | 7y | BSD-3-Clause | -| [Auto](https://github.com/google/auto) | Google's annotation processors for AutoValue, AutoFactory, and AutoService. | 10.5k | 2d | Apache-2.0 | -| [Avaje Http Server](https://avaje.io/http/) | Compile-time HTTP server generation for Javalin/Helidon; no reflection. | - | - | - | -| [Bootify](https://bootify.io) | Browser-based Spring Boot scaffolding with JPA entities and REST APIs. | - | - | - | -| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor generating DTOs and mappers automatically. | 6 | 7mo | MIT | -| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Generates Builder pattern with validation and partial builds. | 833 | 1y | Apache-2.0 | -| [Geci](https://github.com/verhas/javageci) | Test-time code generator that updates source files in-place. | 135 | 3y | Apache-2.0 | -| [Immutables](https://immutables.github.io) | Generates immutable value objects with builders, JSON support, and interning. | - | - | - | -| [JavaPoet](https://github.com/square/javapoet) | Fluent API for generating `.java` source files programmatically. | 10.9k | 1y | Apache-2.0 | -| [JHipster](https://github.com/jhipster/generator-jhipster) | Full-stack app generator for Spring Boot + Angular/React/Vue. | 22.3k | 1h | Apache-2.0 | -| [Joda-Beans](https://www.joda.org/joda-beans/) | Adds queryable, serializable properties to POJOs via code generation. | - | - | - | -| [JPA Buddy](https://www.jpa-buddy.com) | IntelliJ plugin for visual JPA entity design with Liquibase/Flyway diff generation. | - | - | - | -| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin auto-generating `package-info.java` with nullness annotations. | 1 | 1mo | Apache-2.0 | -| [Lombok](https://projectlombok.org) | Eliminates boilerplate with annotations for getters, builders, and more. | - | - | - | -| [Record-Builder](https://github.com/Randgalt/record-builder) | Generates builders and withers for Java records. | 900 | 1mo | Apache-2.0 | -| [Telosys](https://www.telosys.org/) | Template-driven code generator for any language via CLI or Eclipse. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ADT4J](https://github.com/sviperll/adt4j) | Generates algebraic data types (sealed hierarchies) with pattern matching. | 147 | 7y | +| [Auto](https://github.com/google/auto) | Google's annotation processors for AutoValue, AutoFactory, and AutoService. | 10.5k | 2d | +| [Avaje Http Server](https://avaje.io/http/) | Compile-time HTTP server generation for Javalin/Helidon; no reflection. | - | - | +| [Bootify](https://bootify.io) | Browser-based Spring Boot scaffolding with JPA entities and REST APIs. | - | - | +| [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) | Annotation processor generating DTOs and mappers automatically. | 6 | 7mo | +| [FreeBuilder](https://github.com/inferred/FreeBuilder) | Generates Builder pattern with validation and partial builds. | 833 | 1y | +| [Geci](https://github.com/verhas/javageci) | Test-time code generator that updates source files in-place. | 135 | 3y | +| [Immutables](https://immutables.github.io) | Generates immutable value objects with builders, JSON support, and interning. | - | - | +| [JavaPoet](https://github.com/square/javapoet) | Fluent API for generating `.java` source files programmatically. | 10.9k | 1y | +| [JHipster](https://github.com/jhipster/generator-jhipster) | Full-stack app generator for Spring Boot + Angular/React/Vue. | 22.3k | 1h | +| [Joda-Beans](https://www.joda.org/joda-beans/) | Adds queryable, serializable properties to POJOs via code generation. | - | - | +| [JPA Buddy](https://www.jpa-buddy.com) | IntelliJ plugin for visual JPA entity design with Liquibase/Flyway diff generation. | - | - | +| [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) | Maven plugin auto-generating `package-info.java` with nullness annotations. | 1 | 1mo | +| [Lombok](https://projectlombok.org) | Eliminates boilerplate with annotations for getters, builders, and more. | - | - | +| [Record-Builder](https://github.com/Randgalt/record-builder) | Generates builders and withers for Java records. | 900 | 1mo | +| [Telosys](https://www.telosys.org/) | Template-driven code generator for any language via CLI or Eclipse. | - | - | ### Compiler-compiler _Frameworks for creating parsers, interpreters, or compilers._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ANTLR](https://www.antlr.org) | Powerful LL(\*) parser generator with IDE support and multiple target languages. | - | - | - | -| [JavaCC](https://javacc.github.io/javacc/) | LL(k) parser generator with lookahead, lexical states, and tree building. | - | - | - | -| [JFlex](https://jflex.de) | Fast lexer generator with full Unicode support and JLex compatibility. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ANTLR](https://www.antlr.org) | Powerful LL(\*) parser generator with IDE support and multiple target languages. | - | - | +| [JavaCC](https://javacc.github.io/javacc/) | LL(k) parser generator with lookahead, lexical states, and tree building. | - | - | +| [JFlex](https://jflex.de) | Fast lexer generator with full Unicode support and JLex compatibility. | - | - | ### Computer Vision _Libraries for image and video analysis._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [BoofCV](https://boofcv.org) | Real-time computer vision with 3D reconstruction, fiducial detection, and feature tracking. | - | - | - | -| [ImageJ](https://imagej.net/ImageJ) | Extensible image analysis platform with 500+ plugins for scientific imaging. | - | - | - | -| [JavaCV](https://github.com/bytedeco/javacv) | Java bindings for OpenCV, FFmpeg, TensorFlow, and more via JavaCPP. | 8.3k | 13d | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BoofCV](https://boofcv.org) | Real-time computer vision with 3D reconstruction, fiducial detection, and feature tracking. | - | - | +| [ImageJ](https://imagej.net/ImageJ) | Extensible image analysis platform with 500+ plugins for scientific imaging. | - | - | +| [JavaCV](https://github.com/bytedeco/javacv) | Java bindings for OpenCV, FFmpeg, TensorFlow, and more via JavaCPP. | 8.3k | 13d | ### Configuration _Libraries that provide external configuration._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [avaje config](https://avaje.io/config/) | Lightweight config with YAML/properties, file watching, and dynamic reload. | - | - | - | -| [centraldogma](https://github.com/line/centraldogma) | Git-backed, versioned configuration service with change notifications. | 654 | 2d | Apache-2.0 | -| [config](https://github.com/lightbend/config) | HOCON/JSON/properties with substitutions, includes, and environment overrides. | 6.3k | 4mo | - | -| [Configurate](https://github.com/SpongePowered/Configurate) | Multi-format config (YAML, JSON, HOCON, XML) with type-safe object mapping. | 449 | 21h | Apache-2.0 | -| [Curator Framework](https://curator.apache.org/) | Simplified ZooKeeper client with recipes for locks, leaders, and caches. | - | - | - | -| [dotenv](https://github.com/shyiko/dotenv) | Twelve-factor app config from `.env` files with environment overrides. | 50 | 7y | - | -| [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) | Interface-based config with pluggable sources and automatic type conversion. | 32 | 29d | Apache-2.0 | -| [Gestalt](https://github.com/gestalt-config/gestalt) | Multi-source config merging with type-safe binding and validation. | 94 | 14h | Apache-2.0 | -| [ini4j](http://ini4j.sourceforge.net) | Windows INI file parser with section and multi-value support. | - | - | - | -| [KAConf](https://github.com/mariomac/kaconf) | Annotation-based config injection for Java and Kotlin. | 61 | 3y | Apache-2.0 | -| [microconfig](https://microconfig.io) | Microservice config management with inheritance and environment profiles. | - | - | - | -| [owner](https://github.com/lviggiano/owner) | Type-safe properties via interfaces with automatic conversion. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [avaje config](https://avaje.io/config/) | Lightweight config with YAML/properties, file watching, and dynamic reload. | - | - | +| [centraldogma](https://github.com/line/centraldogma) | Git-backed, versioned configuration service with change notifications. | 654 | 2d | +| [config](https://github.com/lightbend/config) | HOCON/JSON/properties with substitutions, includes, and environment overrides. | 6.3k | 4mo | +| [Configurate](https://github.com/SpongePowered/Configurate) | Multi-format config (YAML, JSON, HOCON, XML) with type-safe object mapping. | 449 | 21h | +| [Curator Framework](https://curator.apache.org/) | Simplified ZooKeeper client with recipes for locks, leaders, and caches. | - | - | +| [dotenv](https://github.com/shyiko/dotenv) | Twelve-factor app config from `.env` files with environment overrides. | 50 | 7y | +| [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) | Interface-based config with pluggable sources and automatic type conversion. | 32 | 29d | +| [Gestalt](https://github.com/gestalt-config/gestalt) | Multi-source config merging with type-safe binding and validation. | 94 | 14h | +| [ini4j](http://ini4j.sourceforge.net) | Windows INI file parser with section and multi-value support. | - | - | +| [KAConf](https://github.com/mariomac/kaconf) | Annotation-based config injection for Java and Kotlin. | 61 | 3y | +| [microconfig](https://microconfig.io) | Microservice config management with inheritance and environment profiles. | - | - | +| [owner](https://github.com/lviggiano/owner) | Type-safe properties via interfaces with automatic conversion. | - | - | ### Constraint Satisfaction Problem Solver _Libraries for optimization and satisfiability problems._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Choco](https://choco-solver.org) | Powerful CP solver with global constraints and search strategies. | - | - | - | -| [JaCoP](https://github.com/radsz/jacop) | Constraint solver with MiniZinc/FlatZinc support for modeling. | 231 | 2y | - | -| [OptaPlanner](https://www.optaplanner.org) | AI constraint solver for planning problems like scheduling and routing. | - | - | - | -| [Timefold](https://timefold.ai/docs) | OptaPlanner fork with Spring/Quarkus integration and production-ready quickstarts. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Choco](https://choco-solver.org) | Powerful CP solver with global constraints and search strategies. | - | - | +| [JaCoP](https://github.com/radsz/jacop) | Constraint solver with MiniZinc/FlatZinc support for modeling. | 231 | 2y | +| [OptaPlanner](https://www.optaplanner.org) | AI constraint solver for planning problems like scheduling and routing. | - | - | +| [Timefold](https://timefold.ai/docs) | OptaPlanner fork with Spring/Quarkus integration and production-ready quickstarts. | - | - | ### CSV _Libraries for reading and writing CSV data._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [FastCSV](https://github.com/osiegmar/FastCSV) | Ultra-fast, zero-dependency, RFC 4180-compliant CSV parser. | 657 | 21d | MIT | -| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | CSV via Jackson's streaming API with schema support. | 194 | 8y | - | -| [opencsv](http://opencsv.sourceforge.net) | Simple parser with bean binding and custom separators. | - | - | - | -| [Super CSV](https://super-csv.github.io/super-csv/) | Cell processors for validation, conversion, and constraint checking. | - | - | - | -| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | Fastest parser with CSV/TSV/fixed-width support and streaming. | 931 | 1y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FastCSV](https://github.com/osiegmar/FastCSV) | Ultra-fast, zero-dependency, RFC 4180-compliant CSV parser. | 657 | 21d | +| [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) | CSV via Jackson's streaming API with schema support. | 194 | 8y | +| [opencsv](http://opencsv.sourceforge.net) | Simple parser with bean binding and custom separators. | - | - | +| [Super CSV](https://super-csv.github.io/super-csv/) | Cell processors for validation, conversion, and constraint checking. | - | - | +| [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) | Fastest parser with CSV/TSV/fixed-width support and streaming. | 931 | 1y | ### Data Structures _Efficient and specialized data structures._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Avro](https://avro.apache.org) | Schema-evolution-friendly serialization with compact binary format. | - | - | - | -| [Apache Orc](https://orc.apache.org) | Columnar storage with predicate pushdown and ACID support for Hive. | - | - | - | -| [Apache Parquet](https://parquet.apache.org) | Columnar format with efficient compression and encoding for analytics. | - | - | - | -| [Apache Thrift](https://thrift.apache.org) | Cross-language RPC framework with compact binary protocol. | - | - | - | -| [Big Queue](https://github.com/bulldog2011/bigqueue) | Memory-mapped persistent queue handling 100M+ items. | 568 | 3y | Apache-2.0 | -| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic set operations in O(log log n) space. | N/A | N/A | - | -| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Immutable collections with efficient structural sharing. | 784 | 5mo | - | -| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's language-neutral, schema-driven binary serialization. | 70.3k | 42m | - | -| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Compressed bitmaps faster than traditional implementations by orders of magnitude. | 3.8k | 25d | Apache-2.0 | -| [SBE](https://github.com/real-logic/simple-binary-encoding) | Zero-copy, zero-allocation messaging for ultra-low latency. | - | - | - | -| [Tape](https://github.com/square/tape) | Crash-safe, file-based FIFO queue for Android and Java. | 2.5k | 2y | Apache-2.0 | -| [Wire](https://github.com/square/wire) | Lightweight Protocol Buffers with Kotlin and Java codegen. | 4.4k | 2d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Avro](https://avro.apache.org) | Schema-evolution-friendly serialization with compact binary format. | - | - | +| [Apache Orc](https://orc.apache.org) | Columnar storage with predicate pushdown and ACID support for Hive. | - | - | +| [Apache Parquet](https://parquet.apache.org) | Columnar format with efficient compression and encoding for analytics. | - | - | +| [Apache Thrift](https://thrift.apache.org) | Cross-language RPC framework with compact binary protocol. | - | - | +| [Big Queue](https://github.com/bulldog2011/bigqueue) | Memory-mapped persistent queue handling 100M+ items. | 568 | 3y | +| [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) | Probabilistic set operations in O(log log n) space. | N/A | N/A | +| [Persistent Collection](https://github.com/hrldcpr/pcollections) | Immutable collections with efficient structural sharing. | 784 | 5mo | +| [Protobuf](https://github.com/protocolbuffers/protobuf) | Google's language-neutral, schema-driven binary serialization. | 70.3k | 42m | +| [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) | Compressed bitmaps faster than traditional implementations by orders of magnitude. | 3.8k | 25d | +| [SBE](https://github.com/real-logic/simple-binary-encoding) | Zero-copy, zero-allocation messaging for ultra-low latency. | - | - | +| [Tape](https://github.com/square/tape) | Crash-safe, file-based FIFO queue for Android and Java. | 2.5k | 2y | +| [Wire](https://github.com/square/wire) | Lightweight Protocol Buffers with Kotlin and Java codegen. | 4.4k | 2d | ### Database _Everything that simplifies database interactions._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Calcite](https://calcite.apache.org) | SQL parser, optimizer, and query federation framework for building databases. | - | - | - | -| [Apache Drill](https://drill.apache.org) | Schema-free SQL for JSON, Parquet, and NoSQL with distributed execution. | - | - | - | -| [Apache Phoenix](https://phoenix.apache.org) | SQL skin over HBase with secondary indexes and transactions. | - | - | - | -| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | Multi-model (document/graph/key-value) database driver with async support. | 205 | 1d | Apache-2.0 | -| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Off-heap, persisted ConcurrentMap with microsecond latency. | 2.9k | 1d | Apache-2.0 | -| [Debezium](https://debezium.io/) | CDC platform streaming database changes to Kafka in real-time. | - | - | - | -| [druid](https://druid.apache.org) | Real-time OLAP database with sub-second queries at scale. | - | - | - | -| [eXist](https://github.com/eXist-db/exist) | Native XML database with XQuery and full-text search. | 457 | 1d | LGPL-2.1 | -| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Connection pool monitoring with auto-scaling and failover. | 1.2k | 1mo | Apache-2.0 | -| [Flyway](https://flywaydb.org) | Version-controlled SQL migrations with rollback support. | - | - | - | -| [H2](https://h2database.com) | Embeddable SQL database with in-memory mode; great for testing. | - | - | - | -| [HikariCP](https://github.com/brettwooldridge/HikariCP) | Fastest JDBC connection pool with minimal overhead. | 20.9k | 2mo | Apache-2.0 | -| [HSQLDB](https://hsqldb.org/) | Pure Java SQL database with in-memory and file-based modes. | - | - | - | -| [JDBI](http://jdbi.org) | Fluent, annotation-free SQL API built on JDBC. | - | - | - | -| [Jedis](https://github.com/xetorthio/jedis) | Battle-tested Redis client with connection pooling and pipelining. | - | - | - | -| [Jest](https://github.com/searchbox-io/Jest) | Elasticsearch REST client with async support and bulk operations. | 2.1k | 2y | Apache-2.0 | -| [jetcd](https://github.com/justinsb/jetcd) | Official etcd v3 client with watch and lease support. | 140 | 2y | Apache-2.0 | -| [Jinq](https://github.com/my2iu/Jinq) | LINQ-style queries via lambda symbolic execution on JPA/jOOQ. | 663 | 7mo | - | -| [jOOQ](https://www.jooq.org) | Typesafe SQL DSL generated from your schema; catches errors at compile time. | - | - | - | -| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Meituan's distributed ID generator with segment and snowflake modes. | 6.7k | 2y | Apache-2.0 | -| [Lettuce](https://lettuce.io/) | Reactive, non-blocking Redis client with cluster and Sentinel support. | - | - | - | -| [Liquibase](http://www.liquibase.org) | Database-agnostic migrations with rollback and diff capabilities. | - | - | - | -| [MapDB](http://www.mapdb.org) | Concurrent maps/sets backed by disk or off-heap memory with transactions. | - | - | - | -| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Embedded MariaDB for integration testing; no install required. | 15 | 7d | Apache-2.0 | -| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with schema introspection and code generation. | 15 | 1mo | Apache-2.0 | -| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | High-performance LDAPv3 directory service with replication. | 422 | 1mo | - | -| [Querydsl](http://www.querydsl.com) | Unified typesafe queries for JPA, SQL, MongoDB, and more. | - | - | - | -| [QueryStream](https://github.com/querystream/querystream) | Stream API for building JPA Criteria queries fluently. | 20 | 8mo | Apache-2.0 | -| [QuestDB](https://github.com/questdb/questdb) | Time-series database with millions of inserts/sec and SQL support. | 16.5k | 8m | Apache-2.0 | -| [Realm](https://github.com/realm/realm-java) | Mobile-first database with live objects and offline-first sync. | 11.5k | 3mo | Apache-2.0 | -| [Redisson](https://github.com/redisson/redisson) | Redis-backed distributed collections, locks, and services. | 24.2k | 5d | Apache-2.0 | -| [requery](https://github.com/requery/requery) | Modern ORM with compile-time query validation and RxJava support. | 3.1k | 3y | Apache-2.0 | -| [Speedment](https://github.com/speedment/speedment) | Stream-based database queries generated from schema. | 2.1k | 2y | Apache-2.0 | -| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | MongoDB-style queries for relational databases via Spring Data. | 101 | 21d | Apache-2.0 | -| [Trino](https://trino.io) | Federated SQL engine querying data lakes and databases at petabyte scale. | - | - | - | -| [Vibur DBCP](https://www.vibur.org) | JDBC pool with statement caching and slow query logging. | - | - | - | -| [Xodus](https://github.com/JetBrains/xodus) | JetBrains' embedded transactional database; powers YouTrack. | 1.3k | 1mo | Apache-2.0 | -| [CosId](https://github.com/Ahoo-Wang/CosId) | High-performance distributed ID generator with multiple algorithms. | 599 | 7h | Apache-2.0 | -| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Database middleware for sharding, encryption, and distributed transactions. | 20.6k | 1h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Calcite](https://calcite.apache.org) | SQL parser, optimizer, and query federation framework for building databases. | - | - | +| [Apache Drill](https://drill.apache.org) | Schema-free SQL for JSON, Parquet, and NoSQL with distributed execution. | - | - | +| [Apache Phoenix](https://phoenix.apache.org) | SQL skin over HBase with secondary indexes and transactions. | - | - | +| [ArangoDB](https://github.com/arangodb/arangodb-java-driver) | Multi-model (document/graph/key-value) database driver with async support. | 205 | 1d | +| [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) | Off-heap, persisted ConcurrentMap with microsecond latency. | 2.9k | 1d | +| [Debezium](https://debezium.io/) | CDC platform streaming database changes to Kafka in real-time. | - | - | +| [druid](https://druid.apache.org) | Real-time OLAP database with sub-second queries at scale. | - | - | +| [eXist](https://github.com/eXist-db/exist) | Native XML database with XQuery and full-text search. | 457 | 1d | +| [FlexyPool](https://github.com/vladmihalcea/flexy-pool) | Connection pool monitoring with auto-scaling and failover. | 1.2k | 1mo | +| [Flyway](https://flywaydb.org) | Version-controlled SQL migrations with rollback support. | - | - | +| [H2](https://h2database.com) | Embeddable SQL database with in-memory mode; great for testing. | - | - | +| [HikariCP](https://github.com/brettwooldridge/HikariCP) | Fastest JDBC connection pool with minimal overhead. | 20.9k | 2mo | +| [HSQLDB](https://hsqldb.org/) | Pure Java SQL database with in-memory and file-based modes. | - | - | +| [JDBI](http://jdbi.org) | Fluent, annotation-free SQL API built on JDBC. | - | - | +| [Jedis](https://github.com/xetorthio/jedis) | Battle-tested Redis client with connection pooling and pipelining. | - | - | +| [Jest](https://github.com/searchbox-io/Jest) | Elasticsearch REST client with async support and bulk operations. | 2.1k | 2y | +| [jetcd](https://github.com/justinsb/jetcd) | Official etcd v3 client with watch and lease support. | 140 | 2y | +| [Jinq](https://github.com/my2iu/Jinq) | LINQ-style queries via lambda symbolic execution on JPA/jOOQ. | 663 | 7mo | +| [jOOQ](https://www.jooq.org) | Typesafe SQL DSL generated from your schema; catches errors at compile time. | - | - | +| [Leaf](https://github.com/Meituan-Dianping/Leaf) | Meituan's distributed ID generator with segment and snowflake modes. | 6.7k | 2y | +| [Lettuce](https://lettuce.io/) | Reactive, non-blocking Redis client with cluster and Sentinel support. | - | - | +| [Liquibase](http://www.liquibase.org) | Database-agnostic migrations with rollback and diff capabilities. | - | - | +| [MapDB](http://www.mapdb.org) | Concurrent maps/sets backed by disk or off-heap memory with transactions. | - | - | +| [MariaDB4j](https://github.com/vorburger/MariaDB4j) | Embedded MariaDB for integration testing; no install required. | 15 | 7d | +| [Modality](https://github.com/arkanovicz/modality) | Lightweight ORM with schema introspection and code generation. | 15 | 1mo | +| [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) | High-performance LDAPv3 directory service with replication. | 422 | 1mo | +| [Querydsl](http://www.querydsl.com) | Unified typesafe queries for JPA, SQL, MongoDB, and more. | - | - | +| [QueryStream](https://github.com/querystream/querystream) | Stream API for building JPA Criteria queries fluently. | 20 | 8mo | +| [QuestDB](https://github.com/questdb/questdb) | Time-series database with millions of inserts/sec and SQL support. | 16.5k | 8m | +| [Realm](https://github.com/realm/realm-java) | Mobile-first database with live objects and offline-first sync. | 11.5k | 3mo | +| [Redisson](https://github.com/redisson/redisson) | Redis-backed distributed collections, locks, and services. | 24.2k | 5d | +| [requery](https://github.com/requery/requery) | Modern ORM with compile-time query validation and RxJava support. | 3.1k | 3y | +| [Speedment](https://github.com/speedment/speedment) | Stream-based database queries generated from schema. | 2.1k | 2y | +| [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) | MongoDB-style queries for relational databases via Spring Data. | 101 | 21d | +| [Trino](https://trino.io) | Federated SQL engine querying data lakes and databases at petabyte scale. | - | - | +| [Vibur DBCP](https://www.vibur.org) | JDBC pool with statement caching and slow query logging. | - | - | +| [Xodus](https://github.com/JetBrains/xodus) | JetBrains' embedded transactional database; powers YouTrack. | 1.3k | 1mo | +| [CosId](https://github.com/Ahoo-Wang/CosId) | High-performance distributed ID generator with multiple algorithms. | 599 | 7h | +| [Apache ShardingSphere](https://github.com/apache/shardingsphere) | Database middleware for sharding, encryption, and distributed transactions. | 20.6k | 1h | ### Date and Time _Libraries for handling date and time._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [iCal4j](https://github.com/ical4j/ical4j) | RFC 5545 iCalendar parser with recurrence rule support. | 821 | 11d | BSD-3-Clause | -| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Holiday calculations for 70+ countries with regional variations. | 192 | 1y | - | -| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Extra date/time types: Interval, YearQuarter, and more for java.time. | 420 | 4mo | BSD-3-Clause | -| [Time4J](https://github.com/MenoData/Time4J) | Comprehensive date/time with calendars, i18n, and formatting. | 470 | 1y | LGPL-2.1 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [iCal4j](https://github.com/ical4j/ical4j) | RFC 5545 iCalendar parser with recurrence rule support. | 821 | 11d | +| [Jollyday](https://github.com/svendiedrichsen/jollyday) | Holiday calculations for 70+ countries with regional variations. | 192 | 1y | +| [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) | Extra date/time types: Interval, YearQuarter, and more for java.time. | 420 | 4mo | +| [Time4J](https://github.com/MenoData/Time4J) | Comprehensive date/time with calendars, i18n, and formatting. | 470 | 1y | ### Decentralization _Libraries for blockchain and decentralized applications._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [java-tron](https://github.com/tronprotocol/java-tron) | Full node implementation of the TRON blockchain protocol. | 4.0k | 11d | LGPL-3.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [java-tron](https://github.com/tronprotocol/java-tron) | Full node implementation of the TRON blockchain protocol. | 4.0k | 11d | ### Dependency Injection _Libraries for Inversion of Control and dependency injection._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache DeltaSpike](https://deltaspike.apache.org) | Portable CDI extensions for configuration, security, and data. | - | - | - | -| [Avaje Inject](https://avaje.io/inject/) | Compile-time DI with no reflection; optimized for microservices. | - | - | - | -| [Dagger](https://dagger.dev/) | Google's compile-time DI with zero reflection overhead. | - | - | - | -| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight JSR-330 DI in ~16KB. | 362 | 7y | - | -| [Governator](https://github.com/Netflix/governator) | Netflix's Guice extensions with lifecycle management and warmup. | 826 | 24d | Apache-2.0 | -| [Guice](https://github.com/google/guice) | Google's lightweight DI with runtime binding and AOP support. | 12.7k | 1mo | Apache-2.0 | -| [HK2](https://eclipse-ee4j.github.io/glassfish-hk2/) | JSR-330 DI with dynamic service discovery; powers Jersey/GlassFish. | - | - | - | -| [JayWire](https://github.com/vanillasource/jaywire) | Minimal DI with no annotations required. | 60 | 2y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache DeltaSpike](https://deltaspike.apache.org) | Portable CDI extensions for configuration, security, and data. | - | - | +| [Avaje Inject](https://avaje.io/inject/) | Compile-time DI with no reflection; optimized for microservices. | - | - | +| [Dagger](https://dagger.dev/) | Google's compile-time DI with zero reflection overhead. | - | - | +| [Feather](https://github.com/zsoltherpai/feather) | Ultra-lightweight JSR-330 DI in ~16KB. | 362 | 7y | +| [Governator](https://github.com/Netflix/governator) | Netflix's Guice extensions with lifecycle management and warmup. | 826 | 24d | +| [Guice](https://github.com/google/guice) | Google's lightweight DI with runtime binding and AOP support. | 12.7k | 1mo | +| [HK2](https://eclipse-ee4j.github.io/glassfish-hk2/) | JSR-330 DI with dynamic service discovery; powers Jersey/GlassFish. | - | - | +| [JayWire](https://github.com/vanillasource/jaywire) | Minimal DI with no annotations required. | 60 | 2y | ### Development _Tools that augment the development process._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AspectJ](https://www.eclipse.org/aspectj/) | Full-featured AOP with compile-time and load-time weaving. | - | - | - | -| [DCEVM](https://dcevm.github.io) | HotSwap on steroids: redefine classes, add methods/fields at runtime. | - | - | - | -| [Faux Pas](https://github.com/zalando/faux-pas) | Checked exception handling in lambdas and streams elegantly. | 140 | 6mo | MIT | -| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Hot reload classes, Spring beans, and resources without restart. | 2.5k | 22d | GPL-2.0 | -| [JavaParser](https://github.com/javaparser/javaparser) | Parse, analyze, transform, and generate Java source code. | 6.0k | 16h | - | -| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Resolve symbols and types in JavaParser ASTs. | 296 | 7y | Apache-2.0 | -| [Manifold](https://github.com/manifold-systems/manifold) | Compiler plugins for JSON types, extension methods, and string templates. | 2.7k | 9d | Apache-2.0 | -| [NoException](https://noexception.machinezoo.com) | Functional exception handling with sneaky throws and Optional conversion. | - | - | - | -| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Throw checked exceptions from lambdas without wrapping. | 79 | 6y | MIT | -| [Tail](https://nrktkt.github.io/tail/) | Tail call optimization via trampolining for stack-safe recursion. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AspectJ](https://www.eclipse.org/aspectj/) | Full-featured AOP with compile-time and load-time weaving. | - | - | +| [DCEVM](https://dcevm.github.io) | HotSwap on steroids: redefine classes, add methods/fields at runtime. | - | - | +| [Faux Pas](https://github.com/zalando/faux-pas) | Checked exception handling in lambdas and streams elegantly. | 140 | 6mo | +| [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) | Hot reload classes, Spring beans, and resources without restart. | 2.5k | 22d | +| [JavaParser](https://github.com/javaparser/javaparser) | Parse, analyze, transform, and generate Java source code. | 6.0k | 16h | +| [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) | Resolve symbols and types in JavaParser ASTs. | 296 | 7y | +| [Manifold](https://github.com/manifold-systems/manifold) | Compiler plugins for JSON types, extension methods, and string templates. | 2.7k | 9d | +| [NoException](https://noexception.machinezoo.com) | Functional exception handling with sneaky throws and Optional conversion. | - | - | +| [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) | Throw checked exceptions from lambdas without wrapping. | 79 | 6y | +| [Tail](https://nrktkt.github.io/tail/) | Tail call optimization via trampolining for stack-safe recursion. | - | - | ### Distributed Applications _Libraries and frameworks for distributed and fault-tolerant systems._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Geode](https://geode.apache.org) | In-memory data grid with continuous queries and WAN replication. | - | - | - | -| [Apache Storm](https://storm.apache.org) | Real-time stream processing with guaranteed processing and fault tolerance. | - | - | - | -| [Apache ZooKeeper](https://zookeeper.apache.org) | Distributed coordination for config, locks, and leader election. | - | - | - | -| [Atomix](https://atomix.io) | Raft-based distributed primitives: maps, locks, leader election. | - | - | - | -| [Axon](https://axoniq.io) | CQRS/Event Sourcing framework with saga and event store support. | - | - | - | -| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Annotation-based circuit breakers for Dropwizard. | 45 | 6mo | GPL-2.0 | -| [Failsafe](https://github.com/jhalterman/failsafe) | Lightweight fault tolerance with retries, circuit breakers, and fallbacks. | - | - | - | -| [Hazelcast](https://github.com/hazelcast/hazelcast) | In-memory data grid with distributed maps, queues, and compute. | 6.6k | 2d | - | -| [JGroups](http://www.jgroups.org) | Reliable multicast and cluster membership toolkit. | - | - | - | -| [Quasar](http://docs.paralleluniverse.co/quasar/) | Fibers (lightweight threads) and actors for the JVM. | - | - | - | -| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance: circuit breakers, rate limiters, bulkheads. | 10.5k | 8d | Apache-2.0 | -| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | Identity gateway with SSO, credential replay, and request filtering. | 86 | 25d | - | -| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Reactive microservices with SWIM gossip and service discovery. | 636 | 2d | Apache-2.0 | -| [Zuul](https://github.com/Netflix/zuul) | Netflix's edge gateway for routing, filtering, and load balancing. | 14.0k | 19h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Geode](https://geode.apache.org) | In-memory data grid with continuous queries and WAN replication. | - | - | +| [Apache Storm](https://storm.apache.org) | Real-time stream processing with guaranteed processing and fault tolerance. | - | - | +| [Apache ZooKeeper](https://zookeeper.apache.org) | Distributed coordination for config, locks, and leader election. | - | - | +| [Atomix](https://atomix.io) | Raft-based distributed primitives: maps, locks, leader election. | - | - | +| [Axon](https://axoniq.io) | CQRS/Event Sourcing framework with saga and event store support. | - | - | +| [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) | Annotation-based circuit breakers for Dropwizard. | 45 | 6mo | +| [Failsafe](https://github.com/jhalterman/failsafe) | Lightweight fault tolerance with retries, circuit breakers, and fallbacks. | - | - | +| [Hazelcast](https://github.com/hazelcast/hazelcast) | In-memory data grid with distributed maps, queues, and compute. | 6.6k | 2d | +| [JGroups](http://www.jgroups.org) | Reliable multicast and cluster membership toolkit. | - | - | +| [Quasar](http://docs.paralleluniverse.co/quasar/) | Fibers (lightweight threads) and actors for the JVM. | - | - | +| [resilience4j](https://github.com/resilience4j/resilience4j) | Functional fault tolerance: circuit breakers, rate limiters, bulkheads. | 10.5k | 8d | +| [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) | Identity gateway with SSO, credential replay, and request filtering. | 86 | 25d | +| [ScaleCube Services](https://github.com/scalecube/scalecube-services) | Reactive microservices with SWIM gossip and service discovery. | 636 | 2d | +| [Zuul](https://github.com/Netflix/zuul) | Netflix's edge gateway for routing, filtering, and load balancing. | 14.0k | 19h | ### Distributed Transactions _Ensuring data consistency across distributed systems._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Atomikos](https://www.atomikos.com) | JTA/XA transaction manager for microservices and REST. | - | - | - | -| [Bitronix](https://github.com/bitronix/btm) | Embeddable JTA 1.1 transaction manager with connection pooling. | - | - | - | -| [Narayana](https://narayana.io) | Red Hat's JTA/JTS transaction manager with saga support. | - | - | - | -| [Seata](https://github.com/seata/seata) | Alibaba's distributed transaction solution with AT/TCC/SAGA modes. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Atomikos](https://www.atomikos.com) | JTA/XA transaction manager for microservices and REST. | - | - | +| [Bitronix](https://github.com/bitronix/btm) | Embeddable JTA 1.1 transaction manager with connection pooling. | - | - | +| [Narayana](https://narayana.io) | Red Hat's JTA/JTS transaction manager with saga support. | - | - | +| [Seata](https://github.com/seata/seata) | Alibaba's distributed transaction solution with AT/TCC/SAGA modes. | - | - | ### Distribution _Tools for distributing applications in native formats._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Artipie](https://github.com/artipie/artipie) | Self-hosted artifact repository supporting Maven, Docker, npm on S3/filesystem. | 649 | 3mo | MIT | -| [Boxfuse](https://boxfuse.com) | Immutable AWS deployments with minimal VM images. | - | - | - | -| [Capsule](https://github.com/puniverse/capsule) | Single-file deployment with embedded JVM and dependency resolution. | 1.2k | 3y | EPL-1.0 | -| [Central Repository](https://search.maven.org) | Maven Central: the default artifact repository for the Java ecosystem. | - | - | - | -| [Cloudsmith](https://cloudsmith.io) | Cloud artifact hosting with Maven/Gradle support and free tier. | - | - | - | -| [Getdown](https://github.com/threerings/getdown) | Java Web Start replacement with auto-updates and delta patching. | 525 | 1y | - | -| [IzPack](http://izpack.org) | Cross-platform installer builder with XML configuration. | - | - | - | -| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven/Gradle plugin creating native executables and installers. | - | - | - | -| [jDeploy](https://www.jdeploy.com) | Deploy Java desktop apps via npm with native bundles. | - | - | - | -| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | HTTP API for custom JRE generation via jlink. | 50 | 1y | Apache-2.0 | -| [Nexus](https://www.sonatype.com) | Repository manager with proxying, caching, and security scanning. | - | - | - | -| [packr](https://github.com/libgdx/packr) | Bundle JRE with your app for native Windows/Mac/Linux distribution. | 2.6k | 1y | Apache-2.0 | -| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Creates JARs executable via `./app.jar` on Unix. | 133 | 2y | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Artipie](https://github.com/artipie/artipie) | Self-hosted artifact repository supporting Maven, Docker, npm on S3/filesystem. | 649 | 3mo | +| [Boxfuse](https://boxfuse.com) | Immutable AWS deployments with minimal VM images. | - | - | +| [Capsule](https://github.com/puniverse/capsule) | Single-file deployment with embedded JVM and dependency resolution. | 1.2k | 3y | +| [Central Repository](https://search.maven.org) | Maven Central: the default artifact repository for the Java ecosystem. | - | - | +| [Cloudsmith](https://cloudsmith.io) | Cloud artifact hosting with Maven/Gradle support and free tier. | - | - | +| [Getdown](https://github.com/threerings/getdown) | Java Web Start replacement with auto-updates and delta patching. | 525 | 1y | +| [IzPack](http://izpack.org) | Cross-platform installer builder with XML configuration. | - | - | +| [JavaPackager](https://github.com/fvarrui/JavaPackager) | Maven/Gradle plugin creating native executables and installers. | - | - | +| [jDeploy](https://www.jdeploy.com) | Deploy Java desktop apps via npm with native bundles. | - | - | +| [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) | HTTP API for custom JRE generation via jlink. | 50 | 1y | +| [Nexus](https://www.sonatype.com) | Repository manager with proxying, caching, and security scanning. | - | - | +| [packr](https://github.com/libgdx/packr) | Bundle JRE with your app for native Windows/Mac/Linux distribution. | 2.6k | 1y | +| [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) | Creates JARs executable via `./app.jar` on Unix. | 133 | 2y | ### Document Processing _Libraries for processing office document formats._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache POI](https://poi.apache.org) | Full Office document support: Excel, Word, PowerPoint (OLE2 & OOXML). | - | - | - | -| [documents4j](https://documents4j.com/#/) | Document conversion API using MS Office or LibreOffice backends. | - | - | - | -| [docx4j](https://www.docx4java.org/trac/docx4j) | JAXB-based DOCX/PPTX/XLSX manipulation with mail merge. | - | - | - | -| [fastexcel](https://github.com/dhatim/fastexcel) | Streaming Excel read/write handling millions of rows with low memory. | 855 | 4d | - | -| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-driven Excel to POJO mapping with minimal overhead. | 81 | 1y | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache POI](https://poi.apache.org) | Full Office document support: Excel, Word, PowerPoint (OLE2 & OOXML). | - | - | +| [documents4j](https://documents4j.com/#/) | Document conversion API using MS Office or LibreOffice backends. | - | - | +| [docx4j](https://www.docx4java.org/trac/docx4j) | JAXB-based DOCX/PPTX/XLSX manipulation with mail merge. | - | - | +| [fastexcel](https://github.com/dhatim/fastexcel) | Streaming Excel read/write handling millions of rows with low memory. | 855 | 4d | +| [zerocell](https://github.com/creditdatamw/zerocell) | Annotation-driven Excel to POJO mapping with minimal overhead. | 81 | 1y | ### Financial _Libraries for the financial domain._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework with exchange integration and backtesting. | 650 | 10mo | GPL-3.0 | -| [Parity](https://github.com/paritytrading/parity) | Open-source stock exchange with matching engine and market data. | 501 | 3y | Apache-2.0 | -| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency FIX protocol implementation. | 339 | 14d | Apache-2.0 | -| [Square](https://github.com/square/connect-java-sdk) | Official Square payments API client. | 40 | 4y | Apache-2.0 | -| [Stripe](https://github.com/stripe/stripe-java) | Official Stripe API client for payments and subscriptions. | 944 | 2d | MIT | -| [ta4j](https://github.com/ta4j/ta4j) | Technical analysis library with 130+ indicators and backtesting. | 2.3k | 2d | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) | Trading bot framework with exchange integration and backtesting. | 650 | 10mo | +| [Parity](https://github.com/paritytrading/parity) | Open-source stock exchange with matching engine and market data. | 501 | 3y | +| [Philadelphia](https://github.com/paritytrading/philadelphia) | Low-latency FIX protocol implementation. | 339 | 14d | +| [Square](https://github.com/square/connect-java-sdk) | Official Square payments API client. | 40 | 4y | +| [Stripe](https://github.com/stripe/stripe-java) | Official Stripe API client for payments and subscriptions. | 944 | 2d | +| [ta4j](https://github.com/ta4j/ta4j) | Technical analysis library with 130+ indicators and backtesting. | 2.3k | 2d | ### Formal Verification _Proof assistants, model checking, and symbolic execution tools._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [CATG](https://github.com/ksen007/janala2) | Concolic testing: auto-generates tests via symbolic execution. | N/A | N/A | - | -| [Checker Framework](https://checkerframework.org) | Pluggable type systems for nullness, tainting, and more. | - | - | - | -| [Daikon](https://plse.cs.washington.edu/daikon/) | Dynamic invariant detection; infers likely specifications from runs. | - | - | - | -| [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) | NASA's model checker for finding concurrency bugs and deadlocks. | 593 | 25d | - | -| [JMLOK 2.0](https://massoni.computacao.ufcg.edu.br/home/jmlok) | Detects JML specification violations via random testing. | - | - | - | -| [KeY](https://www.key-project.org) | Deductive verification using JML and symbolic execution. | - | - | - | -| [OpenJML](http://www.openjml.org) | JML verification via SMT solvers (Z3, CVC4). | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CATG](https://github.com/ksen007/janala2) | Concolic testing: auto-generates tests via symbolic execution. | N/A | N/A | +| [Checker Framework](https://checkerframework.org) | Pluggable type systems for nullness, tainting, and more. | - | - | +| [Daikon](https://plse.cs.washington.edu/daikon/) | Dynamic invariant detection; infers likely specifications from runs. | - | - | +| [Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core) | NASA's model checker for finding concurrency bugs and deadlocks. | 593 | 25d | +| [JMLOK 2.0](https://massoni.computacao.ufcg.edu.br/home/jmlok) | Detects JML specification violations via random testing. | - | - | +| [KeY](https://www.key-project.org) | Deductive verification using JML and symbolic execution. | - | - | +| [OpenJML](http://www.openjml.org) | JML verification via SMT solvers (Z3, CVC4). | - | - | ### Functional Programming _Libraries that facilitate functional programming._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cyclops](https://github.com/aol/cyclops) | Monads, pattern matching, and persistent collections for functional Java. | 1.3k | 2y | Apache-2.0 | -| [derive4j](https://github.com/derive4j/derive4j) | Algebraic data types with pattern matching via annotation processing. | 577 | 3y | - | -| [Fugue](https://bitbucket.org/atlassian/fugue) | Atlassian's functional extensions: Option, Either, and more. | - | - | - | -| [Functional Java](http://www.functionaljava.org) | Immutable collections, monads, and functional data structures. | - | - | - | -| [jOOλ](https://github.com/jOOQ/jOOL) | Tuples, Seq, and unchecked functional interfaces for streams. | 2.1k | 1y | Apache-2.0 | -| [Packrat](https://github.com/jhspetersson/packrat) | Custom Gatherers for Java Stream intermediate operations. | 24 | 6d | Apache-2.0 | -| [protonpack](https://github.com/poetix/protonpack) | Stream utilities: zip, unfold, takeWhile, and windowing. | 485 | 1y | MIT | -| [StreamEx](https://github.com/amaembo/streamex) | Enhanced streams with parallel support and additional collectors. | 2.3k | 4mo | Apache-2.0 | -| [Vavr](https://www.vavr.io) | Scala-inspired FP: immutable collections, Try, Either, pattern matching. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cyclops](https://github.com/aol/cyclops) | Monads, pattern matching, and persistent collections for functional Java. | 1.3k | 2y | +| [derive4j](https://github.com/derive4j/derive4j) | Algebraic data types with pattern matching via annotation processing. | 577 | 3y | +| [Fugue](https://bitbucket.org/atlassian/fugue) | Atlassian's functional extensions: Option, Either, and more. | - | - | +| [Functional Java](http://www.functionaljava.org) | Immutable collections, monads, and functional data structures. | - | - | +| [jOOλ](https://github.com/jOOQ/jOOL) | Tuples, Seq, and unchecked functional interfaces for streams. | 2.1k | 1y | +| [Packrat](https://github.com/jhspetersson/packrat) | Custom Gatherers for Java Stream intermediate operations. | 24 | 6d | +| [protonpack](https://github.com/poetix/protonpack) | Stream utilities: zip, unfold, takeWhile, and windowing. | 485 | 1y | +| [StreamEx](https://github.com/amaembo/streamex) | Enhanced streams with parallel support and additional collectors. | 2.3k | 4mo | +| [Vavr](https://www.vavr.io) | Scala-inspired FP: immutable collections, Try, Either, pattern matching. | - | - | ### Game Development _Frameworks for game development._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [FXGL](https://almasb.github.io/FXGL/) | JavaFX game engine with ECS, physics, and UI out of the box. | - | - | - | -| [JBox2D](http://www.jbox2d.org/) | Box2D physics engine port for 2D rigid body simulation. | - | - | - | -| [jMonkeyEngine](https://jmonkeyengine.org) | Full-featured 3D engine with PBR, physics, and networking. | - | - | - | -| [libGDX](https://libgdx.com) | Cross-platform 2D/3D framework deploying to desktop, Android, iOS, web. | - | - | - | -| [Litiengine](https://litiengine.com/) | Pure Java 2D engine with no native dependencies. | - | - | - | -| [LWJGL](https://www.lwjgl.org) | Low-level bindings to OpenGL, Vulkan, OpenAL, and more. | - | - | - | -| [Mini2Dx](https://mini2dx.org) | Beginner-friendly 2D framework with tiled map and UI support. | - | - | - | -| [Void2D](https://github.com/xzripper/Void2D) | Swing-based 2D engine with physics for simple games. | N/A | N/A | - | -| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan and OpenGL ES2 bindings via Panama FFM. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FXGL](https://almasb.github.io/FXGL/) | JavaFX game engine with ECS, physics, and UI out of the box. | - | - | +| [JBox2D](http://www.jbox2d.org/) | Box2D physics engine port for 2D rigid body simulation. | - | - | +| [jMonkeyEngine](https://jmonkeyengine.org) | Full-featured 3D engine with PBR, physics, and networking. | - | - | +| [libGDX](https://libgdx.com) | Cross-platform 2D/3D framework deploying to desktop, Android, iOS, web. | - | - | +| [Litiengine](https://litiengine.com/) | Pure Java 2D engine with no native dependencies. | - | - | +| [LWJGL](https://www.lwjgl.org) | Low-level bindings to OpenGL, Vulkan, OpenAL, and more. | - | - | +| [Mini2Dx](https://mini2dx.org) | Beginner-friendly 2D framework with tiled map and UI support. | - | - | +| [Void2D](https://github.com/xzripper/Void2D) | Swing-based 2D engine with physics for simple games. | N/A | N/A | +| [vulkan4j](https://github.com/chuigda/vulkan4j) | Vulkan and OpenGL ES2 bindings via Panama FFM. | - | - | ### Geospatial _Libraries for geospatial data and algorithms._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache SIS](https://sis.apache.org) | OGC/ISO standards-based geospatial metadata and referencing. | - | - | - | -| [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) | Esri's JavaFX SDK for mapping and spatial analysis. | N/A | N/A | - | -| [Geo](https://github.com/davidmoten/geo) | GeoHash encoding/decoding with spatial indexing. | 431 | 3d | Apache-2.0 | -| [GeoTools](https://geotools.org) | Comprehensive GIS toolkit for OGC standards. | - | - | - | -| [GraphHopper](https://github.com/graphhopper/graphhopper) | Fast routing engine with turn costs and isochrones. | 6.2k | 1d | Apache-2.0 | -| [H2GIS](http://www.h2gis.org) | Spatial SQL extension for H2 with OGC compliance. | - | - | - | -| [Jgeohash](https://astrapi69.github.io/jgeohash/) | GeoHash algorithm with neighbor calculation and bounding boxes. | - | - | - | -| [Mapsforge](https://github.com/mapsforge/mapsforge) | Offline map rendering from OpenStreetMap vector data. | 1.3k | 4d | LGPL-3.0 | -| [Spatial4j](https://github.com/locationtech/spatial4j) | Geospatial shapes and distance calculations for search engines. | 954 | 7mo | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache SIS](https://sis.apache.org) | OGC/ISO standards-based geospatial metadata and referencing. | - | - | +| [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) | Esri's JavaFX SDK for mapping and spatial analysis. | N/A | N/A | +| [Geo](https://github.com/davidmoten/geo) | GeoHash encoding/decoding with spatial indexing. | 431 | 3d | +| [GeoTools](https://geotools.org) | Comprehensive GIS toolkit for OGC standards. | - | - | +| [GraphHopper](https://github.com/graphhopper/graphhopper) | Fast routing engine with turn costs and isochrones. | 6.2k | 1d | +| [H2GIS](http://www.h2gis.org) | Spatial SQL extension for H2 with OGC compliance. | - | - | +| [Jgeohash](https://astrapi69.github.io/jgeohash/) | GeoHash algorithm with neighbor calculation and bounding boxes. | - | - | +| [Mapsforge](https://github.com/mapsforge/mapsforge) | Offline map rendering from OpenStreetMap vector data. | 1.3k | 4d | +| [Spatial4j](https://github.com/locationtech/spatial4j) | Geospatial shapes and distance calculations for search engines. | 954 | 7mo | ### GUI _Libraries for modern graphical user interfaces._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Rich client platform with CSS styling, FXML, and hardware acceleration. | - | - | - | -| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Drag-and-drop FXML UI designer for JavaFX. | - | - | - | -| [SnapKit](https://github.com/reportmill/SnapKit) | Cross-platform UI (desktop/web) with declarative layout. | 310 | 13h | - | -| [SWT](https://www.eclipse.org/swt/) | Eclipse's native widget toolkit for OS-native look and feel. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) | Rich client platform with CSS styling, FXML, and hardware acceleration. | - | - | +| [Scene Builder](https://gluonhq.com/products/scene-builder/) | Drag-and-drop FXML UI designer for JavaFX. | - | - | +| [SnapKit](https://github.com/reportmill/SnapKit) | Cross-platform UI (desktop/web) with declarative layout. | 310 | 13h | +| [SWT](https://www.eclipse.org/swt/) | Eclipse's native widget toolkit for OS-native look and feel. | - | - | ### High Performance _High-performance collections and computation libraries._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Agrona](https://github.com/real-logic/Agrona) | Off-heap buffers, ring buffers, and lock-free data structures. | - | - | - | -| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Lock-free ring buffer achieving 25M+ msgs/sec between threads. | - | - | - | -| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Memory-efficient collections with primitives and immutables. | - | - | - | -| [fastutil](http://fastutil.di.unimi.it) | Primitive collections 2-3x faster than java.util. | - | - | - | -| [HPPC](https://labs.carrotsearch.com/hppc.html) | High-performance primitive collections with minimal memory. | - | - | - | -| [JCTools](https://github.com/JCTools/JCTools) | Non-blocking queues: SPSC, MPSC, MPMC for concurrent apps. | 3.8k | 1y | Apache-2.0 | -| [Koloboke](https://github.com/leventov/Koloboke) | Fastest hash maps/sets with primitive specialization. | 1.0k | 8y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Agrona](https://github.com/real-logic/Agrona) | Off-heap buffers, ring buffers, and lock-free data structures. | - | - | +| [Disruptor](https://lmax-exchange.github.io/disruptor/) | Lock-free ring buffer achieving 25M+ msgs/sec between threads. | - | - | +| [Eclipse Collections](https://github.com/eclipse/eclipse-collections) | Memory-efficient collections with primitives and immutables. | - | - | +| [fastutil](http://fastutil.di.unimi.it) | Primitive collections 2-3x faster than java.util. | - | - | +| [HPPC](https://labs.carrotsearch.com/hppc.html) | High-performance primitive collections with minimal memory. | - | - | +| [JCTools](https://github.com/JCTools/JCTools) | Non-blocking queues: SPSC, MPSC, MPMC for concurrent apps. | 3.8k | 1y | +| [Koloboke](https://github.com/leventov/Koloboke) | Fastest hash maps/sets with primitive specialization. | 1.0k | 8y | ### HTTP Clients _Libraries for creating HTTP requests and binding responses._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache HttpComponents](https://hc.apache.org/) | Full-featured HTTP client with connection pooling and async support. | - | - | - | -| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Non-blocking HTTP/WebSocket client on Netty. | 6.4k | 10d | - | -| [Avaje Http Client](https://avaje.io/http-client) | JDK HttpClient wrapper with declarative interfaces and JSON binding. | - | - | - | -| [Feign](https://github.com/OpenFeign/feign) | Declarative REST client via annotated interfaces. | 9.8k | 2d | Apache-2.0 | -| [Google HTTP Client](https://github.com/googleapis/google-http-java-client) | Pluggable transport with JSON parsing and OAuth support. | 1.4k | 21d | Apache-2.0 | -| [methanol](https://github.com/mizosoft/methanol) | JDK HttpClient extensions: caching, compression, multipart. | 286 | 19d | MIT | -| [Retrofit](https://square.github.io/retrofit/) | Type-safe REST client with pluggable converters and call adapters. | - | - | - | -| [Ribbon](https://github.com/Netflix/ribbon) | Netflix's client-side load balancer with retry policies. | 4.6k | 24d | Apache-2.0 | -| [Riptide](https://github.com/zalando/riptide) | Response routing DSL for RestTemplate with problem+json support. | 329 | 19h | MIT | -| [unirest-java](https://github.com/Kong/unirest-java) | Fluent HTTP client with JSON, async, and file upload support. | 2.7k | 1mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache HttpComponents](https://hc.apache.org/) | Full-featured HTTP client with connection pooling and async support. | - | - | +| [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) | Non-blocking HTTP/WebSocket client on Netty. | 6.4k | 10d | +| [Avaje Http Client](https://avaje.io/http-client) | JDK HttpClient wrapper with declarative interfaces and JSON binding. | - | - | +| [Feign](https://github.com/OpenFeign/feign) | Declarative REST client via annotated interfaces. | 9.8k | 2d | +| [Google HTTP Client](https://github.com/googleapis/google-http-java-client) | Pluggable transport with JSON parsing and OAuth support. | 1.4k | 21d | +| [methanol](https://github.com/mizosoft/methanol) | JDK HttpClient extensions: caching, compression, multipart. | 286 | 19d | +| [Retrofit](https://square.github.io/retrofit/) | Type-safe REST client with pluggable converters and call adapters. | - | - | +| [Ribbon](https://github.com/Netflix/ribbon) | Netflix's client-side load balancer with retry policies. | 4.6k | 24d | +| [Riptide](https://github.com/zalando/riptide) | Response routing DSL for RestTemplate with problem+json support. | 329 | 19h | +| [unirest-java](https://github.com/Kong/unirest-java) | Fluent HTTP client with JSON, async, and file upload support. | 2.7k | 1mo | ### Hypermedia Types _Libraries for hypermedia API serialization._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [hate](https://github.com/blackdoor/hate) | HAL+JSON builder with link templating support. | 25 | 2y | MIT | -| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | W3C JSON-LD processor with expansion, compaction, and framing. | 386 | 2y | BSD-3-Clause | -| [Siren4J](https://github.com/eserating-chwy/siren4j) | Siren hypermedia builder with actions and embedded entities. | 28 | 1y | MIT | -| [Spring HATEOAS](https://github.com/spring-projects/spring-hateoas) | Multi-format hypermedia (HAL, HAL-FORMS, Collection+JSON) for Spring. | 1.1k | 25d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [hate](https://github.com/blackdoor/hate) | HAL+JSON builder with link templating support. | 25 | 2y | +| [JSON-LD](https://github.com/jsonld-java/jsonld-java) | W3C JSON-LD processor with expansion, compaction, and framing. | 386 | 2y | +| [Siren4J](https://github.com/eserating-chwy/siren4j) | Siren hypermedia builder with actions and embedded entities. | 28 | 1y | +| [Spring HATEOAS](https://github.com/spring-projects/spring-hateoas) | Multi-format hypermedia (HAL, HAL-FORMS, Collection+JSON) for Spring. | 1.1k | 25d | ### IDE _Integrated development environments._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Eclipse](https://www.eclipse.org) | Extensible IDE with vast plugin ecosystem and multi-language support. | - | - | - | -| [IntelliJ IDEA](https://www.jetbrains.com/idea/) | Smart IDE with deep refactoring, inspections, and framework support. | - | - | - | -| [jGRASP](https://www.jgrasp.org) | Educational IDE with control structure and UML visualizations. | - | - | - | -| [NetBeans](https://netbeans.apache.org) | Apache IDE with Java SE/EE, Maven, and Git integration. | - | - | - | -| [SnapCode](https://reportmill.com/SnapCode/) | Browser-based Java IDE for learning with live preview. | - | - | - | -| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Lightweight editor with Java extensions for debugging and Maven. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Eclipse](https://www.eclipse.org) | Extensible IDE with vast plugin ecosystem and multi-language support. | - | - | +| [IntelliJ IDEA](https://www.jetbrains.com/idea/) | Smart IDE with deep refactoring, inspections, and framework support. | - | - | +| [jGRASP](https://www.jgrasp.org) | Educational IDE with control structure and UML visualizations. | - | - | +| [NetBeans](https://netbeans.apache.org) | Apache IDE with Java SE/EE, Maven, and Git integration. | - | - | +| [SnapCode](https://reportmill.com/SnapCode/) | Browser-based Java IDE for learning with live preview. | - | - | +| [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) | Lightweight editor with Java extensions for debugging and Maven. | - | - | ### Imagery _Libraries for image creation, evaluation, and manipulation._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Vector/raster barcode generation with CMYK and high-DPI support. | 9 | 17d | Apache-2.0 | -| [Imgscalr](https://github.com/rkalla/imgscalr) | Hardware-accelerated image scaling with quality presets. | 1.2k | 2y | Apache-2.0 | -| [Tess4J](https://github.com/nguyenq/tess4j) | Tesseract OCR wrapper for text extraction from images. | 1.7k | 13d | Apache-2.0 | -| [Thumbnailator](https://github.com/coobird/thumbnailator) | Fluent API for high-quality thumbnail generation. | 5.4k | 1d | MIT | -| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | ImageIO plugins for TIFF, PSD, WebP, and more formats. | 2.1k | 3d | BSD-3-Clause | -| [ZXing](https://github.com/zxing/zxing) | Multi-format barcode scanning and generation library. | 33.8k | 1mo | Apache-2.0 | -| [image-comparison](https://github.com/romankh3/image-comparison) | Visual diff tool highlighting image differences with rectangles. | 385 | 7mo | Apache-2.0 | -| [vips-ffm](https://github.com/lopcode/vips-ffm) | Blazing-fast libvips bindings via Panama FFM. | 98 | 10d | Apache-2.0 | -| [scrimage](https://sksamuel.github.io/scrimage) | Immutable image operations: resize, crop, filters, and formats. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) | Vector/raster barcode generation with CMYK and high-DPI support. | 9 | 17d | +| [Imgscalr](https://github.com/rkalla/imgscalr) | Hardware-accelerated image scaling with quality presets. | 1.2k | 2y | +| [Tess4J](https://github.com/nguyenq/tess4j) | Tesseract OCR wrapper for text extraction from images. | 1.7k | 13d | +| [Thumbnailator](https://github.com/coobird/thumbnailator) | Fluent API for high-quality thumbnail generation. | 5.4k | 1d | +| [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) | ImageIO plugins for TIFF, PSD, WebP, and more formats. | 2.1k | 3d | +| [ZXing](https://github.com/zxing/zxing) | Multi-format barcode scanning and generation library. | 33.8k | 1mo | +| [image-comparison](https://github.com/romankh3/image-comparison) | Visual diff tool highlighting image differences with rectangles. | 385 | 7mo | +| [vips-ffm](https://github.com/lopcode/vips-ffm) | Blazing-fast libvips bindings via Panama FFM. | 98 | 10d | +| [scrimage](https://sksamuel.github.io/scrimage) | Immutable image operations: resize, crop, filters, and formats. | - | - | ### Introspection _Libraries for easier and faster reflection._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ClassGraph](https://github.com/classgraph/classgraph) | Ultra-fast classpath scanner with parallel processing and module support. | 3.0k | 3mo | MIT | -| [jOOR](https://github.com/jOOQ/jOOR) | Fluent reflection API simplifying method invocation and field access. | 2.8k | 1y | Apache-2.0 | -| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Simplified reflection for common tasks with a clean API. | - | - | - | -| [Objenesis](http://objenesis.org) | Instantiate objects bypassing constructors; used by serializers. | - | - | - | -| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | Code-generated reflection achieving near-native performance. | 1.5k | 7mo | BSD-3-Clause | -| [Reflections](https://github.com/ronmamo/reflections) | Runtime metadata scanning for annotations, subtypes, and resources. | 4.8k | 1y | WTFPL | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ClassGraph](https://github.com/classgraph/classgraph) | Ultra-fast classpath scanner with parallel processing and module support. | 3.0k | 3mo | +| [jOOR](https://github.com/jOOQ/jOOR) | Fluent reflection API simplifying method invocation and field access. | 2.8k | 1y | +| [Mirror](http://projetos.vidageek.net/mirror/mirror/) | Simplified reflection for common tasks with a clean API. | - | - | +| [Objenesis](http://objenesis.org) | Instantiate objects bypassing constructors; used by serializers. | - | - | +| [ReflectASM](https://github.com/EsotericSoftware/reflectasm) | Code-generated reflection achieving near-native performance. | 1.5k | 7mo | +| [Reflections](https://github.com/ronmamo/reflections) | Runtime metadata scanning for annotations, subtypes, and resources. | 4.8k | 1y | ### Job Scheduling _Libraries for scheduling background jobs._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [JobRunr](https://github.com/jobrunr/jobrunr) | Distributed job scheduler with lambda-based jobs and dashboard. | 2.8k | 1d | - | -| [Quartz](https://github.com/quartz-scheduler/quartz) | Enterprise scheduler with cron expressions and clustering support. | 6.7k | 3d | Apache-2.0 | -| [Sundial](https://github.com/knowm/Sundial) | Lightweight Quartz wrapper with simplified configuration. | 276 | 1y | Apache-2.0 | -| [Wisp](https://github.com/Coreoz/Wisp) | Minimal scheduler (~10KB) with cron and fixed-delay scheduling. | 141 | 7mo | Apache-2.0 | -| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent scheduler with cluster coordination via database locks. | 1.5k | 3d | Apache-2.0 | -| [easy-batch](https://github.com/j-easy/easy-batch) | Batch processing with readers, processors, and writers pipeline. | 629 | 2y | MIT | -| [shedlock](https://github.com/lukas-krecan/ShedLock) | Distributed lock ensuring single execution across cluster nodes. | 4.1k | 16h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JobRunr](https://github.com/jobrunr/jobrunr) | Distributed job scheduler with lambda-based jobs and dashboard. | 2.8k | 1d | +| [Quartz](https://github.com/quartz-scheduler/quartz) | Enterprise scheduler with cron expressions and clustering support. | 6.7k | 3d | +| [Sundial](https://github.com/knowm/Sundial) | Lightweight Quartz wrapper with simplified configuration. | 276 | 1y | +| [Wisp](https://github.com/Coreoz/Wisp) | Minimal scheduler (~10KB) with cron and fixed-delay scheduling. | 141 | 7mo | +| [db-scheduler](https://github.com/kagkarlsson/db-scheduler) | Persistent scheduler with cluster coordination via database locks. | 1.5k | 3d | +| [easy-batch](https://github.com/j-easy/easy-batch) | Batch processing with readers, processors, and writers pipeline. | 629 | 2y | +| [shedlock](https://github.com/lukas-krecan/ShedLock) | Distributed lock ensuring single execution across cluster nodes. | 4.1k | 16h | ### JSON _Libraries for JSON serialization and deserialization._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Avaje Jsonb](https://avaje.io/jsonb/) | Compile-time JSON binding with no reflection; Jackson-compatible annotations. | - | - | - | -| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | Fastest JSON library via compile-time generated readers/writers. | 1.1k | 1y | BSD-3-Clause | -| [Genson](http://genson.io) | Feature-rich JSON with streaming, polymorphism, and JAX-RS support. | - | - | - | -| [Gson](https://github.com/google/gson) | Google's simple JSON library with no-config serialization. | 24.3k | 8d | Apache-2.0 | -| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | Ultra-fast JSON parser; 2x faster than Jackson. | 465 | 2y | Apache-2.0 | -| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Jackson support for Optional, JSR-310 dates, and parameter names. | 417 | 10d | Apache-2.0 | -| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Jackson serializer/deserializer for JavaMoney types. | 264 | 6mo | MIT | -| [Jackson](https://github.com/FasterXML/jackson) | Industry-standard JSON with streaming, data-binding, and modules. | 9.6k | 8d | - | -| [JSON-io](https://github.com/jdereg/json-io) | Deep object graph serialization with cycle handling. | 343 | 4d | Apache-2.0 | -| [jsoniter](http://jsoniter.com) | Iterator-style API for streaming and lazy JSON parsing. | - | - | - | -| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | Compile-time JSON for Android; faster than Gson and Jackson. | 3.2k | 4y | Apache-2.0 | -| [Moshi](https://github.com/square/moshi) | Square's modern JSON with Kotlin support and adapters. | 10.1k | 5d | Apache-2.0 | -| [Yasson](https://github.com/eclipse-ee4j/yasson) | Jakarta JSON Binding (JSON-B) reference implementation. | 215 | 6mo | - | -| [fastjson](https://github.com/alibaba/fastjson) | Alibaba's high-performance JSON with JSONPath support. | 25.7k | 1y | Apache-2.0 | -| [Jolt](https://github.com/bazaarvoice/jolt) | JSON-to-JSON transformation via shift, default, and sort specs. | 1.7k | 6mo | Apache-2.0 | -| [JsonPath](https://github.com/json-path/JsonPath) | XPath-like queries for extracting JSON data. | 9.4k | 2mo | Apache-2.0 | -| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath for processing large JSON without loading all. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Avaje Jsonb](https://avaje.io/jsonb/) | Compile-time JSON binding with no reflection; Jackson-compatible annotations. | - | - | +| [DSL-JSON](https://github.com/ngs-doo/dsl-json) | Fastest JSON library via compile-time generated readers/writers. | 1.1k | 1y | +| [Genson](http://genson.io) | Feature-rich JSON with streaming, polymorphism, and JAX-RS support. | - | - | +| [Gson](https://github.com/google/gson) | Google's simple JSON library with no-config serialization. | 24.3k | 8d | +| [HikariJSON](https://github.com/brettwooldridge/HikariJSON) | Ultra-fast JSON parser; 2x faster than Jackson. | 465 | 2y | +| [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) | Jackson support for Optional, JSR-310 dates, and parameter names. | 417 | 10d | +| [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) | Jackson serializer/deserializer for JavaMoney types. | 264 | 6mo | +| [Jackson](https://github.com/FasterXML/jackson) | Industry-standard JSON with streaming, data-binding, and modules. | 9.6k | 8d | +| [JSON-io](https://github.com/jdereg/json-io) | Deep object graph serialization with cycle handling. | 343 | 4d | +| [jsoniter](http://jsoniter.com) | Iterator-style API for streaming and lazy JSON parsing. | - | - | +| [LoganSquare](https://github.com/bluelinelabs/LoganSquare) | Compile-time JSON for Android; faster than Gson and Jackson. | 3.2k | 4y | +| [Moshi](https://github.com/square/moshi) | Square's modern JSON with Kotlin support and adapters. | 10.1k | 5d | +| [Yasson](https://github.com/eclipse-ee4j/yasson) | Jakarta JSON Binding (JSON-B) reference implementation. | 215 | 6mo | +| [fastjson](https://github.com/alibaba/fastjson) | Alibaba's high-performance JSON with JSONPath support. | 25.7k | 1y | +| [Jolt](https://github.com/bazaarvoice/jolt) | JSON-to-JSON transformation via shift, default, and sort specs. | 1.7k | 6mo | +| [JsonPath](https://github.com/json-path/JsonPath) | XPath-like queries for extracting JSON data. | 9.4k | 2mo | +| [JsonSurfer](https://github.com/jsurfer/JsonSurfer) | Streaming JsonPath for processing large JSON without loading all. | - | - | ### JVM and JDK _JVM and JDK implementations._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Which JDK](https://whichjdk.com/) | Decision guide for choosing a JDK distribution. | - | - | - | -| [Adopt Open JDK](https://adoptopenjdk.net) | Community OpenJDK with HotSpot and OpenJ9 variants. | - | - | - | -| [Corretto](https://aws.amazon.com/corretto/) | Amazon's LTS OpenJDK with AWS optimizations. | - | - | - | -| [Dragonwell8](https://github.com/alibaba/dragonwell8) | Alibaba's OpenJDK optimized for long-running services. | - | - | - | -| [Graal](https://github.com/oracle/graal) | Polyglot VM with native image compilation (GraalVM). | 21.4k | 12h | - | -| [Liberica JDK](https://bell-sw.com) | JCK-certified OpenJDK with JavaFX bundled option. | - | - | - | -| [OpenJ9](https://github.com/eclipse/openj9) | Eclipse JVM with low memory footprint and fast startup. | - | - | - | -| [Open JDK](https://openjdk.java.net) | Reference implementation and development home. | - | - | - | -| [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) | Non-blocking GC VM for iOS mobile development. | N/A | N/A | - | -| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | Red Hat's enterprise-supported OpenJDK. | - | - | - | -| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's JCK-verified OpenJDK for enterprise. | - | - | - | -| [Zulu](https://www.azul.com/products/zulu-community/) | Azul's TCK-certified OpenJDK with commercial support option. | - | - | - | -| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft's OpenJDK build with Azure optimizations. | 340 | 2mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Which JDK](https://whichjdk.com/) | Decision guide for choosing a JDK distribution. | - | - | +| [Adopt Open JDK](https://adoptopenjdk.net) | Community OpenJDK with HotSpot and OpenJ9 variants. | - | - | +| [Corretto](https://aws.amazon.com/corretto/) | Amazon's LTS OpenJDK with AWS optimizations. | - | - | +| [Dragonwell8](https://github.com/alibaba/dragonwell8) | Alibaba's OpenJDK optimized for long-running services. | - | - | +| [Graal](https://github.com/oracle/graal) | Polyglot VM with native image compilation (GraalVM). | 21.4k | 12h | +| [Liberica JDK](https://bell-sw.com) | JCK-certified OpenJDK with JavaFX bundled option. | - | - | +| [OpenJ9](https://github.com/eclipse/openj9) | Eclipse JVM with low memory footprint and fast startup. | - | - | +| [Open JDK](https://openjdk.java.net) | Reference implementation and development home. | - | - | +| [ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm) | Non-blocking GC VM for iOS mobile development. | N/A | N/A | +| [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) | Red Hat's enterprise-supported OpenJDK. | - | - | +| [SAP Machine](https://sap.github.io/SapMachine/) | SAP's JCK-verified OpenJDK for enterprise. | - | - | +| [Zulu](https://www.azul.com/products/zulu-community/) | Azul's TCK-certified OpenJDK with commercial support option. | - | - | +| [Microsoft JDK](https://github.com/microsoft/openjdk) | Microsoft's OpenJDK build with Azure optimizations. | 340 | 2mo | ### Logging _Libraries for application logging._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Log4j 2](https://logging.apache.org/log4j/) | Async logging with lazy evaluation and plugin architecture. | - | - | - | -| [Echopraxia](https://github.com/tersesystems/echopraxia) | Structured logging API with conditions and JSON context. | 58 | 10mo | - | -| [Graylog](https://www.graylog.org) | Centralized log management with search and dashboards. | - | - | - | -| [Kibana](https://www.elastic.co/kibana) | Elasticsearch visualization for log analysis and monitoring. | - | - | - | -| [Logback](http://logback.qos.ch) | SLF4J native implementation with Groovy config and filters. | - | - | - | -| [Logbook](https://github.com/zalando/logbook) | HTTP request/response logging with filtering and correlation. | 2.0k | 17h | MIT | -| [Logstash](https://www.elastic.co/logstash) | Log pipeline for parsing, transforming, and forwarding. | - | - | - | -| [p6spy](https://github.com/p6spy/p6spy) | JDBC proxy logging all SQL with timing; no code changes. | 2.2k | 3y | Apache-2.0 | -| [SLF4J](http://www.slf4j.org) | Universal logging facade; bind to any implementation. | - | - | - | -| [tinylog](https://tinylog.org/v2/) | Minimalist logger with static API and 100KB footprint. | - | - | - | -| [OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox) | OpenTracing extensions for Spring and Servlet tracing. | 180 | 6mo | MIT | -| [Flogger](https://google.github.io/flogger/) | Google's fluent logging API with lazy argument evaluation. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Log4j 2](https://logging.apache.org/log4j/) | Async logging with lazy evaluation and plugin architecture. | - | - | +| [Echopraxia](https://github.com/tersesystems/echopraxia) | Structured logging API with conditions and JSON context. | 58 | 10mo | +| [Graylog](https://www.graylog.org) | Centralized log management with search and dashboards. | - | - | +| [Kibana](https://www.elastic.co/kibana) | Elasticsearch visualization for log analysis and monitoring. | - | - | +| [Logback](http://logback.qos.ch) | SLF4J native implementation with Groovy config and filters. | - | - | +| [Logbook](https://github.com/zalando/logbook) | HTTP request/response logging with filtering and correlation. | 2.0k | 17h | +| [Logstash](https://www.elastic.co/logstash) | Log pipeline for parsing, transforming, and forwarding. | - | - | +| [p6spy](https://github.com/p6spy/p6spy) | JDBC proxy logging all SQL with timing; no code changes. | 2.2k | 3y | +| [SLF4J](http://www.slf4j.org) | Universal logging facade; bind to any implementation. | - | - | +| [tinylog](https://tinylog.org/v2/) | Minimalist logger with static API and 100KB footprint. | - | - | +| [OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox) | OpenTracing extensions for Spring and Servlet tracing. | 180 | 6mo | +| [Flogger](https://google.github.io/flogger/) | Google's fluent logging API with lazy argument evaluation. | - | - | ### Machine Learning _Tools for machine learning and statistical algorithms._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Flink](https://flink.apache.org) | Stream/batch processing with exactly-once semantics and ML pipelines. | - | - | - | -| [Apache Mahout](https://mahout.apache.org) | Distributed ML for clustering, classification, and recommendations. | - | - | - | -| [DatumBox](http://www.datumbox.com) | Pre-trained NLP models for sentiment, topic, and spam detection. | - | - | - | -| [Deeplearning4j](https://deeplearning4j.org) | Distributed deep learning with Spark and GPU support. | - | - | - | -| [DJL](https://djl.ai) | Deep learning abstraction for PyTorch, TensorFlow, and MXNet. | - | - | - | -| [H2O](https://www.h2o.ai) | AutoML platform with in-memory distributed training. | - | - | - | -| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Unified API for OpenAI, Cohere, and other AI services. | - | - | - | -| [JSAT](https://github.com/EdwardRaff/JSAT) | Pure Java ML library with 100+ algorithms. | 800 | 3y | GPL-3.0 | -| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | Export trained models to Java/C/Python code. | 2.9k | 1y | MIT | -| [Neureka](https://github.com/Gleethos/neureka) | OpenCL-accelerated tensor library for neural networks. | 86 | 1y | MIT | -| [oj! Algorithms](https://www.ojalgo.org/) | High-performance linear algebra and optimization solvers. | - | - | - | -| [Oryx 2](https://github.com/OryxProject/oryx) | Real-time ML on Spark with serving layer and model updates. | 1.8k | 4y | Apache-2.0 | -| [Siddhi](https://github.com/siddhi-io/siddhi) | Complex event processing for streaming analytics. | 1.6k | 5mo | Apache-2.0 | -| [Smile](https://github.com/haifengl/smile) | Comprehensive ML library with Scala API and visualization. | 6.3k | 1d | - | -| [Tribuo](https://tribuo.org/) | Oracle's ML library with reproducibility and ONNX export. | - | - | - | -| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | GUI-based ML toolkit with 100+ algorithms. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Flink](https://flink.apache.org) | Stream/batch processing with exactly-once semantics and ML pipelines. | - | - | +| [Apache Mahout](https://mahout.apache.org) | Distributed ML for clustering, classification, and recommendations. | - | - | +| [DatumBox](http://www.datumbox.com) | Pre-trained NLP models for sentiment, topic, and spam detection. | - | - | +| [Deeplearning4j](https://deeplearning4j.org) | Distributed deep learning with Spark and GPU support. | - | - | +| [DJL](https://djl.ai) | Deep learning abstraction for PyTorch, TensorFlow, and MXNet. | - | - | +| [H2O](https://www.h2o.ai) | AutoML platform with in-memory distributed training. | - | - | +| [Intelligent java](https://github.com/Barqawiz/IntelliJava) | Unified API for OpenAI, Cohere, and other AI services. | - | - | +| [JSAT](https://github.com/EdwardRaff/JSAT) | Pure Java ML library with 100+ algorithms. | 800 | 3y | +| [m2cgen](https://github.com/BayesWitnesses/m2cgen) | Export trained models to Java/C/Python code. | 2.9k | 1y | +| [Neureka](https://github.com/Gleethos/neureka) | OpenCL-accelerated tensor library for neural networks. | 86 | 1y | +| [oj! Algorithms](https://www.ojalgo.org/) | High-performance linear algebra and optimization solvers. | - | - | +| [Oryx 2](https://github.com/OryxProject/oryx) | Real-time ML on Spark with serving layer and model updates. | 1.8k | 4y | +| [Siddhi](https://github.com/siddhi-io/siddhi) | Complex event processing for streaming analytics. | 1.6k | 5mo | +| [Smile](https://github.com/haifengl/smile) | Comprehensive ML library with Scala API and visualization. | 6.3k | 1d | +| [Tribuo](https://tribuo.org/) | Oracle's ML library with reproducibility and ONNX export. | - | - | +| [Weka](https://www.cs.waikato.ac.nz/ml/weka/) | GUI-based ML toolkit with 100+ algorithms. | - | - | ### Messaging _Message brokers and communication libraries._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Aeron](https://github.com/real-logic/Aeron) | Ultra-low-latency messaging with UDP multicast and IPC. | - | - | - | -| [Apache ActiveMQ](https://activemq.apache.org) | JMS broker with persistence, clustering, and REST API. | - | - | - | -| [Apache Camel](https://camel.apache.org) | 300+ connectors with Enterprise Integration Patterns routing. | - | - | - | -| [Apache Kafka](https://kafka.apache.org) | Distributed event streaming with exactly-once semantics. | - | - | - | -| [Apache Pulsar](https://pulsar.apache.org) | Multi-tenant messaging with tiered storage and geo-replication. | - | - | - | -| [Apache RocketMQ](https://rocketmq.apache.org) | Alibaba's distributed messaging with transactions and scheduling. | - | - | - | -| [Apache Qpid](https://qpid.apache.org) | AMQP 1.0 broker and client libraries. | - | - | - | -| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | Cloud-native Kafka with S3 storage and auto-scaling. | - | - | - | -| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | In-process message dispatcher with compile-time handler resolution. | 64 | 1mo | Apache-2.0 | -| [EventBus](https://github.com/greenrobot/EventBus) | Android-optimized publish/subscribe event bus. | 24.8k | 1y | Apache-2.0 | -| [Hermes](http://hermes.allegro.tech) | Kafka REST proxy with schema validation and rate limiting. | - | - | - | -| [JeroMQ](https://github.com/zeromq/jeromq) | Pure Java ZeroMQ with pub/sub, push/pull patterns. | 2.4k | 1mo | MPL-2.0 | -| [Nakadi](https://github.com/zalando/nakadi) | Event bus REST API with schema registry on Kafka. | 968 | 1y | MIT | -| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | Official AMQP client with connection recovery. | 1.3k | 1d | - | -| [Smack](https://github.com/igniterealtime/Smack) | XMPP client for IM, presence, and extensions. | 2.4k | 1mo | Apache-2.0 | -| [NATS client](https://github.com/nats-io/nats.java) | Lightweight messaging client for NATS with JetStream. | 640 | 1d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aeron](https://github.com/real-logic/Aeron) | Ultra-low-latency messaging with UDP multicast and IPC. | - | - | +| [Apache ActiveMQ](https://activemq.apache.org) | JMS broker with persistence, clustering, and REST API. | - | - | +| [Apache Camel](https://camel.apache.org) | 300+ connectors with Enterprise Integration Patterns routing. | - | - | +| [Apache Kafka](https://kafka.apache.org) | Distributed event streaming with exactly-once semantics. | - | - | +| [Apache Pulsar](https://pulsar.apache.org) | Multi-tenant messaging with tiered storage and geo-replication. | - | - | +| [Apache RocketMQ](https://rocketmq.apache.org) | Alibaba's distributed messaging with transactions and scheduling. | - | - | +| [Apache Qpid](https://qpid.apache.org) | AMQP 1.0 broker and client libraries. | - | - | +| [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) | Cloud-native Kafka with S3 storage and auto-scaling. | - | - | +| [Deezpatch](https://github.com/joel-jeremy/deezpatch) | In-process message dispatcher with compile-time handler resolution. | 64 | 1mo | +| [EventBus](https://github.com/greenrobot/EventBus) | Android-optimized publish/subscribe event bus. | 24.8k | 1y | +| [Hermes](http://hermes.allegro.tech) | Kafka REST proxy with schema validation and rate limiting. | - | - | +| [JeroMQ](https://github.com/zeromq/jeromq) | Pure Java ZeroMQ with pub/sub, push/pull patterns. | 2.4k | 1mo | +| [Nakadi](https://github.com/zalando/nakadi) | Event bus REST API with schema registry on Kafka. | 968 | 1y | +| [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) | Official AMQP client with connection recovery. | 1.3k | 1d | +| [Smack](https://github.com/igniterealtime/Smack) | XMPP client for IM, presence, and extensions. | 2.4k | 1mo | +| [NATS client](https://github.com/nats-io/nats.java) | Lightweight messaging client for NATS with JetStream. | 640 | 1d | ### Microservice _Tools for building and managing microservices._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ActiveRPC](https://rpc.activej.io) | Zero-allocation RPC with 15M+ requests/sec throughput. | - | - | - | -| [Armeria](https://github.com/line/armeria) | Async microservice framework with gRPC, Thrift, and REST on Netty. | 5.1k | 1d | Apache-2.0 | -| [consul-api](https://github.com/Ecwid/consul-api) | Consul client for service discovery, health checks, and KV store. | 423 | 2y | Apache-2.0 | -| [Eureka](https://github.com/Netflix/eureka) | Netflix's service registry with self-preservation and replication. | 12.7k | 23d | Apache-2.0 | -| [Helidon](https://helidon.io) | Oracle's microservice framework: SE (functional) or MP (MicroProfile). | - | - | - | -| [JDA](https://github.com/DV8FromTheWorld/JDA) | Discord API wrapper with event handling and slash commands. | - | - | - | -| [KeenType](https://github.com/DaveJarvis/KeenType) | Modern TeX implementation for document typesetting. | N/A | N/A | - | -| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Fluent Kubernetes/OpenShift API client with CRD support. | 3.6k | 21h | Apache-2.0 | -| [Micronaut](https://micronaut.io) | Compile-time DI framework with instant startup and low memory. | - | - | - | -| [Nacos](https://nacos.io) | Alibaba's service discovery and config management platform. | - | - | - | -| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | OpenAI API client for GPT, DALL-E, and Whisper. | 4.8k | 1y | MIT | -| [Quarkus](https://quarkus.io) | Supersonic Java with native compilation and live reload. | - | - | - | -| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control, circuit breaking, and real-time monitoring. | 23.0k | 8d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveRPC](https://rpc.activej.io) | Zero-allocation RPC with 15M+ requests/sec throughput. | - | - | +| [Armeria](https://github.com/line/armeria) | Async microservice framework with gRPC, Thrift, and REST on Netty. | 5.1k | 1d | +| [consul-api](https://github.com/Ecwid/consul-api) | Consul client for service discovery, health checks, and KV store. | 423 | 2y | +| [Eureka](https://github.com/Netflix/eureka) | Netflix's service registry with self-preservation and replication. | 12.7k | 23d | +| [Helidon](https://helidon.io) | Oracle's microservice framework: SE (functional) or MP (MicroProfile). | - | - | +| [JDA](https://github.com/DV8FromTheWorld/JDA) | Discord API wrapper with event handling and slash commands. | - | - | +| [KeenType](https://github.com/DaveJarvis/KeenType) | Modern TeX implementation for document typesetting. | N/A | N/A | +| [kubernetes-client](https://github.com/fabric8io/kubernetes-client) | Fluent Kubernetes/OpenShift API client with CRD support. | 3.6k | 21h | +| [Micronaut](https://micronaut.io) | Compile-time DI framework with instant startup and low memory. | - | - | +| [Nacos](https://nacos.io) | Alibaba's service discovery and config management platform. | - | - | +| [OpenAI-Java](https://github.com/TheoKanning/openai-java) | OpenAI API client for GPT, DALL-E, and Whisper. | 4.8k | 1y | +| [Quarkus](https://quarkus.io) | Supersonic Java with native compilation and live reload. | - | - | +| [Sentinel](https://github.com/alibaba/Sentinel) | Flow control, circuit breaking, and real-time monitoring. | 23.0k | 8d | ### Miscellaneous _Everything else._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [CQEngine](https://github.com/npgall/cqengine) | In-memory indexed collections with SQL-like queries in microseconds. | 1.8k | 2y | Apache-2.0 | -| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | 100+ design patterns with Java examples and explanations. | 93.6k | 2mo | - | -| [FF4J](https://github.com/ff4j/ff4j) | Feature flags with web console, audit, and Spring integration. | 1.4k | 20d | Apache-2.0 | -| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | Satirical over-engineered FizzBuzz demonstrating pattern overuse. | 23.1k | 1y | - | -| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | IP geolocation and WHOIS lookup API client. | 7 | 10d | MIT | -| [ISBN core](https://github.com/ladutsko/isbn-core) | ISBN-10/13 parsing, validation, and formatting. | 3 | 14d | MIT | -| [J2ObjC](https://github.com/google/j2objc) | Google's Java to Objective-C transpiler for iOS code sharing. | 6.0k | 1d | Apache-2.0 | -| [JBake](https://jbake.org) | Static site generator with Freemarker, Groovy, and Markdown. | - | - | - | -| [JBot](https://github.com/rampatra/jbot) | Slack and Facebook Messenger bot framework. | 1.2k | 3mo | GPL-3.0 | -| [JCuda](http://jcuda.org) | Java bindings for CUDA GPU computing. | - | - | - | -| [JEmoji](https://github.com/felldo/JEmoji) | Type-safe emoji library with Discord/Slack alias support. | 102 | 4d | Apache-2.0 | -| [Jimfs](https://github.com/google/jimfs) | In-memory file system for testing with full NIO.2 support. | 2.5k | 8d | Apache-2.0 | -| [Joda-Money](https://www.joda.org/joda-money/) | Money and currency handling with BigDecimal precision. | - | - | - | -| [jOOX](https://github.com/jooq/joox) | jQuery-style fluent API for XML DOM manipulation. | 505 | 1y | Apache-2.0 | -| [JPad](http://jpad.io) | Code snippet runner with instant results. | - | - | - | -| [jsweet](https://github.com/cincheo/jsweet) | Java to TypeScript/JavaScript transpiler. | 1.5k | 2y | - | -| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Ensure consistent Maven version without local installation. | 1.6k | 4y | Apache-2.0 | -| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | API gateway with OAuth2, rate limiting, and transformation. | - | - | - | -| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Embeddable FTP server in ~50KB. | 186 | 6mo | Apache-2.0 | -| [LittleProxy](https://github.com/adamfisk/LittleProxy) | Netty-based HTTP proxy with MITM support. | 2.1k | 1y | Apache-2.0 | -| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Comprehensive Java 8 tutorial with streams and lambdas. | 16.8k | 2y | MIT | -| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect legacy API usage (Guava → Java 8, etc.). | 383 | 8d | Apache-2.0 | -| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | GitHub browser extension linking imports to source files. | 5.3k | 2y | MIT | -| [OpenRefine](http://openrefine.org) | Data cleaning and transformation tool with reconciliation. | - | - | - | -| [PipelinR](https://github.com/sizovs/pipelinr) | Mediator pattern for command/query handlers. | 476 | 4mo | MIT | -| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Write POMs in Groovy, Kotlin, Scala, or YAML. | 915 | 1mo | EPL-1.0 | -| [RR4J](https://github.com/Kartikvk1996/RR4J) | Record and replay Java execution for debugging. | 25 | 3y | GPL-3.0 | -| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Fluent email API with SMTP, attachments, and embedding. | 1.3k | 7mo | Apache-2.0 | -| [Smooks](https://github.com/smooks/smooks) | Event-driven data transformation and routing framework. | 415 | 1mo | - | -| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Webhook delivery platform with retries and signature verification. | N/A | N/A | - | -| [Togglz](https://www.togglz.org) | Feature toggles with admin console and Spring Boot starter. | - | - | - | -| [TypeTools](https://github.com/jhalterman/typetools) | Runtime generic type resolution for type-safe APIs. | 628 | 2y | Apache-2.0 | -| [webcam-capture](https://github.com/sarxos/webcam-capture) | Cross-platform webcam access with motion detection. | 2.3k | 2mo | MIT | -| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | XPath-based XML projection onto Java interfaces. | 76 | 5mo | Apache-2.0 | -| [yGuard](https://github.com/yWorks/yGuard) | Bytecode obfuscator with name mangling and shrinking. | 449 | 6mo | MIT | -| [JBang](https://github.com/maxandersen/jbang/) | Run Java as scripts with inline dependency declarations. | N/A | N/A | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CQEngine](https://github.com/npgall/cqengine) | In-memory indexed collections with SQL-like queries in microseconds. | 1.8k | 2y | +| [Design Patterns](https://github.com/iluwatar/java-design-patterns) | 100+ design patterns with Java examples and explanations. | 93.6k | 2mo | +| [FF4J](https://github.com/ff4j/ff4j) | Feature flags with web console, audit, and Spring integration. | 1.4k | 20d | +| [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) | Satirical over-engineered FizzBuzz demonstrating pattern overuse. | 23.1k | 1y | +| [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) | IP geolocation and WHOIS lookup API client. | 7 | 10d | +| [ISBN core](https://github.com/ladutsko/isbn-core) | ISBN-10/13 parsing, validation, and formatting. | 3 | 14d | +| [J2ObjC](https://github.com/google/j2objc) | Google's Java to Objective-C transpiler for iOS code sharing. | 6.0k | 1d | +| [JBake](https://jbake.org) | Static site generator with Freemarker, Groovy, and Markdown. | - | - | +| [JBot](https://github.com/rampatra/jbot) | Slack and Facebook Messenger bot framework. | 1.2k | 3mo | +| [JCuda](http://jcuda.org) | Java bindings for CUDA GPU computing. | - | - | +| [JEmoji](https://github.com/felldo/JEmoji) | Type-safe emoji library with Discord/Slack alias support. | 102 | 4d | +| [Jimfs](https://github.com/google/jimfs) | In-memory file system for testing with full NIO.2 support. | 2.5k | 8d | +| [Joda-Money](https://www.joda.org/joda-money/) | Money and currency handling with BigDecimal precision. | - | - | +| [jOOX](https://github.com/jooq/joox) | jQuery-style fluent API for XML DOM manipulation. | 505 | 1y | +| [JPad](http://jpad.io) | Code snippet runner with instant results. | - | - | +| [jsweet](https://github.com/cincheo/jsweet) | Java to TypeScript/JavaScript transpiler. | 1.5k | 2y | +| [Maven Wrapper](https://github.com/takari/maven-wrapper) | Ensure consistent Maven version without local installation. | 1.6k | 4y | +| [Membrane Service Proxy](https://github.com/membrane/service-proxy) | API gateway with OAuth2, rate limiting, and transformation. | - | - | +| [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) | Embeddable FTP server in ~50KB. | 186 | 6mo | +| [LittleProxy](https://github.com/adamfisk/LittleProxy) | Netty-based HTTP proxy with MITM support. | 2.1k | 1y | +| [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) | Comprehensive Java 8 tutorial with streams and lambdas. | 16.8k | 2y | +| [Modernizer](https://github.com/gaul/modernizer-maven-plugin) | Detect legacy API usage (Guava → Java 8, etc.). | 383 | 8d | +| [OctoLinker](https://github.com/OctoLinker/OctoLinker) | GitHub browser extension linking imports to source files. | 5.3k | 2y | +| [OpenRefine](http://openrefine.org) | Data cleaning and transformation tool with reconciliation. | - | - | +| [PipelinR](https://github.com/sizovs/pipelinr) | Mediator pattern for command/query handlers. | 476 | 4mo | +| [Polyglot for Maven](https://github.com/takari/polyglot-maven) | Write POMs in Groovy, Kotlin, Scala, or YAML. | 915 | 1mo | +| [RR4J](https://github.com/Kartikvk1996/RR4J) | Record and replay Java execution for debugging. | 25 | 3y | +| [Simple Java Mail](https://github.com/bbottema/simple-java-mail) | Fluent email API with SMTP, attachments, and embedding. | 1.3k | 7mo | +| [Smooks](https://github.com/smooks/smooks) | Event-driven data transformation and routing framework. | 415 | 1mo | +| [Svix](https://github.com/svix/svix-webhooks/tree/main/java) | Webhook delivery platform with retries and signature verification. | N/A | N/A | +| [Togglz](https://www.togglz.org) | Feature toggles with admin console and Spring Boot starter. | - | - | +| [TypeTools](https://github.com/jhalterman/typetools) | Runtime generic type resolution for type-safe APIs. | 628 | 2y | +| [webcam-capture](https://github.com/sarxos/webcam-capture) | Cross-platform webcam access with motion detection. | 2.3k | 2mo | +| [XMLBeam](https://github.com/SvenEwald/xmlbeam) | XPath-based XML projection onto Java interfaces. | 76 | 5mo | +| [yGuard](https://github.com/yWorks/yGuard) | Bytecode obfuscator with name mangling and shrinking. | 449 | 6mo | +| [JBang](https://github.com/maxandersen/jbang/) | Run Java as scripts with inline dependency declarations. | N/A | N/A | ### Mobile Development _Tools for mobile application development._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Codename One](https://www.codenameone.com) | Write once, deploy native iOS/Android/web from Java. | - | - | - | -| [MobileUI](https://mobileui.dev) | Native mobile UI from Java/Kotlin with platform widgets. | - | - | - | -| [Multi-OS Engine](https://multi-os-engine.org) | Shared Java codebase with native iOS/Android UI bindings. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Codename One](https://www.codenameone.com) | Write once, deploy native iOS/Android/web from Java. | - | - | +| [MobileUI](https://mobileui.dev) | Native mobile UI from Java/Kotlin with platform widgets. | - | - | +| [Multi-OS Engine](https://multi-os-engine.org) | Shared Java codebase with native iOS/Android UI bindings. | - | - | ### Monitoring _Tools for observability and telemetry._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apitally](https://github.com/apitally/apitally-java) | Privacy-focused API analytics with request logging. | 5 | 13h | MIT | -| [Automon](https://github.com/stevensouza/automon) | AOP-based monitoring integration with JAMon/Metrics. | 573 | 1y | Apache-2.0 | -| [Datadog](https://github.com/DataDog/dd-trace-java) | APM agent with distributed tracing and profiling. | 684 | 3h | Apache-2.0 | -| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Application metrics with JMX, Graphite, and Prometheus export. | 7.9k | 13d | Apache-2.0 | -| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Spring Boot Actuator endpoints for Failsafe circuit breakers. | 54 | 3y | MIT | -| [Glowroot](https://glowroot.org) | Lightweight APM with transaction tracing and historical analysis. | - | - | - | -| [HertzBeat](https://github.com/dromara/hertzbeat) | Agentless monitoring for servers, databases, and APIs. | - | - | - | -| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic thread pool tuning with web console. | N/A | N/A | - | -| [inspectIT](https://www.inspectit.rocks) | Bytecode-level APM with OpenTracing and EUM correlation. | - | - | - | -| [Instrumental](https://instrumentalapp.com) | Real-time metrics with alerting and dashboards. | - | - | - | -| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Distributed tracing client for Jaeger backend. | 490 | 3y | - | -| [JavaMelody](https://github.com/javamelody/javamelody) | Embedded monitoring with charts, SQL analysis, and profiling. | 3.0k | 11d | Apache-2.0 | -| [jmxtrans](https://github.com/jmxtrans/jmxtrans) | JMX metric collection to Graphite, InfluxDB, or Ganglia. | 1.7k | 3y | MIT | -| [Jolokia](https://jolokia.org) | JMX over HTTP/JSON for remote monitoring. | - | - | - | -| [Micrometer](https://github.com/micrometer-metrics/micrometer) | Metrics facade for Prometheus, Datadog, CloudWatch, etc. | 4.8k | 13h | Apache-2.0 | -| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Tracing facade for Zipkin, Wavefront, and OTLP. | 288 | 21h | Apache-2.0 | -| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Browser REPL for live JVM inspection. | 164 | 5y | MIT | -| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | CNCF standard for traces, metrics, and logs. | 2.3k | 9h | Apache-2.0 | -| [Pinpoint](https://github.com/naver/pinpoint) | Large-scale APM with call tree visualization. | - | - | - | -| [Prometheus](https://github.com/prometheus/client_java) | Official Prometheus client with gauges, counters, and histograms. | 2.3k | 10h | Apache-2.0 | -| [Sentry](https://github.com/getsentry/sentry-java) | Error tracking with stack traces and performance monitoring. | 1.3k | 1d | MIT | -| [SPM](https://github.com/sematext/sematext-agent-java) | Transaction tracing and JVM metrics. | 24 | 2d | Apache-2.0 | -| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Elasticsearch-integrated APM with Kibana dashboards. | 1.7k | 2y | Apache-2.0 | -| [Sysmon](https://github.com/palantir/Sysmon) | JVM resource monitoring (CPU, memory, GC). | 156 | 9y | Apache-2.0 | -| [zipkin](https://zipkin.io) | Distributed tracing system for latency analysis. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apitally](https://github.com/apitally/apitally-java) | Privacy-focused API analytics with request logging. | 5 | 13h | +| [Automon](https://github.com/stevensouza/automon) | AOP-based monitoring integration with JAMon/Metrics. | 573 | 1y | +| [Datadog](https://github.com/DataDog/dd-trace-java) | APM agent with distributed tracing and profiling. | 684 | 3h | +| [Dropwizard Metrics](https://github.com/dropwizard/metrics) | Application metrics with JMX, Graphite, and Prometheus export. | 7.9k | 13d | +| [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) | Spring Boot Actuator endpoints for Failsafe circuit breakers. | 54 | 3y | +| [Glowroot](https://glowroot.org) | Lightweight APM with transaction tracing and historical analysis. | - | - | +| [HertzBeat](https://github.com/dromara/hertzbeat) | Agentless monitoring for servers, databases, and APIs. | - | - | +| [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) | Dynamic thread pool tuning with web console. | N/A | N/A | +| [inspectIT](https://www.inspectit.rocks) | Bytecode-level APM with OpenTracing and EUM correlation. | - | - | +| [Instrumental](https://instrumentalapp.com) | Real-time metrics with alerting and dashboards. | - | - | +| [Jaeger client](https://github.com/jaegertracing/jaeger-client-java) | Distributed tracing client for Jaeger backend. | 490 | 3y | +| [JavaMelody](https://github.com/javamelody/javamelody) | Embedded monitoring with charts, SQL analysis, and profiling. | 3.0k | 11d | +| [jmxtrans](https://github.com/jmxtrans/jmxtrans) | JMX metric collection to Graphite, InfluxDB, or Ganglia. | 1.7k | 3y | +| [Jolokia](https://jolokia.org) | JMX over HTTP/JSON for remote monitoring. | - | - | +| [Micrometer](https://github.com/micrometer-metrics/micrometer) | Metrics facade for Prometheus, Datadog, CloudWatch, etc. | 4.8k | 13h | +| [Micrometer Tracing](https://github.com/micrometer-metrics/tracing) | Tracing facade for Zipkin, Wavefront, and OTLP. | 288 | 21h | +| [nudge4j](https://github.com/lorenzoongithub/nudge4j) | Browser REPL for live JVM inspection. | 164 | 5y | +| [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) | CNCF standard for traces, metrics, and logs. | 2.3k | 9h | +| [Pinpoint](https://github.com/naver/pinpoint) | Large-scale APM with call tree visualization. | - | - | +| [Prometheus](https://github.com/prometheus/client_java) | Official Prometheus client with gauges, counters, and histograms. | 2.3k | 10h | +| [Sentry](https://github.com/getsentry/sentry-java) | Error tracking with stack traces and performance monitoring. | 1.3k | 1d | +| [SPM](https://github.com/sematext/sematext-agent-java) | Transaction tracing and JVM metrics. | 24 | 2d | +| [Stagemonitor](https://github.com/stagemonitor/stagemonitor) | Elasticsearch-integrated APM with Kibana dashboards. | 1.7k | 2y | +| [Sysmon](https://github.com/palantir/Sysmon) | JVM resource monitoring (CPU, memory, GC). | 156 | 9y | +| [zipkin](https://zipkin.io) | Distributed tracing system for latency analysis. | - | - | ### Native _For working with platform-specific native libraries._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Aparapi](https://github.com/Syncleus/aparapi) | Execute Java on GPUs via automatic OpenCL conversion. | 482 | 3y | Apache-2.0 | -| [JavaCPP](https://github.com/bytedeco/javacpp) | Native C/C++ binding generator with presets for OpenCV, FFmpeg. | 4.7k | 1mo | - | -| [JNA](https://github.com/java-native-access/jna) | Dynamic native access without JNI boilerplate. | 8.9k | 9d | - | -| [JNR](https://github.com/jnr/jnr-ffi) | Faster JNA alternative; foundation for Project Panama. | 1.3k | 2mo | - | -| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Extract and load bundled native libraries from JARs. | 215 | 1y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Aparapi](https://github.com/Syncleus/aparapi) | Execute Java on GPUs via automatic OpenCL conversion. | 482 | 3y | +| [JavaCPP](https://github.com/bytedeco/javacpp) | Native C/C++ binding generator with presets for OpenCV, FFmpeg. | 4.7k | 1mo | +| [JNA](https://github.com/java-native-access/jna) | Dynamic native access without JNI boilerplate. | 8.9k | 9d | +| [JNR](https://github.com/jnr/jnr-ffi) | Faster JNA alternative; foundation for Project Panama. | 1.3k | 2mo | +| [native-lib-loader](https://github.com/scijava/native-lib-loader) | Extract and load bundled native libraries from JARs. | 215 | 1y | ### Natural Language Processing _Libraries for text processing and analysis._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | NLP pipeline with coreference, SRL, and relation extraction. | 480 | 2y | - | -| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. | - | - | - | -| [DKPro](https://dkpro.github.io) | UIMA-based NLP components for tokenization, POS, and parsing. | - | - | - | -| [Hypherator](https://github.com/ejossev/hypherator-java) | Text hyphenation with bundled dictionaries for 30+ languages. | 3 | 6mo | MIT | -| [LingPipe](http://alias-i.com/lingpipe/) | Entity extraction, clustering, and classification toolkit. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) | NLP pipeline with coreference, SRL, and relation extraction. | 480 | 2y | +| [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) | Stanford's NLP toolkit: NER, parsing, sentiment, and coreference. | - | - | +| [DKPro](https://dkpro.github.io) | UIMA-based NLP components for tokenization, POS, and parsing. | - | - | +| [Hypherator](https://github.com/ejossev/hypherator-java) | Text hyphenation with bundled dictionaries for 30+ languages. | 3 | 6mo | +| [LingPipe](http://alias-i.com/lingpipe/) | Entity extraction, clustering, and classification toolkit. | - | - | ### Networking _Libraries for network applications._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Server-Sent Events (SSE) client implementation. | 20 | 3y | Apache-2.0 | -| [Comsat](https://github.com/puniverse/comsat) | Fiber-aware web APIs (Servlet, JAX-RS) with Quasar. | 595 | 8y | - | -| [Dubbo](https://github.com/apache/dubbo) | Alibaba's RPC framework with service discovery and load balancing. | 41.7k | 1d | Apache-2.0 | -| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework powering GlassFish with HTTP/2. | - | - | - | -| [gRPC-java](https://github.com/grpc/grpc-java) | Google's HTTP/2 RPC with streaming and deadlines. | 11.9k | 21h | Apache-2.0 | -| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Fast TCP/UDP networking with Kryo serialization. | 1.8k | 4y | BSD-3-Clause | -| [MINA](https://mina.apache.org) | Event-driven async network framework from Apache. | - | - | - | -| [Netty](https://netty.io) | Industry-standard async networking with epoll/kqueue support. | - | - | - | -| [Drift](https://github.com/airlift/drift) | Annotation-based Thrift client/server generation. | 248 | 4mo | Apache-2.0 | -| [ServiceTalk](https://github.com/apple/servicetalk) | Apple's reactive networking with HTTP/1.1, HTTP/2, and gRPC. | 1.0k | 10h | Apache-2.0 | -| [sshj](https://github.com/hierynomus/sshj) | SSH2 client for SFTP, SCP, and remote execution. | 2.6k | 8mo | Apache-2.0 | -| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Blocking/non-blocking TLS via simple ByteChannel API. | 207 | 3d | MIT | -| [Undertow](http://undertow.io) | High-performance web server with HTTP/2 and WebSocket. | - | - | - | -| [urnlib](https://github.com/slub/urnlib) | URN parsing and validation per RFC 2141/8141. | 34 | 11d | GPL-3.0 | -| [Fluency](https://github.com/komamitsu/fluency) | Async, buffered logger to Fluentd with failover. | 163 | 5d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Commons-networking](https://github.com/CiscoSE/commons-networking) | Server-Sent Events (SSE) client implementation. | 20 | 3y | +| [Comsat](https://github.com/puniverse/comsat) | Fiber-aware web APIs (Servlet, JAX-RS) with Quasar. | 595 | 8y | +| [Dubbo](https://github.com/apache/dubbo) | Alibaba's RPC framework with service discovery and load balancing. | 41.7k | 1d | +| [Grizzly](https://javaee.github.io/grizzly/) | NIO framework powering GlassFish with HTTP/2. | - | - | +| [gRPC-java](https://github.com/grpc/grpc-java) | Google's HTTP/2 RPC with streaming and deadlines. | 11.9k | 21h | +| [KryoNet](https://github.com/EsotericSoftware/kryonet) | Fast TCP/UDP networking with Kryo serialization. | 1.8k | 4y | +| [MINA](https://mina.apache.org) | Event-driven async network framework from Apache. | - | - | +| [Netty](https://netty.io) | Industry-standard async networking with epoll/kqueue support. | - | - | +| [Drift](https://github.com/airlift/drift) | Annotation-based Thrift client/server generation. | 248 | 4mo | +| [ServiceTalk](https://github.com/apple/servicetalk) | Apple's reactive networking with HTTP/1.1, HTTP/2, and gRPC. | 1.0k | 10h | +| [sshj](https://github.com/hierynomus/sshj) | SSH2 client for SFTP, SCP, and remote execution. | 2.6k | 8mo | +| [TLS Channel](https://github.com/marianobarrios/tls-channel) | Blocking/non-blocking TLS via simple ByteChannel API. | 207 | 3d | +| [Undertow](http://undertow.io) | High-performance web server with HTTP/2 and WebSocket. | - | - | +| [urnlib](https://github.com/slub/urnlib) | URN parsing and validation per RFC 2141/8141. | 34 | 11d | +| [Fluency](https://github.com/komamitsu/fluency) | Async, buffered logger to Fluentd with failover. | 163 | 5d | ### ORM _Object-relational mapping frameworks._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Cayenne](https://cayenne.apache.org) | Modeler-based ORM with lazy loading and caching. | - | - | - | -| [Doma](https://github.com/domaframework/doma) | Compile-time SQL validation with two-way SQL templates. | 494 | 3d | Apache-2.0 | -| [Ebean](https://ebean.io) | Simple ORM with query beans, JSON, and soft-delete support. | - | - | - | -| [EclipseLink](https://www.eclipse.org/eclipselink/) | JPA reference implementation with MOXy and multi-tenancy. | - | - | - | -| [Hibernate](http://hibernate.org/orm/) | Feature-rich JPA implementation with caching and search. | - | - | - | -| [MyBatis](https://github.com/mybatis/mybatis-3) | SQL mapping framework with XML or annotation config. | 20.3k | 12h | Apache-2.0 | -| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | MyBatis enhancements: CRUD, pagination, code generation. | 17.3k | 3d | Apache-2.0 | -| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord-style ORM with method chaining queries. | 1.3k | 1y | Apache-2.0 | -| [Permazen](https://github.com/permazen/permazen) | Schema-independent persistence with change tracking. | 422 | 3mo | Apache-2.0 | -| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Zero-allocation result set to POJO mapping. | 454 | 3mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Cayenne](https://cayenne.apache.org) | Modeler-based ORM with lazy loading and caching. | - | - | +| [Doma](https://github.com/domaframework/doma) | Compile-time SQL validation with two-way SQL templates. | 494 | 3d | +| [Ebean](https://ebean.io) | Simple ORM with query beans, JSON, and soft-delete support. | - | - | +| [EclipseLink](https://www.eclipse.org/eclipselink/) | JPA reference implementation with MOXy and multi-tenancy. | - | - | +| [Hibernate](http://hibernate.org/orm/) | Feature-rich JPA implementation with caching and search. | - | - | +| [MyBatis](https://github.com/mybatis/mybatis-3) | SQL mapping framework with XML or annotation config. | 20.3k | 12h | +| [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) | MyBatis enhancements: CRUD, pagination, code generation. | 17.3k | 3d | +| [ObjectiveSql](https://github.com/braisdom/ObjectiveSql) | ActiveRecord-style ORM with method chaining queries. | 1.3k | 1y | +| [Permazen](https://github.com/permazen/permazen) | Schema-independent persistence with change tracking. | 422 | 3mo | +| [SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper) | Zero-allocation result set to POJO mapping. | 454 | 3mo | ### PaaS _Java platform as a service._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) | Managed Tomcat/Jetty deployment with auto-scaling. | - | - | - | -| [AWS Lambda](https://aws.amazon.com/lambda/) | Serverless Java with SnapStart for cold starts. | - | - | - | -| [Google Cloud](https://cloud.google.com) | App Engine, Cloud Run, and GKE for Java workloads. | - | - | - | -| [Heroku](https://www.heroku.com) | Git-push deployment with buildpacks and add-ons. | - | - | - | -| [Microsoft Azure](https://azure.microsoft.com/en-us/) | App Service and Functions with Spring integration. | - | - | - | -| [OpenShift](https://www.openshift.com) | Enterprise Kubernetes with Java S2I builds. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) | Managed Tomcat/Jetty deployment with auto-scaling. | - | - | +| [AWS Lambda](https://aws.amazon.com/lambda/) | Serverless Java with SnapStart for cold starts. | - | - | +| [Google Cloud](https://cloud.google.com) | App Engine, Cloud Run, and GKE for Java workloads. | - | - | +| [Heroku](https://www.heroku.com) | Git-push deployment with buildpacks and add-ons. | - | - | +| [Microsoft Azure](https://azure.microsoft.com/en-us/) | App Service and Functions with Spring integration. | - | - | +| [OpenShift](https://www.openshift.com) | Enterprise Kubernetes with Java S2I builds. | - | - | ### Pathfinding _Algorithms for finding routes in graphs and spatial environments._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Pathetic](https://github.com/bsommerfeld/pathetic) | High-performance 3D A\* pathfinding with configurable heuristics. | 236 | 1d | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Pathetic](https://github.com/bsommerfeld/pathetic) | High-performance 3D A\* pathfinding with configurable heuristics. | 236 | 1d | ### PDF _Tools for PDF generation and manipulation._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache FOP](https://xmlgraphics.apache.org/fop/) | XSL-FO to PDF with SVG and image support. | - | - | - | -| [Apache PDFBox](https://pdfbox.apache.org) | Create, modify, extract, and sign PDFs. | - | - | - | -| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Programmatic JasperReports without XML. | - | - | - | -| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Fluent API for JasperReports with charts. | 240 | 24d | LGPL-3.0 | -| [Eclipse BIRT](https://www.eclipse.org/birt) | Visual report designer with PDF, Excel, and HTML output. | - | - | - | -| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XHTML/CSS to PDF renderer. | 2.2k | 1d | - | -| [iText](https://itextpdf.com/en) | Full-featured PDF library with forms and digital signatures. | - | - | - | -| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Enterprise reporting with charts, barcodes, and subreports. | - | - | - | -| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | HTML5/CSS3 to PDF/A with accessibility support. | 2.1k | 1y | - | -| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | LGPL iText fork with active maintenance. | 4.1k | 2mo | - | -| [Tabula](https://github.com/tabulapdf/tabula-java) | Extract tabular data from PDFs into CSV/JSON. | 2.0k | 9mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache FOP](https://xmlgraphics.apache.org/fop/) | XSL-FO to PDF with SVG and image support. | - | - | +| [Apache PDFBox](https://pdfbox.apache.org) | Create, modify, extract, and sign PDFs. | - | - | +| [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) | Programmatic JasperReports without XML. | - | - | +| [DynamicReports](https://github.com/dynamicreports/dynamicreports) | Fluent API for JasperReports with charts. | 240 | 24d | +| [Eclipse BIRT](https://www.eclipse.org/birt) | Visual report designer with PDF, Excel, and HTML output. | - | - | +| [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) | XHTML/CSS to PDF renderer. | 2.2k | 1d | +| [iText](https://itextpdf.com/en) | Full-featured PDF library with forms and digital signatures. | - | - | +| [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) | Enterprise reporting with charts, barcodes, and subreports. | - | - | +| [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) | HTML5/CSS3 to PDF/A with accessibility support. | 2.1k | 1y | +| [OpenPDF](https://github.com/LibrePDF/OpenPDF) | LGPL iText fork with active maintenance. | 4.1k | 2mo | +| [Tabula](https://github.com/tabulapdf/tabula-java) | Extract tabular data from PDFs into CSV/JSON. | 2.0k | 9mo | ### Performance analysis _Tools for profiling, benchmarking, and performance analysis._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [fastThread](https://fastthread.io) | Online thread dump analyzer with deadlock detection. | - | - | - | -| [GCeasy](https://gceasy.io) | GC log analyzer with tuning recommendations. | - | - | - | -| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | AsyncGetCallTrace-based profiler avoiding safepoint bias. | 1.3k | 2y | MIT | -| [jHiccup](https://github.com/giltene/jHiccup) | Measure JVM pauses and OS scheduling hiccups. | 696 | 1y | - | -| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Visualize HotSpot JIT compilations and inlining decisions. | 3.3k | 13d | - | -| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | OpenJDK's microbenchmark harness with warmup and statistics. | - | - | - | -| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | HDR histogram-based latency recording with pause correction. | 465 | 1y | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [fastThread](https://fastthread.io) | Online thread dump analyzer with deadlock detection. | - | - | +| [GCeasy](https://gceasy.io) | GC log analyzer with tuning recommendations. | - | - | +| [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) | AsyncGetCallTrace-based profiler avoiding safepoint bias. | 1.3k | 2y | +| [jHiccup](https://github.com/giltene/jHiccup) | Measure JVM pauses and OS scheduling hiccups. | 696 | 1y | +| [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) | Visualize HotSpot JIT compilations and inlining decisions. | 3.3k | 13d | +| [JMH](http://openjdk.java.net/projects/code-tools/jmh/) | OpenJDK's microbenchmark harness with warmup and statistics. | - | - | +| [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) | HDR histogram-based latency recording with pause correction. | 465 | 1y | ### Platform @@ -1041,220 +1026,220 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | - | -| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | - | -| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | - | -| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | - | -| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | - | -| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | - | -| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | - | -| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | - | -| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | - | -| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | - | -| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | - | -| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | - | -| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | - | -| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | - | -| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | - | -| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | - | -| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | - | -| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | - | -| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | - | -| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | - | -| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | - | -| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | - | -| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | - | -| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | - | -| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | - | -| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | - | -| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | - | -| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | - | -| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | - | -| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | - | -| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | - | -| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | - | -| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | - | -| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | - | -| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | - | -| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | - | -| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | - | -| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | - | -| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | - | -| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | - | -| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | - | -| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | - | -| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | - | -| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | - | -| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | - | -| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | - | -| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | - | -| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | - | -| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | - | -| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | - | -| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | - | -| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | - | -| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | - | -| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BCEL](http://commons.apache.org/proper/commons-bcel/) | Byte Code Engineering Library - analyze, create, and manipulate Java class files. | - | - | +| [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) | Easy-to-use wrappers around the Java reflection and introspection APIs. | - | - | +| [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) | Redesign of Commons BeanUtils. | - | - | +| [BSF](http://commons.apache.org/proper/commons-bsf/) | Bean Scripting Framework - interface to scripting languages, including JSR-223. | - | - | +| [Chain](http://commons.apache.org/proper/commons-chain/) | Chain of Responsibility pattern implementation. | - | - | +| [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) | Find Class interfaces, methods, fields, and annotations without loading. | - | - | +| [CLI](http://commons.apache.org/proper/commons-cli/) | Command-line arguments parser. | - | - | +| [CLI2](http://commons.apache.org/sandbox/commons-cli2/) | Redesign of Commons CLI. | - | - | +| [Codec](http://commons.apache.org/proper/commons-codec/) | General encoding/decoding algorithms, e.g. phonetic, base64 or URL. | - | - | +| [Collections](http://commons.apache.org/proper/commons-collections/) | Extends or augments the Java Collections Framework. | - | - | +| [Compress](http://commons.apache.org/proper/commons-compress/) | Defines an API for working with tar, zip and bzip2 files. | - | - | +| [Configuration](http://commons.apache.org/proper/commons-configuration/) | Reading of configuration/preferences files in various formats. | - | - | +| [Convert](http://commons.apache.org/sandbox/commons-convert/) | Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. | - | - | +| [CSV](http://commons.apache.org/proper/commons-csv/) | Component for reading and writing comma separated value files. | - | - | +| [Daemon](http://commons.apache.org/proper/commons-daemon/) | Alternative invocation mechanism for unix-daemon-like java code. | - | - | +| [DBCP](http://commons.apache.org/proper/commons-dbcp/) | Database connection pooling services. | - | - | +| [DbUtils](http://commons.apache.org/proper/commons-dbutils/) | JDBC helper library. | - | - | +| [Digester](http://commons.apache.org/proper/commons-digester/) | XML-to-Java-object mapping utility. | - | - | +| [Email](http://commons.apache.org/proper/commons-email/) | Library for sending e-mail from Java. | - | - | +| [Exec](http://commons.apache.org/proper/commons-exec/) | API for dealing with external process execution and environment management in Java. | - | - | +| [FileUpload](http://commons.apache.org/proper/commons-fileupload/) | File upload capability for your servlets and web applications. | - | - | +| [Finder](http://commons.apache.org/sandbox/commons-finder/) | Java library inspired by the UNIX find command. | - | - | +| [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) | Java library for working with flat data structures. | - | - | +| [Functor](http://commons.apache.org/proper/commons-functor/) | Function that can be manipulated as an object, or an object representing a single, generic function. | - | - | +| [Graph](http://commons.apache.org/sandbox/commons-graph/) | General purpose graph APIs and algorithms. | - | - | +| [I18n](http://commons.apache.org/sandbox/commons-i18n/) | Adds the feature of localized message bundles that consist of one or many localized texts that belong together. | - | - | +| [Id](http://commons.apache.org/sandbox/commons-id/) | Id is a component used to generate identifiers. | - | - | +| [Imaging](http://commons.apache.org/proper/commons-imaging/) | Image library. | - | - | +| [IO](http://commons.apache.org/proper/commons-io/) | Collection of I/O utilities. | - | - | +| [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) | Continuation implementation to capture the state of the application. | - | - | +| [JCI](http://commons.apache.org/proper/commons-jci/) | Java Compiler Interface. | - | - | +| [JCS](http://commons.apache.org/proper/commons-jcs/) | Java Caching System. | - | - | +| [Jelly](http://commons.apache.org/proper/commons-jelly/) | XML based scripting and processing engine. | - | - | +| [Jexl](http://commons.apache.org/proper/commons-jexl/) | Expression language which extends the Expression Language of the JSTL. | - | - | +| [JNet](http://commons.apache.org/sandbox/commons-jnet/) | JNet allows to use dynamically register url stream handlers through the java.net API. | - | - | +| [JXPath](http://commons.apache.org/proper/commons-jxpath/) | Utilities for manipulating Java Beans using the XPath syntax. | - | - | +| [Lang](http://commons.apache.org/proper/commons-lang/) | Provides extra functionality for classes in java.lang. | - | - | +| [Logging](https://commons.apache.org/proper/commons-logging/) | Wrapper around a variety of logging API implementations. | - | - | +| [Math](http://commons.apache.org/proper/commons-math/) | Lightweight, self-contained mathematics and statistics components. | - | - | +| [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) | Monitoring aims to provide a simple but extensible monitoring solution for Java applications. | - | - | +| [Nabla](http://commons.apache.org/sandbox/commons-nabla/) | Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. | - | - | +| [Net](http://commons.apache.org/proper/commons-net/) | Collection of network utilities and protocol implementations. | - | - | +| [OGNL](http://commons.apache.org/proper/commons-ognl/) | Object-graph navigation language. | - | - | +| [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) | Interface to signing and verifying data using OpenPGP. | - | - | +| [Performance](http://commons.apache.org/sandbox/commons-performance/) | Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. | - | - | +| [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) | Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. | - | - | +| [Pool](http://commons.apache.org/proper/commons-pool/) | Generic object pooling component. | - | - | +| [Proxy](http://commons.apache.org/proper/commons-proxy/) | Library for creating dynamic proxies. | - | - | +| [RDF](https://commons.apache.org/proper/commons-rdf/) | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | - | - | +| [RNG](https://commons.apache.org/proper/commons-rng/) | Commons Rng provides implementations of pseudo-random numbers generators. | - | - | +| [SCXML](http://commons.apache.org/proper/commons-scxml/) | Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. | - | - | +| [Validator](http://commons.apache.org/proper/commons-validator/) | Framework to define validators and validation rules in an xml file. | - | - | +| [VFS](http://commons.apache.org/proper/commons-vfs/) | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | - | - | +| [Weaver](http://commons.apache.org/proper/commons-weaver/) | Provides an easy way to enhance (weave) compiled bytecode. | - | - | #### Other -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | - | -| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | - | -| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | - | -| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [CUBA Platform](https://www.cuba-platform.com/) | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. | - | - | +| [Light-4J](https://github.com/networknt/light-4j/) | Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). | N/A | N/A | +| [Orienteer](https://github.com/OrienteerBAP/Orienteer/) | Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. | N/A | N/A | +| [Spring](https://spring.io/projects/) | Provides many packages for dependency injection, aspect-oriented programming, security, etc. | - | - | ### Processes _Libraries that help the management of operating system processes._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 1d | Apache-2.0 | -| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 6mo | Apache-2.0 | -| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec) | Convenient API around Apache Commons Exec. | 38 | 1d | +| [zt-exec](https://github.com/zeroturnaround/zt-exec) | Provides a unified API to Apache Commons Exec and ProcessBuilder. | 910 | 6mo | +| [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) | Stops processes started from Java or the system processes via PID. | 136 | 2y | ### Reactive libraries _Libraries for developing reactive applications._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [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. | 4.9k | 1y | MIT-0 | -| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 1mo | Apache-2.0 | -| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 12d | Apache-2.0 | -| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [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. | 4.9k | 1y | +| [Reactor](https://github.com/reactor/reactor) | A framework for building non-blocking applications on the JVM, providing support for reactive programming. | 3.7k | 1mo | +| [RxJava](https://github.com/ReactiveX/RxJava) | Allows for composing asynchronous and event-based programs using observable sequences. | 48.5k | 12d | +| [vert.x](https://vertx.io) | Polyglot event-driven application framework. | - | - | ### REST Frameworks _Frameworks for building RESTful services._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Dropwizard](https://github.com/dropwizard/dropwizard) | Production-ready REST with Jetty, Jersey, and Metrics. | 8.6k | 19h | Apache-2.0 | -| [Elide](https://elide.io) | JSON API/GraphQL from JPA models with security. | - | - | - | -| [Jersey](https://jersey.github.io) | JAX-RS reference implementation with DI support. | - | - | - | -| [Microserver](https://github.com/aol/micro-server) | Spring Boot microservices with 30+ plugins. | 934 | 2y | Apache-2.0 | -| [Rapidoid](https://www.rapidoid.org) | Ultra-fast HTTP server with embedded DI. | - | - | - | -| [rest.li](https://github.com/linkedin/rest.li) | LinkedIn's REST framework with typed schemas. | 2.5k | 1d | - | -| [RESTEasy](https://resteasy.github.io) | Red Hat's JAX-RS implementation with async. | - | - | - | -| [RestExpress](https://github.com/RestExpress/RestExpress) | Netty-based REST for high throughput. | 940 | 1y | Apache-2.0 | -| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Unified REST client/server with content negotiation. | 661 | 1mo | - | -| [Spark](http://sparkjava.com) | Minimalist Sinatra-style REST in Java. | - | - | - | -| [Crnk](http://www.crnk.io) | JSON API implementation with filtering and paging. | - | - | - | -| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | OpenAPI 3 docs from Spring Boot annotations. | 3.7k | 8d | Apache-2.0 | -| [Swagger](https://swagger.io) | API design, documentation, and code generation. | - | - | - | -| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Generate clients/servers from OpenAPI specs. | 25.6k | 14h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Dropwizard](https://github.com/dropwizard/dropwizard) | Production-ready REST with Jetty, Jersey, and Metrics. | 8.6k | 19h | +| [Elide](https://elide.io) | JSON API/GraphQL from JPA models with security. | - | - | +| [Jersey](https://jersey.github.io) | JAX-RS reference implementation with DI support. | - | - | +| [Microserver](https://github.com/aol/micro-server) | Spring Boot microservices with 30+ plugins. | 934 | 2y | +| [Rapidoid](https://www.rapidoid.org) | Ultra-fast HTTP server with embedded DI. | - | - | +| [rest.li](https://github.com/linkedin/rest.li) | LinkedIn's REST framework with typed schemas. | 2.5k | 1d | +| [RESTEasy](https://resteasy.github.io) | Red Hat's JAX-RS implementation with async. | - | - | +| [RestExpress](https://github.com/RestExpress/RestExpress) | Netty-based REST for high throughput. | 940 | 1y | +| [Restlet Framework](https://github.com/restlet/restlet-framework-java) | Unified REST client/server with content negotiation. | 661 | 1mo | +| [Spark](http://sparkjava.com) | Minimalist Sinatra-style REST in Java. | - | - | +| [Crnk](http://www.crnk.io) | JSON API implementation with filtering and paging. | - | - | +| [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) | OpenAPI 3 docs from Spring Boot annotations. | 3.7k | 8d | +| [Swagger](https://swagger.io) | API design, documentation, and code generation. | - | - | +| [openapi-generator](https://github.com/OpenAPITools/openapi-generator) | Generate clients/servers from OpenAPI specs. | 25.6k | 14h | ### Science _Libraries for scientific computing, analysis, and visualization._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [BioJava](https://biojava.org/) | Bioinformatics library for sequences, structures, and alignments. | - | - | - | -| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Real-time scientific charting at 25Hz with millions of points. | - | - | - | -| [DataMelt](https://datamelt.org/) | Scientific computing environment with Python/Jython. | - | - | - | -| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Graph theory algorithms for research. | 127 | 2y | MIT | -| [GraphStream](http://graphstream-project.org) | Dynamic graph modeling with visualization. | - | - | - | -| [JFreeChart](http://www.jfree.org/jfreechart/) | Comprehensive 2D charting for Swing/JavaFX. | - | - | - | -| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph algorithms: shortest path, flow, matching. | 2.7k | 15h | EPL-2.0 | -| [JGraphX](https://github.com/jgraph/jgraphx) | Interactive graph visualization (powers draw.io). | 687 | 5y | - | -| [LogicNG](https://github.com/logic-ng/LogicNG) | Boolean formula manipulation and SAT solving. | 149 | 5mo | Apache-2.0 | -| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Geophysics: seismic processing and visualization. | 82 | 4y | Apache-2.0 | -| [Morpheus](https://github.com/zavtech/morpheus-core) | DataFrame library for tabular data analysis. | 242 | 2y | Apache-2.0 | -| [Orekit](https://www.orekit.org/) | Space flight dynamics: orbit propagation and attitude. | - | - | - | -| [Orson-Charts](https://github.com/jfree/orson-charts) | Interactive 3D charts with PDF/SVG export. | 120 | 7mo | GPL-3.0 | -| [Tablesaw](https://github.com/jtablesaw/tablesaw) | In-memory DataFrame with filtering and aggregation. | 3.7k | 6mo | Apache-2.0 | -| [XChart](https://github.com/knowm/XChart) | Simple charting with minimal dependencies. | 1.6k | 2mo | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [BioJava](https://biojava.org/) | Bioinformatics library for sequences, structures, and alignments. | - | - | +| [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) | Real-time scientific charting at 25Hz with millions of points. | - | - | +| [DataMelt](https://datamelt.org/) | Scientific computing environment with Python/Jython. | - | - | +| [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) | Graph theory algorithms for research. | 127 | 2y | +| [GraphStream](http://graphstream-project.org) | Dynamic graph modeling with visualization. | - | - | +| [JFreeChart](http://www.jfree.org/jfreechart/) | Comprehensive 2D charting for Swing/JavaFX. | - | - | +| [JGraphT](https://github.com/jgrapht/jgrapht) | Graph algorithms: shortest path, flow, matching. | 2.7k | 15h | +| [JGraphX](https://github.com/jgraph/jgraphx) | Interactive graph visualization (powers draw.io). | 687 | 5y | +| [LogicNG](https://github.com/logic-ng/LogicNG) | Boolean formula manipulation and SAT solving. | 149 | 5mo | +| [Mines Java Toolkit](https://github.com/MinesJTK/jtk) | Geophysics: seismic processing and visualization. | 82 | 4y | +| [Morpheus](https://github.com/zavtech/morpheus-core) | DataFrame library for tabular data analysis. | 242 | 2y | +| [Orekit](https://www.orekit.org/) | Space flight dynamics: orbit propagation and attitude. | - | - | +| [Orson-Charts](https://github.com/jfree/orson-charts) | Interactive 3D charts with PDF/SVG export. | 120 | 7mo | +| [Tablesaw](https://github.com/jtablesaw/tablesaw) | In-memory DataFrame with filtering and aggregation. | 3.7k | 6mo | +| [XChart](https://github.com/knowm/XChart) | Simple charting with minimal dependencies. | 1.6k | 2mo | ### Search _Engines for indexing and searching documents._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Lucene](https://lucene.apache.org) | Foundation of most Java search; fast inverted indexes. | - | - | - | -| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search with faceting and clustering. | - | - | - | -| [Elasticsearch](https://www.elastic.co) | Distributed search and analytics with REST API. | - | - | - | -| [Indexer4j](https://github.com/haeungun/indexer4j) | Lightweight in-memory full-text search. | 56 | 6y | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Lucene](https://lucene.apache.org) | Foundation of most Java search; fast inverted indexes. | - | - | +| [Apache Solr](https://lucene.apache.org/solr/) | Enterprise search with faceting and clustering. | - | - | +| [Elasticsearch](https://www.elastic.co) | Distributed search and analytics with REST API. | - | - | +| [Indexer4j](https://github.com/haeungun/indexer4j) | Lightweight in-memory full-text search. | 56 | 6y | ### Security _Libraries for authentication, authorization, and cryptography._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Shiro](https://shiro.apache.org) | Framework-agnostic security with auth, crypto, and sessions. | - | - | - | -| [Ayza](https://github.com/Hakky54/ayza) | Fluent SSL/TLS configuration for HTTP clients and servers. | 565 | 8d | Apache-2.0 | -| [Bouncy Castle](https://www.bouncycastle.org/java.html) | Comprehensive crypto library with FIPS-certified provider. | - | - | - | -| [DependencyCheck](https://github.com/jeremylong/DependencyCheck) | OWASP tool detecting vulnerable dependencies via NVD. | 40 | 3mo | Apache-2.0 | -| [Cryptomator](https://cryptomator.org) | Client-side encryption for cloud storage with WebDAV. | - | - | - | -| [Hdiv](https://github.com/hdiv/hdiv) | Runtime protection against OWASP Top 10 attacks. | 219 | 1y | - | -| [jjwt](https://github.com/jwtk/jjwt) | JWT creation and verification with JWS/JWE support. | 11.0k | 2mo | Apache-2.0 | -| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Fluent JWT API with custom claim validation. | 14 | 5mo | MIT | -| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JWKS endpoint client with key caching. | 204 | 1mo | MIT | -| [Kalium](https://github.com/abstractj/kalium) | NaCl/libsodium bindings for modern crypto primitives. | 218 | 2y | Apache-2.0 | -| [Keycloak](https://www.keycloak.org) | Open-source IAM with OIDC, SAML, and social login. | - | - | - | -| [Keywhiz](https://github.com/square/keywhiz) | Square's secret management with ACLs and audit logs. | 2.6k | 2y | Apache-2.0 | -| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Password strength estimator using pattern matching. | 308 | 4mo | MIT | -| [OACC](http://oaccframework.org) | Fine-grained permission-based access control framework. | - | - | - | -| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Enterprise access management with SSO and federation. | 860 | 9d | - | -| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | TOTP/HOTP one-time password generation per RFC specs. | 231 | 1y | MIT | -| [pac4j](https://github.com/pac4j/pac4j) | Multi-protocol security engine for OAuth, SAML, CAS. | 2.5k | 6h | Apache-2.0 | -| [Passay](http://www.passay.org/) | Password policy enforcement with configurable rules. | - | - | - | -| [Password4j](https://github.com/Password4j/password4j) | Password hashing with Argon2, BCrypt, SCrypt, and PBKDF2. | 399 | 4mo | Apache-2.0 | -| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent builders for X.509, keystores, and TLS contexts. | 47 | 4y | Apache-2.0 | -| [Themis](https://github.com/cossacklabs/themis) | High-level crypto for secure messaging and storage. | 1.9k | 19h | Apache-2.0 | -| [Tink](https://github.com/google/tink) | Google's misuse-resistant crypto API with key management. | - | - | - | -| [Topaz](https://www.topaz.sh) | Authorization service with RBAC, ABAC, and relationship-based AC. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Shiro](https://shiro.apache.org) | Framework-agnostic security with auth, crypto, and sessions. | - | - | +| [Ayza](https://github.com/Hakky54/ayza) | Fluent SSL/TLS configuration for HTTP clients and servers. | 565 | 8d | +| [Bouncy Castle](https://www.bouncycastle.org/java.html) | Comprehensive crypto library with FIPS-certified provider. | - | - | +| [DependencyCheck](https://github.com/jeremylong/DependencyCheck) | OWASP tool detecting vulnerable dependencies via NVD. | 40 | 3mo | +| [Cryptomator](https://cryptomator.org) | Client-side encryption for cloud storage with WebDAV. | - | - | +| [Hdiv](https://github.com/hdiv/hdiv) | Runtime protection against OWASP Top 10 attacks. | 219 | 1y | +| [jjwt](https://github.com/jwtk/jjwt) | JWT creation and verification with JWS/JWE support. | 11.0k | 2mo | +| [jwt-java](https://github.com/BastiaanJansen/jwt-java) | Fluent JWT API with custom claim validation. | 14 | 5mo | +| [Jwks RSA](https://github.com/auth0/jwks-rsa-java) | JWKS endpoint client with key caching. | 204 | 1mo | +| [Kalium](https://github.com/abstractj/kalium) | NaCl/libsodium bindings for modern crypto primitives. | 218 | 2y | +| [Keycloak](https://www.keycloak.org) | Open-source IAM with OIDC, SAML, and social login. | - | - | +| [Keywhiz](https://github.com/square/keywhiz) | Square's secret management with ACLs and audit logs. | 2.6k | 2y | +| [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) | Password strength estimator using pattern matching. | 308 | 4mo | +| [OACC](http://oaccframework.org) | Fine-grained permission-based access control framework. | - | - | +| [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) | Enterprise access management with SSO and federation. | 860 | 9d | +| [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) | TOTP/HOTP one-time password generation per RFC specs. | 231 | 1y | +| [pac4j](https://github.com/pac4j/pac4j) | Multi-protocol security engine for OAuth, SAML, CAS. | 2.5k | 6h | +| [Passay](http://www.passay.org/) | Password policy enforcement with configurable rules. | - | - | +| [Password4j](https://github.com/Password4j/password4j) | Password hashing with Argon2, BCrypt, SCrypt, and PBKDF2. | 399 | 4mo | +| [SecurityBuilder](https://github.com/tersesystems/securitybuilder) | Fluent builders for X.509, keystores, and TLS contexts. | 47 | 4y | +| [Themis](https://github.com/cossacklabs/themis) | High-level crypto for secure messaging and storage. | 1.9k | 19h | +| [Tink](https://github.com/google/tink) | Google's misuse-resistant crypto API with key management. | - | - | +| [Topaz](https://www.topaz.sh) | Authorization service with RBAC, ABAC, and relationship-based AC. | - | - | ### Serialization _High-efficiency serialization libraries._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [FlatBuffers](https://github.com/google/flatbuffers) | Zero-copy access to serialized data without parsing. | 25.4k | 19d | Apache-2.0 | -| [FST](https://github.com/RuedigerMoeller/fast-serialization) | 10x faster than JDK serialization with drop-in replacement. | 1.6k | 2y | Apache-2.0 | -| [Fury](https://github.com/alipay/fury) | JIT-accelerated serialization with cross-language support. | - | - | - | -| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast, compact object graph serialization for games and caching. | 6.5k | 19d | BSD-3-Clause | -| [MessagePack](https://github.com/msgpack/msgpack-java) | Compact binary format smaller than JSON. | 1.5k | 4d | Apache-2.0 | -| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serialize Java objects to PHP format for interop. | 19 | 7y | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [FlatBuffers](https://github.com/google/flatbuffers) | Zero-copy access to serialized data without parsing. | 25.4k | 19d | +| [FST](https://github.com/RuedigerMoeller/fast-serialization) | 10x faster than JDK serialization with drop-in replacement. | 1.6k | 2y | +| [Fury](https://github.com/alipay/fury) | JIT-accelerated serialization with cross-language support. | - | - | +| [Kryo](https://github.com/EsotericSoftware/kryo) | Fast, compact object graph serialization for games and caching. | 6.5k | 19d | +| [MessagePack](https://github.com/msgpack/msgpack-java) | Compact binary format smaller than JSON. | 1.5k | 4d | +| [PHP Serializer](https://github.com/marcospassos/java-php-serializer) | Serialize Java objects to PHP format for interop. | 19 | 7y | ### Server _Application servers for deployment._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Tomcat](https://tomcat.apache.org) | Reference Servlet container with virtual hosts and clustering. | - | - | - | -| [Apache TomEE](https://tomee.apache.org) | Tomcat with Jakarta EE (CDI, JPA, JAX-RS) baked in. | - | - | - | -| [Jetty](https://www.eclipse.org/jetty/) | Lightweight, embeddable server with HTTP/2 and WebSocket. | - | - | - | -| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny embeddable HTTP server in one Java file. | 7.2k | 2y | BSD-3-Clause | -| [WildFly](https://www.wildfly.org) | Full Jakarta EE server with modular architecture. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Tomcat](https://tomcat.apache.org) | Reference Servlet container with virtual hosts and clustering. | - | - | +| [Apache TomEE](https://tomee.apache.org) | Tomcat with Jakarta EE (CDI, JPA, JAX-RS) baked in. | - | - | +| [Jetty](https://www.eclipse.org/jetty/) | Lightweight, embeddable server with HTTP/2 and WebSocket. | - | - | +| [nanohttpd](https://github.com/NanoHttpd/nanohttpd) | Tiny embeddable HTTP server in one Java file. | 7.2k | 2y | +| [WildFly](https://www.wildfly.org) | Full Jakarta EE server with modular architecture. | - | - | ### Template Engine _Tools for text generation from templates._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Freemarker](https://freemarker.apache.org) | Powerful templating with macros, includes, and auto-escaping. | - | - | - | -| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logic-less Mustache templates with helpers. | - | - | - | -| [Jade4J](https://github.com/neuland/jade4j) | Pug/Jade template engine for concise HTML. | 706 | 3y | MIT | -| [Jamal](https://github.com/verhas/jamal) | Macro processor for Maven/Javadoc with Groovy and JShell. | 65 | 8mo | Apache-2.0 | -| [jstachio](https://github.com/jstachio/jstachio) | Compile-time Mustache with type-safe binding. | 315 | 9mo | BSD-3-Clause | -| [jte](https://github.com/casid/jte) | Fast, compiled templates with IntelliJ plugin support. | 1.1k | 4d | Apache-2.0 | -| [Jtwig](https://github.com/jtwig/jtwig) | Twig-inspired engine with inheritance and macros. | 300 | 7y | - | -| [Pebble](https://pebbletemplates.io) | Twig-like templates with inheritance, i18n, and autoescaping. | - | - | - | -| [Rocker](https://github.com/fizzed/rocker) | Type-safe templates compiling to optimized Java code. | 781 | 2mo | - | -| [StringTemplate](https://github.com/antlr/stringtemplate4) | ANTLR's template engine for code generation. | 1.0k | 8mo | - | -| [Thymeleaf](https://www.thymeleaf.org) | Natural templates that work as HTML prototypes. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Freemarker](https://freemarker.apache.org) | Powerful templating with macros, includes, and auto-escaping. | - | - | +| [Handlebars.java](https://jknack.github.io/handlebars.java/) | Logic-less Mustache templates with helpers. | - | - | +| [Jade4J](https://github.com/neuland/jade4j) | Pug/Jade template engine for concise HTML. | 706 | 3y | +| [Jamal](https://github.com/verhas/jamal) | Macro processor for Maven/Javadoc with Groovy and JShell. | 65 | 8mo | +| [jstachio](https://github.com/jstachio/jstachio) | Compile-time Mustache with type-safe binding. | 315 | 9mo | +| [jte](https://github.com/casid/jte) | Fast, compiled templates with IntelliJ plugin support. | 1.1k | 4d | +| [Jtwig](https://github.com/jtwig/jtwig) | Twig-inspired engine with inheritance and macros. | 300 | 7y | +| [Pebble](https://pebbletemplates.io) | Twig-like templates with inheritance, i18n, and autoescaping. | - | - | +| [Rocker](https://github.com/fizzed/rocker) | Type-safe templates compiling to optimized Java code. | 781 | 2mo | +| [StringTemplate](https://github.com/antlr/stringtemplate4) | ANTLR's template engine for code generation. | 1.0k | 8mo | +| [Thymeleaf](https://www.thymeleaf.org) | Natural templates that work as HTML prototypes. | - | - | ### Testing @@ -1264,274 +1249,193 @@ _Tools for testing from model to view._ _Tools for testing asynchronous services._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | Fluent DSL for polling until async conditions are met. | 4.0k | 10mo | Apache-2.0 | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Test multi-threaded code with assertions from any thread. | 427 | 1y | Apache-2.0 | -| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | Embedded SMTP/POP3/IMAP server for email testing. | - | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | HTTP service virtualization with record/playback. | 174 | 21d | Apache-2.0 | -| [Karate](https://github.com/intuit/karate) | BDD API testing with mocks, perf tests, and JSON/XML assertions. | - | - | - | -| [REST Assured](https://github.com/rest-assured/rest-assured) | Fluent API for testing REST services with JSON/XML validation. | 7.1k | 22d | Apache-2.0 | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Unified testing: REST, GraphQL, browser, CLI, and database. | 379 | 10d | Apache-2.0 | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Awaitility](https://github.com/awaitility/awaitility) | Fluent DSL for polling until async conditions are met. | 4.0k | 10mo | Apache-2.0 | -| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Test multi-threaded code with assertions from any thread. | 427 | 1y | Apache-2.0 | -| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | Embedded SMTP/POP3/IMAP server for email testing. | - | - | - | -| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | HTTP service virtualization with record/playback. | 174 | 21d | Apache-2.0 | -| [Karate](https://github.com/intuit/karate) | BDD API testing with mocks, perf tests, and JSON/XML assertions. | - | - | - | -| [REST Assured](https://github.com/rest-assured/rest-assured) | Fluent API for testing REST services with JSON/XML validation. | 7.1k | 22d | Apache-2.0 | -| [WebTau](https://github.com/testingisdocumenting/webtau) | Unified testing: REST, GraphQL, browser, CLI, and database. | 379 | 10d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Awaitility](https://github.com/awaitility/awaitility) | Fluent DSL for polling until async conditions are met. | 4.0k | 10mo | +| [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) | Test multi-threaded code with assertions from any thread. | 427 | 1y | +| [GreenMail](https://greenmail-mail-test.github.io/greenmail/) | Embedded SMTP/POP3/IMAP server for email testing. | - | - | +| [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) | HTTP service virtualization with record/playback. | 174 | 21d | +| [Karate](https://github.com/intuit/karate) | BDD API testing with mocks, perf tests, and JSON/XML assertions. | - | - | +| [REST Assured](https://github.com/rest-assured/rest-assured) | Fluent API for testing REST services with JSON/XML validation. | 7.1k | 22d | +| [WebTau](https://github.com/testingisdocumenting/webtau) | Unified testing: REST, GraphQL, browser, CLI, and database. | 379 | 10d | #### BDD _Behavior-driven development testing frameworks._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Gherkin specs with step definitions in Java. | 2.8k | 3d | MIT | -| [Cukes-REST](https://github.com/ctco/cukes) | Cucumber steps for REST API testing. | 110 | 7mo | Apache-2.0 | -| [J8Spec](https://github.com/j8spec/j8spec) | Jasmine/RSpec-style specs with lambda syntax. | 48 | 3y | MIT | -| [JBehave](https://jbehave.org) | Story-driven BDD with narrative format. | - | - | - | -| [JGiven](http://jgiven.org) | Fluent BDD with readable HTML reports. | - | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Expressive specs using lambdas and natural language. | 253 | 3y | MIT | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Living documentation with Cucumber/JUnit integration. | 744 | 2d | - | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Gherkin specs with step definitions in Java. | 2.8k | 3d | MIT | -| [Cukes-REST](https://github.com/ctco/cukes) | Cucumber steps for REST API testing. | 110 | 7mo | Apache-2.0 | -| [J8Spec](https://github.com/j8spec/j8spec) | Jasmine/RSpec-style specs with lambda syntax. | 48 | 3y | MIT | -| [JBehave](https://jbehave.org) | Story-driven BDD with narrative format. | - | - | - | -| [JGiven](http://jgiven.org) | Fluent BDD with readable HTML reports. | - | - | - | -| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Expressive specs using lambdas and natural language. | 253 | 3y | MIT | -| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Living documentation with Cucumber/JUnit integration. | 744 | 2d | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cucumber](https://github.com/cucumber/cucumber-jvm) | Gherkin specs with step definitions in Java. | 2.8k | 3d | +| [Cukes-REST](https://github.com/ctco/cukes) | Cucumber steps for REST API testing. | 110 | 7mo | +| [J8Spec](https://github.com/j8spec/j8spec) | Jasmine/RSpec-style specs with lambda syntax. | 48 | 3y | +| [JBehave](https://jbehave.org) | Story-driven BDD with narrative format. | - | - | +| [JGiven](http://jgiven.org) | Fluent BDD with readable HTML reports. | - | - | +| [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) | Expressive specs using lambdas and natural language. | 253 | 3y | +| [Serenity BDD](https://github.com/serenity-bdd/serenity-core) | Living documentation with Cucumber/JUnit integration. | 744 | 2d | #### Fixtures _Test data generation and fixtures._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | JUnit 5 extension for automatic test parameter generation. | 368 | 3mo | MIT | -| [Beanmother](https://github.com/keepcosmos/beanmother) | YAML-based fixture factory for test objects. | 121 | 3y | Apache-2.0 | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern faker with 200+ data providers and locales. | 1.7k | 30m | Apache-2.0 | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Template-based test object builder. | 446 | 2y | Apache-2.0 | -| [jFairy](https://github.com/Devskiller/jfairy) | Realistic fake data (names, addresses, companies). | - | - | - | -| [Instancio](https://github.com/instancio/instancio) | Generate fully-populated objects with reproducible seeds. | 1.1k | 3h | Apache-2.0 | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | Repeatable randomized tests with seed control. | 180 | 10mo | Apache-2.0 | -| [Java Faker](https://github.com/DiUS/java-faker) | Ruby Faker port with extensive data types. | 4.9k | 1y | - | -| [Mockneat](https://github.com/nomemory/mockneat) | Fluent fake data API with constrained generators. | 536 | 2y | Apache-2.0 | -| [JMock](https://github.com/xcancloud/JMock) | High-performance mock data generation library. | 422 | 2mo | Apache-2.0 | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AutoParams](https://github.com/AutoParams/AutoParams) | JUnit 5 extension for automatic test parameter generation. | 368 | 3mo | MIT | -| [Beanmother](https://github.com/keepcosmos/beanmother) | YAML-based fixture factory for test objects. | 121 | 3y | Apache-2.0 | -| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern faker with 200+ data providers and locales. | 1.7k | 30m | Apache-2.0 | -| [Fixture Factory](https://github.com/six2six/fixture-factory) | Template-based test object builder. | 446 | 2y | Apache-2.0 | -| [jFairy](https://github.com/Devskiller/jfairy) | Realistic fake data (names, addresses, companies). | - | - | - | -| [Instancio](https://github.com/instancio/instancio) | Generate fully-populated objects with reproducible seeds. | 1.1k | 3h | Apache-2.0 | -| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | Repeatable randomized tests with seed control. | 180 | 10mo | Apache-2.0 | -| [Java Faker](https://github.com/DiUS/java-faker) | Ruby Faker port with extensive data types. | 4.9k | 1y | - | -| [Mockneat](https://github.com/nomemory/mockneat) | Fluent fake data API with constrained generators. | 536 | 2y | Apache-2.0 | -| [JMock](https://github.com/xcancloud/JMock) | High-performance mock data generation library. | 422 | 2mo | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AutoParams](https://github.com/AutoParams/AutoParams) | JUnit 5 extension for automatic test parameter generation. | 368 | 3mo | +| [Beanmother](https://github.com/keepcosmos/beanmother) | YAML-based fixture factory for test objects. | 121 | 3y | +| [Datafaker](https://github.com/datafaker-net/datafaker) | Modern faker with 200+ data providers and locales. | 1.7k | 30m | +| [Fixture Factory](https://github.com/six2six/fixture-factory) | Template-based test object builder. | 446 | 2y | +| [jFairy](https://github.com/Devskiller/jfairy) | Realistic fake data (names, addresses, companies). | - | - | +| [Instancio](https://github.com/instancio/instancio) | Generate fully-populated objects with reproducible seeds. | 1.1k | 3h | +| [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) | Repeatable randomized tests with seed control. | 180 | 10mo | +| [Java Faker](https://github.com/DiUS/java-faker) | Ruby Faker port with extensive data types. | 4.9k | 1y | +| [Mockneat](https://github.com/nomemory/mockneat) | Fluent fake data API with constrained generators. | 536 | 2y | +| [JMock](https://github.com/xcancloud/JMock) | High-performance mock data generation library. | 422 | 2mo | #### Frameworks _Test execution environments and frameworks._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache JMeter](http://jmeter.apache.org) | Load testing with GUI and distributed execution. | - | - | - | -| [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) | Programmatic JMeter tests with fluent Java API. | - | - | - | -| [Arquillian](http://arquillian.org) | Integration testing with container lifecycle management. | - | - | - | -| [cdi-test](https://github.com/guhilling/cdi-test) | Lightweight CDI testing without full container. | 27 | 3d | Apache-2.0 | -| [Citrus](https://citrusframework.org) | Integration testing for HTTP, JMS, SOAP, and Kafka. | - | - | - | -| [Gatling](https://gatling.io) | Scala-based load testing with detailed HTML reports. | - | - | - | -| [JUnit](https://junit.org/junit5/) | The standard Java testing framework with extensions. | - | - | - | -| [jqwik](https://jqwik.net) | Property-based testing with shrinking on JUnit 5. | - | - | - | -| [Pact JVM](https://github.com/DiUS/pact-jvm) | Contract testing for microservices compatibility. | - | - | - | -| [PIT](http://pitest.org) | Mutation testing measuring test suite quality. | - | - | - | -| [weld-testing](https://github.com/weld/weld-testing) | CDI test extensions for JUnit 4/5 and Spock. | 112 | 5d | Apache-2.0 | -| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation for web application testing. | 33.9k | 8h | Apache-2.0 | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache JMeter](http://jmeter.apache.org) | Load testing with GUI and distributed execution. | - | - | - | -| [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) | Programmatic JMeter tests with fluent Java API. | - | - | - | -| [Arquillian](http://arquillian.org) | Integration testing with container lifecycle management. | - | - | - | -| [cdi-test](https://github.com/guhilling/cdi-test) | Lightweight CDI testing without full container. | 27 | 3d | Apache-2.0 | -| [Citrus](https://citrusframework.org) | Integration testing for HTTP, JMS, SOAP, and Kafka. | - | - | - | -| [Gatling](https://gatling.io) | Scala-based load testing with detailed HTML reports. | - | - | - | -| [JUnit](https://junit.org/junit5/) | The standard Java testing framework with extensions. | - | - | - | -| [jqwik](https://jqwik.net) | Property-based testing with shrinking on JUnit 5. | - | - | - | -| [Pact JVM](https://github.com/DiUS/pact-jvm) | Contract testing for microservices compatibility. | - | - | - | -| [PIT](http://pitest.org) | Mutation testing measuring test suite quality. | - | - | - | -| [weld-testing](https://github.com/weld/weld-testing) | CDI test extensions for JUnit 4/5 and Spock. | 112 | 5d | Apache-2.0 | -| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation for web application testing. | 33.9k | 8h | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache JMeter](http://jmeter.apache.org) | Load testing with GUI and distributed execution. | - | - | +| [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) | Programmatic JMeter tests with fluent Java API. | - | - | +| [Arquillian](http://arquillian.org) | Integration testing with container lifecycle management. | - | - | +| [cdi-test](https://github.com/guhilling/cdi-test) | Lightweight CDI testing without full container. | 27 | 3d | +| [Citrus](https://citrusframework.org) | Integration testing for HTTP, JMS, SOAP, and Kafka. | - | - | +| [Gatling](https://gatling.io) | Scala-based load testing with detailed HTML reports. | - | - | +| [JUnit](https://junit.org/junit5/) | The standard Java testing framework with extensions. | - | - | +| [jqwik](https://jqwik.net) | Property-based testing with shrinking on JUnit 5. | - | - | +| [Pact JVM](https://github.com/DiUS/pact-jvm) | Contract testing for microservices compatibility. | - | - | +| [PIT](http://pitest.org) | Mutation testing measuring test suite quality. | - | - | +| [weld-testing](https://github.com/weld/weld-testing) | CDI test extensions for JUnit 4/5 and Spock. | 112 | 5d | +| [selenium](https://github.com/SeleniumHQ/selenium) | Browser automation for web application testing. | 33.9k | 8h | #### Matchers _Custom assertion and matcher libraries._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions with IDE auto-completion. | - | - | - | -| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Composable matchers for expressive assertions. | - | - | - | -| [JSONAssert](http://jsonassert.skyscreamer.org) | JSON comparison with strict/lenient modes. | - | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | JSON assertions with path ignoring and regex. | 975 | 1d | Apache-2.0 | -| [Truth](https://truth.dev) | Google's extensible assertion framework. | - | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | XML comparison with diff and XPath assertions. | 314 | 2mo | Apache-2.0 | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions with IDE auto-completion. | - | - | - | -| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Composable matchers for expressive assertions. | - | - | - | -| [JSONAssert](http://jsonassert.skyscreamer.org) | JSON comparison with strict/lenient modes. | - | - | - | -| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | JSON assertions with path ignoring and regex. | 975 | 1d | Apache-2.0 | -| [Truth](https://truth.dev) | Google's extensible assertion framework. | - | - | - | -| [XMLUnit](https://github.com/xmlunit/xmlunit) | XML comparison with diff and XPath assertions. | 314 | 2mo | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [AssertJ](https://joel-costigliola.github.io/assertj/) | Fluent assertions with IDE auto-completion. | - | - | +| [Hamcrest](http://hamcrest.org/JavaHamcrest/) | Composable matchers for expressive assertions. | - | - | +| [JSONAssert](http://jsonassert.skyscreamer.org) | JSON comparison with strict/lenient modes. | - | - | +| [JsonUnit](https://github.com/lukas-krecan/JsonUnit) | JSON assertions with path ignoring and regex. | 975 | 1d | +| [Truth](https://truth.dev) | Google's extensible assertion framework. | - | - | +| [XMLUnit](https://github.com/xmlunit/xmlunit) | XML comparison with diff and XPath assertions. | 314 | 2mo | #### Testing Miscellaneous _Other testing utilities._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Capture stdout/stderr for assertion. | 33 | 18d | Apache-2.0 | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-style parameterized tests for JUnit. | 249 | 3d | Apache-2.0 | -| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extensions: environment variables, temp dirs, etc. | - | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Capture and assert log messages in tests. | 421 | 18d | Apache-2.0 | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | AssertJ-style log assertions with MDC support. | 15 | 1mo | MIT | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Verify class immutability at test time. | 241 | 3mo | Apache-2.0 | -| [pojo-tester](https://www.pojo.pl) | Auto-test equals, hashCode, toString, getters/setters. | - | - | - | -| [raml-tester](https://github.com/nidi3/raml-tester) | Validate API requests/responses against RAML specs. | 73 | 6y | Apache-2.0 | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing with inline or file-based snapshots. | 88 | 14h | Apache-2.0 | -| [Stebz](https://github.com/stebz/stebz) | Step-based test organization framework. | 17 | 3d | MIT | -| [Testcontainers](https://github.com/testcontainers/testcontainers-java) | Disposable Docker containers for DBs, browsers, and services. | 8.6k | 8d | MIT | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Capture stdout/stderr for assertion. | 33 | 18d | Apache-2.0 | -| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-style parameterized tests for JUnit. | 249 | 3d | Apache-2.0 | -| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extensions: environment variables, temp dirs, etc. | - | - | - | -| [LogCaptor](https://github.com/Hakky54/log-captor) | Capture and assert log messages in tests. | 421 | 18d | Apache-2.0 | -| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | AssertJ-style log assertions with MDC support. | 15 | 1mo | MIT | -| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Verify class immutability at test time. | 241 | 3mo | Apache-2.0 | -| [pojo-tester](https://www.pojo.pl) | Auto-test equals, hashCode, toString, getters/setters. | - | - | - | -| [raml-tester](https://github.com/nidi3/raml-tester) | Validate API requests/responses against RAML specs. | 73 | 6y | Apache-2.0 | -| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing with inline or file-based snapshots. | 88 | 14h | Apache-2.0 | -| [Stebz](https://github.com/stebz/stebz) | Step-based test organization framework. | 17 | 3d | MIT | -| [Testcontainers](https://github.com/testcontainers/testcontainers-java) | Disposable Docker containers for DBs, browsers, and services. | 8.6k | 8d | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ConsoleCaptor](https://github.com/Hakky54/console-captor) | Capture stdout/stderr for assertion. | 33 | 18d | +| [junit-dataprovider](https://github.com/TNG/junit-dataprovider) | TestNG-style parameterized tests for JUnit. | 249 | 3d | +| [junit-pioneer](https://junit-pioneer.org/) | JUnit 5 extensions: environment variables, temp dirs, etc. | - | - | +| [LogCaptor](https://github.com/Hakky54/log-captor) | Capture and assert log messages in tests. | 421 | 18d | +| [log-capture](https://github.com/dm-drogeriemarkt/log-capture) | AssertJ-style log assertions with MDC support. | 15 | 1mo | +| [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) | Verify class immutability at test time. | 241 | 3mo | +| [pojo-tester](https://www.pojo.pl) | Auto-test equals, hashCode, toString, getters/setters. | - | - | +| [raml-tester](https://github.com/nidi3/raml-tester) | Validate API requests/responses against RAML specs. | 73 | 6y | +| [Selfie](https://github.com/diffplug/selfie) | Snapshot testing with inline or file-based snapshots. | 88 | 14h | +| [Stebz](https://github.com/stebz/stebz) | Step-based test organization framework. | 17 | 3d | +| [Testcontainers](https://github.com/testcontainers/testcontainers-java) | Disposable Docker containers for DBs, browsers, and services. | 8.6k | 8d | #### Mocking _Mock frameworks for isolated unit testing._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [JMockit](http://jmockit.github.io) | Full mocking with expectations, verifications, and coverage. | - | - | - | -| [Mockito](https://github.com/mockito/mockito) | Clean, readable mocking with spy and argument capture. | 15.4k | 4d | MIT | -| [MockServer](https://www.mock-server.com) | HTTP/HTTPS mock server with expectation matching. | - | - | - | -| [Moco](https://github.com/dreamhead/moco) | Standalone mock server with simple JSON config. | 4.4k | 1y | MIT | -| [PowerMock](https://github.com/powermock/powermock) | Mock statics, constructors, and final classes. | 4.2k | 2y | Apache-2.0 | -| [WireMock](http://wiremock.org) | HTTP service simulator with record/playback and fault injection. | - | - | - | -| [EasyMock](https://github.com/easymock/easymock) | Record/replay mocking with nice/strict modes. | 831 | 4d | - | - -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [JMockit](http://jmockit.github.io) | Full mocking with expectations, verifications, and coverage. | - | - | - | -| [Mockito](https://github.com/mockito/mockito) | Clean, readable mocking with spy and argument capture. | 15.4k | 4d | MIT | -| [MockServer](https://www.mock-server.com) | HTTP/HTTPS mock server with expectation matching. | - | - | - | -| [Moco](https://github.com/dreamhead/moco) | Standalone mock server with simple JSON config. | 4.4k | 1y | MIT | -| [PowerMock](https://github.com/powermock/powermock) | Mock statics, constructors, and final classes. | 4.2k | 2y | Apache-2.0 | -| [WireMock](http://wiremock.org) | HTTP service simulator with record/playback and fault injection. | - | - | - | -| [EasyMock](https://github.com/easymock/easymock) | Record/replay mocking with nice/strict modes. | 831 | 4d | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [JMockit](http://jmockit.github.io) | Full mocking with expectations, verifications, and coverage. | - | - | +| [Mockito](https://github.com/mockito/mockito) | Clean, readable mocking with spy and argument capture. | 15.4k | 4d | +| [MockServer](https://www.mock-server.com) | HTTP/HTTPS mock server with expectation matching. | - | - | +| [Moco](https://github.com/dreamhead/moco) | Standalone mock server with simple JSON config. | 4.4k | 1y | +| [PowerMock](https://github.com/powermock/powermock) | Mock statics, constructors, and final classes. | 4.2k | 2y | +| [WireMock](http://wiremock.org) | HTTP service simulator with record/playback and fault injection. | - | - | +| [EasyMock](https://github.com/easymock/easymock) | Record/replay mocking with nice/strict modes. | 831 | 4d | ### Utility _General utility libraries._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Arthas](https://github.com/alibaba/arthas) | Production diagnostics: class decompile, trace, and profiling live. | 37.0k | 26m | Apache-2.0 | -| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Token bucket rate limiter with distributed support. | - | - | - | -| [cactoos](https://github.com/yegor256/cactoos) | Object-oriented primitives avoiding nulls and statics. | 763 | 1d | MIT | -| [Chocotea](https://github.com/cleopatra27/chocotea) | Generate Postman collections from annotated Java code. | 48 | 2y | Apache-2.0 | -| [CRaSH](http://www.crashub.org) | SSH shell into running JVMs for inspection. | - | - | - | -| [Dex](https://github.com/PatMartin/Dex) | Data visualization and ETL with JavaFX. | 1.3k | 6y | Apache-2.0 | -| [dregex](https://github.com/marianobarrios/dregex) | DFA-based regex with set operations and linear time. | 48 | 3d | BSD-2-Clause | -| [Embulk](https://github.com/embulk/embulk) | Bulk data loader for DBs, S3, and file formats. | 1.8k | 1mo | Apache-2.0 | -| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Simplified file system watching wrapper. | 31 | 7d | Apache-2.0 | -| [Gephi](https://github.com/gephi/gephi) | Network graph visualization and analysis tool. | 6.3k | 13h | GPL-3.0 | -| [Guava](https://github.com/google/guava) | Google's core libraries: collections, caching, I/O, and more. | 51.4k | 11h | Apache-2.0 | -| [JADE](https://jade.tilab.com) | Multi-agent system framework with FIPA compliance. | - | - | - | -| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | GitHub Action for auto-publishing Javadoc. | 55 | 1mo | Apache-2.0 | -| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Unified diff, patch, and merge utilities. | - | - | - | -| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Readable regex builder with fluent API. | 2.6k | 9d | MIT | -| [JGit](https://www.eclipse.org/jgit/) | Pure Java Git implementation used by Eclipse. | - | - | - | -| [JKScope](https://github.com/evpl/jkscope) | Kotlin-style scope functions (let, also, run) for Java. | 21 | 11mo | Apache-2.0 | -| [minio-java](https://github.com/minio/minio-java) | S3-compatible object storage client. | 1.3k | 25d | Apache-2.0 | -| [Protégé](https://protege.stanford.edu) | Ontology editor for OWL and knowledge graphs. | - | - | - | -| [Semver4j](https://github.com/semver4j/semver4j) | Semantic versioning parsing and comparison. | 106 | 1d | MIT | -| [Underscore-java](https://github.com/javadev/underscore-java) | Functional utilities: map, filter, reduce, and more. | 547 | 1mo | MIT | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Arthas](https://github.com/alibaba/arthas) | Production diagnostics: class decompile, trace, and profiling live. | 37.0k | 26m | +| [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) | Token bucket rate limiter with distributed support. | - | - | +| [cactoos](https://github.com/yegor256/cactoos) | Object-oriented primitives avoiding nulls and statics. | 763 | 1d | +| [Chocotea](https://github.com/cleopatra27/chocotea) | Generate Postman collections from annotated Java code. | 48 | 2y | +| [CRaSH](http://www.crashub.org) | SSH shell into running JVMs for inspection. | - | - | +| [Dex](https://github.com/PatMartin/Dex) | Data visualization and ETL with JavaFX. | 1.3k | 6y | +| [dregex](https://github.com/marianobarrios/dregex) | DFA-based regex with set operations and linear time. | 48 | 3d | +| [Embulk](https://github.com/embulk/embulk) | Bulk data loader for DBs, S3, and file formats. | 1.8k | 1mo | +| [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) | Simplified file system watching wrapper. | 31 | 7d | +| [Gephi](https://github.com/gephi/gephi) | Network graph visualization and analysis tool. | 6.3k | 13h | +| [Guava](https://github.com/google/guava) | Google's core libraries: collections, caching, I/O, and more. | 51.4k | 11h | +| [JADE](https://jade.tilab.com) | Multi-agent system framework with FIPA compliance. | - | - | +| [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) | GitHub Action for auto-publishing Javadoc. | 55 | 1mo | +| [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) | Unified diff, patch, and merge utilities. | - | - | +| [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) | Readable regex builder with fluent API. | 2.6k | 9d | +| [JGit](https://www.eclipse.org/jgit/) | Pure Java Git implementation used by Eclipse. | - | - | +| [JKScope](https://github.com/evpl/jkscope) | Kotlin-style scope functions (let, also, run) for Java. | 21 | 11mo | +| [minio-java](https://github.com/minio/minio-java) | S3-compatible object storage client. | 1.3k | 25d | +| [Protégé](https://protege.stanford.edu) | Ontology editor for OWL and knowledge graphs. | - | - | +| [Semver4j](https://github.com/semver4j/semver4j) | Semantic versioning parsing and comparison. | 106 | 1d | +| [Underscore-java](https://github.com/javadev/underscore-java) | Functional utilities: map, filter, reduce, and more. | 547 | 1mo | ### Version Managers _Tools for managing multiple Java versions._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [jabba](https://github.com/shyiko/jabba) | Cross-platform JDK manager with remote install support. | 3.3k | 1y | - | -| [jenv](https://github.com/jenv/jenv) | Project-level Java version switching via shell. | 6.5k | 16d | MIT | -| [SDKMan](https://github.com/sdkman/sdkman-cli) | Manage JDKs and tools (Maven, Gradle) with one CLI. | 6.6k | 2d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [jabba](https://github.com/shyiko/jabba) | Cross-platform JDK manager with remote install support. | 3.3k | 1y | +| [jenv](https://github.com/jenv/jenv) | Project-level Java version switching via shell. | 6.5k | 16d | +| [SDKMan](https://github.com/sdkman/sdkman-cli) | Manage JDKs and tools (Maven, Gradle) with one CLI. | 6.6k | 2d | ### Web Crawling _Libraries for web scraping and crawling._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Apache Nutch](https://nutch.apache.org) | Hadoop-based crawler with Solr/Elasticsearch integration. | - | - | - | -| [Crawler4j](https://github.com/yasserg/crawler4j) | Multi-threaded crawler with depth and politeness control. | 4.6k | 4y | Apache-2.0 | -| [jsoup](https://jsoup.org) | HTML parsing with CSS selectors and DOM manipulation. | - | - | - | -| [StormCrawler](http://stormcrawler.net) | Real-time crawler on Apache Storm for scale. | - | - | - | -| [webmagic](https://github.com/code4craft/webmagic) | Modular crawler with XPath/CSS extraction and pipelines. | 11.7k | 20d | Apache-2.0 | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Apache Nutch](https://nutch.apache.org) | Hadoop-based crawler with Solr/Elasticsearch integration. | - | - | +| [Crawler4j](https://github.com/yasserg/crawler4j) | Multi-threaded crawler with depth and politeness control. | 4.6k | 4y | +| [jsoup](https://jsoup.org) | HTML parsing with CSS selectors and DOM manipulation. | - | - | +| [StormCrawler](http://stormcrawler.net) | Real-time crawler on Apache Storm for scale. | - | - | +| [webmagic](https://github.com/code4craft/webmagic) | Modular crawler with XPath/CSS extraction and pipelines. | 11.7k | 20d | ### Web Frameworks _Frameworks for building web applications._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [ActiveJ](https://activej.io) | Async-first framework with 1M+ req/sec on single core. | - | - | - | -| [Apache Tapestry](https://tapestry.apache.org) | Component-based framework with live reload. | - | - | - | -| [Apache Wicket](https://wicket.apache.org) | Stateful component model with type-safe Java. | - | - | - | -| [Blade](https://github.com/lets-blade/blade) | Lightweight MVC framework with Netty backend. | 5.9k | 25d | Apache-2.0 | -| [Bootique](https://bootique.io) | Modular app framework with config and metrics. | - | - | - | -| [Firefly](http://www.fireflysource.com) | Async framework with HTTP/2 and WebSocket. | - | - | - | -| [Javalin](https://javalin.io/) | Simple REST API framework on Jetty. | - | - | - | -| [Jooby](http://www.jooby.org) | Modular framework with Netty, Jetty, or Undertow. | - | - | - | -| [Ninja](http://www.ninjaframework.org) | Full-stack with ORM, templates, and testing. | - | - | - | -| [Pippo](http://www.pippo.ro) | Micro-framework with routing, templates, and i18n. | - | - | - | -| [Play](https://www.playframework.com) | Reactive framework with hot reload for Scala/Java. | - | - | - | -| [PrimeFaces](https://www.primefaces.org) | JSF components with 100+ UI widgets. | - | - | - | -| [Ratpack](https://ratpack.io) | Non-blocking HTTP with RxJava and Groovy DSL. | - | - | - | -| [Takes](https://github.com/yegor256/takes) | Truly OOP web framework without annotations. | 868 | 7h | MIT | -| [Vaadin](https://vaadin.com) | Build web UIs in Java with optional React components. | - | - | - | -| [WebForms Core](https://github.com/webforms-core) | Server-side HTML tag management. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [ActiveJ](https://activej.io) | Async-first framework with 1M+ req/sec on single core. | - | - | +| [Apache Tapestry](https://tapestry.apache.org) | Component-based framework with live reload. | - | - | +| [Apache Wicket](https://wicket.apache.org) | Stateful component model with type-safe Java. | - | - | +| [Blade](https://github.com/lets-blade/blade) | Lightweight MVC framework with Netty backend. | 5.9k | 25d | +| [Bootique](https://bootique.io) | Modular app framework with config and metrics. | - | - | +| [Firefly](http://www.fireflysource.com) | Async framework with HTTP/2 and WebSocket. | - | - | +| [Javalin](https://javalin.io/) | Simple REST API framework on Jetty. | - | - | +| [Jooby](http://www.jooby.org) | Modular framework with Netty, Jetty, or Undertow. | - | - | +| [Ninja](http://www.ninjaframework.org) | Full-stack with ORM, templates, and testing. | - | - | +| [Pippo](http://www.pippo.ro) | Micro-framework with routing, templates, and i18n. | - | - | +| [Play](https://www.playframework.com) | Reactive framework with hot reload for Scala/Java. | - | - | +| [PrimeFaces](https://www.primefaces.org) | JSF components with 100+ UI widgets. | - | - | +| [Ratpack](https://ratpack.io) | Non-blocking HTTP with RxJava and Groovy DSL. | - | - | +| [Takes](https://github.com/yegor256/takes) | Truly OOP web framework without annotations. | 868 | 7h | +| [Vaadin](https://vaadin.com) | Build web UIs in Java with optional React components. | - | - | +| [WebForms Core](https://github.com/webforms-core) | Server-side HTML tag management. | - | - | ### Workflow Orchestration Engines _Platforms for orchestrating workflows and business processes._ -| Name | Description | Stars | Updated | License | -| :--- | :---------- | :---: | :-----: | :-----: | -| [Cadence](https://cadenceworkflow.io) | Uber's durable execution platform for long-running workflows. | - | - | - | -| [flowable](https://github.com/flowable/flowable-engine) | BPMN 2.0, CMMN, and DMN engine with REST API. | 9.0k | 1d | Apache-2.0 | -| [Temporal](https://temporal.io) | Durable execution with gRPC; Cadence successor with cloud offering. | - | - | - | +| Name | Description | Stars | Updated | +| :--- | :---------- | :---: | :-----: | +| [Cadence](https://cadenceworkflow.io) | Uber's durable execution platform for long-running workflows. | - | - | +| [flowable](https://github.com/flowable/flowable-engine) | BPMN 2.0, CMMN, and DMN engine with REST API. | 9.0k | 1d | +| [Temporal](https://temporal.io) | Durable execution with gRPC; Cadence successor with cloud offering. | - | - | ## Resources diff --git a/scripts/step_3_generate_stats.java b/scripts/step_3_generate_stats.java index c8bdefae..efcb84ef 100644 --- a/scripts/step_3_generate_stats.java +++ b/scripts/step_3_generate_stats.java @@ -141,21 +141,49 @@ Map readStatsMappings(Path statsPath) throws IOException { List generateStatsMappings(List entries, Map existingMappings) throws IOException, InterruptedException { var mappings = new ArrayList(); - // Check for GitHub Personal Access Token from environment variable - var githubToken = System.getenv("PAT"); - - if (githubToken == null || githubToken.isBlank()) { - System.err.println("ERROR: PAT environment variable is required!"); - System.err.println(" Without a PAT, the rate limit is only 60 requests/hour (not enough for all repositories)"); - System.err.println(" Please set PAT environment variable:"); - System.err.println(" export PAT=your_token_here"); - System.exit(1); - } - - System.out.println("Using GitHub PAT"); - var client = HttpClient.newHttpClient(); var total = entries.stream().filter(ProjectEntry::isGitHubRepo).count(); var processed = 0; + var needsApiCall = false; + + // First pass: check if we need any API calls + for (var entry : entries) { + if (!entry.isGitHubRepo()) { + continue; + } + + var repo = entry.getGitHubRepo(); + if (repo == null) { + continue; + } + + var existing = existingMappings.get(entry.name()); + if (existing == null || !existing.repo().equals(repo) || + existing.starsText().equals(Constants.NO_STATS) || + existing.lastCommitText().equals(Constants.NO_STATS) || + existing.starsText().equals(Constants.INVALID_REPO) || + existing.lastCommitText().equals(Constants.INVALID_REPO)) { + needsApiCall = true; + break; + } + } + + // Only require PAT and create HttpClient if we need to fetch data + String githubToken = null; + HttpClient client = null; + if (needsApiCall) { + githubToken = System.getenv("PAT"); + if (githubToken == null || githubToken.isBlank()) { + System.err.println("ERROR: PAT environment variable is required!"); + System.err.println(" Without a PAT, the rate limit is only 60 requests/hour (not enough for all repositories)"); + System.err.println(" Please set PAT environment variable:"); + System.err.println(" export PAT=your_token_here"); + System.exit(1); + } + System.out.println("Using GitHub PAT"); + client = HttpClient.newHttpClient(); + } else { + System.out.println("All data available in cache, skipping API calls"); + } for (var entry : entries) { if (!entry.isGitHubRepo()) { @@ -183,15 +211,13 @@ List generateStatsMappings(List entries, Map(); for (int i = 0; i < lines.length; i++) { var line = lines[i]; @@ -112,7 +114,7 @@ String assembleReadme(String originalContent, String tablesContent) { var currentSubsection = findCurrentSubsection(lines, i); if (currentSubsection != null) { var combinedSection = currentSubsection + "/" + level4Name; - if (sectionToTableMap.containsKey(combinedSection)) { + if (sectionToTableMap.containsKey(combinedSection) && !insertedSections.contains(combinedSection)) { // Add blank line before table (italic ends with \n, so add another \n) result.append("\n"); // Insert table after the description @@ -123,6 +125,8 @@ String assembleReadme(String originalContent, String tablesContent) { if (tableEndsWith < 2) { result.append("\n".repeat(2 - tableEndsWith)); } + // Mark this section as inserted + insertedSections.add(combinedSection); } } } else { @@ -152,7 +156,7 @@ String assembleReadme(String originalContent, String tablesContent) { sectionKey = currentSubsection; } - if (sectionKey != null) { + if (sectionKey != null && !insertedSections.contains(sectionKey)) { // Check if previous non-blank line was a level 4 heading or italic description var prevNonBlankLine = findPreviousNonBlankLine(lines, i); var needsBlankBeforeTable = (prevNonBlankLine != null && @@ -180,6 +184,8 @@ String assembleReadme(String originalContent, String tablesContent) { if (tableEndsWith < 2) { result.append("\n".repeat(2 - tableEndsWith)); } + // Mark this section as inserted + insertedSections.add(sectionKey); } // Skip ALL remaining list items in this section until we hit the next subsection, level 4 heading, or end delimiter while (i + 1 < lines.length && diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index eeab1e23..36c2993e 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -100,6 +100,7 @@ List extractProjectEntriesFromTables(String content) { var lines = content.lines().toArray(String[]::new); var inProjectSection = false; var currentSection = ""; + var currentLevel4Section = ""; var inTable = false; var tableSection = ""; @@ -122,16 +123,25 @@ List extractProjectEntriesFromTables(String content) { continue; } - // Track subsection changes + // Track subsection changes (level 3 headings) - reset level 4 section if (line.startsWith(Constants.SUBSECTION)) { currentSection = line.substring(Constants.SUBSECTION.length()); + currentLevel4Section = ""; // Reset level 4 when we hit a new level 3 + continue; + } + // Track level 4 headings + if (line.startsWith("####")) { + currentLevel4Section = line.substring(4).trim(); // Remove "#### " continue; } // Track table boundaries - look for Markdown table headers if (line.startsWith("|") && line.contains("| Name |")) { inTable = true; - tableSection = currentSection; + // Combine level 3 and level 4 sections like step 2 does + tableSection = currentLevel4Section.isEmpty() + ? currentSection + : currentSection + "/" + currentLevel4Section; continue; } if (inTable && line.startsWith("|") && line.contains("| :--- |")) { @@ -157,12 +167,17 @@ List extractProjectEntriesFromTables(String content) { /** * Extracts a project entry from a Markdown table row. - * Table format: | Name | Description | Stars | Updated | + * Table format: | Name | Description | Stars | Updated | [License] + * Supports both 4-column (without License) and 5-column (with License) formats */ ProjectEntry extractEntryFromMarkdownTableRow(String line, String section) { // Split by | and clean up var parts = line.split("\\|"); - if (parts.length < 6) { + // Need at least 5 parts for 4 columns without trailing | (empty, Name, Description, Stars, Updated) + // or 6 parts for 4 columns with trailing | (empty, Name, Description, Stars, Updated, empty) + // or 6 parts for 5 columns without trailing | (empty, Name, Description, Stars, Updated, License) + // or 7 parts for 5 columns with trailing | (empty, Name, Description, Stars, Updated, License, empty) + if (parts.length < 5) { return null; } @@ -263,7 +278,19 @@ ValidationResult validateTransformation(List original, List Date: Sun, 11 Jan 2026 17:00:32 +0800 Subject: [PATCH 422/533] Add Erupt Low-code (#1168) * Add Erupt framework to the README * Fix Erupt framework description in README Updated Erupt framework link description for clarity. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f16ed01f..8bf3a000 100644 --- a/README.md +++ b/README.md @@ -1274,6 +1274,7 @@ _Frameworks that handle the communication between the layers of a web applicatio - [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) - 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. - [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. +- [Erupt](https://github.com/erupts/erupt) - Annotation-Driven Low-Code & JPA Visualization ### Workflow Orchestration Engines From c014dc831fb01a047b7acf37a8b516772169e022 Mon Sep 17 00:00:00 2001 From: Dmitry Turmyshev <49456100+turmyshevd@users.noreply.github.com> Date: Sun, 11 Jan 2026 09:01:06 +0000 Subject: [PATCH 423/533] Add BitDive to Testing > Frameworks section (#1167) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8bf3a000..5eb80415 100644 --- a/README.md +++ b/README.md @@ -1161,6 +1161,7 @@ _Provide environments to run tests for a specific use case._ - [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. +- [BitDive ![c]](https://bitdive.io) - Zero-code integration testing platform that generates tests from runtime application behavior. - [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. From da9ec00612dd2686c4035d5fb2ac3318658bffc7 Mon Sep 17 00:00:00 2001 From: Richard Lawson Date: Sun, 11 Jan 2026 04:01:31 -0500 Subject: [PATCH 424/533] Add Sierra Swing DSL (#1166) Sierra is a lightweight declarative XML DSL for Swing. Comes with a live previewer and dtd support. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5eb80415..bd92060f 100644 --- a/README.md +++ b/README.md @@ -528,6 +528,7 @@ _Libraries to create modern graphical user interfaces._ - [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. - [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. - [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. +- [Sierra](https://github.com/HTTP-RPC/Sierra) - Lightwieght declarative DSL for rapid development of Swing applications. - [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. ### High Performance From 8c6a53c28b36a2e9b65138aaae5d1a8eef634cad Mon Sep 17 00:00:00 2001 From: "Md. Sazzad Hissain Khan" Date: Sun, 11 Jan 2026 15:02:00 +0600 Subject: [PATCH 425/533] Add jSciPy library to scientific computing section (#1165) jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd92060f..b9b98ef0 100644 --- a/README.md +++ b/README.md @@ -1030,6 +1030,7 @@ _Libraries for scientific computing, analysis and visualization._ - [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. +- [jSciPy](https://github.com/hissain/jscipy) - jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. - [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. From dd9b554867038f27acd8137337c9862ff108ef3f Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sun, 11 Jan 2026 10:02:14 +0100 Subject: [PATCH 426/533] Fix JBang link (#1164) * Fix JBang link * Fix alphabetical sorting --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index b9b98ef0..d733963f 100644 --- a/README.md +++ b/README.md @@ -744,6 +744,7 @@ _Everything else._ - [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. +- [JBang](https://www.jbang.dev/) - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. @@ -772,8 +773,6 @@ _Everything else._ - [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. -- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for - code and dependency management and allows you to run it directly. ### Mobile Development From fc6a681459c63349d2e9eec25022fc030f6f0b78 Mon Sep 17 00:00:00 2001 From: Talha Dilber Date: Sun, 11 Jan 2026 12:02:41 +0300 Subject: [PATCH 427/533] Add Spring Data Dynamic Query (#1163) Added a new entry for Spring Data Dynamic Query to the list. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d733963f..0dbc46c4 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ _Everything that simplifies interactions with the database._ - [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. - [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. +- [Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query) - Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. - [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. - [Trino](https://trino.io) - Distributed SQL query engine for big data. - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. From f44fe0210e0a7a892e9b16d02aafa31c06c17f24 Mon Sep 17 00:00:00 2001 From: k_sasaki Date: Sun, 11 Jan 2026 18:03:16 +0900 Subject: [PATCH 428/533] update openhtmltopdf url (#1162) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0dbc46c4..d6b8e4de 100644 --- a/README.md +++ b/README.md @@ -897,7 +897,7 @@ _Tools to help with PDF files._ - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) -- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +- [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. From da4948164b1e672d1e1519e13accb1f3eb44c2ad Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 15:06:29 +0400 Subject: [PATCH 429/533] Update --- scripts/step_6_validate_transformation.java | 109 +++++++++++++++++++- 1 file changed, 105 insertions(+), 4 deletions(-) diff --git a/scripts/step_6_validate_transformation.java b/scripts/step_6_validate_transformation.java index 36c2993e..7c1dcbf8 100644 --- a/scripts/step_6_validate_transformation.java +++ b/scripts/step_6_validate_transformation.java @@ -248,6 +248,75 @@ ProjectEntry parseProjectEntry(String[] lines, int startIndex, String section) { return null; } +/** + * Normalizes URL for comparison (removes trailing slashes, converts to lowercase). + */ +String normalizeUrl(String url) { + if (url == null || url.isBlank()) { + return ""; + } + return url.toLowerCase().replaceAll("/+$", ""); +} + +/** + * Detects duplicate entries by name and/or URL. + */ +List detectDuplicates(List entries) { + var duplicates = new ArrayList(); + + // Group by name (case-insensitive) + var byName = entries.stream() + .collect(Collectors.groupingBy(e -> e.name().toLowerCase())); + + // Group by URL (normalized) + var byUrl = entries.stream() + .collect(Collectors.groupingBy(e -> normalizeUrl(e.url()))); + + // Track which duplicates we've already reported + var reportedNames = new HashSet(); + + // Find duplicates by name + for (var entry : byName.entrySet()) { + if (entry.getValue().size() > 1) { + var nameKey = entry.getKey(); + reportedNames.add(nameKey); + var sections = entry.getValue().stream() + .map(ProjectEntry::section) + .distinct() + .sorted() + .toList(); + duplicates.add(new DuplicateEntry( + entry.getValue().get(0).name(), + entry.getValue().get(0).url(), + sections + )); + } + } + + // Find duplicates by URL (but not already reported by name) + for (var entry : byUrl.entrySet()) { + if (entry.getValue().size() > 1) { + var firstEntry = entry.getValue().get(0); + var nameKey = firstEntry.name().toLowerCase(); + // Only report if not already reported as a name duplicate + if (!reportedNames.contains(nameKey)) { + var sections = entry.getValue().stream() + .map(ProjectEntry::section) + .distinct() + .sorted() + .toList(); + duplicates.add(new DuplicateEntry( + firstEntry.name(), + firstEntry.url(), + sections + )); + } + } + } + + return duplicates; +} + /** * Validates that all original entries are present in the transformed version. */ @@ -255,6 +324,15 @@ ValidationResult validateTransformation(List original, List(); var wrongSectionEntries = new ArrayList(); var extraEntries = new ArrayList(); + var duplicateEntries = new ArrayList(); + + // Check for duplicates in original + var originalDuplicates = detectDuplicates(original); + duplicateEntries.addAll(originalDuplicates); + + // Check for duplicates in transformed + var transformedDuplicates = detectDuplicates(transformed); + duplicateEntries.addAll(transformedDuplicates); // Create maps for easier lookup var originalMap = original.stream() @@ -309,7 +387,8 @@ ValidationResult validateTransformation(List original, List missingEntries, List wrongSectionEntries, - List extraEntries + List extraEntries, + List duplicateEntries ) { boolean isValid() { - return missingEntries.isEmpty() && wrongSectionEntries.isEmpty(); + return missingEntries.isEmpty() && + wrongSectionEntries.isEmpty() && + duplicateEntries.isEmpty(); } } @@ -376,3 +468,12 @@ record SectionMismatch( ProjectEntry original, ProjectEntry transformed ) {} + +/** + * Represents duplicate entries (same name or URL). + */ +record DuplicateEntry( + String name, + String url, + List sections // Sections where this duplicate appears +) {} From 35b9dd8a8289d27e05b6b0dae7b76174f9f5c33f Mon Sep 17 00:00:00 2001 From: John DeRegnaucourt Date: Thu, 29 Jan 2026 10:52:16 -0500 Subject: [PATCH 430/533] Update json-io description to include TOON format support (#1174) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d6b8e4de..0be95c25 100644 --- a/README.md +++ b/README.md @@ -628,7 +628,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. - [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. -- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. +- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. - [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. - [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. @@ -1413,4 +1413,4 @@ Contributions are very welcome! 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 +[c]: https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg \ No newline at end of file From 99495eead2f00560dff064469b564bdc1ff7de5e Mon Sep 17 00:00:00 2001 From: Dhruv Rastogi Date: Thu, 29 Jan 2026 21:23:18 +0530 Subject: [PATCH 431/533] Add boot-usage-spring-boot-starter (#1173) * Add boot-usage-spring-boot-starter to README Added boot-usage-spring-boot-starter to monitoring tools list. * Update README.md Co-authored-by: andrzejsydor --------- Co-authored-by: andrzejsydor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0be95c25..2aa06d60 100644 --- a/README.md +++ b/README.md @@ -789,6 +789,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. +- [Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage) - Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. - [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. - [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. From 3bb7b495385d64fa3e0b86d7edf21b080fdcb1c7 Mon Sep 17 00:00:00 2001 From: Joel Jeremy Marquez Date: Thu, 29 Jan 2026 07:53:34 -0800 Subject: [PATCH 432/533] Update Deezpatch project to new name: Emissary (#1172) * Fix username * Minor description update * Update configuration libraries and messaging tools descriptions Updated the description for 'Externalized Properties' and changed 'Deezpatch' to 'Emissary' with a new description. * Refine descriptions of Externalized Properties and Emissary --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2aa06d60..fad96fab 100644 --- a/README.md +++ b/README.md @@ -270,7 +270,7 @@ _Libraries that provide external configuration._ - [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. +- [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) - Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. - [Gestalt](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. @@ -706,7 +706,7 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. - [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. +- [Emissary](https://github.com/joel-jeremy/emissary) - Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. From da77846869d5ee448e90cd1f80f7939edcc807eb Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 29 Jan 2026 21:24:12 +0530 Subject: [PATCH 433/533] Update README.md (#1169) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fad96fab..e9b442ce 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,7 @@ _Tools that provide metrics and quality measurements._ - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. - [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +- [ToolsHref](https://toolshref.com) - Online Java code analyzer and JSON-to-Mermaid visualization tool. ### Code Coverage From 6806bf4d47274aae79fddbe9a93eb3f9ec1c1224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draic=20Slattery?= Date: Sat, 7 Feb 2026 11:45:56 +0100 Subject: [PATCH 434/533] chore: Update outdated GitHub Actions versions (#1177) --- .github/workflows/update-readme.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index b02700e7..c2c948d6 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -19,12 +19,12 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 # Fetch all history for git operations - name: Set up Java - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "25" From 85566cfaf6303ab8699ab2d0ba4e1e81b3e64b32 Mon Sep 17 00:00:00 2001 From: "James M. ZHOU" Date: Sun, 12 Apr 2026 19:42:18 +0800 Subject: [PATCH 435/533] feat(web-frameworks): add tinystruct * Add tinystruct framework to awesome-java list * fix: move to Web Frameworks section, use standard separator --------- Co-authored-by: Andreas Kull --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e9b442ce..6eedd90a 100644 --- a/README.md +++ b/README.md @@ -1277,6 +1277,7 @@ _Frameworks that handle the communication between the layers of a web applicatio - [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. +- [tinystruct](https://github.com/tinystruct/tinystruct) - Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. - [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. - [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. - [Erupt](https://github.com/erupts/erupt) - Annotation-Driven Low-Code & JPA Visualization @@ -1415,4 +1416,4 @@ Contributions are very welcome! 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 \ No newline at end of file +[c]: https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg From 4e2b8d423feb540c1615b51649e484c773859209 Mon Sep 17 00:00:00 2001 From: myacelw Date: Sun, 12 Apr 2026 19:45:33 +0800 Subject: [PATCH 436/533] feat(orm): add mybatis-dynamic Co-authored-by: LIU WEI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6eedd90a..c9b440b3 100644 --- a/README.md +++ b/README.md @@ -865,6 +865,7 @@ _APIs that handle the persistence of objects._ - [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-dynamic](https://github.com/myacelw/mybatis-dynamic) - Code-first dynamic ORM for MyBatis with runtime schema modification. - [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. From 6e6820744cdde1e162f66a2a621b1c58e7948bb7 Mon Sep 17 00:00:00 2001 From: chitralabs Date: Sun, 12 Apr 2026 06:45:41 -0500 Subject: [PATCH 437/533] feat(csv): add Sheetz * Add Sheetz to Document Processing Sheetz is a Java library for reading and writing Excel (.xlsx, .xls) and CSV files with a one-line, annotation-based API. It features streaming support for million-row files, built-in data validation, 19 type converters, and a Spring Boot starter. Apache 2.0 licensed and available on Maven Central. GitHub: https://github.com/chitralabs/sheetz * fix: merge two sentences into one --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c9b440b3..39332e6b 100644 --- a/README.md +++ b/README.md @@ -456,6 +456,7 @@ _Libraries that assist with processing office document formats._ - [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. - [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. +- [Sheetz](https://github.com/chitralabs/sheetz) - Library for reading and writing Excel and CSV files with annotation-based mapping, streaming support, and built-in validation. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. ### Financial From 5a1d0020f1de990f617d3db336d7a1083e4fa279 Mon Sep 17 00:00:00 2001 From: Carey D'Souza <161778648+Lechatdiabolique@users.noreply.github.com> Date: Sun, 12 Apr 2026 04:45:49 -0700 Subject: [PATCH 438/533] feat(security): add MOSS * Add MOSS to Security section * Fix link - point to Maven Central * fix: merge two sentences into one --------- Co-authored-by: BooCat <38902334+FattyMuffin@users.noreply.github.com> Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 39332e6b..9565bbc6 100644 --- a/README.md +++ b/README.md @@ -1079,6 +1079,7 @@ _Libraries that handle security, authentication, authorization or session manage - [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. +- [MOSS](https://central.sonatype.com/artifact/com.mosscomputing/moss-sdk) - Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. ### Serialization From 22565b7c4d6822f96b7d48947c2cfe76abefe96e Mon Sep 17 00:00:00 2001 From: Sergii Gnatiuk Date: Sun, 12 Apr 2026 14:45:57 +0300 Subject: [PATCH 439/533] feat(code-coverage): add Delta Coverage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Delta Coverage is a Gradle plugin and CLI that computes code coverage of new and modified code based on a provided diff. It fills a gap in the current list — no other tool focuses on diff-based coverage. Licensed under MIT. https://github.com/gw-kit/delta-coverage-plugin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9565bbc6..ecc9b270 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,7 @@ _Frameworks and tools that enable code coverage metrics collection for test suit - [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. - [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +- [Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin) - Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. - [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. ### Code Generators From 7b24e33d8eb42aeb684734e755943a82712c1828 Mon Sep 17 00:00:00 2001 From: Suneet Kamath Date: Sun, 12 Apr 2026 17:16:05 +0530 Subject: [PATCH 440/533] feat(performance): add JVM Hotpath * Add JVM Hotpath to Performance analysis section * fix: merge two sentences into one --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ecc9b270..d4da38f5 100644 --- a/README.md +++ b/README.md @@ -917,6 +917,7 @@ _Tools for performance analysis, profiling and benchmarking._ - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. - [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. +- [JVM Hotpath](https://github.com/sfkamath/jvm-hotpath) - Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. ### Platform From 13ecc3e116ce401cbf57ea2094208159ffad921a Mon Sep 17 00:00:00 2001 From: Jorge Montes Date: Sun, 12 Apr 2026 06:46:14 -0500 Subject: [PATCH 441/533] feat(testing): add Java Evolved * Added Github site for Java Evolved * moved java evolved to miscelaneous Removed duplicate entry for 'Java Evolved' from the tools list. * Add a blank line before 'Contributing' section * fix: rewrite description to be concise and consistent with list style --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4da38f5..9c651e5d 100644 --- a/README.md +++ b/README.md @@ -1207,6 +1207,7 @@ _Other stuff related to testing._ - [Selfie](https://github.com/diffplug/selfie) - Snapshot testing (inline and on disk). - [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. - [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. +- [Java Evolved](https://javaevolved.github.io/) - Side-by-side comparisons of legacy and modern Java patterns. #### Mocking From 6bb7607b4eaa55f7b8fee6eaa937904a1ba98d60 Mon Sep 17 00:00:00 2001 From: Luca Garulli Date: Sun, 12 Apr 2026 07:46:22 -0400 Subject: [PATCH 442/533] feat(database): add ArcadeDB ArcadeDB is an open-source (Apache 2.0) multi-model database written in Java 21. It supports SQL, Cypher (OpenCypher), Gremlin, GraphQL, and MongoDB query languages, plus Neo4j Bolt, PostgreSQL, MongoDB, and Redis wire protocols. It can run embedded or client-server. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9c651e5d..70cbebc6 100644 --- a/README.md +++ b/README.md @@ -323,6 +323,7 @@ _Everything that simplifies interactions with the database._ - [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. - [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. +- [ArcadeDB](https://arcadedb.com) - Multi-model database supporting graphs, documents, key-value, time series and vector embeddings with SQL, Cypher, Gremlin, MongoDB and Redis API compatibility. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. - [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. From c0222f8c8baf1ce0487410b3ddc1c90b15cf0532 Mon Sep 17 00:00:00 2001 From: John DeRegnaucourt Date: Sun, 12 Apr 2026 07:46:32 -0400 Subject: [PATCH 443/533] feat(utility): add java-util * Add java-util to Utility section * Update java-util description with demand-ranked features * Swap LRUCache for MultiKeyMap in java-util description --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70cbebc6..dbb8870d 100644 --- a/README.md +++ b/README.md @@ -1240,6 +1240,7 @@ _Libraries which provide general utility functions._ - [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. +- [java-util](https://github.com/jdereg/java-util) - Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. - [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. From b0f9d23cd2feaa60a401bee18c372e90aa18e4a3 Mon Sep 17 00:00:00 2001 From: Alexander Kardapolov Date: Sun, 12 Apr 2026 16:46:41 +0500 Subject: [PATCH 444/533] feat(dependency-injection): add Dimension-DI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dbb8870d..958be2b5 100644 --- a/README.md +++ b/README.md @@ -383,6 +383,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. - [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. - [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. - [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. +- [Dimension-DI](https://github.com/akardapolov/dimension-di) - JSR-330 runtime dependency injection using the JDK Class-File API. - [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. From 1cf31e83a7157fcbd9541635eeb61117d439d8c5 Mon Sep 17 00:00:00 2001 From: Steffen Date: Sun, 12 Apr 2026 13:46:49 +0200 Subject: [PATCH 445/533] feat(game-development): add input4j * Add input4j to game development frameworks list * fix: add missing period --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 958be2b5..02469155 100644 --- a/README.md +++ b/README.md @@ -504,6 +504,7 @@ _Libraries that facilitate functional programming._ _Frameworks that support the development of games._ - [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. +- [input4j](https://gurkenlabs.github.io/input4j/) - Lightweight, cross-platform library for gamepad and joystick input handling. - [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. - [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. - [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. From 1add45a8b05c908cfcd79cfc732f0f2443b87a38 Mon Sep 17 00:00:00 2001 From: Kaleert <142114945+Kaleert@users.noreply.github.com> Date: Sun, 12 Apr 2026 14:46:57 +0300 Subject: [PATCH 446/533] feat(miscellaneous): add Nyagram * Add Nyagram to Miscellaneous * fix: move to Miscellaneous section, remove 'Modern' from description --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02469155..cf319aca 100644 --- a/README.md +++ b/README.md @@ -767,6 +767,7 @@ _Everything else._ - [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. +- [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. - [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. From e0c318db3a7d959e29b48e1bb8e0b4db7e903110 Mon Sep 17 00:00:00 2001 From: Patrik Neumann <6475837+SegfaultSorcerer@users.noreply.github.com> Date: Sun, 12 Apr 2026 13:47:04 +0200 Subject: [PATCH 447/533] feat(performance): add Heap Seance --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf319aca..3770741f 100644 --- a/README.md +++ b/README.md @@ -917,6 +917,7 @@ _Tools for performance analysis, profiling and benchmarking._ - [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. - [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. - [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. +- [Heap Seance](https://github.com/SegfaultSorcerer/heap-seance) - Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. - [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) From 5e6ef366fa728ea8f9f037d36d066a62d18956f3 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 12 Apr 2026 15:56:25 +0400 Subject: [PATCH 448/533] revert: remove entries that don't fit the list scope --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 3770741f..8264c40d 100644 --- a/README.md +++ b/README.md @@ -323,7 +323,6 @@ _Everything that simplifies interactions with the database._ - [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. - [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. -- [ArcadeDB](https://arcadedb.com) - Multi-model database supporting graphs, documents, key-value, time series and vector embeddings with SQL, Cypher, Gremlin, MongoDB and Redis API compatibility. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. - [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. @@ -767,7 +766,6 @@ _Everything else._ - [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. - [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. @@ -1212,7 +1210,6 @@ _Other stuff related to testing._ - [Selfie](https://github.com/diffplug/selfie) - Snapshot testing (inline and on disk). - [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. - [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. -- [Java Evolved](https://javaevolved.github.io/) - Side-by-side comparisons of legacy and modern Java patterns. #### Mocking From 300b40563dd538e036c305c7dac6f771f8d4c591 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 12 Apr 2026 15:58:15 +0400 Subject: [PATCH 449/533] feat: restore ArcadeDB, Nyagram, Java Evolved --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 8264c40d..07b22a11 100644 --- a/README.md +++ b/README.md @@ -322,6 +322,7 @@ _Everything that simplifies interactions with the database._ - [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. - [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. +- [ArcadeDB](https://arcadedb.com) - Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. - [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. @@ -766,6 +767,7 @@ _Everything else._ - [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. +- [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. - [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. @@ -1210,6 +1212,7 @@ _Other stuff related to testing._ - [Selfie](https://github.com/diffplug/selfie) - Snapshot testing (inline and on disk). - [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. - [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. +- [Java Evolved](https://javaevolved.github.io/) - Side-by-side comparisons of legacy and modern Java patterns. #### Mocking From 09f511b06598e597e9801375de5a3ade6dbd3193 Mon Sep 17 00:00:00 2001 From: kjg Date: Sun, 12 Apr 2026 20:58:35 +0900 Subject: [PATCH 450/533] feat(utility): add java-refined MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add java-refined to Utility section java-refined provides refinement types for Java 8+ — types constrained by predicates (e.g. PositiveInt, NonBlankString, EmailString). It ships 204 ready-to-use refined types with zero runtime dependencies, 100% test coverage, and 95%+ mutation testing scores. GitHub: https://github.com/JunggiKim/java-refined Maven Central: io.github.junggikim:java-refined * fix: merge two sentences into one --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 07b22a11..82a4b989 100644 --- a/README.md +++ b/README.md @@ -1248,6 +1248,7 @@ _Libraries which provide general utility functions._ - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. - [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. +- [java-refined](https://github.com/JunggiKim/java-refined) - Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. - [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. - [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. From 7b431ef1022069c49bc5a36427e0ea79dd8d1a67 Mon Sep 17 00:00:00 2001 From: Emanuele Minotto Date: Sun, 12 Apr 2026 13:58:39 +0200 Subject: [PATCH 451/533] feat(testing): add skipper-java --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82a4b989..7fcc9370 100644 --- a/README.md +++ b/README.md @@ -1210,6 +1210,7 @@ _Other stuff related to testing._ - [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). +- [skipper-java](https://github.com/get-skipper/skipper-java) - Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. - [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. - [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. - [Java Evolved](https://javaevolved.github.io/) - Side-by-side comparisons of legacy and modern Java patterns. From 573eee074e099ab507583692e90642616d8db8b2 Mon Sep 17 00:00:00 2001 From: mzivkovicdev <48765275+mzivkovicdev@users.noreply.github.com> Date: Sun, 12 Apr 2026 13:58:53 +0200 Subject: [PATCH 452/533] feat(code-generators): add Spring CRUD Generator * Add Spring CRUD Generator to Code Generators section * fix: remove promotional qualifier from description --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7fcc9370..93728bcc 100644 --- a/README.md +++ b/README.md @@ -244,6 +244,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - [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. +- [Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator) - Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. - [Telosys](https://www.telosys.org/) - Simple and light code generator available as an Eclipse Plugin and also as a CLI. ### Compiler-compiler From 8e888d3ddd5be9025f44a96fc690c2b2e419c901 Mon Sep 17 00:00:00 2001 From: David Barri Date: Sun, 12 Apr 2026 21:59:03 +1000 Subject: [PATCH 453/533] feat(configuration): add ClearConfig * Add a link to ClearConfig for Java * fix: remove subjective adjectives from description --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 93728bcc..e52d1be6 100644 --- a/README.md +++ b/README.md @@ -269,6 +269,7 @@ _Libraries that provide external configuration._ - [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. - [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +- [ClearConfig](https://github.com/japgolly/clear-config-java) - Type-safe, composable configuration library with a focus on runtime clarity. - [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - [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. From e05ea21d24a809cde0ac0a1ab70589e2d899a975 Mon Sep 17 00:00:00 2001 From: Mirko Dimartino Date: Sun, 12 Apr 2026 13:59:06 +0200 Subject: [PATCH 454/533] feat(utility): add Sift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e52d1be6..bec3ff0f 100644 --- a/README.md +++ b/README.md @@ -1255,6 +1255,7 @@ _Libraries which provide general utility functions._ - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. - [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. - [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. +- [Sift](https://github.com/Mirkoddd/Sift) - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. - [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. ### Version Managers From 6455f762562163eed3313cbc0545e5c5c0200cd3 Mon Sep 17 00:00:00 2001 From: tracedynamics <125195041+tracedynamics@users.noreply.github.com> Date: Sun, 12 Apr 2026 17:29:20 +0530 Subject: [PATCH 455/533] feat(websites): add TheCodeForge Java Tutorials --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bec3ff0f..1cd023d4 100644 --- a/README.md +++ b/README.md @@ -1418,6 +1418,7 @@ _Sites to read._ - [Java, SQL, and jOOQ](https://blog.jooq.org) - [Java.net](https://community.oracle.com/community/java) - [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) +- [TheCodeForge Java Tutorials](https://thecodeforge.io/java/) - [JavaWorld](https://www.javaworld.com) - [JAXenter](https://jaxenter.com) - [RebelLabs](https://zeroturnaround.com/rebellabs) From d86b33fe689c3bcdc7db7fbddb8e20fd40c11cac Mon Sep 17 00:00:00 2001 From: Matheus Date: Sun, 12 Apr 2026 12:59:23 +0100 Subject: [PATCH 456/533] feat(build): add ReleaseRun * Add ReleaseRun Maven/Gradle dependency health checker * fix: replace em dashes with standard separator, add period --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1cd023d4..ca5610bd 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ _Tools that handle the build cycle and dependencies of an application._ - [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. +- [ReleaseRun](https://releaserun.com) - Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. ### Bytecode Manipulation _Libraries to manipulate bytecode programmatically._ From d150b3319cf7964439e01096b3e39581fa4f370e Mon Sep 17 00:00:00 2001 From: Shashwat gupta <160376221+Shashwat-Gupta57@users.noreply.github.com> Date: Sun, 12 Apr 2026 17:30:49 +0530 Subject: [PATCH 457/533] feat(utility): add Jctx * Update README.md * Update README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix link for Jctx in README.md * Update README.md --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ca5610bd..78bbdcc5 100644 --- a/README.md +++ b/README.md @@ -1250,6 +1250,7 @@ _Libraries which provide general utility functions._ - [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. - [java-util](https://github.com/jdereg/java-util) - Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. +- [Jctx](https://github.com/Shashwat-Gupta57/jctx) - Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. - [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. - [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. - [java-refined](https://github.com/JunggiKim/java-refined) - Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. From 18ee8b2f8006fc8403e404f4e6b13ddfe2741eeb Mon Sep 17 00:00:00 2001 From: Yehor Syrin Date: Sun, 12 Apr 2026 15:00:59 +0300 Subject: [PATCH 458/533] feat(cli): add AliveJTUI * Add AliveJTUI to Text-Based User Interfaces * fix: merge two sentences into one --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 78bbdcc5..61ba3ba1 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,7 @@ _Libraries to assist with parsing command line arguments._ _Libraries that provide TUI frameworks, or building blocks related functions._ +- [AliveJTUI](https://github.com/yehorsyrin/alivejTUI) - Declarative, React-style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes. - [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. - [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [Text-IO](https://github.com/beryx/text-io) - Aids the creation of full console-based applications. From d9868438a3e1461b7cfbb31965fbd5062f777b02 Mon Sep 17 00:00:00 2001 From: Sunil Prakash Date: Sun, 12 Apr 2026 17:31:07 +0530 Subject: [PATCH 459/533] feat(ai): add JamJet * Add JamJet to Artificial Intelligence section * fix: trim to one sentence, remove promotional language --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61ba3ba1..1294d133 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,7 @@ _Frameworks and libraries that help implementing and verifying design and archit _Frameworks that help you to leverage LLMs and AI._ +- [JamJet](https://github.com/jamjet-labs/jamjet) - Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. - [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. - [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. From 179f962f8dbee1d6e4b7de3624993fef81b30936 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hakan=20Alt=C4=B1nda=C4=9F?= Date: Sun, 12 Apr 2026 14:01:15 +0200 Subject: [PATCH 460/533] feat(security): add Certificate Ripper * Added Certificate Ripper * fix: expand brief description --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1294d133..986de2f0 100644 --- a/README.md +++ b/README.md @@ -1071,6 +1071,7 @@ _Libraries that handle security, authentication, authorization or session manage - [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. - [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. - [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. +- [Certificate Ripper](https://github.com/Hakky54/certificate-ripper) - CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. - [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. From 2976513e83d939554d253e0ee87d153a9e36b276 Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Sun, 12 Apr 2026 14:01:19 +0200 Subject: [PATCH 461/533] feat(utility): add Parallel Collectors --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 986de2f0..5fb39573 100644 --- a/README.md +++ b/README.md @@ -500,6 +500,7 @@ _Libraries that facilitate functional programming._ - [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. +- [Parallel Collectors](https://github.com/pivovarit/parallel-collectors) - Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. - [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. From a4115b1208bc781efa8977da95fa9b04fdd3d522 Mon Sep 17 00:00:00 2001 From: Paul Brooks Date: Sun, 12 Apr 2026 13:01:26 +0100 Subject: [PATCH 462/533] feat(testing): add Kensa * Add Kensa to the list of BDD frameworks * fix: use standard separator and simplify description --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5fb39573..e30b2e14 100644 --- a/README.md +++ b/README.md @@ -1157,6 +1157,7 @@ _Testing for the software development process that emerged from TDD and was heav - [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. - [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. - [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. +- [Kensa](https://github.com/kensa-dev/kensa) - Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. - [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. From 705c26b6e6dd706ad7b291e30bf14d27b569f885 Mon Sep 17 00:00:00 2001 From: thejord <122414942+tech-and-finance@users.noreply.github.com> Date: Sun, 12 Apr 2026 14:01:30 +0200 Subject: [PATCH 463/533] feat(miscellaneous): add Rollgate * Add Rollgate to Miscellaneous * fix: remove parenthetical comparison from description --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e30b2e14..b93e75c0 100644 --- a/README.md +++ b/README.md @@ -778,6 +778,7 @@ _Everything else._ - [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +- [Rollgate](https://rollgate.io) - Cloud-managed feature flag platform with a Java SDK, supporting gradual rollouts, A/B testing, and real-time updates. - [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. - [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) From 440c4bb36fad137e957efd4e543246b05c0c0250 Mon Sep 17 00:00:00 2001 From: Rogerio Robetti Date: Sun, 12 Apr 2026 13:01:38 +0100 Subject: [PATCH 464/533] feat(database): add Open J Proxy * Add Open J Proxy to the Database section Agent-Logs-Url: https://github.com/rrobetti/awesome-java/sessions/7120ce66-b4b4-4287-a140-d868f18bf930 Co-authored-by: rrobetti <7221783+rrobetti@users.noreply.github.com> * Update README to remove obsolete library entries Removed entries for Spring Data JPA MongoDB Expressions, Trino, and QueryStream from the list of libraries. * Remove redundant lines from README.md * Add commercial.svg link to README --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rrobetti <7221783+rrobetti@users.noreply.github.com> --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b93e75c0..fbe64155 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ _Everything that simplifies interactions with the database._ - [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. +- [Open J Proxy](https://github.com/Open-J-Proxy/ojp) - Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. - [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. - [Querydsl](http://www.querydsl.com) - Typesafe unified queries. - [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. From 418f819142f6fef20eb4259099eac56b1c94c933 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 12 Apr 2026 16:40:12 +0400 Subject: [PATCH 465/533] fix(date-time): replace unmaintained Jollyday with maintained fork --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fbe64155..d3ebb8e4 100644 --- a/README.md +++ b/README.md @@ -372,7 +372,7 @@ _Everything that simplifies interactions with the database._ _Libraries related to handling date and time._ - [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -- [Jollyday](https://github.com/svendiedrichsen/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. +- [Jollyday](https://github.com/focus-shift/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. - [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) From 6b937f51542128268c7e4dc445dbac99f7678c3d Mon Sep 17 00:00:00 2001 From: Artem Demchyshyn <132658418+DemchaAV@users.noreply.github.com> Date: Sun, 21 Jun 2026 12:07:05 +0100 Subject: [PATCH 466/533] feat(pdf): add GraphCompose --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3ebb8e4..2024345e 100644 --- a/README.md +++ b/README.md @@ -912,6 +912,7 @@ _Tools to help with PDF files._ - [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) - [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) +- [GraphCompose](https://github.com/DemchaAV/GraphCompose) - Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. - [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) - [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. From 9c65ba11a6b3e96507b3a5b9bae13c2460e8aa0e Mon Sep 17 00:00:00 2001 From: Fabio Kapsahili Date: Sun, 21 Jun 2026 13:07:26 +0200 Subject: [PATCH 467/533] feat(ai): add Dokimos --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2024345e..0b6b9bb1 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,7 @@ _Frameworks and libraries that help implementing and verifying design and archit _Frameworks that help you to leverage LLMs and AI._ +- [Dokimos](https://github.com/dokimos-dev/dokimos) - Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. - [JamJet](https://github.com/jamjet-labs/jamjet) - Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. - [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. From 5288223497e444e192ebf30a09b527fed94dff6a Mon Sep 17 00:00:00 2001 From: Jacob von Eyben Date: Sun, 21 Jun 2026 13:07:32 +0200 Subject: [PATCH 468/533] feat(flat-file): add flat file category --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 0b6b9bb1..029959ac 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ We are evaluating to make this the default, you can provide feedback here in [#1 - [Distribution](#distribution) - [Document Processing](#document-processing) - [Financial](#financial) + - [Flat File](#flat-file) - [Formal Verification](#formal-verification) - [Functional Programming](#functional-programming) - [Game Development](#game-development) @@ -480,6 +481,14 @@ _Libraries related to the financial domain._ - [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. - [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. +### Flat File + +_Frameworks and libraries for reading and writing fixed-length and delimited flat files._ + +- [BeanIO](https://github.com/beanio/beanio) - Maps flat files of fixed-length or delimited records to and from Java beans using XML or annotation configuration. +- [fixedformat4j](https://github.com/jeyben/fixedformat4j) - Annotation-driven mapping of fixed-width flat files to and from POJOs and Java records. +- [Flatpack](https://github.com/Appendium/flatpack) - Parses and writes delimited and fixed-length flat files with optional column-mapping definitions. + ### Formal Verification _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ From 51c3fe5838aaee5a8654701535c9fff50d862d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20KOKULU?= <134283997+bariskokulu@users.noreply.github.com> Date: Sun, 21 Jun 2026 14:07:38 +0300 Subject: [PATCH 469/533] feat(code-generators): add CRUDGen --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 029959ac..d368f330 100644 --- a/README.md +++ b/README.md @@ -238,6 +238,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. - [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. - [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [CRUDGen](https://github.com/bariskokulu/CRUDGen) - Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. - [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. - [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. From c390f88b74c480b5c60b5840992a7bdfb3451ae3 Mon Sep 17 00:00:00 2001 From: kingchenc Date: Sun, 21 Jun 2026 13:07:44 +0200 Subject: [PATCH 470/533] feat(financial): add Wickra --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d368f330..b9016b48 100644 --- a/README.md +++ b/README.md @@ -481,6 +481,7 @@ _Libraries related to the financial domain._ - [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. - [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. - [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. +- [Wickra](https://github.com/wickra-lib/wickra) - Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. ### Flat File From 829faadf464dee76ea694a712bdf5967889054f4 Mon Sep 17 00:00:00 2001 From: albilu <35330562+albilu@users.noreply.github.com> Date: Sun, 21 Jun 2026 11:07:50 +0000 Subject: [PATCH 471/533] feat(testing): add test-watch-maven-plugin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b9016b48..db89d313 100644 --- a/README.md +++ b/README.md @@ -1237,6 +1237,7 @@ _Other stuff related to testing._ - [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. - [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. - [Java Evolved](https://javaevolved.github.io/) - Side-by-side comparisons of legacy and modern Java patterns. +- [test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin) - Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. #### Mocking From 4097391f6c4b0bef6c52aa1c79561ccc75ae839f Mon Sep 17 00:00:00 2001 From: AntonLem Date: Sun, 21 Jun 2026 13:07:56 +0200 Subject: [PATCH 472/533] feat(code-formatting): add code formatting section --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index db89d313..a8286aa0 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ We are evaluating to make this the default, you can provide feedback here in [#1 - [Cloud](#cloud) - [Code Analysis](#code-analysis) - [Code Coverage](#code-coverage) + - [Code Formatting](#code-formatting) - [Code Generators](#code-generators) - [Compiler-compiler](#compiler-compiler) - [Computer Vision](#computer-vision) @@ -230,6 +231,14 @@ _Frameworks and tools that enable code coverage metrics collection for test suit - [Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin) - Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. - [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. +### Code Formatting + +_Tools that format or restructure Java source code._ + +- [google-java-format](https://github.com/google/google-java-format) - Reformats Java source code to follow Google Java Style. +- [JHarmonizer](https://github.com/lemon-ant/JHarmonizer) - Safely reorders Java source code with configurable rules and Palantir Java Format. +- [Palantir Java Format](https://github.com/palantir/palantir-java-format) - Formatter based on google-java-format with wider lines and lambda-friendly output. + ### Code Generators _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ From dad1393209cdccb911eef0ca854dbac800fe6d3b Mon Sep 17 00:00:00 2001 From: Dinuka Mihiran Karunarathna Date: Sun, 21 Jun 2026 23:08:02 +1200 Subject: [PATCH 473/533] feat(bean-mapping): add Immuto --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8286aa0..0d8ebaa2 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ _Frameworks that help you to leverage LLMs and AI._ _Frameworks that ease bean mapping._ - [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +- [Immuto](https://github.com/karunarathnad/immuto) - Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection. - [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. - [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. From 945e968285d3c97871a43c6addf0efcd2d8cc6cc Mon Sep 17 00:00:00 2001 From: Alex Laird Date: Sun, 21 Jun 2026 06:08:08 -0500 Subject: [PATCH 474/533] feat(networking): add java-ngrok --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d8ebaa2..3d21f043 100644 --- a/README.md +++ b/README.md @@ -880,6 +880,7 @@ _Libraries for building network servers._ - [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. - [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. - [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. +- [java-ngrok](https://github.com/alexdlaird/java-ngrok) - Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. - [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. - [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://netty.io) - Framework for building high-performance network applications. From 7c5d59d0d2c263f3f02a548eb8d37c463e8fcff1 Mon Sep 17 00:00:00 2001 From: Mitsunori Komatsu Date: Sun, 21 Jun 2026 20:08:14 +0900 Subject: [PATCH 475/533] feat(data-structures): add Wormhole4j --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3d21f043..28ec772e 100644 --- a/README.md +++ b/README.md @@ -332,6 +332,7 @@ _Efficient and specific data structures._ - [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. - [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. - [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. +- [Wormhole4j](https://github.com/komamitsu/wormhole4j) - High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. ### Database From 5725e263a98d5561a0b9a2be2f54dad22b5c83c4 Mon Sep 17 00:00:00 2001 From: Seongman Yang Date: Sun, 21 Jun 2026 20:08:20 +0900 Subject: [PATCH 476/533] feat(document-processing): add jackson-dataformat-spreadsheet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28ec772e..f540408e 100644 --- a/README.md +++ b/README.md @@ -479,6 +479,7 @@ _Libraries that assist with processing office document formats._ - [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. - [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. +- [jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet) - Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. - [Sheetz](https://github.com/chitralabs/sheetz) - Library for reading and writing Excel and CSV files with annotation-based mapping, streaming support, and built-in validation. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. From 5321f4e0e4c9f0c8132f870f69fb037109af7d8d Mon Sep 17 00:00:00 2001 From: Manuel <81876616+ManuR93@users.noreply.github.com> Date: Sun, 21 Jun 2026 13:08:25 +0200 Subject: [PATCH 477/533] fix: remove outdated links --- README.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/README.md b/README.md index f540408e..1b13da43 100644 --- a/README.md +++ b/README.md @@ -325,7 +325,6 @@ _Efficient and specific data structures._ - [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. - [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. - [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. -- [HyperMinHash-java](https://github.com/LiveRamp/HyperMinHash-java) - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space. - [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. - [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. - [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. @@ -542,7 +541,6 @@ _Frameworks that support the development of games._ - [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. - [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 @@ -762,7 +760,6 @@ _Tools for creating and managing microservices._ - [Eureka](https://github.com/Netflix/eureka) - REST-based service registry for resilient load balancing and failover. - [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. - [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. -- [KeenType](https://github.com/DaveJarvis/KeenType) - Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX. - [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. @@ -968,7 +965,6 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. - [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. - [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. -- [Chain](http://commons.apache.org/proper/commons-chain/) - Chain of Responsibility pattern implementation. - [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. - [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. - [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. @@ -987,7 +983,6 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. - [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. - [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. -- [Functor](http://commons.apache.org/proper/commons-functor/) - Function that can be manipulated as an object, or an object representing a single, generic function. - [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. - [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. - [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. @@ -1006,12 +1001,10 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. - [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. - [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. -- [OGNL](http://commons.apache.org/proper/commons-ognl/) - Object-graph navigation language. - [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. - [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. - [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. - [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. -- [Proxy](http://commons.apache.org/proper/commons-proxy/) - Library for creating dynamic proxies. - [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. - [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. - [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. @@ -1022,7 +1015,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Other - [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in [security](https://github.com/networknt/light-oauth2/). +- [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in security. - [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. From 2cb5b04efa1f3b1724a4778daa078686b661fd3f Mon Sep 17 00:00:00 2001 From: Mohammad Saddam Hossain <31798329+shossain786@users.noreply.github.com> Date: Sun, 21 Jun 2026 16:38:31 +0530 Subject: [PATCH 478/533] feat(testing): add Selenium Boot --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b13da43..fdda0cec 100644 --- a/README.md +++ b/README.md @@ -1214,6 +1214,7 @@ _Provide environments to run tests for a specific use case._ - [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. - [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. +- [Selenium Boot](https://github.com/seleniumboot/selenium-boot) - Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. #### Matchers From 24460ce867fc7c33bdcad03f77836a0c63fabc40 Mon Sep 17 00:00:00 2001 From: Irakli Betchvaia Date: Sun, 21 Jun 2026 13:09:26 +0200 Subject: [PATCH 479/533] feat(architecture): add kUML --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fdda0cec..366cc1b2 100644 --- a/README.md +++ b/README.md @@ -258,6 +258,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [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. - [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +- [kUML](https://kuml.dev) - Type-safe Kotlin DSL for UML 2.x, SysML 2, and C4 modeling with SVG/PNG rendering, MDA model-to-text transforms, and a Gradle plugin for JVM projects. - [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. - [Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator) - Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. From ffc76663c28859e2b93015e51ee96d5ee2f2e957 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 21 Jun 2026 15:10:12 +0400 Subject: [PATCH 480/533] Revert "feat(architecture): add kUML" This reverts commit 24460ce867fc7c33bdcad03f77836a0c63fabc40. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 366cc1b2..fdda0cec 100644 --- a/README.md +++ b/README.md @@ -258,7 +258,6 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [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. - [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -- [kUML](https://kuml.dev) - Type-safe Kotlin DSL for UML 2.x, SysML 2, and C4 modeling with SVG/PNG rendering, MDA model-to-text transforms, and a Gradle plugin for JVM projects. - [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. - [Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator) - Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. From efc16b8446112469241a9a123e2e0614b2d58f6f Mon Sep 17 00:00:00 2001 From: chitralabs Date: Sun, 21 Jun 2026 06:12:29 -0500 Subject: [PATCH 481/533] feat(document-processing): update Sheetz description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fdda0cec..b127bf61 100644 --- a/README.md +++ b/README.md @@ -479,7 +479,7 @@ _Libraries that assist with processing office document formats._ - [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. - [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. - [jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet) - Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. -- [Sheetz](https://github.com/chitralabs/sheetz) - Library for reading and writing Excel and CSV files with annotation-based mapping, streaming support, and built-in validation. +- [Sheetz](https://github.com/chitralabs/sheetz) - Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. ### Financial From f837d5a90c2ff8b1c4147891bc4f8a7373326984 Mon Sep 17 00:00:00 2001 From: Sualeh Fatehi Date: Sun, 21 Jun 2026 07:13:03 -0400 Subject: [PATCH 482/533] feat(database): add SchemaCrawler --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b127bf61..8ad61fa0 100644 --- a/README.md +++ b/README.md @@ -371,6 +371,7 @@ _Everything that simplifies interactions with the database._ - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. - [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. - [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +- [SchemaCrawler](https://www.schemacrawler.com) - Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. - [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. - [Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query) - Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. - [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. From ac173338902c29e0eaf24190a423b440f1ec41fe Mon Sep 17 00:00:00 2001 From: thevpc Date: Sun, 21 Jun 2026 12:13:52 +0100 Subject: [PATCH 483/533] feat(distribution): add Nuts --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ad61fa0..0f2ec166 100644 --- a/README.md +++ b/README.md @@ -467,6 +467,7 @@ _Tools that handle the distribution of applications in native formats._ - [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. - [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. +- [Nuts](https://github.com/thevpc/nuts) - Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. - [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. From 0b6b86e78241f4445437729cc83ad8e4e515f7ab Mon Sep 17 00:00:00 2001 From: Dipankar Sarkar Date: Sun, 21 Jun 2026 12:14:26 +0100 Subject: [PATCH 484/533] feat(ai): add Regulus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0f2ec166..583568c4 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ _Frameworks that help you to leverage LLMs and AI._ - [JamJet](https://github.com/jamjet-labs/jamjet) - Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. - [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. +- [Regulus](https://github.com/neul-labs/regulus) - Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. - [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. - [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. From 8a26016e6c82292a28a04835a866395b5cf7a193 Mon Sep 17 00:00:00 2001 From: Priyanka Darshini Date: Sun, 21 Jun 2026 13:15:17 +0200 Subject: [PATCH 485/533] feat(ai): add Anahata ASI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 583568c4..40352cd4 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ _Frameworks and libraries that help implementing and verifying design and archit _Frameworks that help you to leverage LLMs and AI._ +- [Anahata ASI](https://github.com/anahata-os/anahata-asi) - Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. - [Dokimos](https://github.com/dokimos-dev/dokimos) - Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. - [JamJet](https://github.com/jamjet-labs/jamjet) - Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. - [LangChain4j](https://github.com/langchain4j/langchain4j) - Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. From a3fe0490e0a2847305ebe0eafcd27875ed6f866e Mon Sep 17 00:00:00 2001 From: paohaijiao <814780613@qq.com> Date: Sun, 21 Jun 2026 19:16:02 +0800 Subject: [PATCH 486/533] feat(http-clients): add JQuickCurl --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 40352cd4..cf1b2d79 100644 --- a/README.md +++ b/README.md @@ -597,7 +597,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in the cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. - [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. - +- [JQuickCurl](https://github.com/paohaijiao/jquick-curl) - Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. ### Hypermedia Types _Libraries that handle serialization to hypermedia types._ From 250d5df3e245764c3c16bf686162586d1512e0ef Mon Sep 17 00:00:00 2001 From: Nicolas Baumann Date: Sun, 21 Jun 2026 13:17:00 +0200 Subject: [PATCH 487/533] feat(decompilation): add decompilation libraries --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index cf1b2d79..2cef05ea 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ We are evaluating to make this the default, you can provide feedback here in [#1 - [Database](#database) - [Date and Time](#date-and-time) - [Decentralization](#decentralization) + - [Decompilation](#decompilation) - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) @@ -398,6 +399,17 @@ _Libraries that handle decentralization tasks._ - [java-tron](https://github.com/tronprotocol/java-tron) Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. +### Decompilation + +_Libraries for decompiling JVM bytecode._ + +- [CFR](https://github.com/leibnitz27/cfr) - Java decompiler focused on modern language features. +- [Fernflower](https://github.com/JetBrains/fernflower) - Java decompiler with broad JVM bytecode support. +- [JD-Core](https://github.com/java-decompiler/jd-core) - Core Java decompiler library. +- [Procyon](https://github.com/mstrobel/procyon) - Java decompiler and metadata toolkit. +- [transformer-api](https://github.com/nbauma109/transformer-api) - Unified API that exposes multiple decompilers through one in-memory transformation interface. +- [Vineflower](https://github.com/Vineflower/vineflower) - Modern maintained fork of Fernflower. + ### Dependency Injection _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ From 1e655bd90a4b50cc3204137cd77586eb3598aea6 Mon Sep 17 00:00:00 2001 From: Hope Date: Sun, 21 Jun 2026 20:17:45 +0900 Subject: [PATCH 488/533] feat(performance): add Argus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2cef05ea..f1bd7808 100644 --- a/README.md +++ b/README.md @@ -970,6 +970,7 @@ _Tools for performance analysis, profiling and benchmarking._ - [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. - [JVM Hotpath](https://github.com/sfkamath/jvm-hotpath) - Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. +- [Argus](https://github.com/rlaope/Argus) - JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. ### Platform From e6cdf9dd5a1c3513ada114ddd40d40c0e8fcc024 Mon Sep 17 00:00:00 2001 From: David Almeida Date: Sun, 21 Jun 2026 06:18:18 -0500 Subject: [PATCH 489/533] feat(configuration): add sealed-env --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f1bd7808..8753f9bd 100644 --- a/README.md +++ b/README.md @@ -299,6 +299,7 @@ _Libraries that provide external configuration._ - [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 distributed. - [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. +- [sealed-env](https://github.com/davidalmeidac/sealed-env) - Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. ### Constraint Satisfaction Problem Solver From 7490cf41abbdc3914936fee4337691f610ebee27 Mon Sep 17 00:00:00 2001 From: MN Research Date: Sun, 21 Jun 2026 18:19:13 +0700 Subject: [PATCH 490/533] feat(gui): add FlatLaf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8753f9bd..c04260b7 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,7 @@ _Libraries for working with geospatial data and algorithms._ _Libraries to create modern graphical user interfaces._ +- [FlatLaf](https://github.com/JFormDesigner/FlatLaf) - Modern Swing Look and Feel with Darcula and IntelliJ themes. - [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. - [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. - [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. From 20ed6648221163acaff682c0be7ad5682c2c43df Mon Sep 17 00:00:00 2001 From: paohaijiao Date: Fri, 26 Jun 2026 13:56:47 +0800 Subject: [PATCH 491/533] Add jquick-pdf to PDF section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c04260b7..f0a7c82b 100644 --- a/README.md +++ b/README.md @@ -955,6 +955,7 @@ _Tools to help with PDF files._ - [GraphCompose](https://github.com/DemchaAV/GraphCompose) - Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. - [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) +- [jquick-pdf](https://github.com/paohaijiao/jquick-pdf) - Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. - [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. From 0ca583fb5e9087788ceca367fc50ec2792a8dfa7 Mon Sep 17 00:00:00 2001 From: bluuewhale <67038286+bluuewhale@users.noreply.github.com> Date: Fri, 26 Jun 2026 14:57:12 +0900 Subject: [PATCH 492/533] Add HashSmith to Data Structures --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0a7c82b..62735443 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ _Efficient and specific data structures._ - [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. - [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. - [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. +- [HashSmith](https://github.com/bluuewhale/hash-smith) - Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. - [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. - [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. - [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. From 746fce6932866b0aa8057e1840877923ef91aad1 Mon Sep 17 00:00:00 2001 From: Rashid Date: Sun, 5 Jul 2026 17:00:16 +0300 Subject: [PATCH 493/533] Add Actual Schema Gradle Plugin to Database * Add Actual Schema Gradle Plugin to Database Adds Actual Schema Gradle Plugin to the Database section. The plugin generates a final PostgreSQL schema.sql/DDL from Liquibase migrations by applying them to a temporary PostgreSQL database via Testcontainers. This helps teams keep the actual resulting database schema in Git and review schema changes in pull requests or CI. * Fix Actual Schema Gradle Plugin entry --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 62735443..6ac7f102 100644 --- a/README.md +++ b/README.md @@ -342,6 +342,7 @@ _Efficient and specific data structures._ _Everything that simplifies interactions with the database._ +- [Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin) - Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. - [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. - [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. From 077489d36b5646dcca191fc8c55f1ce5fff482e9 Mon Sep 17 00:00:00 2001 From: Na'aman Hirschfeld Date: Sun, 5 Jul 2026 16:01:35 +0200 Subject: [PATCH 494/533] Add xberg Java bindings * Add xberg, html-to-markdown, crawlberg, liter-llm (Java bindings) * Clean up xberg Java entries --------- Co-authored-by: Andreas Kull --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 6ac7f102..c50fae5e 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,7 @@ _Frameworks that help you to leverage LLMs and AI._ - [Dokimos](https://github.com/dokimos-dev/dokimos) - Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. - [JamJet](https://github.com/jamjet-labs/jamjet) - Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. - [LangChain4j](https://github.com/langchain4j/langchain4j) - Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. +- [liter-llm](https://github.com/xberg-io/liter-llm) - Provides a Java binding for a unified LLM API client across multiple providers. - [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. - [Regulus](https://github.com/neul-labs/regulus) - Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. - [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. @@ -497,8 +498,10 @@ _Libraries that assist with processing office document formats._ - [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. - [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. +- [html-to-markdown](https://github.com/xberg-io/html-to-markdown) - Converts HTML to CommonMark-compatible Markdown through a Java binding. - [jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet) - Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. - [Sheetz](https://github.com/chitralabs/sheetz) - Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. +- [xberg](https://github.com/xberg-io/xberg) - Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. ### Financial @@ -1323,6 +1326,7 @@ _Utilities that help create the development shell environment and switch between _Libraries that analyze the content of websites._ - [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. +- [crawlberg](https://github.com/xberg-io/crawlberg) - Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. - [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. - [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. - [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. From 3171ff1d8853cb1b4ea7c73cc65f9b443c0c0dc2 Mon Sep 17 00:00:00 2001 From: kundanjan <93810926+kundanjan@users.noreply.github.com> Date: Sun, 5 Jul 2026 19:32:39 +0530 Subject: [PATCH 495/533] Add sklearn-java to Machine Learning * Add sklearn-java to Machine Learning section * Fix sklearn-java entry --------- Co-authored-by: kundanjan Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c50fae5e..3e97ee45 100644 --- a/README.md +++ b/README.md @@ -748,6 +748,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. - [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. +- [sklearn-java](https://github.com/kVeyra/sklearn-java) - Implements scikit-learn-style machine learning algorithms in pure Java. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. - [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) From 80e679365a74a47968c61697ec80f92b2b04354b Mon Sep 17 00:00:00 2001 From: paohaijiao Date: Sun, 5 Jul 2026 22:03:42 +0800 Subject: [PATCH 496/533] Add JQuick Java to Miscellaneous * add jquick-pdf to PDF section add jquick-pdf to PDF section * Fix jquick-pdf entry wording * Add jQuick-Java to JVMs list Added jQuick-Java entry to the JVMs list in README. * fix: move JQuick Java from JVM/JDK to Miscellaneous and normalize display name * fix: move JQuick Java from JVM/JDK to Miscellaneous and normalize display name * Fix JQuick Java entry --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e97ee45..df777c05 100644 --- a/README.md +++ b/README.md @@ -812,6 +812,7 @@ _Everything else._ - [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. - [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - [JPad](http://jpad.io) - Snippet runner. +- [JQuick Java](https://github.com/paohaijiao/jquick-java) - Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. - [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. - [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. From a4f8e9b8024d077f283eb8c8a2a233ebf6f4582b Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 6 Jul 2026 17:14:41 +0800 Subject: [PATCH 497/533] OfficeFloor (#1281) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df777c05..89b7ee86 100644 --- a/README.md +++ b/README.md @@ -1072,6 +1072,7 @@ _Frameworks specifically for creating RESTful services._ - [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - [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. +- [OfficeFloor](https://github.com/officefloor/OfficeFloor) - Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. - [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. - [RESTEasy](https://resteasy.github.io) - Fully certified and portable implementation of the JAX-RS specification. From 4a289ddc97f321383d1209ba52c88e9f5dc456e7 Mon Sep 17 00:00:00 2001 From: Sudhanshu Ambastha <135802131+Sudhanshu-Ambastha@users.noreply.github.com> Date: Mon, 6 Jul 2026 14:45:11 +0530 Subject: [PATCH 498/533] Add jar-cart to Build (#1282) Added jar-cart as a modern package manager for Java. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89b7ee86..774ab87a 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ _Tools that handle the build cycle and dependencies of an application._ - [Bazel](https://bazel.build) - Tool from Google that builds code quickly and reliably. - [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. - +- [jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart) - A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. - [ReleaseRun](https://releaserun.com) - Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. ### Bytecode Manipulation From ed3760c405c63ba5afee0e96caaddd63c59c646b Mon Sep 17 00:00:00 2001 From: MOHAMMED HANAN M T P <91409429+hanu-14@users.noreply.github.com> Date: Sat, 18 Jul 2026 23:38:44 +0530 Subject: [PATCH 499/533] Upgrade HTTP links to HTTPS (#1289) * fix: upgrade http:// to https:// in README * Fix invalid HTTPS link upgrades --------- Co-authored-by: Andreas Kull --- README.md | 192 +++++++++++++++++++++++++++--------------------------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/README.md b/README.md index 774ab87a..0d12e808 100644 --- a/README.md +++ b/README.md @@ -175,7 +175,7 @@ _Libraries that provide caching facilities._ - [cache2k](https://cache2k.org) - In-memory high performance caching library. - [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. -- [Ehcache](http://www.ehcache.org) - Distributed general-purpose cache. +- [Ehcache](https://www.ehcache.org) - Distributed general-purpose cache. - [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. ### CLI @@ -187,7 +187,7 @@ _Libraries for everything related to the CLI._ _Libraries to assist with parsing command line arguments._ - [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. -- [JCommander](http://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. +- [JCommander](https://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. - [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. - [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. @@ -296,7 +296,7 @@ _Libraries that provide external configuration._ - [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files. - [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) - Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. - [Gestalt](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. +- [ini4j](https://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 distributed. - [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. @@ -317,7 +317,7 @@ _Frameworks and libraries that simplify reading/writing CSV data._ - [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. - [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. -- [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. +- [opencsv](https://opencsv.sourceforge.net) - Simple CSV parser. - [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. - [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. @@ -358,7 +358,7 @@ _Everything that simplifies interactions with the database._ - [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. - [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. - [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. -- [JDBI](http://jdbi.org) - Convenient abstraction of JDBC. +- [JDBI](https://jdbi.org) - Convenient abstraction of JDBC. - [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. - [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. - [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. @@ -366,8 +366,8 @@ _Everything that simplifies interactions with the database._ - [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. - [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. - [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. -- [Liquibase](http://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. -- [MapDB](http://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +- [Liquibase](https://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. +- [MapDB](https://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. - [Open J Proxy](https://github.com/Open-J-Proxy/ojp) - Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. @@ -456,7 +456,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. -- [Quasar](http://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +- [Quasar](https://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. - [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. - [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. - [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. @@ -481,7 +481,7 @@ _Tools that handle the distribution of applications in native formats._ - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. - [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -- [IzPack](http://izpack.org) - Setup authoring tool for cross-platform deployments. +- [IzPack](https://izpack.org) - Setup authoring tool for cross-platform deployments. - [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. - [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. @@ -534,7 +534,7 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc - [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) -- [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) +- [OpenJML](https://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 @@ -543,7 +543,7 @@ _Libraries that facilitate functional programming._ - [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. - [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - [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. +- [Functional Java](https://github.com/functionaljava/functionaljava) - 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. - [Parallel Collectors](https://github.com/pivovarit/parallel-collectors) - Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. @@ -557,7 +557,7 @@ _Frameworks that support the development of games._ - [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. - [input4j](https://gurkenlabs.github.io/input4j/) - Lightweight, cross-platform library for gamepad and joystick input handling. -- [JBox2D](http://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. +- [JBox2D](https://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. - [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. - [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. - [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. @@ -574,7 +574,7 @@ _Libraries for working with geospatial data and algorithms._ - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. - [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](http://www.h2gis.org) - Spatial extension of the H2 database. (LGPL-3.0-only) +- [H2GIS](https://h2gis.org/) - Spatial extension of the H2 database. (LGPL-3.0-only) - [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. - [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. @@ -597,7 +597,7 @@ _Everything about high-performance computation, from collections to specific lib - [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. - [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. - [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. -- [fastutil](http://fastutil.di.unimi.it) - Fast and compact type-specific collections. +- [fastutil](https://fastutil.di.unimi.it) - Fast and compact type-specific collections. - [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. - [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. - [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. @@ -658,7 +658,7 @@ _Libraries that help make the Java introspection and reflection API easier and f - [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. - [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -- [Objenesis](http://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +- [Objenesis](https://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. - [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. @@ -687,7 +687,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. - [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. -- [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. +- [jsoniter](https://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. - [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. - [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. @@ -722,11 +722,11 @@ _Libraries that log the behavior of an application._ - [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. +- [Logback](https://logback.qos.ch) - Robust logging library with interesting configuration options via Groovy. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. - [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. - [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. -- [SLF4J](http://www.slf4j.org) - Abstraction layer/simple logging facade. +- [SLF4J](https://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. @@ -737,7 +737,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. - [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. -- [DatumBox](http://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. +- [DatumBox](https://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. - [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. - [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. - [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. @@ -767,7 +767,7 @@ _Tools that help send messages between clients to ensure protocol independency._ - [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. - [Emissary](https://github.com/joel-jeremy/emissary) - Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. -- [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. +- [Hermes](https://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. - [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. - [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. @@ -805,13 +805,13 @@ _Everything else._ - [JBake](https://jbake.org) - Static website generator. - [JBang](https://www.jbang.dev/) - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) -- [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. +- [JCuda](https://javagl.de/jcuda.org/) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. - [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. - [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. -- [JPad](http://jpad.io) - Snippet runner. +- [JPad](https://jpad.io) - Snippet runner. - [JQuick Java](https://github.com/paohaijiao/jquick-java) - Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. - [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. - [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. @@ -822,7 +822,7 @@ _Everything else._ - [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. - [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. - [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. -- [OpenRefine](http://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +- [OpenRefine](https://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - [Rollgate](https://rollgate.io) - Cloud-managed feature flag platform with a Java SDK, supporting gradual rollouts, A/B testing, and real-time updates. @@ -882,7 +882,7 @@ _For working with platform-specific native libraries._ - [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. - [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. - [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). +- [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](https://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 @@ -893,7 +893,7 @@ _Libraries that specialize in processing text._ - [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) - [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. -- [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. +- [LingPipe](https://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. ### Networking @@ -912,7 +912,7 @@ _Libraries for building network servers._ - [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -- [Undertow](http://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +- [Undertow](https://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) - [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) - [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. @@ -924,7 +924,7 @@ _APIs that handle the persistence of objects._ - [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. - [Ebean](https://ebean.io) - Provides simple and fast data access. - [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) +- [Hibernate](https://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-dynamic](https://github.com/myacelw/mybatis-dynamic) - Code-first dynamic ORM for MyBatis with runtime schema modification. - [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) - A powerful enhanced toolkit of MyBatis for simplifying development. @@ -977,7 +977,7 @@ _Tools for performance analysis, profiling and benchmarking._ - [Heap Seance](https://github.com/SegfaultSorcerer/heap-seance) - Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [JMH](https://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. - [JVM Hotpath](https://github.com/sfkamath/jvm-hotpath) - Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. - [Argus](https://github.com/rlaope/Argus) - JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. @@ -988,56 +988,56 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons -- [BCEL](http://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. -- [BeanUtils](http://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. -- [BeanUtils2](http://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. -- [BSF](http://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. -- [ClassScan](http://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. -- [CLI](http://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. -- [CLI2](http://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. -- [Codec](http://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -- [Collections](http://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. -- [Compress](http://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. -- [Configuration](http://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. -- [Convert](http://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -- [CSV](http://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. -- [Daemon](http://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. -- [DBCP](http://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. -- [DbUtils](http://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. -- [Digester](http://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. -- [Email](http://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. -- [Exec](http://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. -- [FileUpload](http://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. -- [Finder](http://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. -- [Flatfile](http://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. -- [Graph](http://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. -- [I18n](http://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. -- [Id](http://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. -- [Imaging](http://commons.apache.org/proper/commons-imaging/) - Image library. -- [IO](http://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. -- [Javaflow](http://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. -- [JCI](http://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. -- [JCS](http://commons.apache.org/proper/commons-jcs/) - Java Caching System. -- [Jelly](http://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. -- [Jexl](http://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. -- [JNet](http://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. -- [JXPath](http://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. -- [Lang](http://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. +- [BCEL](https://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. +- [BeanUtils](https://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. +- [BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. +- [BSF](https://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. +- [ClassScan](https://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. +- [CLI](https://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. +- [CLI2](https://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. +- [Codec](https://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +- [Collections](https://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. +- [Compress](https://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. +- [Configuration](https://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. +- [Convert](https://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. +- [CSV](https://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. +- [Daemon](https://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. +- [DBCP](https://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. +- [DbUtils](https://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. +- [Digester](https://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. +- [Email](https://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. +- [Exec](https://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. +- [FileUpload](https://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. +- [Finder](https://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. +- [Flatfile](https://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. +- [Graph](https://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. +- [I18n](https://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. +- [Id](https://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. +- [Imaging](https://commons.apache.org/proper/commons-imaging/) - Image library. +- [IO](https://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. +- [Javaflow](https://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. +- [JCI](https://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. +- [JCS](https://commons.apache.org/proper/commons-jcs/) - Java Caching System. +- [Jelly](https://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. +- [Jexl](https://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. +- [JNet](https://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. +- [JXPath](https://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. +- [Lang](https://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. - [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. -- [Math](http://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. -- [Monitoring](http://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. -- [Nabla](http://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -- [Net](http://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. -- [OpenPGP](http://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. -- [Performance](http://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. -- [Pipeline](http://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -- [Pool](http://commons.apache.org/proper/commons-pool/) - Generic object pooling component. +- [Math](https://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. +- [Monitoring](https://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. +- [Nabla](https://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. +- [Net](https://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. +- [OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. +- [Performance](https://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. +- [Pipeline](https://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. +- [Pool](https://commons.apache.org/proper/commons-pool/) - Generic object pooling component. - [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. - [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. -- [SCXML](http://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -- [Validator](http://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. -- [VFS](http://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -- [Weaver](http://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. +- [SCXML](https://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +- [Validator](https://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. +- [VFS](https://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +- [Weaver](https://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. #### Other @@ -1078,8 +1078,8 @@ _Frameworks specifically for creating RESTful services._ - [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. -- [Spark](http://sparkjava.com) - Sinatra inspired framework. -- [Crnk](http://www.crnk.io) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +- [Spark](https://sparkjava.com) - Sinatra inspired framework. +- [Crnk](https://github.com/crnk-project/crnk-framework) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. - [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. - [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. @@ -1092,8 +1092,8 @@ _Libraries for scientific computing, analysis and visualization._ - [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. -- [GraphStream](http://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +- [GraphStream](https://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. +- [JFreeChart](https://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. - [jSciPy](https://github.com/hissain/jscipy) - jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. @@ -1136,7 +1136,7 @@ _Libraries that handle security, authentication, authorization or session manage - [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. - [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - [pac4j](https://github.com/pac4j/pac4j) - Security engine. -- [Passay](http://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. +- [Passay](https://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. - [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. - [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. @@ -1205,7 +1205,7 @@ _Testing for the software development process that emerged from TDD and was heav - [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. - [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. - [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. -- [JGiven](http://jgiven.org) - Provides a fluent API which allows for simpler composition. +- [JGiven](https://jgiven.org) - Provides a fluent API which allows for simpler composition. - [Kensa](https://github.com/kensa-dev/kensa) - Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. - [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. @@ -1229,9 +1229,9 @@ _Everything related to the creation and handling of random data._ _Provide environments to run tests for a specific use case._ -- [Apache JMeter](http://jmeter.apache.org) - Functional testing and performance measurements. +- [Apache JMeter](https://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. +- [Arquillian](https://arquillian.org) - Integration and functional testing platform for Java EE containers. - [BitDive ![c]](https://bitdive.io) - Zero-code integration testing platform that generates tests from runtime application behavior. - [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. @@ -1239,7 +1239,7 @@ _Provide environments to run tests for a specific use case._ - [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. +- [PIT](https://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. - [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. - [Selenium Boot](https://github.com/seleniumboot/selenium-boot) - Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. @@ -1249,8 +1249,8 @@ _Provide environments to run tests for a specific use case._ _Libraries that provide custom matchers._ - [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. -- [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. -- [JSONAssert](http://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. +- [Hamcrest](https://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. +- [JSONAssert](https://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. - [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. - [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. @@ -1278,12 +1278,12 @@ _Other stuff related to testing._ _Tools which mock collaborators to help testing single, isolated units._ -- [JMockit](http://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. +- [JMockit](https://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. - [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. - [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. - [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. - [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -- [WireMock](http://wiremock.org) - Stubs and mocks web services. +- [WireMock](https://wiremock.org) - Stubs and mocks web services. - [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. ### Utility @@ -1294,7 +1294,7 @@ _Libraries which provide general utility functions._ - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. - [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. -- [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +- [CRaSH](https://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. - [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. @@ -1332,7 +1332,7 @@ _Libraries that analyze the content of websites._ - [crawlberg](https://github.com/xberg-io/crawlberg) - Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. - [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. - [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. -- [StormCrawler](http://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. +- [StormCrawler](https://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. - [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. ### Web Frameworks @@ -1344,11 +1344,11 @@ _Frameworks that handle the communication between the layers of a web applicatio - [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. - [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. - [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. -- [Firefly](http://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. +- [Firefly](https://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. - [Javalin](https://javalin.io/) - Microframework for web applications. -- [Jooby](http://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. -- [Ninja](http://www.ninjaframework.org) - Full-stack web framework. -- [Pippo](http://www.pippo.ro) - Small, highly modularized, Sinatra-like framework. +- [Jooby](https://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. +- [Ninja](https://www.ninjaframework.org) - Full-stack web framework. +- [Pippo](https://github.com/pippo-java/pippo) - Small, highly modularized, Sinatra-like framework. - [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. - [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. @@ -1419,7 +1419,7 @@ _Something to look at or listen to while programming._ - [A Bootiful Podcast](https://bootifulpodcast.fm) - [Foojay Podcast](https://foojay.io/today/category/podcast/) - [Inside Java](https://inside.java/podcast) (Official) -- [Java Off Heap](http://www.javaoffheap.com) +- [Java Off Heap](https://www.javaoffheap.com) - [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. ### People @@ -1482,7 +1482,7 @@ _Sites to read._ - [JAXenter](https://jaxenter.com) - [RebelLabs](https://zeroturnaround.com/rebellabs) - [OverOps Blog](https://blog.overops.com) -- [TheServerSide.com](http://www.theserverside.com) +- [TheServerSide.com](https://www.theserverside.com) - [Vanilla Java](https://vanilla-java.github.io) - [Voxxed](https://www.voxxed.com) - [Java Weekly](https://discu.eu/weekly/java/) From 562dbf7d1e02510b4ba602ea7db6588a23dcab0d Mon Sep 17 00:00:00 2001 From: Thomas Borg Salling Date: Sat, 18 Jul 2026 20:08:46 +0200 Subject: [PATCH 500/533] Add AISmessages to Miscellaneous (#1284) * Add AISmessages to Miscellaneous Co-Authored-By: Claude Opus 4.8 * Refine AISmessages description --------- Co-authored-by: Claude Opus 4.8 Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d12e808..1ed80b3f 100644 --- a/README.md +++ b/README.md @@ -795,6 +795,7 @@ _Tools for creating and managing microservices._ _Everything else._ +- [AISmessages](https://github.com/tbsalling/aismessages) - Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) - [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. From 4c30a508170e886b7825b62d9ef79f8e66d5d3c6 Mon Sep 17 00:00:00 2001 From: Yurii Kostyukov Date: Sat, 18 Jul 2026 21:08:49 +0300 Subject: [PATCH 501/533] Add Explyt AI Agent (#1286) * Add Explyt * Move Explyt to Miscellaneous --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1ed80b3f..306720f9 100644 --- a/README.md +++ b/README.md @@ -798,6 +798,7 @@ _Everything else._ - [AISmessages](https://github.com/tbsalling/aismessages) - Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) - [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. +- [Explyt ![c]](https://github.com/explyt/explyt) - AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. - [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. From 6a10a34b46cd236ca4ccd4d543a19d296d38a337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=C3=AA=20Oliveira?= Date: Sat, 18 Jul 2026 15:08:51 -0300 Subject: [PATCH 502/533] Add Viglet Turing ES to Search (#1287) * Add Viglet Turing ES to Search * Refine Viglet Turing ES description --------- Co-authored-by: Andreas Kull --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 306720f9..a3ef2afe 100644 --- a/README.md +++ b/README.md @@ -1115,6 +1115,7 @@ _Engines that index documents for search and analysis._ - [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. - [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. - [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. +- [Viglet Turing ES](https://github.com/openviglet/turing-ce) - Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends. ### Security From b57be251af33c1f0a2f736beff47866f0df933f1 Mon Sep 17 00:00:00 2001 From: Raj Patel Date: Sat, 18 Jul 2026 19:08:53 +0100 Subject: [PATCH 503/533] Add Spotless to Code Formatting (#1290) * Add Spotless to formatting tools list in README Spotless is the go to tooling for formatting and enforcement of a code style * Update Spotless description in README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a3ef2afe..e0b8b7d0 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,7 @@ _Tools that format or restructure Java source code._ - [google-java-format](https://github.com/google/google-java-format) - Reformats Java source code to follow Google Java Style. - [JHarmonizer](https://github.com/lemon-ant/JHarmonizer) - Safely reorders Java source code with configurable rules and Palantir Java Format. - [Palantir Java Format](https://github.com/palantir/palantir-java-format) - Formatter based on google-java-format with wider lines and lambda-friendly output. +- [Spotless](https://github.com/diffplug/spotless) - A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages. ### Code Generators From dbf3f77a0e94e7258bb3361a2b99c1edd420a635 Mon Sep 17 00:00:00 2001 From: Raj Patel Date: Sat, 18 Jul 2026 19:08:55 +0100 Subject: [PATCH 504/533] Add JSpecify to Code Analysis (#1291) Add JSpecify to the list of static analysis tools Add JSpecify to the README, highlighting its role in providing standardized nullness annotations. JSpecify aims to create a unified framework for null-safety that works uniformly across various Java IDEs, compilers, and static analysis tools. This addition serves as a valuable resource for developers looking to implement robust, tool-agnostic null checking in modern Java projects. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0b8b7d0..1cd5c0c9 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,7 @@ _Tools that provide metrics and quality measurements._ - [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. - [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) +- [JSpecify](https://jspecify.dev/) - Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. - [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. From 27a5d9ed5508a4e96c010dd0711a3b7f6719e633 Mon Sep 17 00:00:00 2001 From: aku Date: Sat, 18 Jul 2026 22:20:21 +0400 Subject: [PATCH 505/533] Clarify Java-focused contribution policy (#1292) --- CONTRIBUTING.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e216e21c..9a5ea1b1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,11 +10,13 @@ Unfortunately, not every library/tool/framework can be considered. This list aim (d) a niche product that fills a gap +Suggested software must be focused on the Java ecosystem. Java should be a primary API, runtime, implementation target or substantial first-class integration. Incidental Java support in an otherwise language-agnostic project is not sufficient. + Suggested software must also be developer-friendly, which means it meets the following criteria: -(i) If an open source _application_, it is licensed under one of the open source licenses listed on https://opensource.org/licenses. +(i) If source code is available, its license is clearly documented. -(ii) If an open source _library_, it is licensed under one of the open source licenses listed on https://opensource.org/licenses, with the exception of GPL and AGPL (due to their viral nature). +(ii) Any license is acceptable when it is clearly disclosed. Restrictive, noncommercial and source-available licenses must be named in the entry. (iii) If commercial, it has clear pricing and at least one free tier. From 1071fd47cc131961da23a7c0dc7eea359bccb61f Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 26 Jul 2026 14:21:36 +0200 Subject: [PATCH 506/533] Add README layout previews --- README_2.md | 9449 +++++++++++++++++++++++++++++++++++++++++++++++++++ README_3.md | 4160 +++++++++++++++++++++++ 2 files changed, 13609 insertions(+) create mode 100644 README_2.md create mode 100644 README_3.md diff --git a/README_2.md b/README_2.md new file mode 100644 index 00000000..b5540c38 --- /dev/null +++ b/README_2.md @@ -0,0 +1,9449 @@ +# Awesome Java [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) + +A curated list of awesome Java frameworks, libraries and software. + +840 projects · 75 categories · GitHub statistics refreshed 2026-07-26 · Activity is the repository's latest push. + +Browse a category below, or use your browser's find command to locate a project. + +## Projects + + +
+Architecture 2 projects + +_Frameworks and libraries that help implementing and verifying design and architecture concepts._ + +
+
+ +**[ArchUnit](https://github.com/TNG/ArchUnit)** ★ 3.8k Last push 2026-07-25 + +
+
+ +Test library for specifying and asserting architecture rules. + +
+
+ +**[jMolecules](https://github.com/xmolecules/jmolecules)** ★ 1.5k Last push 2026-02-03 + +
+
+ +Annotations and interfaces to express design and architecture concepts in code. + +
+
+ +
+ + +
+Artificial Intelligence 9 projects + +_Frameworks that help you to leverage LLMs and AI._ + +
+
+ +**[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 Last push 2026-07-25 + +
+
+ +Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. + +
+
+ +**[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 Last push 2026-07-24 + +
+
+ +Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. + +
+
+ +**[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 Last push 2026-07-20 + +
+
+ +Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. + +
+
+ +**[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k Last push 2026-07-24 + +
+
+ +Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. + +
+
+ +**[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 238 Last push 2026-07-26 + +
+
+ +Provides a Java binding for a unified LLM API client across multiple providers. + +
+
+ +**[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k Last push 2026-07-10 + +
+
+ +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. + +
+
+ +**[Regulus](https://github.com/neul-labs/regulus)** ★ 7 Last push 2026-07-02 + +
+
+ +Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. + +
+
+ +**[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 Last push 2025-09-17 + +
+
+ +Library to use the OpenAI API (and compatible ones) in the simplest possible way. + +
+
+ +**[Spring AI](https://spring.io/projects/spring-ai)** + +
+
+ +Application framework for AI engineering for Spring. + +
+
+ +
+ + +
+Bean Mapping 8 projects + +_Frameworks that ease bean mapping._ + +
+
+ +**[dOOv](https://github.com/doov-io/doov)** ★ 103 Last push 2023-01-04 + +
+
+ +Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. + +
+
+ +**[Immuto](https://github.com/karunarathnad/immuto)** ★ 6 Last push 2026-07-05 + +
+
+ +Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection. + +
+
+ +**[JMapper](https://github.com/jmapper-framework/jmapper-core)** ★ 245 Last push 2023-10-25 + +
+
+ +Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. + +
+
+ +**[MapStruct](https://github.com/mapstruct/mapstruct)** ★ 7.7k Last push 2026-07-25 + +
+
+ +Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. + +
+
+ +**[ModelMapper](https://github.com/modelmapper/modelmapper)** ★ 2.4k Last push 2025-11-11 + +
+
+ +Intelligent object mapping library that automatically maps objects to each other. + +
+
+ +**[Orika](https://github.com/orika-mapper/orika)** ★ 1.3k Last push 2024-10-14 + +
+
+ +JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. + +
+
+ +**[reMap](https://github.com/remondis-it/remap)** ★ 128 Last push 2026-07-15 + +
+
+ +Lambda and method handle-based mapping which requires code and not annotations if objects have different names. + +
+
+ +**[Selma](https://github.com/xebia-france/selma)** ★ 213 Last push 2020-01-01 + +
+
+ +Annotation processor-based bean mapper. + +
+
+ +
+ + +
+Build 6 projects + +_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. + +
+
+ +**[Bazel](https://bazel.build)** + +
+
+ +Tool from Google that builds code quickly and reliably. + +
+
+ +**[Buck2](https://github.com/facebook/buck2)** ★ 4.4k Last push 2026-07-26 + +
+
+ +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. + +
+
+ +**[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 Last push 2026-07-24 + +
+
+ +A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. + +
+
+ +**[ReleaseRun](https://releaserun.com)** + +
+
+ +Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. + +
+
+ +
+ + +
+Bytecode Manipulation 10 projects + +_Libraries to manipulate bytecode programmatically._ + +
+
+ +**[ASM](https://asm.ow2.io)** + +
+
+ +All-purpose, low-level bytecode manipulation and analysis. + +
+
+ +**[Byte Buddy](https://bytebuddy.net)** + +
+
+ +Further simplifies bytecode generation with a fluent API. + +
+
+ +**[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k Last push 2026-07-17 + +
+
+ +Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) + +
+
+ +**[Byteman](https://byteman.jboss.org)** + +
+
+ +Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) + +
+
+ +**[cglib](https://github.com/cglib/cglib)** ★ 4.9k Last push 2024-08-16 + +
+
+ +Bytecode generation library. + +
+
+ +**[Javassist](https://github.com/jboss-javassist/javassist)** ★ 4.2k Last push 2026-06-21 + +
+
+ +Tries to simplify bytecode editing. + +
+
+ +**[Maker](https://github.com/cojen/maker)** ★ 70 Last push 2026-07-24 + +
+
+ +Provides low level bytecode generation. + +
+
+ +**[Mixin](https://github.com/SpongePowered/Mixin)** ★ 1.7k Last push 2024-08-05 + +
+
+ +Manipulate bytecode at runtime using real Java code. + +
+
+ +**[Perses](https://github.com/nicolasmanic/perses)** ★ 70 Last push 2021-08-02 + +
+
+ +Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. + +
+
+ +**[Recaf](https://www.coley.software/Recaf/)** + +
+
+ +JVM reverse engineering toolkit, essentially an IDE for Java bytecode. + +
+
+ +
+ + +
+Caching 4 projects + +_Libraries that provide caching facilities._ + +
+
+ +**[cache2k](https://cache2k.org)** + +
+
+ +In-memory high performance caching library. + +
+
+ +**[Caffeine](https://github.com/ben-manes/caffeine)** ★ 17.8k Last push 2026-07-26 + +
+
+ +High-performance, near-optimal caching library. + +
+
+ +**[Ehcache](https://www.ehcache.org)** + +
+
+ +Distributed general-purpose cache. + +
+
+ +**[Infinispan](https://infinispan.org)** + +
+
+ +Highly concurrent key/value datastore used for caching. + +
+
+ +
+ + +
+CLI 10 projects + +_Libraries for everything related to the CLI._ + +#### Argument Parsing + +5 projects + +_Libraries to assist with parsing command line arguments._ + +
+
+ +**[Airline](https://rvesse.github.io/airline/)** + +
+
+ +Annotation-based framework for parsing Git-like command-line arguments. + +
+
+ +**[JCommander](https://jcommander.org)** + +
+
+ +Command-line argument-parsing framework with custom types and validation via implementing interfaces. + +
+
+ +**[jbock](https://github.com/jbock-java/jbock)** ★ 92 Last push 2026-03-15 + +
+
+ +Reflectionless command line parser. + +
+
+ +**[JLine](https://github.com/jline/jline3)** ★ 1.8k Last push 2026-07-22 + +
+
+ +Includes features from modern shells like completion or history. + +
+
+ +**[picocli](https://picocli.info)** + +
+
+ +ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. + +
+
+ +#### Text-Based User Interfaces + +5 projects + +_Libraries that provide TUI frameworks, or building blocks related functions._ + +
+
+ +**[AliveJTUI](https://github.com/yehorsyrin/alivejTUI)** ★ 9 Last push 2026-04-03 + +
+
+ +Declarative, React-style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes. + +
+
+ +**[Jansi](https://github.com/fusesource/jansi)** ★ 1.2k Last push 2026-03-27 + +
+
+ +ANSI escape codes to format console output. + +
+
+ +**[Jexer](https://gitlab.com/AutumnMeowMeow/jexer)** + +
+
+ +Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). + +
+
+ +**[Text-IO](https://github.com/beryx/text-io)** ★ 353 Last push 2023-11-02 + +
+
+ +Aids the creation of full console-based applications. + +
+
+ +**[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k Last push 2026-07-07 + +
+
+ +Easy console text-GUI library, similar to curses. (LGPL-3.0-only) + +
+
+ +
+ + +
+Cloud 2 projects + +_Libraries to integrate or use cloud-specific features._ + +
+
+ +**[AWS SDK for Java](https://github.com/aws/aws-sdk-java)** ★ 4.2k Last push 2026-04-06 + +
+
+ +Provides Java APIs for interacting with Amazon Web Services. + +
+
+ +**[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k Last push 2026-07-26 + +
+
+ +Client libraries for accessing Google Cloud services from Java applications. + +
+
+ +
+ + +
+Code Analysis 14 projects + +_Tools that provide metrics and quality measurements._ + +
+
+ +**[Checkstyle](https://github.com/checkstyle/checkstyle)** ★ 9k Last push 2026-07-26 + +
+
+ +Static analysis of coding conventions and standards. (LGPL-2.1-or-later) + +
+
+ +**[Error Prone](https://github.com/google/error-prone)** ★ 7.2k Last push 2026-07-23 + +
+
+ +Catches common programming mistakes as compile-time errors. + +
+
+ +**[Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support)** ★ 37 Last push 2026-07-24 + +
+
+ +Error Prone extensions: extra bug checkers and a large battery of Refaster templates. + +
+
+ +**[Infer](https://github.com/facebook/infer)** ★ 15.7k Last push 2026-07-23 + +
+
+ +Modern static analysis tool for verifying the correctness of code. + +
+
+ +**[jQAssistant](https://jqassistant.org)** + +
+
+ +Static code analysis with Neo4J-based query language. (GPL-3.0-only) + +
+
+ +**[JSpecify](https://jspecify.dev/)** + +
+
+ +Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. + +
+
+ +**[NullAway](https://github.com/uber/NullAway)** ★ 4.1k Last push 2026-07-26 + +
+
+ +Eliminates NullPointerExceptions with low build-time overhead. + +
+
+ +**[PMD](https://github.com/pmd/pmd)** ★ 5.5k Last push 2026-07-25 + +
+
+ +Source code analysis for finding bad coding practices. + +
+
+ +**[p3c](https://github.com/alibaba/p3c)** ★ 30.8k Last push 2024-08-06 + +
+
+ +Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. + +
+
+ +**[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 538 Last push 2026-07-13 + +
+
+ +Identifies and prioritizes God Classes and Highly Coupled classes. + +
+
+ +**[SonarJava](https://github.com/SonarSource/sonar-java)** ★ 1.2k Last push 2026-07-25 + +
+
+ +Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) + +
+
+ +**[Spoon](https://github.com/INRIA/spoon)** ★ 1.9k Last push 2026-07-26 + +
+
+ +Library for analyzing and transforming Java source code. + +
+
+ +**[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k Last push 2026-07-21 + +
+
+ +Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) + +
+
+ +**[ToolsHref](https://toolshref.com)** + +
+
+ +Online Java code analyzer and JSON-to-Mermaid visualization tool. + +
+
+ +
+ + +
+Code Coverage 4 projects + +_Frameworks and tools that enable code coverage metrics collection for test suites._ + +
+
+ +**[Clover](https://www.atlassian.com/software/clover)** + +
+
+ +Relies on source-code instrumentation instead of bytecode instrumentation. + +
+
+ +**[Cobertura](https://cobertura.github.io/cobertura/)** + +
+
+ +Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) + +
+
+ +**[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 Last push 2026-07-25 + +
+
+ +Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. + +
+
+ +**[JaCoCo](https://www.eclemma.org/jacoco/)** + +
+
+ +Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. + +
+
+ +
+ + +
+Code Formatting 4 projects + +_Tools that format or restructure Java source code._ + +
+
+ +**[google-java-format](https://github.com/google/google-java-format)** ★ 6.2k Last push 2026-07-25 + +
+
+ +Reformats Java source code to follow Google Java Style. + +
+
+ +**[JHarmonizer](https://github.com/lemon-ant/JHarmonizer)** ★ 26 Last push 2026-06-02 + +
+
+ +Safely reorders Java source code with configurable rules and Palantir Java Format. + +
+
+ +**[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 846 Last push 2026-07-26 + +
+
+ +Formatter based on google-java-format with wider lines and lambda-friendly output. + +
+
+ +**[Spotless](https://github.com/diffplug/spotless)** ★ 5.6k Last push 2026-07-23 + +
+
+ +A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages. + +
+
+ +
+ + +
+Code Generators 18 projects + +_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ + +
+
+ +**[ADT4J](https://github.com/sviperll/adt4j)** ★ 150 Last push 2018-03-02 + +
+
+ +JSR-269 code generator for algebraic data types. + +
+
+ +**[Auto](https://github.com/google/auto)** ★ 10.6k Last push 2026-07-25 + +
+
+ +Generates factory, service, and value classes. + +
+
+ +**[Avaje Http Server](https://avaje.io/http/)** + +
+
+ +Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. + +
+
+ +**[Bootify ![c]](https://bootify.io)** + +
+
+ +Browser-based Spring Boot app generation with JPA model and REST API. + +
+
+ +**[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 10 Last push 2026-06-10 + +
+
+ +Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. + +
+
+ +**[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 Last push 2026-02-13 + +
+
+ +Annotation processor for automatic DTO and Mapper generation with zero boilerplate. + +
+
+ +**[FreeBuilder](https://github.com/inferred/FreeBuilder)** ★ 829 Last push 2024-10-16 + +
+
+ +Automatically generates the Builder pattern. + +
+
+ +**[Geci](https://github.com/verhas/javageci)** ★ 138 Last push 2026-01-26 + +
+
+ +Discovers files that need generated code, updates automatically and writes to the source with a convenient API. + +
+
+ +**[Immutables](https://immutables.github.io)** + +
+
+ +Annotation processors to generate simple, safe and consistent value objects. + +
+
+ +**[JavaPoet](https://github.com/square/javapoet)** ★ 10.9k Last push 2024-10-10 + +
+
+ +API to generate source files. + +
+
+ +**[JHipster](https://github.com/jhipster/generator-jhipster)** ★ 22.4k Last push 2026-07-26 + +
+
+ +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. + +
+
+ +**[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 Last push 2025-11-28 + +
+
+ +Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. + +
+
+ +**[Lombok](https://projectlombok.org)** + +
+
+ +Code generator that aims to reduce verbosity. + +
+
+ +**[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 924 Last push 2026-06-23 + +
+
+ +Companion builder class, withers and templates for Java records. + +
+
+ +**[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 37 Last push 2026-07-25 + +
+
+ +Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. + +
+
+ +**[Telosys](https://www.telosys.org/)** + +
+
+ +Simple and light code generator available as an Eclipse Plugin and also as a CLI. + +
+
+ +
+ + +
+Compiler-compiler 3 projects + +_Frameworks that help to create parsers, interpreters or compilers._ + +
+
+ +**[ANTLR](https://www.antlr.org)** + +
+
+ +Complex full-featured framework for top-down parsing. + +
+
+ +**[JavaCC](https://javacc.github.io/javacc/)** + +
+
+ +Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. + +
+
+ +**[JFlex](https://jflex.de)** + +
+
+ +Lexical analyzer generator. + +
+
+ +
+ + +
+Computer Vision 3 projects + +_Libraries which seek to gain high level information from images and videos._ + +
+
+ +**[BoofCV](https://boofcv.org)** + +
+
+ +Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. + +
+
+ +**[ImageJ](https://imagej.net/ImageJ)** + +
+
+ +Medical image processing application with an API. + +
+
+ +**[JavaCV](https://github.com/bytedeco/javacv)** ★ 8.3k Last push 2026-07-25 + +
+
+ +Java interface to OpenCV, FFmpeg, and much more. + +
+
+ +
+ + +
+Configuration 14 projects + +_Libraries that provide external configuration._ + +
+
+ +**[avaje config](https://avaje.io/config/)** + +
+
+ +Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. + +
+
+ +**[centraldogma](https://github.com/line/centraldogma)** ★ 663 Last push 2026-07-24 + +
+
+ +Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. + +
+
+ +**[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 Last push 2026-06-18 + +
+
+ +Type-safe, composable configuration library with a focus on runtime clarity. + +
+
+ +**[config](https://github.com/lightbend/config)** ★ 6.3k Last push 2026-07-01 + +
+
+ +Configuration library supporting Java properties, JSON or its human optimized superset HOCON. + +
+
+ +**[Configurate](https://github.com/SpongePowered/Configurate)** ★ 467 Last push 2026-07-14 + +
+
+ +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)** ★ 51 Last push 2018-02-07 + +
+
+ +Twelve-factor configuration library which uses environment-specific files. + +
+
+ +**[Externalized Properties](https://github.com/joel-jeremy/externalized-properties)** ★ 47 Last push 2026-03-27 + +
+
+ +Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. + +
+
+ +**[Gestalt](https://github.com/gestalt-config/gestalt)** ★ 102 Last push 2026-06-28 + +
+
+ +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](https://ini4j.sourceforge.net)** + +
+
+ +Provides an API for handling Windows' INI files. + +
+
+ +**[KAConf](https://github.com/mariomac/kaconf)** ★ 63 Last push 2022-07-29 + +
+
+ +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 distributed. + +
+
+ +**[owner](https://github.com/lviggiano/owner)** ★ 939 Last push 2026-07-22 + +
+
+ +Reduces boilerplate of properties. + +
+
+ +**[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 Last push 2026-07-24 + +
+
+ +Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. + +
+
+ +
+ + +
+Constraint Satisfaction Problem Solver 4 projects + +_Libraries that help with implementing optimization and satisfiability problems._ + +
+
+ +**[Choco](https://choco-solver.org)** + +
+
+ +Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. + +
+
+ +**[JaCoP](https://github.com/radsz/jacop)** ★ 235 Last push 2026-03-22 + +
+
+ +Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) + +
+
+ +**[OptaPlanner](https://www.optaplanner.org)** + +
+
+ +Business planning and resource scheduling optimization solver. + +
+
+ +**[Timefold](https://timefold.ai/docs)** + +
+
+ +Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. + +
+
+ +
+ + +
+CSV 5 projects + +_Frameworks and libraries that simplify reading/writing CSV data._ + +
+
+ +**[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 689 Last push 2026-07-25 + +
+
+ +Performance-optimized, dependency-free and RFC 4180 compliant. + +
+
+ +**[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv)** ★ 195 Last push 2017-12-24 + +
+
+ +Jackson extension for reading and writing CSV. + +
+
+ +**[opencsv](https://opencsv.sourceforge.net)** + +
+
+ +Simple CSV parser. + +
+
+ +**[Super CSV](https://super-csv.github.io/super-csv/)** + +
+
+ +Powerful CSV parser with support for Dozer, Joda-Time and Java 8. + +
+
+ +**[uniVocity-parsers](https://github.com/uniVocity/univocity-parsers)** ★ 935 Last push 2024-08-17 + +
+
+ +One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. + +
+
+ +
+ + +
+Data Structures 13 projects + +_Efficient and specific data structures._ + +
+
+ +**[Apache Avro](https://avro.apache.org)** + +
+
+ +Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. + +
+
+ +**[Apache Orc](https://orc.apache.org)** + +
+
+ +Fast and efficient columnar storage format for Hadoop-based workloads. + +
+
+ +**[Apache Parquet](https://parquet.apache.org)** + +
+
+ +Columnar storage format based on assembly algorithms from Google's paper on Dremel. + +
+
+ +**[Apache Thrift](https://thrift.apache.org)** + +
+
+ +Data interchange format that originated at Facebook. + +
+
+ +**[Big Queue](https://github.com/bulldog2011/bigqueue)** ★ 567 Last push 2022-07-26 + +
+
+ +Fast and persistent queue based on memory-mapped files. + +
+
+ +**[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 Last push 2026-04-11 + +
+
+ +Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. + +
+
+ +**[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 Last push 2025-07-23 + +
+
+ +Persistent and immutable analogue of the Java Collections Framework. + +
+
+ +**[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.7k Last push 2026-07-26 + +
+
+ +Google's data interchange format. + +
+
+ +**[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k Last push 2026-07-25 + +
+
+ +Fast and efficient compressed bitmap. + +
+
+ +**[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k Last push 2026-07-23 + +
+
+ +Simple Binary Encoding, one of the fastest message formats around. + +
+
+ +**[Tape](https://github.com/square/tape)** ★ 2.5k Last push 2023-03-18 + +
+
+ +Lightning-fast, transactional, file-based FIFO. + +
+
+ +**[Wire](https://github.com/square/wire)** ★ 4.4k Last push 2026-07-22 + +
+
+ +Clean, lightweight protocol buffers. + +
+
+ +**[Wormhole4j](https://github.com/komamitsu/wormhole4j)** ★ 8 Last push 2026-05-27 + +
+
+ +High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. + +
+
+ +
+ + +
+Database 44 projects + +_Everything that simplifies interactions with the database._ + +
+
+ +**[Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin)** ★ 18 Last push 2026-07-06 + +
+
+ +Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. + +
+
+ +**[Apache Calcite](https://calcite.apache.org)** + +
+
+ +Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. + +
+
+ +**[Apache Drill](https://drill.apache.org)** + +
+
+ +Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. + +
+
+ +**[Apache Phoenix](https://phoenix.apache.org)** + +
+
+ +High-performance relational database layer over HBase for low-latency applications. + +
+
+ +**[ArcadeDB](https://arcadedb.com)** + +
+
+ +Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. + +
+
+ +**[ArangoDB](https://github.com/arangodb/arangodb-java-driver)** ★ 209 Last push 2026-07-09 + +
+
+ +ArangoDB Java driver. + +
+
+ +**[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3k Last push 2026-06-30 + +
+
+ +Efficient, in-memory (opt. persisted to disk), off-heap key-value store. + +
+
+ +**[Debezium](https://debezium.io/)** + +
+
+ +Low latency data streaming platform for change data capture. + +
+
+ +**[druid](https://druid.apache.org)** + +
+
+ +High-performance, column-oriented, distributed data store. + +
+
+ +**[eXist](https://github.com/eXist-db/exist)** ★ 466 Last push 2026-07-24 + +
+
+ +NoSQL document database and application platform. (LGPL-2.1-only) + +
+
+ +**[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k Last push 2026-02-25 + +
+
+ +Brings metrics and failover strategies to the most common connection pooling solutions. + +
+
+ +**[Flyway](https://flywaydb.org)** + +
+
+ +Simple database migration tool. + +
+
+ +**[H2](https://h2database.com)** + +
+
+ +Small SQL database notable for its in-memory functionality. + +
+
+ +**[HikariCP](https://github.com/brettwooldridge/HikariCP)** ★ 21.2k Last push 2026-06-14 + +
+
+ +High-performance JDBC connection pool. + +
+
+ +**[HSQLDB](https://hsqldb.org/)** + +
+
+ +HyperSQL 100% Java database. + +
+
+ +**[JDBI](https://jdbi.org)** + +
+
+ +Convenient abstraction of JDBC. + +
+
+ +**[Jedis](https://github.com/xetorthio/jedis)** ★ 12.3k Last push 2026-07-26 + +
+
+ +Small client for interaction with Redis, with methods for commands. + +
+
+ +**[Jest](https://github.com/searchbox-io/Jest)** ★ 2.1k Last push 2023-03-31 + +
+
+ +Client for the Elasticsearch REST API. + +
+
+ +**[jetcd](https://github.com/justinsb/jetcd)** ★ 143 Last push 2023-02-21 + +
+
+ +Client library for etcd. + +
+
+ +**[Jinq](https://github.com/my2iu/Jinq)** ★ 662 Last push 2025-06-08 + +
+
+ +Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). + +
+
+ +**[jOOQ](https://www.jooq.org)** + +
+
+ +Generates typesafe code based on SQL schema. + +
+
+ +**[Leaf](https://github.com/Meituan-Dianping/Leaf)** ★ 6.8k Last push 2023-07-18 + +
+
+ +Distributed ID generate service. + +
+
+ +**[Lettuce](https://lettuce.io/)** + +
+
+ +Lettuce is a scalable Redis client for building non-blocking Reactive applications. + +
+
+ +**[Liquibase](https://www.liquibase.org)** + +
+
+ +Database-independent library for tracking, managing and applying database schema changes. + +
+
+ +**[MapDB](https://www.mapdb.org)** + +
+
+ +Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. + +
+
+ +**[MariaDB4j](https://github.com/vorburger/MariaDB4j)** ★ 16 Last push 2026-04-02 + +
+
+ +Launcher for MariaDB that requires no installation or external dependencies. + +
+
+ +**[Modality](https://github.com/arkanovicz/modality)** ★ 16 Last push 2026-06-26 + +
+
+ +Lightweight ORM with database reverse engineering features. + +
+
+ +**[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 218 Last push 2026-07-11 + +
+
+ +Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. + +
+
+ +**[OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ)** ★ 435 Last push 2026-07-25 + +
+
+ +LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. + +
+
+ +**[Querydsl](http://www.querydsl.com)** + +
+
+ +Typesafe unified queries. + +
+
+ +**[QueryStream](https://github.com/querystream/querystream)** ★ 21 Last push 2025-05-06 + +
+
+ +Build JPA Criteria queries using a Stream-like API. + +
+
+ +**[QuestDB](https://github.com/questdb/questdb)** ★ 17.2k Last push 2026-07-26 + +
+
+ +High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. + +
+
+ +**[Realm](https://github.com/realm/realm-java)** ★ 11.5k Last push 2025-09-15 + +
+
+ +Mobile database to run directly inside phones, tablets or wearables. + +
+
+ +**[Redisson](https://github.com/redisson/redisson)** ★ 24.4k Last push 2026-07-24 + +
+
+ +Allows for distributed and scalable data structures on top of a Redis server. + +
+
+ +**[requery](https://github.com/requery/requery)** ★ 3.1k Last push 2026-02-09 + +
+
+ +Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. + +
+
+ +**[SchemaCrawler](https://www.schemacrawler.com)** + +
+
+ +Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. + +
+
+ +**[Speedment](https://github.com/speedment/speedment)** ★ 2.1k Last push 2023-11-07 + +
+
+ +Database access library that utilizes Java 8's Stream API for querying. + +
+
+ +**[Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query)** ★ 40 Last push 2025-11-17 + +
+
+ +Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. + +
+
+ +**[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 Last push 2026-01-21 + +
+
+ +Allows you to use MongoDB query language to query your relational database. + +
+
+ +**[Trino](https://trino.io)** + +
+
+ +Distributed SQL query engine for big data. + +
+
+ +**[Vibur DBCP](https://www.vibur.org)** + +
+
+ +JDBC connection pool library with advanced performance monitoring capabilities. + +
+
+ +**[Xodus](https://github.com/JetBrains/xodus)** ★ 1.3k Last push 2026-07-09 + +
+
+ +Highly concurrent transactional schema-less and ACID-compliant embedded database. + +
+
+ +**[CosId](https://github.com/Ahoo-Wang/CosId)** ★ 640 Last push 2026-07-25 + +
+
+ +Universal, flexible, high-performance distributed ID generator. + +
+
+ +**[Apache ShardingSphere](https://github.com/apache/shardingsphere)** ★ 20.8k Last push 2026-07-25 + +
+
+ +Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. + +
+
+ +
+ + +
+Date and Time 4 projects + +_Libraries related to handling date and time._ + +
+
+ +**[iCal4j](https://github.com/ical4j/ical4j)** ★ 836 Last push 2026-06-30 + +
+
+ +Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. + +
+
+ +**[Jollyday](https://github.com/focus-shift/jollyday)** ★ 134 Last push 2026-07-23 + +
+
+ +Determines the holidays for a given year, country/name and eventually state/region. + +
+
+ +**[ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra)** ★ 423 Last push 2026-06-16 + +
+
+ +Additional date-time classes that complement those in JDK 8. + +
+
+ +**[Time4J](https://github.com/MenoData/Time4J)** ★ 470 Last push 2024-02-11 + +
+
+ +Advanced date and time library. (LGPL-2.1-only) + +
+
+ +
+ + +
+Decentralization 1 project + +_Libraries that handle decentralization tasks._ + +
+
+ +**[java-tron](https://github.com/tronprotocol/java-tron)** ★ 4.1k Last push 2026-07-15 + +
+
+ +Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. + +
+
+ +
+ + +
+Decompilation 6 projects + +_Libraries for decompiling JVM bytecode._ + +
+
+ +**[CFR](https://github.com/leibnitz27/cfr)** ★ 2.6k Last push 2026-06-04 + +
+
+ +Java decompiler focused on modern language features. + +
+
+ +**[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.3k Last push 2026-07-24 + +
+
+ +Java decompiler with broad JVM bytecode support. + +
+
+ +**[JD-Core](https://github.com/java-decompiler/jd-core)** ★ 587 Last push 2024-04-19 + +
+
+ +Core Java decompiler library. + +
+
+ +**[Procyon](https://github.com/mstrobel/procyon)** ★ 1.2k Last push 2022-06-12 + +
+
+ +Java decompiler and metadata toolkit. + +
+
+ +**[transformer-api](https://github.com/nbauma109/transformer-api)** ★ 3 Last push 2026-07-25 + +
+
+ +Unified API that exposes multiple decompilers through one in-memory transformation interface. + +
+
+ +**[Vineflower](https://github.com/Vineflower/vineflower)** ★ 2.3k Last push 2026-07-11 + +
+
+ +Modern maintained fork of Fernflower. + +
+
+ +
+ + +
+Dependency Injection 9 projects + +_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ + +
+
+ +**[Apache DeltaSpike](https://deltaspike.apache.org)** + +
+
+ +CDI extension framework. + +
+
+ +**[Avaje Inject](https://avaje.io/inject/)** + +
+
+ +Microservice-focused compile-time injection framework without reflection. + +
+
+ +**[Dagger](https://dagger.dev/)** + +
+
+ +Compile-time injection framework without reflection. + +
+
+ +**[Dimension-DI](https://github.com/akardapolov/dimension-di)** ★ 19 Last push 2026-05-24 + +
+
+ +JSR-330 runtime dependency injection using the JDK Class-File API. + +
+
+ +**[Feather](https://github.com/zsoltherpai/feather)** ★ 365 Last push 2018-04-18 + +
+
+ +Ultra-lightweight, JSR-330-compliant dependency injection library. + +
+
+ +**[Governator](https://github.com/Netflix/governator)** ★ 829 Last push 2025-12-17 + +
+
+ +Extensions and utilities that enhance Google Guice. + +
+
+ +**[Guice](https://github.com/google/guice)** ★ 12.7k Last push 2026-07-02 + +
+
+ +Lightweight and opinionated framework that completes Dagger. + +
+
+ +**[HK2](https://eclipse-ee4j.github.io/glassfish-hk2/)** + +
+
+ +Lightweight and dynamic dependency injection framework. + +
+
+ +**[JayWire](https://github.com/vanillasource/jaywire)** ★ 64 Last push 2023-02-21 + +
+
+ +Lightweight dependency injection framework. (LGPL-3.0-only) + +
+
+ +
+ + +
+Development 10 projects + +_Augmentation of the development process at a fundamental level._ + +
+
+ +**[AspectJ](https://www.eclipse.org/aspectj/)** + +
+
+ +Seamless aspect-oriented programming extension. + +
+
+ +**[DCEVM](https://dcevm.github.io)** + +
+
+ +JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) + +
+
+ +**[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 Last push 2025-06-30 + +
+
+ +Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. + +
+
+ +**[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k Last push 2026-02-15 + +
+
+ +Unlimited runtime class and resource redefinition. (GPL-2.0-only) + +
+
+ +**[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k Last push 2026-07-24 + +
+
+ +Parse, modify and generate Java code. + +
+
+ +**[JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver)** ★ 296 Last push 2018-01-14 + +
+
+ +Symbol solver. + +
+
+ +**[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k Last push 2026-07-26 + +
+
+ +Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. + +
+
+ +**[NoException](https://noexception.machinezoo.com)** + +
+
+ +Allows checked exceptions in functional interfaces and converts exceptions to Optional return. + +
+
+ +**[SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow)** ★ 81 Last push 2019-10-24 + +
+
+ +Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. + +
+
+ +**[Tail](https://nrktkt.github.io/tail/)** + +
+
+ +Enable infinite recursion using tail call optimization. + +
+
+ +
+ + +
+Distributed Applications 14 projects + +_Libraries and frameworks for writing distributed and fault-tolerant applications._ + +
+
+ +**[Apache Geode](https://geode.apache.org)** + +
+
+ +In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. + +
+
+ +**[Apache Storm](https://storm.apache.org)** + +
+
+ +Realtime computation system. + +
+
+ +**[Apache ZooKeeper](https://zookeeper.apache.org)** + +
+
+ +Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. + +
+
+ +**[Atomix](https://atomix.io)** + +
+
+ +Fault-tolerant distributed coordination framework. + +
+
+ +**[Axon](https://axoniq.io)** + +
+
+ +Framework for creating CQRS applications. + +
+
+ +**[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 Last push 2026-01-26 + +
+
+ +Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) + +
+
+ +**[Failsafe](https://github.com/jhalterman/failsafe)** ★ 4.3k Last push 2025-12-28 + +
+
+ +Simple failure handling with retries and circuit breakers. + +
+
+ +**[Hazelcast](https://github.com/hazelcast/hazelcast)** ★ 6.6k Last push 2026-07-23 + +
+
+ +Highly scalable in-memory datagrid with a free open-source version. + +
+
+ +**[JGroups](http://www.jgroups.org)** + +
+
+ +Toolkit for reliable messaging and cluster creation. + +
+
+ +**[Quasar](https://docs.paralleluniverse.co/quasar/)** + +
+
+ +Lightweight threads and actors for the JVM. + +
+
+ +**[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k Last push 2026-07-08 + +
+
+ +Functional fault tolerance library. + +
+
+ +**[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 Last push 2026-07-16 + +
+
+ +High-performance reverse proxy server with specialized session management and credential replay functionality. + +
+
+ +**[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 Last push 2026-07-08 + +
+
+ +Embeddable Cluster-Membership library based on SWIM and gossip protocol. + +
+
+ +**[Zuul](https://github.com/Netflix/zuul)** ★ 14.1k Last push 2026-07-25 + +
+
+ +Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + +
+
+ +
+ + +
+Distributed Transactions 4 projects + +_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ + +
+
+ +**[Atomikos](https://www.atomikos.com)** + +
+
+ +Provides transactions for REST, SOA and microservices with support for JTA and XA. + +
+
+ +**[Bitronix](https://github.com/bitronix/btm)** ★ 431 Last push 2026-02-24 + +
+
+ +Simple but complete implementation of the JTA 1.1 API. + +
+
+ +**[Narayana](https://narayana.io)** + +
+
+ +Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) + +
+
+ +**[Seata](https://github.com/seata/seata)** ★ 26k Last push 2026-07-25 + +
+
+ +Delivers high performance and easy to use distributed transaction services under a microservices architecture. + +
+
+ +
+ + +
+Distribution 14 projects + +_Tools that handle the distribution of applications in native formats._ + +
+
+ +**[Artipie](https://github.com/artipie/artipie)** ★ 689 Last push 2026-06-20 + +
+
+ +Binary artifact management toolkit which hosts them on the file system or S3. + +
+
+ +**[Boxfuse ![c]](https://boxfuse.com)** + +
+
+ +Deployment of JVM applications to AWS using the principles of immutable infrastructure. + +
+
+ +**[Capsule](https://github.com/puniverse/capsule)** ★ 1.1k Last push 2022-05-29 + +
+
+ +Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. + +
+
+ +**[Central Repository](https://search.maven.org)** + +
+
+ +Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. + +
+
+ +**[Cloudsmith ![c]](https://cloudsmith.io)** + +
+
+ +Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. + +
+
+ +**[Getdown](https://github.com/threerings/getdown)** ★ 530 Last push 2026-05-12 + +
+
+ +System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. + +
+
+ +**[IzPack](https://izpack.org)** + +
+
+ +Setup authoring tool for cross-platform deployments. + +
+
+ +**[JavaPackager](https://github.com/fvarrui/JavaPackager)** ★ 1.2k Last push 2026-03-19 + +
+
+ +Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. + +
+
+ +**[jDeploy](https://www.jdeploy.com)** + +
+
+ +Deploy desktop apps as native Mac, Windows or Linux bundles. + +
+
+ +**[jlink.online](https://github.com/AdoptOpenJDK/jlink.online)** ★ 51 Last push 2026-07-17 + +
+
+ +Builds optimized runtimes over HTTP. + +
+
+ +**[Nuts](https://github.com/thevpc/nuts)** ★ 157 Last push 2026-07-25 + +
+
+ +Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. + +
+
+ +**[Nexus ![c]](https://www.sonatype.com)** + +
+
+ +Binary management with proxy and caching capabilities. + +
+
+ +**[packr](https://github.com/libgdx/packr)** ★ 2.6k Last push 2024-04-11 + +
+
+ +Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. + +
+
+ +**[really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin)** ★ 136 Last push 2026-03-27 + +
+
+ +Maven plugin for making self-executing JARs. + +
+
+ +
+ + +
+Document Processing 9 projects + +_Libraries that assist with processing office document formats._ + +
+
+ +**[Apache POI](https://poi.apache.org)** + +
+
+ +Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). + +
+
+ +**[documents4j](https://documents4j.com/#/)** + +
+
+ +API for document format conversion using third-party converters such as MS Word. + +
+
+ +**[docx4j](https://www.docx4java.org/trac/docx4j)** + +
+
+ +Create and manipulate Microsoft Open XML files. + +
+
+ +**[fastexcel](https://github.com/dhatim/fastexcel)** ★ 908 Last push 2026-07-22 + +
+
+ +High performance library to read and write large Excel (XLSX) worksheets. + +
+
+ +**[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 Last push 2026-07-24 + +
+
+ +Converts HTML to CommonMark-compatible Markdown through a Java binding. + +
+
+ +**[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Last push 2026-07-14 + +
+
+ +Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. + +
+
+ +**[Sheetz](https://github.com/chitralabs/sheetz)** ★ 61 Last push 2026-06-22 + +
+
+ +Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. + +
+
+ +**[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k Last push 2026-07-26 + +
+
+ +Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. + +
+
+ +**[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 Last push 2024-12-12 + +
+
+ +Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + +
+
+ +
+ + +
+Financial 7 projects + +_Libraries related to the financial domain._ + +
+
+ +**[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 Last push 2025-03-01 + +
+
+ +Trading bot framework. + +
+
+ +**[Parity](https://github.com/paritytrading/parity)** ★ 502 Last push 2022-02-09 + +
+
+ +Platform for trading venues. + +
+
+ +**[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Last push 2026-07-22 + +
+
+ +Low-latency financial information exchange. + +
+
+ +**[Square](https://github.com/square/connect-java-sdk)** ★ 42 Last push 2021-01-20 + +
+
+ +Integration with the Square API. + +
+
+ +**[Stripe](https://github.com/stripe/stripe-java)** ★ 993 Last push 2026-07-24 + +
+
+ +Integration with the Stripe API. + +
+
+ +**[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k Last push 2026-07-25 + +
+
+ +Library for technical analysis. + +
+
+ +**[Wickra](https://github.com/wickra-lib/wickra)** ★ 38 Last push 2026-07-25 + +
+
+ +Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. + +
+
+ +
+ + +
+Flat File 3 projects + +_Frameworks and libraries for reading and writing fixed-length and delimited flat files._ + +
+
+ +**[BeanIO](https://github.com/beanio/beanio)** ★ 68 Last push 2025-02-07 + +
+
+ +Maps flat files of fixed-length or delimited records to and from Java beans using XML or annotation configuration. + +
+
+ +**[fixedformat4j](https://github.com/jeyben/fixedformat4j)** ★ 52 Last push 2026-07-25 + +
+
+ +Annotation-driven mapping of fixed-width flat files to and from POJOs and Java records. + +
+
+ +**[Flatpack](https://github.com/Appendium/flatpack)** ★ 64 Last push 2026-02-08 + +
+
+ +Parses and writes delimited and fixed-length flat files with optional column-mapping definitions. + +
+
+ +
+ + +
+Formal Verification 7 projects + +_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ + +
+
+ +**[CATG](https://github.com/ksen007/janala2)** ★ 106 Last push 2018-02-20 + +
+
+ +Concolic unit testing engine. Automatically generates unit tests using formal methods. + +
+
+ +**[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)** ★ 614 Last push 2026-07-24 + +
+
+ +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) + +
+
+ +**[OpenJML](https://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 10 projects + +_Libraries that facilitate functional programming._ + +
+
+ +**[Cyclops](https://github.com/aol/cyclops)** ★ 1.3k Last push 2023-03-21 + +
+
+ +Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. + +
+
+ +**[derive4j](https://github.com/derive4j/derive4j)** ★ 576 Last push 2022-12-01 + +
+
+ +Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) + +
+
+ +**[Fugue](https://bitbucket.org/atlassian/fugue)** + +
+
+ +Functional extensions to Guava. + +
+
+ +**[Functional Java](https://github.com/functionaljava/functionaljava)** ★ 1.6k Last push 2023-04-25 + +
+
+ +Implements numerous basic and advanced programming abstractions that assist composition-oriented development. + +
+
+ +**[jOOλ](https://github.com/jOOQ/jOOL)** ★ 2.1k Last push 2024-08-01 + +
+
+ +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)** ★ 29 Last push 2026-07-07 + +
+
+ +Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. + +
+
+ +**[Parallel Collectors](https://github.com/pivovarit/parallel-collectors)** ★ 679 Last push 2026-07-23 + +
+
+ +Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. + +
+
+ +**[protonpack](https://github.com/poetix/protonpack)** ★ 487 Last push 2026-05-07 + +
+
+ +Collection of stream utilities. + +
+
+ +**[StreamEx](https://github.com/amaembo/streamex)** ★ 2.3k Last push 2026-07-19 + +
+
+ +Enhances Java 8 Streams. + +
+
+ +**[Vavr](https://www.vavr.io)** + +
+
+ +Functional component library that provides persistent data types and functional control structures. + +
+
+ +
+ + +
+Game Development 9 projects + +_Frameworks that support the development of games._ + +
+
+ +**[FXGL](https://almasb.github.io/FXGL/)** + +
+
+ +JavaFX Game Development Framework. + +
+
+ +**[input4j](https://gurkenlabs.github.io/input4j/)** + +
+
+ +Lightweight, cross-platform library for gamepad and joystick input handling. + +
+
+ +**[JBox2D](https://www.jbox2d.org/)** + +
+
+ +Port of the renowned C++ 2D physics engine. + +
+
+ +**[jMonkeyEngine](https://jmonkeyengine.org)** + +
+
+ +Game engine for modern 3D development. + +
+
+ +**[libGDX](https://libgdx.com)** + +
+
+ +All-round cross-platform, high-level framework. + +
+
+ +**[Litiengine](https://litiengine.com/)** + +
+
+ +AWT-based, lightweight 2D game engine. + +
+
+ +**[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. + +
+
+ +**[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 Last push 2025-07-28 + +
+
+ +Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. + +
+
+ +
+ + +
+Geospatial 9 projects + +_Libraries for working with geospatial data and algorithms._ + +
+
+ +**[Apache SIS](https://sis.apache.org)** + +
+
+ +Library for developing geospatial applications. + +
+
+ +**[ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/)** ★ 131 Last push 2025-09-19 + +
+
+ +JavaFX library for adding mapping and GIS functionality to desktop apps. + +
+
+ +**[Geo](https://github.com/davidmoten/geo)** ★ 434 Last push 2026-07-13 + +
+
+ +GeoHash utilities in Java. + +
+
+ +**[GeoTools](https://geotools.org)** + +
+
+ +Library that provides tools for geospatial data. (LGPL-2.1-only) + +
+
+ +**[GraphHopper](https://github.com/graphhopper/graphhopper)** ★ 6.6k Last push 2026-07-25 + +
+
+ +Road-routing engine. Used as a Java library or standalone web service. + +
+
+ +**[H2GIS](https://h2gis.org/)** + +
+
+ +Spatial extension of the H2 database. (LGPL-3.0-only) + +
+
+ +**[Jgeohash](https://astrapi69.github.io/jgeohash/)** + +
+
+ +Library for using the GeoHash algorithm. + +
+
+ +**[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k Last push 2026-07-26 + +
+
+ +Map rendering based on OpenStreetMap data. (LGPL-3.0-only) + +
+
+ +**[Spatial4j](https://github.com/locationtech/spatial4j)** ★ 962 Last push 2026-06-30 + +
+
+ +General-purpose spatial/geospatial library. + +
+
+ +
+ + +
+GUI 6 projects + +_Libraries to create modern graphical user interfaces._ + +
+
+ +**[FlatLaf](https://github.com/JFormDesigner/FlatLaf)** ★ 4.2k Last push 2026-07-15 + +
+
+ +Modern Swing Look and Feel with Darcula and IntelliJ themes. + +
+
+ +**[JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main)** + +
+
+ +Successor of Swing. + +
+
+ +**[Scene Builder](https://gluonhq.com/products/scene-builder/)** + +
+
+ +Visual layout tool for JavaFX applications. + +
+
+ +**[SnapKit](https://github.com/reportmill/SnapKit)** ★ 332 Last push 2026-07-25 + +
+
+ +Modern Java UI library for both desktop and web. + +
+
+ +**[Sierra](https://github.com/HTTP-RPC/Sierra)** ★ 150 Last push 2026-07-23 + +
+
+ +Lightwieght declarative DSL for rapid development of Swing applications. + +
+
+ +**[SWT](https://www.eclipse.org/swt/)** + +
+
+ +Graphical widget toolkit. + +
+
+ +
+ + +
+High Performance 7 projects + +_Everything about high-performance computation, from collections to specific libraries._ + +
+
+ +**[Agrona](https://github.com/real-logic/Agrona)** ★ 3.2k Last push 2026-07-16 + +
+
+ +Data structures and utility methods that are common in high-performance applications. + +
+
+ +**[Disruptor](https://lmax-exchange.github.io/disruptor/)** + +
+
+ +Inter-thread messaging library. + +
+
+ +**[Eclipse Collections](https://github.com/eclipse/eclipse-collections)** ★ 2.6k Last push 2026-07-25 + +
+
+ +Collections framework inspired by Smalltalk. + +
+
+ +**[fastutil](https://fastutil.di.unimi.it)** + +
+
+ +Fast and compact type-specific collections. + +
+
+ +**[HPPC](https://labs.carrotsearch.com/hppc.html)** + +
+
+ +Primitive collections. + +
+
+ +**[JCTools](https://github.com/JCTools/JCTools)** ★ 3.9k Last push 2026-07-03 + +
+
+ +Concurrency tools currently missing from the JDK. + +
+
+ +**[Koloboke](https://github.com/leventov/Koloboke)** ★ 1k Last push 2017-02-01 + +
+
+ +Carefully designed extension of the Java Collections Framework with primitive specializations and more. + +
+
+ +
+ + +
+HTTP Clients 11 projects + +_Libraries that assist with creating HTTP requests and/or binding responses._ + +
+
+ +**[Apache HttpComponents](https://hc.apache.org/)** + +
+
+ +Toolset of low-level Java components focused on HTTP and associated protocols. + +
+
+ +**[Async Http Client](https://github.com/AsyncHttpClient/async-http-client)** ★ 6.4k Last push 2026-07-26 + +
+
+ +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)** ★ 9.8k Last push 2026-07-23 + +
+
+ +HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. + +
+
+ +**[Google HTTP Client](https://github.com/googleapis/google-http-java-client)** ★ 1.4k Last push 2026-07-20 + +
+
+ +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)** ★ 298 Last push 2026-03-16 + +
+
+ +HTTP client extensions library. + +
+
+ +**[Retrofit](https://square.github.io/retrofit/)** + +
+
+ +Typesafe REST client. + +
+
+ +**[Ribbon](https://github.com/Netflix/ribbon)** ★ 4.6k Last push 2025-12-17 + +
+
+ +Client-side IPC library that is battle-tested in the cloud. + +
+
+ +**[Riptide](https://github.com/zalando/riptide)** ★ 340 Last push 2026-07-24 + +
+
+ +Client-side response routing for Spring's RestTemplate. + +
+
+ +**[unirest-java](https://github.com/Kong/unirest-java)** ★ 2.7k Last push 2026-07-23 + +
+
+ +Simplified, lightweight HTTP client library. + +
+
+ +**[JQuickCurl](https://github.com/paohaijiao/jquick-curl)** ★ 1.1k Last push 2026-06-30 + +
+
+ +Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. + +
+
+ +
+ + +
+Hypermedia Types 4 projects + +_Libraries that handle serialization to hypermedia types._ + +
+
+ +**[hate](https://github.com/blackdoor/hate)** ★ 25 Last push 2023-11-14 + +
+
+ +Builds hypermedia-friendly objects according to HAL specification. + +
+
+ +**[JSON-LD](https://github.com/jsonld-java/jsonld-java)** ★ 388 Last push 2024-01-10 + +
+
+ +JSON-LD implementation. + +
+
+ +**[Siren4J](https://github.com/eserating-chwy/siren4j)** ★ 28 Last push 2024-05-03 + +
+
+ +Library for the Siren specification. + +
+
+ +**[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k Last push 2026-07-10 + +
+
+ +Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. + +
+
+ +
+ + +
+IDE 6 projects + +_Integrated development environments that try to simplify several aspects of development._ + +
+
+ +**[Eclipse](https://www.eclipse.org)** + +
+
+ +Established open-source project with support for lots of plugins and languages. + +
+
+ +**[IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/)** + +
+
+ +Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. + +
+
+ +**[jGRASP](https://www.jgrasp.org)** + +
+
+ +Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. + +
+
+ +**[NetBeans](https://netbeans.apache.org)** + +
+
+ +Provides integration for several Java SE and EE features, from database access to HTML5. + +
+
+ +**[SnapCode](https://reportmill.com/SnapCode/)** + +
+
+ +Modern IDE for Java running in the browser, focused on education. + +
+
+ +**[Visual Studio Code](https://code.visualstudio.com/docs/languages/java)** + +
+
+ +Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. + +
+
+ +
+ + +
+Imagery 9 projects + +_Libraries that assist with the creation, evaluation or manipulation of graphical images._ + +
+
+ +**[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 17 Last push 2026-07-02 + +
+
+ +Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. + +
+
+ +**[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k Last push 2023-10-21 + +
+
+ +Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. + +
+
+ +**[Tess4J](https://github.com/nguyenq/tess4j)** ★ 1.8k Last push 2026-06-20 + +
+
+ +JNA wrapper for Tesseract OCR API. + +
+
+ +**[Thumbnailator](https://github.com/coobird/thumbnailator)** ★ 5.4k Last push 2026-02-17 + +
+
+ +High-quality thumbnail generation library. + +
+
+ +**[TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys)** ★ 2.1k Last push 2026-07-15 + +
+
+ +Collection of plugins that extend the number of supported image file formats. + +
+
+ +**[ZXing](https://github.com/zxing/zxing)** ★ 34k Last push 2026-07-18 + +
+
+ +Multi-format 1D/2D barcode image processing library. + +
+
+ +**[image-comparison](https://github.com/romankh3/image-comparison)** ★ 396 Last push 2025-06-11 + +
+
+ +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)** ★ 130 Last push 2026-07-20 + +
+
+ +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 6 projects + +_Libraries that help make the Java introspection and reflection API easier and faster to use._ + +
+
+ +**[ClassGraph](https://github.com/classgraph/classgraph)** ★ 3k Last push 2026-06-05 + +
+
+ +ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. + +
+
+ +**[jOOR](https://github.com/jOOQ/jOOR)** ★ 2.8k Last push 2025-01-06 + +
+
+ +jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. + +
+
+ +**[Mirror](http://projetos.vidageek.net/mirror/mirror/)** + +
+
+ +Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. + +
+
+ +**[Objenesis](https://objenesis.org)** + +
+
+ +Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. + +
+
+ +**[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k Last push 2025-06-05 + +
+
+ +ReflectASM is a very small Java library that provides high performance reflection by using code generation. + +
+
+ +**[Reflections](https://github.com/ronmamo/reflections)** ★ 4.8k Last push 2024-06-17 + +
+
+ +Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. + +
+
+ +
+ + +
+Job Scheduling 7 projects + +_Libraries for scheduling background jobs._ + +
+
+ +**[JobRunr](https://github.com/jobrunr/jobrunr)** ★ 3k Last push 2026-07-24 + +
+
+ +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)** ★ 6.7k Last push 2026-05-13 + +
+
+ +Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. + +
+
+ +**[Sundial](https://github.com/knowm/Sundial)** ★ 280 Last push 2026-06-16 + +
+
+ +Lightweight framework to simply define jobs, define triggers and start the scheduler. + +
+
+ +**[Wisp](https://github.com/Coreoz/Wisp)** ★ 148 Last push 2026-01-26 + +
+
+ +Simple library with minimal footprint and straightforward API. + +
+
+ +**[db-scheduler](https://github.com/kagkarlsson/db-scheduler)** ★ 1.6k Last push 2026-07-06 + +
+
+ +Persistent and cluster-friendly scheduler. + +
+
+ +**[easy-batch](https://github.com/j-easy/easy-batch)** ★ 622 Last push 2023-03-20 + +
+
+ +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)** ★ 4.2k Last push 2026-07-24 + +
+
+ +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 17 projects + +_Libraries for serializing and deserializing JSON to and from Java objects._ + +
+
+ +**[Avaje Jsonb](https://avaje.io/jsonb/)** + +
+
+ +Reflection-free Json binding via source code generation with Jackson-like annotations. + +
+
+ +**[DSL-JSON](https://github.com/ngs-doo/dsl-json)** ★ 1.1k Last push 2026-06-29 + +
+
+ +JSON library with advanced compile time databinding. + +
+
+ +**[Genson](http://genson.io)** + +
+
+ +Powerful and easy-to-use Java-to-JSON conversion library. + +
+
+ +**[Gson](https://github.com/google/gson)** ★ 24.2k Last push 2026-07-25 + +
+
+ +Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. + +
+
+ +**[HikariJSON](https://github.com/brettwooldridge/HikariJSON)** ★ 470 Last push 2023-03-21 + +
+
+ +High-performance JSON parser, 2x faster than Jackson. + +
+
+ +**[jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8)** ★ 423 Last push 2026-07-08 + +
+
+ +Set of Jackson modules for Java 8 datatypes and features. + +
+
+ +**[Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money)** ★ 262 Last push 2025-06-27 + +
+
+ +Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. + +
+
+ +**[Jackson](https://github.com/FasterXML/jackson)** ★ 9.8k Last push 2026-07-17 + +
+
+ +Similar to GSON, but offers performance gains if you need to instantiate the library more often. + +
+
+ +**[JSON-io](https://github.com/jdereg/json-io)** ★ 390 Last push 2026-07-23 + +
+
+ +Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. + +
+
+ +**[jsoniter](https://jsoniter.com)** + +
+
+ +Fast and flexible library with iterator and lazy parsing API. + +
+
+ +**[LoganSquare](https://github.com/bluelinelabs/LoganSquare)** ★ 3.2k Last push 2021-12-07 + +
+
+ +JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. + +
+
+ +**[Moshi](https://github.com/square/moshi)** ★ 10.1k Last push 2026-07-22 + +
+
+ +Modern JSON library, less opinionated and uses built-in types like List and Map. + +
+
+ +**[Yasson](https://github.com/eclipse-ee4j/yasson)** ★ 217 Last push 2026-07-24 + +
+
+ +Binding layer between classes and JSON documents similar to JAXB. + +
+
+ +**[fastjson](https://github.com/alibaba/fastjson)** ★ 25.6k Last push 2024-07-16 + +
+
+ +Very fast processor with no additional dependencies and full data binding. + +
+
+ +**[Jolt](https://github.com/bazaarvoice/jolt)** ★ 1.7k Last push 2026-06-24 + +
+
+ +JSON to JSON transformation tool. + +
+
+ +**[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k Last push 2026-02-22 + +
+
+ +Extract data from JSON using XPATH-like syntax. + +
+
+ +**[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 317 Last push 2024-06-03 + +
+
+ +Streaming JsonPath processor dedicated to processing big and complicated JSON data. + +
+
+ +
+ + +
+JVM and JDK 13 projects + +_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. + +
+
+ +**[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)** ★ 4.3k Last push 2026-05-28 + +
+
+ +Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. + +
+
+ +**[Graal](https://github.com/oracle/graal)** ★ 21.7k Last push 2026-07-25 + +
+
+ +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)** ★ 3.5k Last push 2026-07-24 + +
+
+ +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)** ★ 1.9k Last push 2026-07-26 + +
+
+ +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) + +
+
+ +**[SAP Machine](https://sap.github.io/SapMachine/)** + +
+
+ +SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) + +
+
+ +**[Zulu](https://www.azul.com/products/zulu-community/)** + +
+
+ +OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) + +
+
+ +**[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 Last push 2026-05-02 + +
+
+ +Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! + +
+
+ +
+ + +
+Logging 12 projects + +_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)** ★ 59 Last push 2025-02-20 + +
+
+ +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](https://logback.qos.ch)** + +
+
+ +Robust logging library with interesting configuration options via Groovy. + +
+
+ +**[Logbook](https://github.com/zalando/logbook)** ★ 2.1k Last push 2026-07-23 + +
+
+ +Extensible, open-source library for HTTP request and response logging. + +
+
+ +**[Logstash](https://www.elastic.co/logstash)** + +
+
+ +Tool for managing log files. + +
+
+ +**[p6spy](https://github.com/p6spy/p6spy)** ★ 2.2k Last push 2022-02-21 + +
+
+ +Enables logging for all JDBC transactions without changes to the code. + +
+
+ +**[SLF4J](https://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)** ★ 180 Last push 2025-06-25 + +
+
+ +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 17 projects + +_Tools that provide specific statistical algorithms for learning from data._ + +
+
+ +**[Apache Flink](https://flink.apache.org)** + +
+
+ +Fast, reliable, large-scale data processing engine. + +
+
+ +**[Apache Mahout](https://mahout.apache.org)** + +
+
+ +Scalable algorithms focused on collaborative filtering, clustering and classification. + +
+
+ +**[DatumBox](https://www.datumbox.com)** + +
+
+ +Provides several algorithms and pre-trained models for natural language processing. + +
+
+ +**[Deeplearning4j](https://deeplearning4j.org)** + +
+
+ +Distributed and multi-threaded deep learning library. + +
+
+ +**[DJL](https://djl.ai)** + +
+
+ +High-level and engine-agnostic framework for deep learning. + +
+
+ +**[H2O ![c]](https://www.h2o.ai)** + +
+
+ +Analytics engine for statistics over big data. + +
+
+ +**[Intelligent java](https://github.com/Barqawiz/IntelliJava)** ★ 64 Last push 2024-02-18 + +
+
+ +Seamlessly integrate with remote deep learning and language models programmatically. + +
+
+ +**[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 Last push 2022-12-16 + +
+
+ +Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) + +
+
+ +**[m2cgen](https://github.com/BayesWitnesses/m2cgen)** ★ 3k Last push 2024-08-03 + +
+
+ +CLI tool to transpile models into native code. + +
+
+ +**[Neureka](https://github.com/Gleethos/neureka)** ★ 91 Last push 2026-01-25 + +
+
+ +A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. + +
+
+ +**[oj! Algorithms](https://www.ojalgo.org/)** + +
+
+ +High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. + +
+
+ +**[Oryx 2](https://github.com/OryxProject/oryx)** ★ 1.8k Last push 2021-08-16 + +
+
+ +Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. + +
+
+ +**[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k Last push 2026-05-05 + +
+
+ +Cloud native streaming and complex event processing engine. + +
+
+ +**[sklearn-java](https://github.com/kVeyra/sklearn-java)** ★ 3 Last push 2026-07-02 + +
+
+ +Implements scikit-learn-style machine learning algorithms in pure Java. + +
+
+ +**[Smile](https://github.com/haifengl/smile)** ★ 6.4k Last push 2026-07-26 + +
+
+ +Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. + +
+
+ +**[Tribuo](https://tribuo.org/)** + +
+
+ +Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. + +
+
+ +**[Weka](https://www.cs.waikato.ac.nz/ml/weka/)** + +
+
+ +Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) + +
+
+ +
+ + +
+Messaging 16 projects + +_Tools that help send messages between clients to ensure protocol independency._ + +
+
+ +**[Aeron](https://github.com/real-logic/Aeron)** ★ 8.8k Last push 2026-07-24 + +
+
+ +Efficient, reliable, unicast and multicast message transport. + +
+
+ +**[Apache ActiveMQ](https://activemq.apache.org)** + +
+
+ +Message broker that implements JMS and converts synchronous to asynchronous communication. + +
+
+ +**[Apache Camel](https://camel.apache.org)** + +
+
+ +Glues together different transport APIs via Enterprise Integration Patterns. + +
+
+ +**[Apache Kafka](https://kafka.apache.org)** + +
+
+ +High-throughput distributed messaging system. + +
+
+ +**[Apache Pulsar](https://pulsar.apache.org)** + +
+
+ +Distributed pub/sub-messaging system. + +
+
+ +**[Apache RocketMQ](https://rocketmq.apache.org)** + +
+
+ +Fast, reliable, and scalable distributed messaging platform. + +
+
+ +**[Apache Qpid](https://qpid.apache.org)** + +
+
+ +Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. + +
+
+ +**[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k Last push 2026-07-24 + +
+
+ +AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. + +
+
+ +**[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 Last push 2026-03-27 + +
+
+ +Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. + +
+
+ +**[EventBus](https://github.com/greenrobot/EventBus)** ★ 24.7k Last push 2024-02-21 + +
+
+ +Simple publish/subscribe event bus. + +
+
+ +**[Hermes](https://hermes.allegro.tech)** + +
+
+ +Fast and reliable message broker built on top of Kafka. + +
+
+ +**[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k Last push 2025-11-30 + +
+
+ +Implementation of ZeroMQ. + +
+
+ +**[Nakadi](https://github.com/zalando/nakadi)** ★ 966 Last push 2024-04-11 + +
+
+ +Provides a RESTful API on top of Kafka. + +
+
+ +**[RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client)** ★ 1.3k Last push 2026-07-23 + +
+
+ +RabbitMQ client. + +
+
+ +**[Smack](https://github.com/igniterealtime/Smack)** ★ 2.4k Last push 2026-06-19 + +
+
+ +Cross-platform XMPP client library. + +
+
+ +**[NATS client](https://github.com/nats-io/nats.java)** ★ 669 Last push 2026-07-24 + +
+
+ +NATS client. + +
+
+ +
+ + +
+Microservice 12 projects + +_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. + +
+
+ +**[Armeria](https://github.com/line/armeria)** ★ 5.1k Last push 2026-07-25 + +
+
+ +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)** ★ 421 Last push 2023-05-05 + +
+
+ +Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. + +
+
+ +**[Eureka](https://github.com/Netflix/eureka)** ★ 12.7k Last push 2026-03-23 + +
+
+ +REST-based service registry for resilient load balancing and failover. + +
+
+ +**[Helidon](https://helidon.io)** + +
+
+ +Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. + +
+
+ +**[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k Last push 2026-07-24 + +
+
+ +Wrapping of the Discord REST API and its WebSocket events. + +
+
+ +**[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k Last push 2026-07-24 + +
+
+ +Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. + +
+
+ +**[Micronaut](https://micronaut.io)** + +
+
+ +Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. + +
+
+ +**[Nacos](https://nacos.io)** + +
+
+ +Dynamic service discovery, configuration and service management platform for building cloud native applications. + +
+
+ +**[OpenAI-Java](https://github.com/TheoKanning/openai-java)** ★ 4.7k Last push 2024-06-06 + +
+
+ +Java libraries for using OpenAI's GPT-3 API. + +
+
+ +**[Quarkus](https://quarkus.io)** + +
+
+ +Kubernetes stack tailored for the HotSpot and Graal VM. + +
+
+ +**[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k Last push 2026-05-27 + +
+
+ +Flow control component enabling reliability, resilience and monitoring for microservices. + +
+
+ +
+ + +
+Miscellaneous 42 projects + +_Everything else._ + +
+
+ +**[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 Last push 2026-07-13 + +
+
+ +Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) + +
+
+ +**[CQEngine](https://github.com/npgall/cqengine)** ★ 1.8k Last push 2023-12-27 + +
+
+ +Ultra-fast, SQL-like queries on Java collections. + +
+
+ +**[Design Patterns](https://github.com/iluwatar/java-design-patterns)** ★ 94.2k Last push 2026-07-23 + +
+
+ +Implementation and explanation of the most common design patterns. + +
+
+ +**[Explyt ![c]](https://github.com/explyt/explyt)** ★ 22 Last push 2026-07-23 + +
+
+ +AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. + +
+
+ +**[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k Last push 2026-05-20 + +
+
+ +Feature Flags for Java. + +
+
+ +**[FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)** ★ 23.8k Last push 2024-07-15 + +
+
+ +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)** ★ 10 Last push 2026-04-21 + +
+
+ +Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. + +
+
+ +**[ISBN core](https://github.com/ladutsko/isbn-core)** ★ 5 Last push 2026-07-03 + +
+
+ +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)** ★ 6k Last push 2026-07-24 + +
+
+ +Java-to-Objective-C translator for porting Android libraries to iOS. + +
+
+ +**[JBake](https://jbake.org)** + +
+
+ +Static website generator. + +
+
+ +**[JBang](https://www.jbang.dev/)** + +
+
+ +JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. + +
+
+ +**[JBot](https://github.com/rampatra/jbot)** ★ 1.2k Last push 2025-10-08 + +
+
+ +Framework for building chatbots. (GPL-3.0-only) + +
+
+ +**[JCuda](https://javagl.de/jcuda.org/)** + +
+
+ +JCuda offers Java bindings for CUDA and CUDA-related libraries. + +
+
+ +**[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 Last push 2026-07-06 + +
+
+ +An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. + +
+
+ +**[Jimfs](https://github.com/google/jimfs)** ★ 2.6k Last push 2026-07-24 + +
+
+ +In-memory file system. + +
+
+ +**[JObfuscator![c]](https://www.pelock.com/products/jobfuscator)** + +
+
+ +Source code obfuscator. + +
+
+ +**[Joda-Money](https://www.joda.org/joda-money/)** + +
+
+ +Basic currency and money classes and algorithms not provided by the JDK. + +
+
+ +**[jOOX](https://github.com/jooq/joox)** ★ 506 Last push 2024-10-04 + +
+
+ +Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. + +
+
+ +**[JPad](https://jpad.io)** + +
+
+ +Snippet runner. + +
+
+ +**[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 449 Last push 2026-07-06 + +
+
+ +Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. + +
+
+ +**[jsweet](https://github.com/cincheo/jsweet)** ★ 1.5k Last push 2023-12-16 + +
+
+ +Source transpiler to TypeScript/JavaScript. + +
+
+ +**[Maven Wrapper](https://github.com/takari/maven-wrapper)** ★ 1.6k Last push 2021-12-18 + +
+
+ +Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. + +
+
+ +**[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 Last push 2026-07-22 + +
+
+ +Open-source, reverse-proxy framework. + +
+
+ +**[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 Last push 2025-06-15 + +
+
+ +Lightweight, small and customizable FTP server. + +
+
+ +**[LittleProxy](https://github.com/adamfisk/LittleProxy)** ★ 2.1k Last push 2024-07-08 + +
+
+ +High performance HTTP proxy atop Netty's event-based networking library. + +
+
+ +**[Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial)** ★ 16.7k Last push 2023-08-11 + +
+
+ +Popular Java 8 guide. + +
+
+ +**[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 Last push 2026-07-22 + +
+
+ +Detect uses of legacy Java APIs. + +
+
+ +**[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 Last push 2026-07-25 + +
+
+ +Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. + +
+
+ +**[OctoLinker](https://github.com/OctoLinker/OctoLinker)** ★ 5.4k Last push 2023-10-02 + +
+
+ +Browser extension which allows to navigate through code on GitHub more efficiently. + +
+
+ +**[OpenRefine](https://openrefine.org)** + +
+
+ +Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. + +
+
+ +**[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 Last push 2026-03-29 + +
+
+ +Small utility library for using handlers and commands with pipelines. + +
+
+ +**[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 Last push 2026-07-06 + +
+
+ +Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. + +
+
+ +**[Rollgate](https://rollgate.io)** + +
+
+ +Cloud-managed feature flag platform with a Java SDK, supporting gradual rollouts, A/B testing, and real-time updates. + +
+
+ +**[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 Last push 2022-03-24 + +
+
+ +RR4J is a tool that records java bytecode execution and later allows developers to replay locally. + +
+
+ +**[Simple Java Mail](https://github.com/bbottema/simple-java-mail)** ★ 1.3k Last push 2026-07-15 + +
+
+ +Mailing with a clean and fluent API. + +
+
+ +**[Smooks](https://github.com/smooks/smooks)** ★ 417 Last push 2025-11-24 + +
+
+ +Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) + +
+
+ +**[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k Last push 2026-07-24 + +
+
+ +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)** ★ 629 Last push 2023-04-12 + +
+
+ +Tools for resolving generic types. + +
+
+ +**[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k Last push 2025-11-08 + +
+
+ +Library for using built-in and external webcams directly in Java. + +
+
+ +**[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 Last push 2025-08-07 + +
+
+ +Processes XML by using annotations or XPath within code. + +
+
+ +**[yGuard](https://github.com/yWorks/yGuard)** ★ 477 Last push 2026-03-26 + +
+
+ +Obfuscation via renaming and shrinking. + +
+
+ +
+ + +
+Mobile Development 3 projects + +_Tools for creating or managing mobile applications._ + +
+
+ +**[Codename One](https://www.codenameone.com)** + +
+
+ +Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) + +
+
+ +**[MobileUI](https://mobileui.dev)** + +
+
+ +Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. + +
+
+ +**[Multi-OS Engine](https://multi-os-engine.org)** + +
+
+ +Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. + +
+
+ +
+ + +
+Monitoring 26 projects + +_Tools that observe/monitor applications in production by providing telemetry._ + +
+
+ +**[Apitally](https://github.com/apitally/apitally-java)** ★ 6 Last push 2026-07-20 + +
+
+ +Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. + +
+
+ +**[Automon](https://github.com/stevensouza/automon)** ★ 571 Last push 2024-10-18 + +
+
+ +Combines the power of AOP with monitoring and/or logging tools. + +
+
+ +**[Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage)** ★ 2 Last push 2026-06-16 + +
+
+ +Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. + +
+
+ +**[Datadog ![c]](https://github.com/DataDog/dd-trace-java)** ★ 727 Last push 2026-07-26 + +
+
+ +Modern monitoring & analytics. + +
+
+ +**[Dropwizard Metrics](https://github.com/dropwizard/metrics)** ★ 7.8k Last push 2026-07-13 + +
+
+ +Expose metrics via JMX or HTTP and send them to a database. + +
+
+ +**[Failsafe Actuator](https://github.com/zalando/failsafe-actuator)** ★ 54 Last push 2022-03-31 + +
+
+ +Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. + +
+
+ +**[Glowroot](https://glowroot.org)** + +
+
+ +Open-source Java APM. + +
+
+ +**[HertzBeat](https://github.com/dromara/hertzbeat)** ★ 7.3k Last push 2026-07-26 + +
+
+ +Real-time monitoring system with custom-monitor and agentless. + +
+
+ +**[hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md)** ★ 6k Last push 2026-03-12 + +
+
+ +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. + +
+
+ +**[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)** ★ 489 Last push 2022-07-01 + +
+
+ +Jaeger client. + +
+
+ +**[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3k Last push 2026-07-24 + +
+
+ +Performance monitoring and profiling. + +
+
+ +**[jmxtrans](https://github.com/jmxtrans/jmxtrans)** ★ 1.7k Last push 2022-09-05 + +
+
+ +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)** ★ 4.9k Last push 2026-07-24 + +
+
+ +Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. + +
+
+ +**[Micrometer Tracing](https://github.com/micrometer-metrics/tracing)** ★ 296 Last push 2026-07-23 + +
+
+ +Vendor-neutral distributed tracing facade for the most popular tracer libraries. + +
+
+ +**[nudge4j](https://github.com/lorenzoongithub/nudge4j)** ★ 164 Last push 2020-04-12 + +
+
+ +Remote developer console from the browser for Java 8 via bytecode injection. + +
+
+ +**[OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java)** ★ 2.4k Last push 2026-07-23 + +
+
+ +Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. + +
+
+ +**[Pinpoint](https://github.com/naver/pinpoint)** ★ 13.8k Last push 2026-07-24 + +
+
+ +Open-source APM tool. + +
+
+ +**[Prometheus](https://github.com/prometheus/client_java)** ★ 2.3k Last push 2026-07-26 + +
+
+ +Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. + +
+
+ +**[Sentry ![c]](https://github.com/getsentry/sentry-java)** ★ 1.3k Last push 2026-07-24 + +
+
+ +Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. + +
+
+ +**[SPM ![c]](https://github.com/sematext/sematext-agent-java)** ★ 25 Last push 2026-07-23 + +
+
+ +Performance monitor with distributing transaction tracing for JVM apps. + +
+
+ +**[Stagemonitor](https://github.com/stagemonitor/stagemonitor)** ★ 1.7k Last push 2023-02-20 + +
+
+ +Open-source performance monitoring and transaction tracing for JVM apps. + +
+
+ +**[Sysmon](https://github.com/palantir/Sysmon)** ★ 161 Last push 2016-12-06 + +
+
+ +Lightweight platform monitoring tool for Java VMs. + +
+
+ +**[zipkin](https://zipkin.io)** + +
+
+ +Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. + +
+
+ +
+ + +
+Native 5 projects + +_For working with platform-specific native libraries._ + +
+
+ +**[Aparapi](https://github.com/Syncleus/aparapi)** ★ 480 Last push 2022-09-30 + +
+
+ +Converts bytecode to OpenCL which allows execution on GPUs. + +
+
+ +**[JavaCPP](https://github.com/bytedeco/javacpp)** ★ 4.7k Last push 2026-07-14 + +
+
+ +Provides efficient and easy access to native C++. + +
+
+ +**[JNA](https://github.com/java-native-access/jna)** ★ 8.9k Last push 2026-07-12 + +
+
+ +Work with native libraries without writing JNI. Also provides interfaces to common system libraries. + +
+
+ +**[JNR](https://github.com/jnr/jnr-ffi)** ★ 1.3k Last push 2026-06-29 + +
+
+ +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](https://openjdk.java.net/projects/panama). + +
+
+ +**[native-lib-loader](https://github.com/scijava/native-lib-loader)** ★ 220 Last push 2024-10-20 + +
+
+ +Native library loader for extracting and loading native libraries from Java. + +
+
+ +
+ + +
+Natural Language Processing 5 projects + +_Libraries that specialize in processing text._ + +
+
+ +**[CogCompNLP](https://github.com/CogComp/cogcomp-nlp)** ★ 479 Last push 2023-07-07 + +
+
+ +Provides common annotators for plain text input. (Research and Academic Use License) + +
+
+ +**[CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml)** + +
+
+ +Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) + +
+
+ +**[DKPro](https://dkpro.github.io)** + +
+
+ +Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. + +
+
+ +**[Hypherator](https://github.com/ejossev/hypherator-java)** ★ 4 Last push 2025-06-30 + +
+
+ +Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. + +
+
+ +**[LingPipe](https://alias-i.com/lingpipe/)** + +
+
+ +Toolkit for tasks ranging from POS tagging to sentiment analysis. + +
+
+ +
+ + +
+Networking 16 projects + +_Libraries for building network servers._ + +
+
+ +**[Commons-networking](https://github.com/CiscoSE/commons-networking)** ★ 21 Last push 2022-02-08 + +
+
+ +Client for server-sent events (SSE). + +
+
+ +**[Comsat](https://github.com/puniverse/comsat)** ★ 594 Last push 2017-11-27 + +
+
+ +Integrates standard Java web-related APIs with Quasar fibers and actors. + +
+
+ +**[Dubbo](https://github.com/apache/dubbo)** ★ 41.5k Last push 2026-07-23 + +
+
+ +High-performance RPC framework. + +
+
+ +**[Grizzly](https://javaee.github.io/grizzly/)** + +
+
+ +NIO framework. Used as a network layer in Glassfish. + +
+
+ +**[gRPC-java](https://github.com/grpc/grpc-java)** ★ 12.1k Last push 2026-07-23 + +
+
+ +RPC framework based on protobuf and HTTP/2. + +
+
+ +**[java-ngrok](https://github.com/alexdlaird/java-ngrok)** ★ 60 Last push 2026-07-26 + +
+
+ +Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. + +
+
+ +**[KryoNet](https://github.com/EsotericSoftware/kryonet)** ★ 1.9k Last push 2021-02-22 + +
+
+ +Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. + +
+
+ +**[MINA](https://mina.apache.org)** + +
+
+ +Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. + +
+
+ +**[Netty](https://netty.io)** + +
+
+ +Framework for building high-performance network applications. + +
+
+ +**[Drift](https://github.com/airlift/drift)** ★ 249 Last push 2026-07-20 + +
+
+ +Easy-to-use, annotation-based library for creating Thrift clients and serializable types. + +
+
+ +**[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1k Last push 2026-07-23 + +
+
+ +Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. + +
+
+ +**[sshj](https://github.com/hierynomus/sshj)** ★ 2.7k Last push 2026-07-10 + +
+
+ +Programmatically use SSH, SCP or SFTP. + +
+
+ +**[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 Last push 2026-03-28 + +
+
+ +Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. + +
+
+ +**[Undertow](https://undertow.io)** + +
+
+ +Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) + +
+
+ +**[urnlib](https://github.com/slub/urnlib)** ★ 36 Last push 2025-12-30 + +
+
+ +Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) + +
+
+ +**[Fluency](https://github.com/komamitsu/fluency)** ★ 167 Last push 2026-06-29 + +
+
+ +High throughput data ingestion logger to Fluentd and Fluent Bit. + +
+
+ +
+ + +
+ORM 11 projects + +_APIs that handle the persistence of objects._ + +
+
+ +**[Apache Cayenne](https://cayenne.apache.org)** + +
+
+ +Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. + +
+
+ +**[Doma](https://github.com/domaframework/doma)** ★ 504 Last push 2026-07-24 + +
+
+ +Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. + +
+
+ +**[Ebean](https://ebean.io)** + +
+
+ +Provides simple and fast data access. + +
+
+ +**[EclipseLink](https://www.eclipse.org/eclipselink/)** + +
+
+ +Supports a number of persistence standards: JPA, JAXB, JCA and SDO. + +
+
+ +**[Hibernate](https://hibernate.org/orm/)** + +
+
+ +Robust and widely used, with an active community. (LGPL-2.1-only) + +
+
+ +**[MyBatis](https://github.com/mybatis/mybatis-3)** ★ 20.4k Last push 2026-07-26 + +
+
+ +Couples objects with stored procedures or SQL statements. + +
+
+ +**[mybatis-dynamic](https://github.com/myacelw/mybatis-dynamic)** ★ 4 Last push 2026-02-10 + +
+
+ +Code-first dynamic ORM for MyBatis with runtime schema modification. + +
+
+ +**[MyBatis-Plus](https://github.com/baomidou/mybatis-plus)** ★ 17.4k Last push 2026-07-17 + +
+
+ +A powerful enhanced toolkit of MyBatis for simplifying development. + +
+
+ +**[ObjectiveSql](https://github.com/braisdom/ObjectiveSql)** ★ 1.3k Last push 2024-05-06 + +
+
+ +ActiveRecord ORM for rapid development and convention over configuration. + +
+
+ +**[Permazen](https://github.com/permazen/permazen)** ★ 424 Last push 2025-10-04 + +
+
+ +Language-natural persistence layer. + +
+
+ +**[SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper)** ★ 458 Last push 2025-09-21 + +
+
+ +Simple database and CSV mapper. + +
+
+ +
+ + +
+PaaS 6 projects + +_Java platform as a service._ + +
+
+ +**[AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/)** + +
+
+ +AWS-based, with support for Tomcat and Jetty. + +
+
+ +**[AWS Lambda ![c]](https://aws.amazon.com/lambda/)** + +
+
+ +Serverless computation. + +
+
+ +**[Google Cloud ![c]](https://cloud.google.com)** + +
+
+ +Google's cloud infrastructure. + +
+
+ +**[Heroku ![c]](https://www.heroku.com)** + +
+
+ +Abstract computing environments. + +
+
+ +**[Microsoft Azure ![c]](https://azure.microsoft.com/en-us/)** + +
+
+ +Microsoft's cloud infrastructure. + +
+
+ +**[OpenShift ![c]](https://www.openshift.com)** + +
+
+ +Provides additionally an on-premise solution. + +
+
+ +
+ + +
+Pathfinding 1 project + +_Algorithms and libraries for finding routes in graphs and spatial environments._ + +
+
+ +**[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 373 Last push 2026-07-23 + +
+
+ +A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. + +
+
+ +
+ + +
+PDF 13 projects + +_Tools to help with PDF files._ + +
+
+ +**[Apache FOP](https://xmlgraphics.apache.org/fop/)** + +
+
+ +Creates PDFs from XSL-FO. + +
+
+ +**[Apache PDFBox](https://pdfbox.apache.org)** + +
+
+ +Toolbox for creating and manipulating PDFs. + +
+
+ +**[Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/)** + +
+
+ +Abstraction layer to JasperReports. (LGPL-3.0-only) + +
+
+ +**[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 Last push 2026-06-19 + +
+
+ +Simplifies JasperReports. (LGPL-3.0-only) + +
+
+ +**[Eclipse BIRT](https://www.eclipse.org/birt)** + +
+
+ +Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. + +
+
+ +**[flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer)** ★ 2.2k Last push 2026-07-23 + +
+
+ +XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) + +
+
+ +**[GraphCompose](https://github.com/DemchaAV/GraphCompose)** ★ 105 Last push 2026-07-26 + +
+
+ +Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. + +
+
+ +**[iText ![c]](https://itextpdf.com/en)** + +
+
+ +Creates PDF files programmatically. + +
+
+ +**[JasperReports](https://community.jaspersoft.com/project/jasperreports-library)** + +
+
+ +Complex reporting engine. (LGPL-3.0-only) + +
+
+ +**[jquick-pdf](https://github.com/paohaijiao/jquick-pdf)** ★ 225 Last push 2026-07-25 + +
+
+ +Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. + +
+
+ +**[Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf)** ★ 266 Last push 2026-07-26 + +
+
+ +Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. + +
+
+ +**[OpenPDF](https://github.com/LibrePDF/OpenPDF)** ★ 4.3k Last push 2026-07-08 + +
+
+ +Open-source iText fork. (LGPL-3.0-only & MPL-2.0) + +
+
+ +**[Tabula](https://github.com/tabulapdf/tabula-java)** ★ 2k Last push 2025-03-19 + +
+
+ +Extracts tables from PDF files. + +
+
+ +
+ + +
+Performance analysis 10 projects + +_Tools for performance analysis, profiling and benchmarking._ + +
+
+ +**[fastThread ![c]](https://fastthread.io)** + +
+
+ +Analyze and visualize thread dumps with a free cloud-based upload interface. + +
+
+ +**[GCeasy ![c]](https://gceasy.io)** + +
+
+ +Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. + +
+
+ +**[honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler)** ★ 1.3k Last push 2023-12-05 + +
+
+ +Low-overhead, bias-free sampling profiler. + +
+
+ +**[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 Last push 2026-03-15 + +
+
+ +Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. + +
+
+ +**[jHiccup](https://github.com/giltene/jHiccup)** ★ 704 Last push 2026-02-05 + +
+
+ +Logs and records platform JVM stalls. + +
+
+ +**[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k Last push 2025-12-28 + +
+
+ +Analyze the JIT compiler optimisations made by the HotSpot JVM. + +
+
+ +**[JMH](https://openjdk.java.net/projects/code-tools/jmh/)** + +
+
+ +Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) + +
+
+ +**[LatencyUtils](https://github.com/LatencyUtils/LatencyUtils)** ★ 466 Last push 2024-05-05 + +
+
+ +Utilities for latency measurement and reporting. + +
+
+ +**[JVM Hotpath](https://github.com/sfkamath/jvm-hotpath)** ★ 10 Last push 2026-03-29 + +
+
+ +Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. + +
+
+ +**[Argus](https://github.com/rlaope/Argus)** ★ 17 Last push 2026-07-01 + +
+
+ +JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. + +
+
+ +
+ + +
+Platform 54 projects + +_Frameworks that are suites of multiple libraries encompassing several categories._ + +#### Apache Commons + +50 projects + +
+
+ +**[BCEL](https://commons.apache.org/proper/commons-bcel/)** + +
+
+ +Byte Code Engineering Library - analyze, create, and manipulate Java class files. + +
+
+ +**[BeanUtils](https://commons.apache.org/proper/commons-beanutils/)** + +
+
+ +Easy-to-use wrappers around the Java reflection and introspection APIs. + +
+
+ +**[BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/)** + +
+
+ +Redesign of Commons BeanUtils. + +
+
+ +**[BSF](https://commons.apache.org/proper/commons-bsf/)** + +
+
+ +Bean Scripting Framework - interface to scripting languages, including JSR-223. + +
+
+ +**[ClassScan](https://commons.apache.org/sandbox/commons-classscan/)** + +
+
+ +Find Class interfaces, methods, fields, and annotations without loading. + +
+
+ +**[CLI](https://commons.apache.org/proper/commons-cli/)** + +
+
+ +Command-line arguments parser. + +
+
+ +**[CLI2](https://commons.apache.org/sandbox/commons-cli2/)** + +
+
+ +Redesign of Commons CLI. + +
+
+ +**[Codec](https://commons.apache.org/proper/commons-codec/)** + +
+
+ +General encoding/decoding algorithms, e.g. phonetic, base64 or URL. + +
+
+ +**[Collections](https://commons.apache.org/proper/commons-collections/)** + +
+
+ +Extends or augments the Java Collections Framework. + +
+
+ +**[Compress](https://commons.apache.org/proper/commons-compress/)** + +
+
+ +Defines an API for working with tar, zip and bzip2 files. + +
+
+ +**[Configuration](https://commons.apache.org/proper/commons-configuration/)** + +
+
+ +Reading of configuration/preferences files in various formats. + +
+
+ +**[Convert](https://commons.apache.org/sandbox/commons-convert/)** + +
+
+ +Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. + +
+
+ +**[CSV](https://commons.apache.org/proper/commons-csv/)** + +
+
+ +Component for reading and writing comma separated value files. + +
+
+ +**[Daemon](https://commons.apache.org/proper/commons-daemon/)** + +
+
+ +Alternative invocation mechanism for unix-daemon-like java code. + +
+
+ +**[DBCP](https://commons.apache.org/proper/commons-dbcp/)** + +
+
+ +Database connection pooling services. + +
+
+ +**[DbUtils](https://commons.apache.org/proper/commons-dbutils/)** + +
+
+ +JDBC helper library. + +
+
+ +**[Digester](https://commons.apache.org/proper/commons-digester/)** + +
+
+ +XML-to-Java-object mapping utility. + +
+
+ +**[Email](https://commons.apache.org/proper/commons-email/)** + +
+
+ +Library for sending e-mail from Java. + +
+
+ +**[Exec](https://commons.apache.org/proper/commons-exec/)** + +
+
+ +API for dealing with external process execution and environment management in Java. + +
+
+ +**[FileUpload](https://commons.apache.org/proper/commons-fileupload/)** + +
+
+ +File upload capability for your servlets and web applications. + +
+
+ +**[Finder](https://commons.apache.org/sandbox/commons-finder/)** + +
+
+ +Java library inspired by the UNIX find command. + +
+
+ +**[Flatfile](https://commons.apache.org/sandbox/commons-flatfile/)** + +
+
+ +Java library for working with flat data structures. + +
+
+ +**[Graph](https://commons.apache.org/sandbox/commons-graph/)** + +
+
+ +General purpose graph APIs and algorithms. + +
+
+ +**[I18n](https://commons.apache.org/sandbox/commons-i18n/)** + +
+
+ +Adds the feature of localized message bundles that consist of one or many localized texts that belong together. + +
+
+ +**[Id](https://commons.apache.org/sandbox/commons-id/)** + +
+
+ +Id is a component used to generate identifiers. + +
+
+ +**[Imaging](https://commons.apache.org/proper/commons-imaging/)** + +
+
+ +Image library. + +
+
+ +**[IO](https://commons.apache.org/proper/commons-io/)** + +
+
+ +Collection of I/O utilities. + +
+
+ +**[Javaflow](https://commons.apache.org/sandbox/commons-javaflow/)** + +
+
+ +Continuation implementation to capture the state of the application. + +
+
+ +**[JCI](https://commons.apache.org/proper/commons-jci/)** + +
+
+ +Java Compiler Interface. + +
+
+ +**[JCS](https://commons.apache.org/proper/commons-jcs/)** + +
+
+ +Java Caching System. + +
+
+ +**[Jelly](https://commons.apache.org/proper/commons-jelly/)** + +
+
+ +XML based scripting and processing engine. + +
+
+ +**[Jexl](https://commons.apache.org/proper/commons-jexl/)** + +
+
+ +Expression language which extends the Expression Language of the JSTL. + +
+
+ +**[JNet](https://commons.apache.org/sandbox/commons-jnet/)** + +
+
+ +JNet allows to use dynamically register url stream handlers through the java.net API. + +
+
+ +**[JXPath](https://commons.apache.org/proper/commons-jxpath/)** + +
+
+ +Utilities for manipulating Java Beans using the XPath syntax. + +
+
+ +**[Lang](https://commons.apache.org/proper/commons-lang/)** + +
+
+ +Provides extra functionality for classes in java.lang. + +
+
+ +**[Logging](https://commons.apache.org/proper/commons-logging/)** + +
+
+ +Wrapper around a variety of logging API implementations. + +
+
+ +**[Math](https://commons.apache.org/proper/commons-math/)** + +
+
+ +Lightweight, self-contained mathematics and statistics components. + +
+
+ +**[Monitoring](https://commons.apache.org/sandbox/commons-monitoring/)** + +
+
+ +Monitoring aims to provide a simple but extensible monitoring solution for Java applications. + +
+
+ +**[Nabla](https://commons.apache.org/sandbox/commons-nabla/)** + +
+
+ +Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. + +
+
+ +**[Net](https://commons.apache.org/proper/commons-net/)** + +
+
+ +Collection of network utilities and protocol implementations. + +
+
+ +**[OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/)** + +
+
+ +Interface to signing and verifying data using OpenPGP. + +
+
+ +**[Performance](https://commons.apache.org/sandbox/commons-performance/)** + +
+
+ +Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. + +
+
+ +**[Pipeline](https://commons.apache.org/sandbox/commons-pipeline/)** + +
+
+ +Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. + +
+
+ +**[Pool](https://commons.apache.org/proper/commons-pool/)** + +
+
+ +Generic object pooling component. + +
+
+ +**[RDF](https://commons.apache.org/proper/commons-rdf/)** + +
+
+ +Common implementation of RDF 1.1 that could be implemented by systems on the JVM. + +
+
+ +**[RNG](https://commons.apache.org/proper/commons-rng/)** + +
+
+ +Commons Rng provides implementations of pseudo-random numbers generators. + +
+
+ +**[SCXML](https://commons.apache.org/proper/commons-scxml/)** + +
+
+ +Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. + +
+
+ +**[Validator](https://commons.apache.org/proper/commons-validator/)** + +
+
+ +Framework to define validators and validation rules in an xml file. + +
+
+ +**[VFS](https://commons.apache.org/proper/commons-vfs/)** + +
+
+ +Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. + +
+
+ +**[Weaver](https://commons.apache.org/proper/commons-weaver/)** + +
+
+ +Provides an easy way to enhance (weave) compiled bytecode. + +
+
+ +#### Other + +4 projects + +
+
+ +**[CUBA Platform](https://www.cuba-platform.com/)** + +
+
+ +High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. + +
+
+ +**[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k Last push 2026-07-23 + +
+
+ +Fast, lightweight and productive microservices framework with built-in security. + +
+
+ +**[Orienteer](https://github.com/OrienteerBAP/Orienteer/)** ★ 260 Last push 2024-02-08 + +
+
+ +Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. + +
+
+ +**[Spring](https://spring.io/projects/)** + +
+
+ +Provides many packages for dependency injection, aspect-oriented programming, security, etc. + +
+
+ +
+ + +
+Processes 3 projects + +_Libraries that help the management of operating system processes._ + +
+
+ +**[ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec)** ★ 41 Last push 2026-07-22 + +
+
+ +Convenient API around Apache Commons Exec. + +
+
+ +**[zt-exec](https://github.com/zeroturnaround/zt-exec)** ★ 915 Last push 2026-07-10 + +
+
+ +Provides a unified API to Apache Commons Exec and ProcessBuilder. + +
+
+ +**[zt-process-killer](https://github.com/zeroturnaround/zt-process-killer)** ★ 139 Last push 2026-07-10 + +
+
+ +Stops processes started from Java or the system processes via PID. + +
+
+ +
+ + +
+Reactive libraries 5 projects + +_Libraries for developing reactive applications._ + +
+
+ +**[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)** ★ 4.9k Last push 2024-03-13 + +
+
+ +Provides a standard for asynchronous stream processing with non-blocking backpressure. + +
+
+ +**[Reactor](https://github.com/reactor/reactor)** ★ 3.7k Last push 2026-07-21 + +
+
+ +A framework for building non-blocking applications on the JVM, providing support for reactive programming. + +
+
+ +**[RxJava](https://github.com/ReactiveX/RxJava)** ★ 48.2k Last push 2026-07-24 + +
+
+ +Allows for composing asynchronous and event-based programs using observable sequences. + +
+
+ +**[vert.x](https://vertx.io)** + +
+
+ +Polyglot event-driven application framework. + +
+
+ +
+ + +
+REST Frameworks 15 projects + +_Frameworks specifically for creating RESTful services._ + +
+
+ +**[Dropwizard](https://github.com/dropwizard/dropwizard)** ★ 8.6k Last push 2026-07-23 + +
+
+ +Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. + +
+
+ +**[Elide](https://elide.io)** + +
+
+ +Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. + +
+
+ +**[Jersey](https://jersey.github.io)** + +
+
+ +JAX-RS reference implementation. + +
+
+ +**[Microserver](https://github.com/aol/micro-server)** ★ 935 Last push 2023-03-21 + +
+
+ +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. + +
+
+ +**[OfficeFloor](https://github.com/officefloor/OfficeFloor)** ★ 70 Last push 2026-07-23 + +
+
+ +Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. + +
+
+ +**[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)** ★ 2.5k Last push 2026-07-22 + +
+
+ +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)** ★ 939 Last push 2026-02-27 + +
+
+ +Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. + +
+
+ +**[Restlet Framework](https://github.com/restlet/restlet-framework-java)** ★ 667 Last push 2026-07-23 + +
+
+ +Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. + +
+
+ +**[Spark](https://sparkjava.com)** + +
+
+ +Sinatra inspired framework. + +
+
+ +**[Crnk](https://github.com/crnk-project/crnk-framework)** ★ 291 Last push 2023-10-19 + +
+
+ +Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. + +
+
+ +**[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k Last push 2026-07-19 + +
+
+ +Automates the generation of API documentation using Spring Boot projects. + +
+
+ +**[Swagger](https://swagger.io)** + +
+
+ +Standard, language-agnostic interface to REST APIs. + +
+
+ +**[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** ★ 26.6k Last push 2026-07-26 + +
+
+ +Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. + +
+
+ +
+ + +
+Science 16 projects + +_Libraries for scientific computing, analysis and visualization._ + +
+
+ +**[BioJava](https://biojava.org/)** + +
+
+ +Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. + +
+
+ +**[Chart-FX](https://github.com/GSI-CS-CO/chart-fx)** ★ 611 Last push 2026-03-17 + +
+
+ +Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. + +
+
+ +**[DataMelt](https://datamelt.org/)** + +
+
+ +Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) + +
+
+ +**[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 Last push 2023-08-27 + +
+
+ +Modular, light and easy graph framework for theoretic algorithms. + +
+
+ +**[GraphStream](https://graphstream-project.org)** + +
+
+ +Library for modeling and analyzing dynamic graphs. + +
+
+ +**[JFreeChart](https://www.jfree.org/jfreechart/)** + +
+
+ +2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) + +
+
+ +**[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k Last push 2026-07-20 + +
+
+ +Graph library that provides mathematical graph-theory objects and algorithms. + +
+
+ +**[JGraphX](https://github.com/jgraph/jgraphx)** ★ 692 Last push 2020-11-13 + +
+
+ +Library for visualizing (mainly Swing) and interacting with node-edge graphs. + +
+
+ +**[jSciPy](https://github.com/hissain/jscipy)** ★ 24 Last push 2026-06-21 + +
+
+ +jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. + +
+
+ +**[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 Last push 2026-07-17 + +
+
+ +Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. + +
+
+ +**[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 Last push 2021-03-25 + +
+
+ +Library for geophysical scientific computation, visualization and digital signal analysis. + +
+
+ +**[Morpheus](https://github.com/zavtech/morpheus-core)** ★ 245 Last push 2023-12-06 + +
+
+ +Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. + +
+
+ +**[Orekit](https://www.orekit.org/)** + +
+
+ +A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. + +
+
+ +**[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 Last push 2025-06-12 + +
+
+ +Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) + +
+
+ +**[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k Last push 2026-07-24 + +
+
+ +Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. + +
+
+ +**[XChart](https://github.com/knowm/XChart)** ★ 1.6k Last push 2026-07-23 + +
+
+ +Light-weight library for plotting data. Many customizable chart types are available. + +
+
+ +
+ + +
+Search 5 projects + +_Engines that index documents for search and analysis._ + +
+
+ +**[Apache Lucene](https://lucene.apache.org)** + +
+
+ +High-performance, full-featured, cross-platform, text search engine library. + +
+
+ +**[Apache Solr](https://lucene.apache.org/solr/)** + +
+
+ +Enterprise search engine optimized for high-volume traffic. + +
+
+ +**[Elasticsearch](https://www.elastic.co)** + +
+
+ +Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. + +
+
+ +**[Indexer4j](https://github.com/haeungun/indexer4j)** ★ 57 Last push 2019-01-27 + +
+
+ +Simple and light full text indexing and searching library. + +
+
+ +**[Viglet Turing ES](https://github.com/openviglet/turing-ce)** ★ 0 Last push 2026-07-21 + +
+
+ +Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends. + +
+
+ +
+ + +
+Security 25 projects + +_Libraries that handle security, authentication, authorization or session management._ + +
+
+ +**[Apache Shiro](https://shiro.apache.org)** + +
+
+ +Performs authentication, authorization, cryptography and session management. + +
+
+ +**[Ayza](https://github.com/Hakky54/ayza)** ★ 578 Last push 2026-07-13 + +
+
+ +High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. + +
+
+ +**[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. + +
+
+ +**[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 Last push 2026-07-13 + +
+
+ +CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. + +
+
+ +**[DependencyCheck](https://github.com/jeremylong/DependencyCheck)** ★ 54 Last push 2025-09-27 + +
+
+ +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)** ★ 219 Last push 2024-12-06 + +
+
+ +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)** ★ 11.1k Last push 2026-07-24 + +
+
+ +JSON web token for Java and Android. + +
+
+ +**[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 Last push 2025-07-17 + +
+
+ +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)** ★ 206 Last push 2026-07-20 + +
+
+ +JSON Web Key Set parser. + +
+
+ +**[Kalium](https://github.com/abstractj/kalium)** ★ 219 Last push 2023-09-12 + +
+
+ +Binding for the Networking and Cryptography (NaCl) library. + +
+
+ +**[Keycloak](https://www.keycloak.org)** + +
+
+ +Integrated SSO and IDM for browser apps and RESTful web services. + +
+
+ +**[Keywhiz](https://github.com/square/keywhiz)** ★ 2.6k Last push 2023-09-18 + +
+
+ +System for distributing and managing secrets. + +
+
+ +**[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 Last push 2025-09-05 + +
+
+ +Advanced password strength estimation. + +
+
+ +**[OACC](http://oaccframework.org)** + +
+
+ +Provides permission-based authorization services. + +
+
+ +**[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 879 Last push 2026-07-24 + +
+
+ +Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. + +
+
+ +**[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 Last push 2026-07-03 + +
+
+ +One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). + +
+
+ +**[pac4j](https://github.com/pac4j/pac4j)** ★ 2.5k Last push 2026-07-25 + +
+
+ +Security engine. + +
+
+ +**[Passay](https://www.passay.org/)** + +
+
+ +Enforce password policy by validating candidate passwords against a configurable rule set. + +
+
+ +**[Password4j](https://github.com/Password4j/password4j)** ★ 428 Last push 2026-04-16 + +
+
+ +User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. + +
+
+ +**[SecurityBuilder](https://github.com/tersesystems/securitybuilder)** ★ 48 Last push 2021-06-26 + +
+
+ +Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. + +
+
+ +**[Themis](https://github.com/cossacklabs/themis)** ★ 2k Last push 2026-04-24 + +
+
+ +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)** ★ 13.5k Last push 2024-04-17 + +
+
+ +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. + +
+
+ +**[MOSS](https://central.sonatype.com/artifact/com.mosscomputing/moss-sdk)** + +
+
+ +Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. + +
+
+ +
+ + +
+Serialization 6 projects + +_Libraries that handle serialization with high efficiency._ + +
+
+ +**[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k Last push 2026-06-22 + +
+
+ +Memory-efficient serialization library that can access serialized data without unpacking and parsing it. + +
+
+ +**[FST](https://github.com/RuedigerMoeller/fast-serialization)** ★ 1.6k Last push 2023-06-30 + +
+
+ +JDK-compatible, high-performance object graph serialization. + +
+
+ +**[Fury](https://github.com/alipay/fury)** ★ 4.4k Last push 2026-07-24 + +
+
+ +Blazing fast object graph serialization framework powered by JIT and zero-copy. + +
+
+ +**[Kryo](https://github.com/EsotericSoftware/kryo)** ★ 6.5k Last push 2026-07-20 + +
+
+ +Fast and efficient object graph serialization framework. + +
+
+ +**[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k Last push 2026-07-18 + +
+
+ +Efficient binary serialization format. + +
+
+ +**[PHP Serializer](https://github.com/marcospassos/java-php-serializer)** ★ 19 Last push 2018-02-28 + +
+
+ +Serializing objects in the PHP serialization format. + +
+
+ +
+ + +
+Server 5 projects + +_Servers specifically used to deploy applications._ + +
+
+ +**[Apache Tomcat](https://tomcat.apache.org)** + +
+
+ +Robust, all-round server for Servlet and JSP. + +
+
+ +**[Apache TomEE](https://tomee.apache.org)** + +
+
+ +Tomcat plus Java EE. + +
+
+ +**[Jetty](https://www.eclipse.org/jetty/)** + +
+
+ +Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. + +
+
+ +**[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k Last push 2023-07-25 + +
+
+ +Tiny, easily embeddable HTTP server. + +
+
+ +**[WildFly](https://www.wildfly.org)** + +
+
+ +Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) + +
+
+ +
+ + +
+Template Engine 11 projects + +_Tools that substitute expressions in a template._ + +
+
+ +**[Freemarker](https://freemarker.apache.org)** + +
+
+ +Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. + +
+
+ +**[Handlebars.java](https://jknack.github.io/handlebars.java/)** + +
+
+ +Logicless and semantic Mustache templates. + +
+
+ +**[Jade4J](https://github.com/neuland/jade4j)** ★ 706 Last push 2022-05-20 + +
+
+ +Implementation of Pug (formerly known as Jade). + +
+
+ +**[Jamal](https://github.com/verhas/jamal)** ★ 69 Last push 2025-04-22 + +
+
+ +Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. + +
+
+ +**[jstachio](https://github.com/jstachio/jstachio)** ★ 330 Last push 2025-04-15 + +
+
+ +Typesafe Mustache templating engine. + +
+
+ +**[jte](https://github.com/casid/jte)** ★ 1.1k Last push 2026-07-20 + +
+
+ +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)** ★ 299 Last push 2018-04-14 + +
+
+ +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. + +
+
+ +**[Rocker](https://github.com/fizzed/rocker)** ★ 781 Last push 2026-01-21 + +
+
+ +Optimized, memory efficient and speedy template engine producing statically typed, plain objects. + +
+
+ +**[StringTemplate](https://github.com/antlr/stringtemplate4)** ★ 1k Last push 2025-05-14 + +
+
+ +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. + +
+
+ +
+ + +
+Testing 66 projects + +_Tools that test from model to the view._ + +#### Asynchronous + +7 projects + +_Tools that simplify testing asynchronous services._ + +
+
+ +**[Awaitility](https://github.com/awaitility/awaitility)** ★ 4k Last push 2026-04-17 + +
+
+ +DSL for synchronizing asynchronous operations. + +
+
+ +**[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 Last push 2024-04-05 + +
+
+ +Toolkit for testing multi-threaded and asynchronous applications. + +
+
+ +**[GreenMail](https://greenmail-mail-test.github.io/greenmail/)** + +
+
+ +In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) + +
+
+ +**[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 Last push 2026-05-20 + +
+
+ +Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. + +
+
+ +**[Karate](https://github.com/intuit/karate)** ★ 8.9k Last push 2026-07-26 + +
+
+ +DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. + +
+
+ +**[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k Last push 2026-07-22 + +
+
+ +DSL for easy testing of REST/HTTP services. + +
+
+ +**[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 Last push 2026-04-10 + +
+
+ +Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. + +
+
+ +#### BDD + +8 projects + +_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ + +
+
+ +**[Cucumber](https://github.com/cucumber/cucumber-jvm)** ★ 2.8k Last push 2026-07-24 + +
+
+ +Provides a way to describe features in a plain language which customers can understand. + +
+
+ +**[Cukes-REST](https://github.com/ctco/cukes)** ★ 111 Last push 2025-06-02 + +
+
+ +Collection of Gherkin steps for REST-service testing using Cucumber. + +
+
+ +**[J8Spec](https://github.com/j8spec/j8spec)** ★ 49 Last push 2022-02-25 + +
+
+ +Follows a Jasmine-like syntax. + +
+
+ +**[JBehave](https://jbehave.org)** + +
+
+ +Extensively configurable framework that describes stories. + +
+
+ +**[JGiven](https://jgiven.org)** + +
+
+ +Provides a fluent API which allows for simpler composition. + +
+
+ +**[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 Last push 2026-07-24 + +
+
+ +Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. + +
+
+ +**[Lamdba Behave](https://github.com/RichardWarburton/lambda-behave)** ★ 252 Last push 2022-02-22 + +
+
+ +Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. + +
+
+ +**[Serenity BDD](https://github.com/serenity-bdd/serenity-core)** ★ 755 Last push 2026-07-16 + +
+
+ +Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. + +
+
+ +#### Fixtures + +10 projects + +_Everything related to the creation and handling of random data._ + +
+
+ +**[AutoParams](https://github.com/AutoParams/AutoParams)** ★ 368 Last push 2026-04-09 + +
+
+ +Supports generating test data or combining scenarios for parameterized tests. + +
+
+ +**[Beanmother](https://github.com/keepcosmos/beanmother)** ★ 122 Last push 2022-12-14 + +
+
+ +Sets up beans from YAML fixtures. + +
+
+ +**[Datafaker](https://github.com/datafaker-net/datafaker)** ★ 1.8k Last push 2026-07-23 + +
+
+ +Modern fake data generator forked from Java Faker. + +
+
+ +**[Fixture Factory](https://github.com/six2six/fixture-factory)** ★ 443 Last push 2023-04-14 + +
+
+ +Generates fake objects from a template. + +
+
+ +**[jFairy](https://github.com/Devskiller/jfairy)** ★ 742 Last push 2026-05-30 + +
+
+ +Fake data generator. + +
+
+ +**[Instancio](https://github.com/instancio/instancio)** ★ 1.2k Last push 2026-07-25 + +
+
+ +Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. + +
+
+ +**[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 Last push 2026-05-29 + +
+
+ +JUnit test runner and plugins for running JUnit tests with pseudo-randomness. + +
+
+ +**[Java Faker](https://github.com/DiUS/java-faker)** ★ 4.9k Last push 2024-06-12 + +
+
+ +Port of Ruby's fake data generator. + +
+
+ +**[Mockneat](https://github.com/nomemory/mockneat)** ★ 534 Last push 2023-03-27 + +
+
+ +Another fake data generator. + +
+
+ +**[JMock](https://github.com/xcancloud/JMock)** ★ 212 Last push 2026-05-19 + +
+
+ +JMock is a high-performance data generation and simulation component library implemented in Java. + +
+
+ +#### Frameworks + +14 projects + +_Provide environments to run tests for a specific use case._ + +
+
+ +**[Apache JMeter](https://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](https://arquillian.org)** + +
+
+ +Integration and functional testing platform for Java EE containers. + +
+
+ +**[BitDive ![c]](https://bitdive.io)** + +
+
+ +Zero-code integration testing platform that generates tests from runtime application behavior. + +
+
+ +**[cdi-test](https://github.com/guhilling/cdi-test)** ★ 31 Last push 2026-07-25 + +
+
+ +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)** ★ 1.1k Last push 2026-07-22 + +
+
+ +Consumer-driven contract testing. + +
+
+ +**[PIT](https://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)** ★ 116 Last push 2026-07-14 + +
+
+ +Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. + +
+
+ +**[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k Last push 2026-07-26 + +
+
+ +Browser automation framework and ecosystem. + +
+
+ +**[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 10 Last push 2026-07-23 + +
+
+ +Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. + +
+
+ +#### Matchers + +6 projects + +_Libraries that provide custom matchers._ + +
+
+ +**[AssertJ](https://joel-costigliola.github.io/assertj/)** + +
+
+ +Fluent assertions that improve readability. + +
+
+ +**[Hamcrest](https://hamcrest.org/JavaHamcrest/)** + +
+
+ +Matchers that can be combined to create flexible expressions of intent. + +
+
+ +**[JSONAssert](https://jsonassert.skyscreamer.org)** + +
+
+ +Simplifies testing JSON strings. + +
+
+ +**[JsonUnit](https://github.com/lukas-krecan/JsonUnit)** ★ 1k Last push 2026-07-24 + +
+
+ +Library that simplifies JSON comparison in tests. + +
+
+ +**[Truth](https://truth.dev)** + +
+
+ +Google's fluent assertion and proposition framework. + +
+
+ +**[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 318 Last push 2026-07-08 + +
+
+ +Simplifies testing for XML output. + +
+
+ +#### Miscellaneous + +14 projects + +_Other stuff related to testing._ + +
+
+ +**[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 Last push 2026-06-08 + +
+
+ +Captures console output for unit testing purposes. + +
+
+ +**[junit-dataprovider](https://github.com/TNG/junit-dataprovider)** ★ 249 Last push 2026-02-07 + +
+
+ +TestNG-like data provider/runner for JUnit. + +
+
+ +**[junit-pioneer](https://junit-pioneer.org/)** + +
+
+ +JUnit 5 extension pack, pushing the frontiers on Jupiter. + +
+
+ +**[LogCaptor](https://github.com/Hakky54/log-captor)** ★ 432 Last push 2026-07-02 + +
+
+ +Captures log entries for unit testing purposes. + +
+
+ +**[log-capture](https://github.com/dm-drogeriemarkt/log-capture)** ★ 16 Last push 2026-05-05 + +
+
+ +Captures log entries and provides assertions for unit and integration testing. + +
+
+ +**[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Last push 2025-10-11 + +
+
+ +Reports whether instances of a given class are immutable. + +
+
+ +**[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)** ★ 74 Last push 2019-02-13 + +
+
+ +Tests if a request/response matches a given RAML definition. + +
+
+ +**[Selfie](https://github.com/diffplug/selfie)** ★ 100 Last push 2026-07-01 + +
+
+ +Snapshot testing (inline and on disk). + +
+
+ +**[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 Last push 2026-04-20 + +
+
+ +Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. + +
+
+ +**[Stebz](https://github.com/stebz/stebz)** ★ 20 Last push 2026-07-24 + +
+
+ +Multi-approach framework for test steps managing. + +
+
+ +**[Testcontainers](https://github.com/testcontainers/testcontainers-java)** ★ 8.7k Last push 2026-07-23 + +
+
+ +Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. + +
+
+ +**[Java Evolved](https://javaevolved.github.io/)** + +
+
+ +Side-by-side comparisons of legacy and modern Java patterns. + +
+
+ +**[test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin)** ★ 1 Last push 2026-06-06 + +
+
+ +Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. + +
+
+ +#### Mocking + +7 projects + +_Tools which mock collaborators to help testing single, isolated units._ + +
+
+ +**[JMockit](https://jmockit.github.io)** + +
+
+ +Integration testing, API mocking and faking, and code coverage. + +
+
+ +**[Mockito](https://github.com/mockito/mockito)** ★ 15.4k Last push 2026-07-15 + +
+
+ +Mocking framework that lets you write tests with a clean and simple API. + +
+
+ +**[MockServer](https://www.mock-server.com)** + +
+
+ +Allows mocking of systems integrated with HTTPS. + +
+
+ +**[Moco](https://github.com/dreamhead/moco)** ★ 4.4k Last push 2026-05-10 + +
+
+ +Concise web services for stubs and mocks. + +
+
+ +**[PowerMock](https://github.com/powermock/powermock)** ★ 4.2k Last push 2024-01-03 + +
+
+ +Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. + +
+
+ +**[WireMock](https://wiremock.org)** + +
+
+ +Stubs and mocks web services. + +
+
+ +**[EasyMock](https://github.com/easymock/easymock)** ★ 832 Last push 2026-07-22 + +
+
+ +EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. + +
+
+ +
+ + +
+Utility 25 projects + +_Libraries which provide general utility functions._ + +
+
+ +**[Arthas](https://github.com/alibaba/arthas)** ★ 37.5k Last push 2026-07-24 + +
+
+ +Allows to troubleshoot production issues for applications without modifying code or restarting servers. + +
+
+ +**[bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j)** ★ 2.8k Last push 2026-07-23 + +
+
+ +Rate limiting library based on token-bucket algorithm. + +
+
+ +**[cactoos](https://github.com/yegor256/cactoos)** ★ 777 Last push 2026-07-24 + +
+
+ +Collection of object-oriented primitives. + +
+
+ +**[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 Last push 2023-01-20 + +
+
+ +Generates postman collection, environment and integration tests from java code. + +
+
+ +**[CRaSH](https://www.crashub.org)** + +
+
+ +Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) + +
+
+ +**[Dex](https://github.com/PatMartin/Dex)** ★ 1.3k Last push 2019-02-12 + +
+
+ +Java/JavaFX tool capable of powerful ETL and data visualization. + +
+
+ +**[dregex](https://github.com/marianobarrios/dregex)** ★ 55 Last push 2026-04-13 + +
+
+ +Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. + +
+
+ +**[Embulk](https://github.com/embulk/embulk)** ★ 1.8k Last push 2026-06-19 + +
+
+ +Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. + +
+
+ +**[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 Last push 2026-07-01 + +
+
+ +Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. + +
+
+ +**[Gephi](https://github.com/gephi/gephi)** ★ 6.6k Last push 2026-06-28 + +
+
+ +Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) + +
+
+ +**[Guava](https://github.com/google/guava)** ★ 51.5k Last push 2026-07-24 + +
+
+ +Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. + +
+
+ +**[JADE](https://jade.tilab.com)** + +
+
+ +Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) + +
+
+ +**[Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml)** ★ 57 Last push 2025-12-08 + +
+
+ +Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. + +
+
+ +**[Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/)** + +
+
+ +Utilities for text or data comparison and patching. + +
+
+ +**[java-util](https://github.com/jdereg/java-util)** ★ 440 Last push 2026-07-12 + +
+
+ +Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. + +
+
+ +**[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k Last push 2026-07-01 + +
+
+ +Library that helps with constructing difficult regular expressions. + +
+
+ +**[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 Last push 2026-04-22 + +
+
+ +Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. + +
+
+ +**[JGit](https://www.eclipse.org/jgit/)** + +
+
+ +Lightweight, pure Java library implementing the Git version control system. + +
+
+ +**[JKScope](https://github.com/evpl/jkscope)** ★ 23 Last push 2025-01-25 + +
+
+ +Java scope functions inspired by Kotlin. + +
+
+ +**[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 Last push 2026-04-01 + +
+
+ +Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. + +
+
+ +**[minio-java](https://github.com/minio/minio-java)** ★ 1.3k Last push 2026-06-18 + +
+
+ +Provides simple APIs to access any Amazon S3-compatible object storage server. + +
+
+ +**[Protégé](https://protege.stanford.edu)** + +
+
+ +Provides an ontology editor and a framework to build knowledge-based systems. + +
+
+ +**[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 Last push 2026-07-22 + +
+
+ +Lightweight library that helps you handling semantic versioning with different modes. + +
+
+ +**[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 Last push 2026-07-16 + +
+
+ +Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. + +
+
+ +**[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 Last push 2026-07-25 + +
+
+ +Port of Underscore.js functions. + +
+
+ +
+ + +
+Version Managers 3 projects + +_Utilities that help create the development shell environment and switch between different Java versions._ + +
+
+ +**[jabba](https://github.com/shyiko/jabba)** ★ 3.4k Last push 2026-05-04 + +
+
+ +Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. + +
+
+ +**[jenv](https://github.com/jenv/jenv)** ★ 6.6k Last push 2026-02-22 + +
+
+ +Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. + +
+
+ +**[SDKMan](https://github.com/sdkman/sdkman-cli)** ★ 6.8k Last push 2026-06-25 + +
+
+ +Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. + +
+
+ +
+ + +
+Web Crawling 6 projects + +_Libraries that analyze the content of websites._ + +
+
+ +**[Apache Nutch](https://nutch.apache.org)** + +
+
+ +Highly extensible, highly scalable web crawler for production environments. + +
+
+ +**[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 144 Last push 2026-07-22 + +
+
+ +Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. + +
+
+ +**[Crawler4j](https://github.com/yasserg/crawler4j)** ★ 4.6k Last push 2021-11-04 + +
+
+ +Simple and lightweight web crawler. + +
+
+ +**[jsoup](https://jsoup.org)** + +
+
+ +Scrapes, parses, manipulates and cleans HTML. + +
+
+ +**[StormCrawler](https://stormcrawler.net)** + +
+
+ +SDK for building low-latency and scalable web crawlers. + +
+
+ +**[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k Last push 2025-12-20 + +
+
+ +Scalable crawler with downloading, url management, content extraction and persistent. + +
+
+ +
+ + +
+Web Frameworks 18 projects + +_Frameworks that handle the communication between the layers of a web application._ + +
+
+ +**[ActiveJ](https://activej.io)** + +
+
+ +Lightweight asynchronous framework built from the ground up for developing high-performance web applications. + +
+
+ +**[Apache Tapestry](https://tapestry.apache.org)** + +
+
+ +Component-oriented framework for creating dynamic, robust, highly scalable web applications. + +
+
+ +**[Apache Wicket](https://wicket.apache.org)** + +
+
+ +Component-based web application framework similar to Tapestry, with a stateful GUI. + +
+
+ +**[Blade](https://github.com/lets-blade/blade)** ★ 5.9k Last push 2026-05-15 + +
+
+ +Lightweight, modular framework that aims to be elegant and simple. + +
+
+ +**[Bootique](https://bootique.io)** + +
+
+ +Minimally opinionated framework for runnable apps. + +
+
+ +**[Firefly](https://www.fireflysource.com)** + +
+
+ +Asynchronous framework for rapid development of high-performance web application. + +
+
+ +**[Javalin](https://javalin.io/)** + +
+
+ +Microframework for web applications. + +
+
+ +**[Jooby](https://www.jooby.org)** + +
+
+ +Scalable, fast and modular micro-framework that offers multiple programming models. + +
+
+ +**[Ninja](https://www.ninjaframework.org)** + +
+
+ +Full-stack web framework. + +
+
+ +**[Pippo](https://github.com/pippo-java/pippo)** ★ 786 Last push 2025-12-22 + +
+
+ +Small, highly modularized, Sinatra-like framework. + +
+
+ +**[Play](https://www.playframework.com)** + +
+
+ +Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. + +
+
+ +**[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)** ★ 877 Last push 2026-07-26 + +
+
+ +Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. + +
+
+ +**[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 Last push 2026-07-25 + +
+
+ +Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. + +
+
+ +**[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. + +
+
+ +**[WebForms Core](https://github.com/webforms-core)** + +
+
+ +A technology for managing HTML tags from the server. + +
+
+ +**[Erupt](https://github.com/erupts/erupt)** ★ 2.8k Last push 2026-07-26 + +
+
+ +Annotation-Driven Low-Code & JPA Visualization + +
+
+ +
+ + +
+Workflow Orchestration Engines 3 projects + +
+
+ +**[Cadence](https://cadenceworkflow.io)** + +
+
+ +Stateful code platform from Uber. + +
+
+ +**[flowable](https://github.com/flowable/flowable-engine)** ★ 9.4k Last push 2026-07-26 + +
+
+ +Compact and efficient workflow and business process management platform. + +
+
+ +**[Temporal](https://temporal.io)** + +
+
+ +Microservice orchestration platform, forked from Cadence but gRPC based. + +
+
+ +
+ +## Resources + +### Related Awesome Lists + +_Awesome Lists related to the Java & JVM ecosystem._ + +- [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) +- [Awesome REST](https://github.com/marmelab/awesome-rest) +- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) +- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) +- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) +- [Useful Java Links](https://github.com/Vedenin/useful-java-links) +- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) +- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) + +### Communities + +_Active discussions._ + +- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. +- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. + +### Frontends + +_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ + +- [java.libhunt.com](https://java.libhunt.com) + +### Influential Books + +_Books that made a big impact and are still worth reading._ + +- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) +- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) +- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) +- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) +- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) +- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) +- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) + +### Podcasts and Screencasts + +_Something to look at or listen to while programming._ + +- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. +- [A Bootiful Podcast](https://bootifulpodcast.fm) +- [Foojay Podcast](https://foojay.io/today/category/podcast/) +- [Inside Java](https://inside.java/podcast) (Official) +- [Java Off Heap](https://www.javaoffheap.com) +- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. + +### People + +#### Socials + +_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://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://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](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://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. +- [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. +- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. +- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. +- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. +- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. +- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. +- [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://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. + +### Websites + +_Sites to read._ + +- [Baeldung](https://www.baeldung.com) +- [Dzone](https://dzone.com) +- [foojay.io](https://foojay.io) +- [Google Java Style](https://google.github.io/styleguide/javaguide.html) +- [InfoQ](https://www.infoq.com) +- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) +- [Java, SQL, and jOOQ](https://blog.jooq.org) +- [Java.net](https://community.oracle.com/community/java) +- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) +- [TheCodeForge Java Tutorials](https://thecodeforge.io/java/) +- [JavaWorld](https://www.javaworld.com) +- [JAXenter](https://jaxenter.com) +- [RebelLabs](https://zeroturnaround.com/rebellabs) +- [OverOps Blog](https://blog.overops.com) +- [TheServerSide.com](https://www.theserverside.com) +- [Vanilla Java](https://vanilla-java.github.io) +- [Voxxed](https://www.voxxed.com) +- [Java Weekly](https://discu.eu/weekly/java/) + +## Contributing + +Contributions are very welcome! + +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 diff --git a/README_3.md b/README_3.md new file mode 100644 index 00000000..ce6ac9bb --- /dev/null +++ b/README_3.md @@ -0,0 +1,4160 @@ +# Awesome Java [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) + +A curated list of awesome Java frameworks, libraries and software. + +840 projects · 75 categories · GitHub statistics refreshed 2026-07-26 · Activity is the repository's latest push. + +Browse a category below, or use your browser's find command to locate a project. + +## Projects + + +
+Architecture 2 projects + +_Frameworks and libraries that help implementing and verifying design and architecture concepts._ + +> **[ArchUnit](https://github.com/TNG/ArchUnit)** ★ 3.8k Last push 2026-07-25 +> +> Test library for specifying and asserting architecture rules. + +> **[jMolecules](https://github.com/xmolecules/jmolecules)** ★ 1.5k Last push 2026-02-03 +> +> Annotations and interfaces to express design and architecture concepts in code. + +
+ + +
+Artificial Intelligence 9 projects + +_Frameworks that help you to leverage LLMs and AI._ + +> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 Last push 2026-07-25 +> +> Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. + +> **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 Last push 2026-07-24 +> +> Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. + +> **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 Last push 2026-07-20 +> +> Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. + +> **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k Last push 2026-07-24 +> +> Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. + +> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 238 Last push 2026-07-26 +> +> Provides a Java binding for a unified LLM API client across multiple providers. + +> **[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k Last push 2026-07-10 +> +> 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. + +> **[Regulus](https://github.com/neul-labs/regulus)** ★ 7 Last push 2026-07-02 +> +> Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. + +> **[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 Last push 2025-09-17 +> +> Library to use the OpenAI API (and compatible ones) in the simplest possible way. + +> **[Spring AI](https://spring.io/projects/spring-ai)** +> +> Application framework for AI engineering for Spring. + +
+ + +
+Bean Mapping 8 projects + +_Frameworks that ease bean mapping._ + +> **[dOOv](https://github.com/doov-io/doov)** ★ 103 Last push 2023-01-04 +> +> Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. + +> **[Immuto](https://github.com/karunarathnad/immuto)** ★ 6 Last push 2026-07-05 +> +> Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection. + +> **[JMapper](https://github.com/jmapper-framework/jmapper-core)** ★ 245 Last push 2023-10-25 +> +> Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. + +> **[MapStruct](https://github.com/mapstruct/mapstruct)** ★ 7.7k Last push 2026-07-25 +> +> Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. + +> **[ModelMapper](https://github.com/modelmapper/modelmapper)** ★ 2.4k Last push 2025-11-11 +> +> Intelligent object mapping library that automatically maps objects to each other. + +> **[Orika](https://github.com/orika-mapper/orika)** ★ 1.3k Last push 2024-10-14 +> +> JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. + +> **[reMap](https://github.com/remondis-it/remap)** ★ 128 Last push 2026-07-15 +> +> Lambda and method handle-based mapping which requires code and not annotations if objects have different names. + +> **[Selma](https://github.com/xebia-france/selma)** ★ 213 Last push 2020-01-01 +> +> Annotation processor-based bean mapper. + +
+ + +
+Build 6 projects + +_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. + +> **[Bazel](https://bazel.build)** +> +> Tool from Google that builds code quickly and reliably. + +> **[Buck2](https://github.com/facebook/buck2)** ★ 4.4k Last push 2026-07-26 +> +> 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. + +> **[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 Last push 2026-07-24 +> +> A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. + +> **[ReleaseRun](https://releaserun.com)** +> +> Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. + +
+ + +
+Bytecode Manipulation 10 projects + +_Libraries to manipulate bytecode programmatically._ + +> **[ASM](https://asm.ow2.io)** +> +> All-purpose, low-level bytecode manipulation and analysis. + +> **[Byte Buddy](https://bytebuddy.net)** +> +> Further simplifies bytecode generation with a fluent API. + +> **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k Last push 2026-07-17 +> +> Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) + +> **[Byteman](https://byteman.jboss.org)** +> +> Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) + +> **[cglib](https://github.com/cglib/cglib)** ★ 4.9k Last push 2024-08-16 +> +> Bytecode generation library. + +> **[Javassist](https://github.com/jboss-javassist/javassist)** ★ 4.2k Last push 2026-06-21 +> +> Tries to simplify bytecode editing. + +> **[Maker](https://github.com/cojen/maker)** ★ 70 Last push 2026-07-24 +> +> Provides low level bytecode generation. + +> **[Mixin](https://github.com/SpongePowered/Mixin)** ★ 1.7k Last push 2024-08-05 +> +> Manipulate bytecode at runtime using real Java code. + +> **[Perses](https://github.com/nicolasmanic/perses)** ★ 70 Last push 2021-08-02 +> +> Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. + +> **[Recaf](https://www.coley.software/Recaf/)** +> +> JVM reverse engineering toolkit, essentially an IDE for Java bytecode. + +
+ + +
+Caching 4 projects + +_Libraries that provide caching facilities._ + +> **[cache2k](https://cache2k.org)** +> +> In-memory high performance caching library. + +> **[Caffeine](https://github.com/ben-manes/caffeine)** ★ 17.8k Last push 2026-07-26 +> +> High-performance, near-optimal caching library. + +> **[Ehcache](https://www.ehcache.org)** +> +> Distributed general-purpose cache. + +> **[Infinispan](https://infinispan.org)** +> +> Highly concurrent key/value datastore used for caching. + +
+ + +
+CLI 10 projects + +_Libraries for everything related to the CLI._ + +#### Argument Parsing + +5 projects + +_Libraries to assist with parsing command line arguments._ + +> **[Airline](https://rvesse.github.io/airline/)** +> +> Annotation-based framework for parsing Git-like command-line arguments. + +> **[JCommander](https://jcommander.org)** +> +> Command-line argument-parsing framework with custom types and validation via implementing interfaces. + +> **[jbock](https://github.com/jbock-java/jbock)** ★ 92 Last push 2026-03-15 +> +> Reflectionless command line parser. + +> **[JLine](https://github.com/jline/jline3)** ★ 1.8k Last push 2026-07-22 +> +> Includes features from modern shells like completion or history. + +> **[picocli](https://picocli.info)** +> +> ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. + +#### Text-Based User Interfaces + +5 projects + +_Libraries that provide TUI frameworks, or building blocks related functions._ + +> **[AliveJTUI](https://github.com/yehorsyrin/alivejTUI)** ★ 9 Last push 2026-04-03 +> +> Declarative, React-style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes. + +> **[Jansi](https://github.com/fusesource/jansi)** ★ 1.2k Last push 2026-03-27 +> +> ANSI escape codes to format console output. + +> **[Jexer](https://gitlab.com/AutumnMeowMeow/jexer)** +> +> Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). + +> **[Text-IO](https://github.com/beryx/text-io)** ★ 353 Last push 2023-11-02 +> +> Aids the creation of full console-based applications. + +> **[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k Last push 2026-07-07 +> +> Easy console text-GUI library, similar to curses. (LGPL-3.0-only) + +
+ + +
+Cloud 2 projects + +_Libraries to integrate or use cloud-specific features._ + +> **[AWS SDK for Java](https://github.com/aws/aws-sdk-java)** ★ 4.2k Last push 2026-04-06 +> +> Provides Java APIs for interacting with Amazon Web Services. + +> **[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k Last push 2026-07-26 +> +> Client libraries for accessing Google Cloud services from Java applications. + +
+ + +
+Code Analysis 14 projects + +_Tools that provide metrics and quality measurements._ + +> **[Checkstyle](https://github.com/checkstyle/checkstyle)** ★ 9k Last push 2026-07-26 +> +> Static analysis of coding conventions and standards. (LGPL-2.1-or-later) + +> **[Error Prone](https://github.com/google/error-prone)** ★ 7.2k Last push 2026-07-23 +> +> Catches common programming mistakes as compile-time errors. + +> **[Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support)** ★ 37 Last push 2026-07-24 +> +> Error Prone extensions: extra bug checkers and a large battery of Refaster templates. + +> **[Infer](https://github.com/facebook/infer)** ★ 15.7k Last push 2026-07-23 +> +> Modern static analysis tool for verifying the correctness of code. + +> **[jQAssistant](https://jqassistant.org)** +> +> Static code analysis with Neo4J-based query language. (GPL-3.0-only) + +> **[JSpecify](https://jspecify.dev/)** +> +> Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. + +> **[NullAway](https://github.com/uber/NullAway)** ★ 4.1k Last push 2026-07-26 +> +> Eliminates NullPointerExceptions with low build-time overhead. + +> **[PMD](https://github.com/pmd/pmd)** ★ 5.5k Last push 2026-07-25 +> +> Source code analysis for finding bad coding practices. + +> **[p3c](https://github.com/alibaba/p3c)** ★ 30.8k Last push 2024-08-06 +> +> Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. + +> **[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 538 Last push 2026-07-13 +> +> Identifies and prioritizes God Classes and Highly Coupled classes. + +> **[SonarJava](https://github.com/SonarSource/sonar-java)** ★ 1.2k Last push 2026-07-25 +> +> Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) + +> **[Spoon](https://github.com/INRIA/spoon)** ★ 1.9k Last push 2026-07-26 +> +> Library for analyzing and transforming Java source code. + +> **[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k Last push 2026-07-21 +> +> Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) + +> **[ToolsHref](https://toolshref.com)** +> +> Online Java code analyzer and JSON-to-Mermaid visualization tool. + +
+ + +
+Code Coverage 4 projects + +_Frameworks and tools that enable code coverage metrics collection for test suites._ + +> **[Clover](https://www.atlassian.com/software/clover)** +> +> Relies on source-code instrumentation instead of bytecode instrumentation. + +> **[Cobertura](https://cobertura.github.io/cobertura/)** +> +> Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) + +> **[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 Last push 2026-07-25 +> +> Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. + +> **[JaCoCo](https://www.eclemma.org/jacoco/)** +> +> Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. + +
+ + +
+Code Formatting 4 projects + +_Tools that format or restructure Java source code._ + +> **[google-java-format](https://github.com/google/google-java-format)** ★ 6.2k Last push 2026-07-25 +> +> Reformats Java source code to follow Google Java Style. + +> **[JHarmonizer](https://github.com/lemon-ant/JHarmonizer)** ★ 26 Last push 2026-06-02 +> +> Safely reorders Java source code with configurable rules and Palantir Java Format. + +> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 846 Last push 2026-07-26 +> +> Formatter based on google-java-format with wider lines and lambda-friendly output. + +> **[Spotless](https://github.com/diffplug/spotless)** ★ 5.6k Last push 2026-07-23 +> +> A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages. + +
+ + +
+Code Generators 18 projects + +_Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ + +> **[ADT4J](https://github.com/sviperll/adt4j)** ★ 150 Last push 2018-03-02 +> +> JSR-269 code generator for algebraic data types. + +> **[Auto](https://github.com/google/auto)** ★ 10.6k Last push 2026-07-25 +> +> Generates factory, service, and value classes. + +> **[Avaje Http Server](https://avaje.io/http/)** +> +> Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. + +> **[Bootify ![c]](https://bootify.io)** +> +> Browser-based Spring Boot app generation with JPA model and REST API. + +> **[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 10 Last push 2026-06-10 +> +> Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. + +> **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 Last push 2026-02-13 +> +> Annotation processor for automatic DTO and Mapper generation with zero boilerplate. + +> **[FreeBuilder](https://github.com/inferred/FreeBuilder)** ★ 829 Last push 2024-10-16 +> +> Automatically generates the Builder pattern. + +> **[Geci](https://github.com/verhas/javageci)** ★ 138 Last push 2026-01-26 +> +> Discovers files that need generated code, updates automatically and writes to the source with a convenient API. + +> **[Immutables](https://immutables.github.io)** +> +> Annotation processors to generate simple, safe and consistent value objects. + +> **[JavaPoet](https://github.com/square/javapoet)** ★ 10.9k Last push 2024-10-10 +> +> API to generate source files. + +> **[JHipster](https://github.com/jhipster/generator-jhipster)** ★ 22.4k Last push 2026-07-26 +> +> 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. + +> **[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 Last push 2025-11-28 +> +> Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. + +> **[Lombok](https://projectlombok.org)** +> +> Code generator that aims to reduce verbosity. + +> **[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 924 Last push 2026-06-23 +> +> Companion builder class, withers and templates for Java records. + +> **[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 37 Last push 2026-07-25 +> +> Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. + +> **[Telosys](https://www.telosys.org/)** +> +> Simple and light code generator available as an Eclipse Plugin and also as a CLI. + +
+ + +
+Compiler-compiler 3 projects + +_Frameworks that help to create parsers, interpreters or compilers._ + +> **[ANTLR](https://www.antlr.org)** +> +> Complex full-featured framework for top-down parsing. + +> **[JavaCC](https://javacc.github.io/javacc/)** +> +> Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. + +> **[JFlex](https://jflex.de)** +> +> Lexical analyzer generator. + +
+ + +
+Computer Vision 3 projects + +_Libraries which seek to gain high level information from images and videos._ + +> **[BoofCV](https://boofcv.org)** +> +> Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. + +> **[ImageJ](https://imagej.net/ImageJ)** +> +> Medical image processing application with an API. + +> **[JavaCV](https://github.com/bytedeco/javacv)** ★ 8.3k Last push 2026-07-25 +> +> Java interface to OpenCV, FFmpeg, and much more. + +
+ + +
+Configuration 14 projects + +_Libraries that provide external configuration._ + +> **[avaje config](https://avaje.io/config/)** +> +> Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. + +> **[centraldogma](https://github.com/line/centraldogma)** ★ 663 Last push 2026-07-24 +> +> Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. + +> **[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 Last push 2026-06-18 +> +> Type-safe, composable configuration library with a focus on runtime clarity. + +> **[config](https://github.com/lightbend/config)** ★ 6.3k Last push 2026-07-01 +> +> Configuration library supporting Java properties, JSON or its human optimized superset HOCON. + +> **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 467 Last push 2026-07-14 +> +> 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)** ★ 51 Last push 2018-02-07 +> +> Twelve-factor configuration library which uses environment-specific files. + +> **[Externalized Properties](https://github.com/joel-jeremy/externalized-properties)** ★ 47 Last push 2026-03-27 +> +> Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. + +> **[Gestalt](https://github.com/gestalt-config/gestalt)** ★ 102 Last push 2026-06-28 +> +> 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](https://ini4j.sourceforge.net)** +> +> Provides an API for handling Windows' INI files. + +> **[KAConf](https://github.com/mariomac/kaconf)** ★ 63 Last push 2022-07-29 +> +> 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 distributed. + +> **[owner](https://github.com/lviggiano/owner)** ★ 939 Last push 2026-07-22 +> +> Reduces boilerplate of properties. + +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 Last push 2026-07-24 +> +> Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. + +
+ + +
+Constraint Satisfaction Problem Solver 4 projects + +_Libraries that help with implementing optimization and satisfiability problems._ + +> **[Choco](https://choco-solver.org)** +> +> Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. + +> **[JaCoP](https://github.com/radsz/jacop)** ★ 235 Last push 2026-03-22 +> +> Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) + +> **[OptaPlanner](https://www.optaplanner.org)** +> +> Business planning and resource scheduling optimization solver. + +> **[Timefold](https://timefold.ai/docs)** +> +> Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. + +
+ + +
+CSV 5 projects + +_Frameworks and libraries that simplify reading/writing CSV data._ + +> **[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 689 Last push 2026-07-25 +> +> Performance-optimized, dependency-free and RFC 4180 compliant. + +> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv)** ★ 195 Last push 2017-12-24 +> +> Jackson extension for reading and writing CSV. + +> **[opencsv](https://opencsv.sourceforge.net)** +> +> Simple CSV parser. + +> **[Super CSV](https://super-csv.github.io/super-csv/)** +> +> Powerful CSV parser with support for Dozer, Joda-Time and Java 8. + +> **[uniVocity-parsers](https://github.com/uniVocity/univocity-parsers)** ★ 935 Last push 2024-08-17 +> +> One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. + +
+ + +
+Data Structures 13 projects + +_Efficient and specific data structures._ + +> **[Apache Avro](https://avro.apache.org)** +> +> Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. + +> **[Apache Orc](https://orc.apache.org)** +> +> Fast and efficient columnar storage format for Hadoop-based workloads. + +> **[Apache Parquet](https://parquet.apache.org)** +> +> Columnar storage format based on assembly algorithms from Google's paper on Dremel. + +> **[Apache Thrift](https://thrift.apache.org)** +> +> Data interchange format that originated at Facebook. + +> **[Big Queue](https://github.com/bulldog2011/bigqueue)** ★ 567 Last push 2022-07-26 +> +> Fast and persistent queue based on memory-mapped files. + +> **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 Last push 2026-04-11 +> +> Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. + +> **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 Last push 2025-07-23 +> +> Persistent and immutable analogue of the Java Collections Framework. + +> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.7k Last push 2026-07-26 +> +> Google's data interchange format. + +> **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k Last push 2026-07-25 +> +> Fast and efficient compressed bitmap. + +> **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k Last push 2026-07-23 +> +> Simple Binary Encoding, one of the fastest message formats around. + +> **[Tape](https://github.com/square/tape)** ★ 2.5k Last push 2023-03-18 +> +> Lightning-fast, transactional, file-based FIFO. + +> **[Wire](https://github.com/square/wire)** ★ 4.4k Last push 2026-07-22 +> +> Clean, lightweight protocol buffers. + +> **[Wormhole4j](https://github.com/komamitsu/wormhole4j)** ★ 8 Last push 2026-05-27 +> +> High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. + +
+ + +
+Database 44 projects + +_Everything that simplifies interactions with the database._ + +> **[Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin)** ★ 18 Last push 2026-07-06 +> +> Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. + +> **[Apache Calcite](https://calcite.apache.org)** +> +> Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. + +> **[Apache Drill](https://drill.apache.org)** +> +> Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. + +> **[Apache Phoenix](https://phoenix.apache.org)** +> +> High-performance relational database layer over HBase for low-latency applications. + +> **[ArcadeDB](https://arcadedb.com)** +> +> Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. + +> **[ArangoDB](https://github.com/arangodb/arangodb-java-driver)** ★ 209 Last push 2026-07-09 +> +> ArangoDB Java driver. + +> **[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3k Last push 2026-06-30 +> +> Efficient, in-memory (opt. persisted to disk), off-heap key-value store. + +> **[Debezium](https://debezium.io/)** +> +> Low latency data streaming platform for change data capture. + +> **[druid](https://druid.apache.org)** +> +> High-performance, column-oriented, distributed data store. + +> **[eXist](https://github.com/eXist-db/exist)** ★ 466 Last push 2026-07-24 +> +> NoSQL document database and application platform. (LGPL-2.1-only) + +> **[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k Last push 2026-02-25 +> +> Brings metrics and failover strategies to the most common connection pooling solutions. + +> **[Flyway](https://flywaydb.org)** +> +> Simple database migration tool. + +> **[H2](https://h2database.com)** +> +> Small SQL database notable for its in-memory functionality. + +> **[HikariCP](https://github.com/brettwooldridge/HikariCP)** ★ 21.2k Last push 2026-06-14 +> +> High-performance JDBC connection pool. + +> **[HSQLDB](https://hsqldb.org/)** +> +> HyperSQL 100% Java database. + +> **[JDBI](https://jdbi.org)** +> +> Convenient abstraction of JDBC. + +> **[Jedis](https://github.com/xetorthio/jedis)** ★ 12.3k Last push 2026-07-26 +> +> Small client for interaction with Redis, with methods for commands. + +> **[Jest](https://github.com/searchbox-io/Jest)** ★ 2.1k Last push 2023-03-31 +> +> Client for the Elasticsearch REST API. + +> **[jetcd](https://github.com/justinsb/jetcd)** ★ 143 Last push 2023-02-21 +> +> Client library for etcd. + +> **[Jinq](https://github.com/my2iu/Jinq)** ★ 662 Last push 2025-06-08 +> +> Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). + +> **[jOOQ](https://www.jooq.org)** +> +> Generates typesafe code based on SQL schema. + +> **[Leaf](https://github.com/Meituan-Dianping/Leaf)** ★ 6.8k Last push 2023-07-18 +> +> Distributed ID generate service. + +> **[Lettuce](https://lettuce.io/)** +> +> Lettuce is a scalable Redis client for building non-blocking Reactive applications. + +> **[Liquibase](https://www.liquibase.org)** +> +> Database-independent library for tracking, managing and applying database schema changes. + +> **[MapDB](https://www.mapdb.org)** +> +> Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. + +> **[MariaDB4j](https://github.com/vorburger/MariaDB4j)** ★ 16 Last push 2026-04-02 +> +> Launcher for MariaDB that requires no installation or external dependencies. + +> **[Modality](https://github.com/arkanovicz/modality)** ★ 16 Last push 2026-06-26 +> +> Lightweight ORM with database reverse engineering features. + +> **[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 218 Last push 2026-07-11 +> +> Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. + +> **[OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ)** ★ 435 Last push 2026-07-25 +> +> LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. + +> **[Querydsl](http://www.querydsl.com)** +> +> Typesafe unified queries. + +> **[QueryStream](https://github.com/querystream/querystream)** ★ 21 Last push 2025-05-06 +> +> Build JPA Criteria queries using a Stream-like API. + +> **[QuestDB](https://github.com/questdb/questdb)** ★ 17.2k Last push 2026-07-26 +> +> High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. + +> **[Realm](https://github.com/realm/realm-java)** ★ 11.5k Last push 2025-09-15 +> +> Mobile database to run directly inside phones, tablets or wearables. + +> **[Redisson](https://github.com/redisson/redisson)** ★ 24.4k Last push 2026-07-24 +> +> Allows for distributed and scalable data structures on top of a Redis server. + +> **[requery](https://github.com/requery/requery)** ★ 3.1k Last push 2026-02-09 +> +> Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. + +> **[SchemaCrawler](https://www.schemacrawler.com)** +> +> Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. + +> **[Speedment](https://github.com/speedment/speedment)** ★ 2.1k Last push 2023-11-07 +> +> Database access library that utilizes Java 8's Stream API for querying. + +> **[Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query)** ★ 40 Last push 2025-11-17 +> +> Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. + +> **[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 Last push 2026-01-21 +> +> Allows you to use MongoDB query language to query your relational database. + +> **[Trino](https://trino.io)** +> +> Distributed SQL query engine for big data. + +> **[Vibur DBCP](https://www.vibur.org)** +> +> JDBC connection pool library with advanced performance monitoring capabilities. + +> **[Xodus](https://github.com/JetBrains/xodus)** ★ 1.3k Last push 2026-07-09 +> +> Highly concurrent transactional schema-less and ACID-compliant embedded database. + +> **[CosId](https://github.com/Ahoo-Wang/CosId)** ★ 640 Last push 2026-07-25 +> +> Universal, flexible, high-performance distributed ID generator. + +> **[Apache ShardingSphere](https://github.com/apache/shardingsphere)** ★ 20.8k Last push 2026-07-25 +> +> Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. + +
+ + +
+Date and Time 4 projects + +_Libraries related to handling date and time._ + +> **[iCal4j](https://github.com/ical4j/ical4j)** ★ 836 Last push 2026-06-30 +> +> Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. + +> **[Jollyday](https://github.com/focus-shift/jollyday)** ★ 134 Last push 2026-07-23 +> +> Determines the holidays for a given year, country/name and eventually state/region. + +> **[ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra)** ★ 423 Last push 2026-06-16 +> +> Additional date-time classes that complement those in JDK 8. + +> **[Time4J](https://github.com/MenoData/Time4J)** ★ 470 Last push 2024-02-11 +> +> Advanced date and time library. (LGPL-2.1-only) + +
+ + +
+Decentralization 1 project + +_Libraries that handle decentralization tasks._ + +> **[java-tron](https://github.com/tronprotocol/java-tron)** ★ 4.1k Last push 2026-07-15 +> +> Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. + +
+ + +
+Decompilation 6 projects + +_Libraries for decompiling JVM bytecode._ + +> **[CFR](https://github.com/leibnitz27/cfr)** ★ 2.6k Last push 2026-06-04 +> +> Java decompiler focused on modern language features. + +> **[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.3k Last push 2026-07-24 +> +> Java decompiler with broad JVM bytecode support. + +> **[JD-Core](https://github.com/java-decompiler/jd-core)** ★ 587 Last push 2024-04-19 +> +> Core Java decompiler library. + +> **[Procyon](https://github.com/mstrobel/procyon)** ★ 1.2k Last push 2022-06-12 +> +> Java decompiler and metadata toolkit. + +> **[transformer-api](https://github.com/nbauma109/transformer-api)** ★ 3 Last push 2026-07-25 +> +> Unified API that exposes multiple decompilers through one in-memory transformation interface. + +> **[Vineflower](https://github.com/Vineflower/vineflower)** ★ 2.3k Last push 2026-07-11 +> +> Modern maintained fork of Fernflower. + +
+ + +
+Dependency Injection 9 projects + +_Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ + +> **[Apache DeltaSpike](https://deltaspike.apache.org)** +> +> CDI extension framework. + +> **[Avaje Inject](https://avaje.io/inject/)** +> +> Microservice-focused compile-time injection framework without reflection. + +> **[Dagger](https://dagger.dev/)** +> +> Compile-time injection framework without reflection. + +> **[Dimension-DI](https://github.com/akardapolov/dimension-di)** ★ 19 Last push 2026-05-24 +> +> JSR-330 runtime dependency injection using the JDK Class-File API. + +> **[Feather](https://github.com/zsoltherpai/feather)** ★ 365 Last push 2018-04-18 +> +> Ultra-lightweight, JSR-330-compliant dependency injection library. + +> **[Governator](https://github.com/Netflix/governator)** ★ 829 Last push 2025-12-17 +> +> Extensions and utilities that enhance Google Guice. + +> **[Guice](https://github.com/google/guice)** ★ 12.7k Last push 2026-07-02 +> +> Lightweight and opinionated framework that completes Dagger. + +> **[HK2](https://eclipse-ee4j.github.io/glassfish-hk2/)** +> +> Lightweight and dynamic dependency injection framework. + +> **[JayWire](https://github.com/vanillasource/jaywire)** ★ 64 Last push 2023-02-21 +> +> Lightweight dependency injection framework. (LGPL-3.0-only) + +
+ + +
+Development 10 projects + +_Augmentation of the development process at a fundamental level._ + +> **[AspectJ](https://www.eclipse.org/aspectj/)** +> +> Seamless aspect-oriented programming extension. + +> **[DCEVM](https://dcevm.github.io)** +> +> JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) + +> **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 Last push 2025-06-30 +> +> Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. + +> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k Last push 2026-02-15 +> +> Unlimited runtime class and resource redefinition. (GPL-2.0-only) + +> **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k Last push 2026-07-24 +> +> Parse, modify and generate Java code. + +> **[JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver)** ★ 296 Last push 2018-01-14 +> +> Symbol solver. + +> **[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k Last push 2026-07-26 +> +> Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. + +> **[NoException](https://noexception.machinezoo.com)** +> +> Allows checked exceptions in functional interfaces and converts exceptions to Optional return. + +> **[SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow)** ★ 81 Last push 2019-10-24 +> +> Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. + +> **[Tail](https://nrktkt.github.io/tail/)** +> +> Enable infinite recursion using tail call optimization. + +
+ + +
+Distributed Applications 14 projects + +_Libraries and frameworks for writing distributed and fault-tolerant applications._ + +> **[Apache Geode](https://geode.apache.org)** +> +> In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. + +> **[Apache Storm](https://storm.apache.org)** +> +> Realtime computation system. + +> **[Apache ZooKeeper](https://zookeeper.apache.org)** +> +> Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. + +> **[Atomix](https://atomix.io)** +> +> Fault-tolerant distributed coordination framework. + +> **[Axon](https://axoniq.io)** +> +> Framework for creating CQRS applications. + +> **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 Last push 2026-01-26 +> +> Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) + +> **[Failsafe](https://github.com/jhalterman/failsafe)** ★ 4.3k Last push 2025-12-28 +> +> Simple failure handling with retries and circuit breakers. + +> **[Hazelcast](https://github.com/hazelcast/hazelcast)** ★ 6.6k Last push 2026-07-23 +> +> Highly scalable in-memory datagrid with a free open-source version. + +> **[JGroups](http://www.jgroups.org)** +> +> Toolkit for reliable messaging and cluster creation. + +> **[Quasar](https://docs.paralleluniverse.co/quasar/)** +> +> Lightweight threads and actors for the JVM. + +> **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k Last push 2026-07-08 +> +> Functional fault tolerance library. + +> **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 Last push 2026-07-16 +> +> High-performance reverse proxy server with specialized session management and credential replay functionality. + +> **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 Last push 2026-07-08 +> +> Embeddable Cluster-Membership library based on SWIM and gossip protocol. + +> **[Zuul](https://github.com/Netflix/zuul)** ★ 14.1k Last push 2026-07-25 +> +> Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + +
+ + +
+Distributed Transactions 4 projects + +_Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ + +> **[Atomikos](https://www.atomikos.com)** +> +> Provides transactions for REST, SOA and microservices with support for JTA and XA. + +> **[Bitronix](https://github.com/bitronix/btm)** ★ 431 Last push 2026-02-24 +> +> Simple but complete implementation of the JTA 1.1 API. + +> **[Narayana](https://narayana.io)** +> +> Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) + +> **[Seata](https://github.com/seata/seata)** ★ 26k Last push 2026-07-25 +> +> Delivers high performance and easy to use distributed transaction services under a microservices architecture. + +
+ + +
+Distribution 14 projects + +_Tools that handle the distribution of applications in native formats._ + +> **[Artipie](https://github.com/artipie/artipie)** ★ 689 Last push 2026-06-20 +> +> Binary artifact management toolkit which hosts them on the file system or S3. + +> **[Boxfuse ![c]](https://boxfuse.com)** +> +> Deployment of JVM applications to AWS using the principles of immutable infrastructure. + +> **[Capsule](https://github.com/puniverse/capsule)** ★ 1.1k Last push 2022-05-29 +> +> Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. + +> **[Central Repository](https://search.maven.org)** +> +> Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. + +> **[Cloudsmith ![c]](https://cloudsmith.io)** +> +> Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. + +> **[Getdown](https://github.com/threerings/getdown)** ★ 530 Last push 2026-05-12 +> +> System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. + +> **[IzPack](https://izpack.org)** +> +> Setup authoring tool for cross-platform deployments. + +> **[JavaPackager](https://github.com/fvarrui/JavaPackager)** ★ 1.2k Last push 2026-03-19 +> +> Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. + +> **[jDeploy](https://www.jdeploy.com)** +> +> Deploy desktop apps as native Mac, Windows or Linux bundles. + +> **[jlink.online](https://github.com/AdoptOpenJDK/jlink.online)** ★ 51 Last push 2026-07-17 +> +> Builds optimized runtimes over HTTP. + +> **[Nuts](https://github.com/thevpc/nuts)** ★ 157 Last push 2026-07-25 +> +> Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. + +> **[Nexus ![c]](https://www.sonatype.com)** +> +> Binary management with proxy and caching capabilities. + +> **[packr](https://github.com/libgdx/packr)** ★ 2.6k Last push 2024-04-11 +> +> Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. + +> **[really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin)** ★ 136 Last push 2026-03-27 +> +> Maven plugin for making self-executing JARs. + +
+ + +
+Document Processing 9 projects + +_Libraries that assist with processing office document formats._ + +> **[Apache POI](https://poi.apache.org)** +> +> Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). + +> **[documents4j](https://documents4j.com/#/)** +> +> API for document format conversion using third-party converters such as MS Word. + +> **[docx4j](https://www.docx4java.org/trac/docx4j)** +> +> Create and manipulate Microsoft Open XML files. + +> **[fastexcel](https://github.com/dhatim/fastexcel)** ★ 908 Last push 2026-07-22 +> +> High performance library to read and write large Excel (XLSX) worksheets. + +> **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 Last push 2026-07-24 +> +> Converts HTML to CommonMark-compatible Markdown through a Java binding. + +> **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Last push 2026-07-14 +> +> Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. + +> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 61 Last push 2026-06-22 +> +> Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. + +> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k Last push 2026-07-26 +> +> Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. + +> **[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 Last push 2024-12-12 +> +> Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + +
+ + +
+Financial 7 projects + +_Libraries related to the financial domain._ + +> **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 Last push 2025-03-01 +> +> Trading bot framework. + +> **[Parity](https://github.com/paritytrading/parity)** ★ 502 Last push 2022-02-09 +> +> Platform for trading venues. + +> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Last push 2026-07-22 +> +> Low-latency financial information exchange. + +> **[Square](https://github.com/square/connect-java-sdk)** ★ 42 Last push 2021-01-20 +> +> Integration with the Square API. + +> **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 Last push 2026-07-24 +> +> Integration with the Stripe API. + +> **[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k Last push 2026-07-25 +> +> Library for technical analysis. + +> **[Wickra](https://github.com/wickra-lib/wickra)** ★ 38 Last push 2026-07-25 +> +> Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. + +
+ + +
+Flat File 3 projects + +_Frameworks and libraries for reading and writing fixed-length and delimited flat files._ + +> **[BeanIO](https://github.com/beanio/beanio)** ★ 68 Last push 2025-02-07 +> +> Maps flat files of fixed-length or delimited records to and from Java beans using XML or annotation configuration. + +> **[fixedformat4j](https://github.com/jeyben/fixedformat4j)** ★ 52 Last push 2026-07-25 +> +> Annotation-driven mapping of fixed-width flat files to and from POJOs and Java records. + +> **[Flatpack](https://github.com/Appendium/flatpack)** ★ 64 Last push 2026-02-08 +> +> Parses and writes delimited and fixed-length flat files with optional column-mapping definitions. + +
+ + +
+Formal Verification 7 projects + +_Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ + +> **[CATG](https://github.com/ksen007/janala2)** ★ 106 Last push 2018-02-20 +> +> Concolic unit testing engine. Automatically generates unit tests using formal methods. + +> **[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)** ★ 614 Last push 2026-07-24 +> +> 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) + +> **[OpenJML](https://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 10 projects + +_Libraries that facilitate functional programming._ + +> **[Cyclops](https://github.com/aol/cyclops)** ★ 1.3k Last push 2023-03-21 +> +> Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. + +> **[derive4j](https://github.com/derive4j/derive4j)** ★ 576 Last push 2022-12-01 +> +> Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) + +> **[Fugue](https://bitbucket.org/atlassian/fugue)** +> +> Functional extensions to Guava. + +> **[Functional Java](https://github.com/functionaljava/functionaljava)** ★ 1.6k Last push 2023-04-25 +> +> Implements numerous basic and advanced programming abstractions that assist composition-oriented development. + +> **[jOOλ](https://github.com/jOOQ/jOOL)** ★ 2.1k Last push 2024-08-01 +> +> 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)** ★ 29 Last push 2026-07-07 +> +> Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. + +> **[Parallel Collectors](https://github.com/pivovarit/parallel-collectors)** ★ 679 Last push 2026-07-23 +> +> Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. + +> **[protonpack](https://github.com/poetix/protonpack)** ★ 487 Last push 2026-05-07 +> +> Collection of stream utilities. + +> **[StreamEx](https://github.com/amaembo/streamex)** ★ 2.3k Last push 2026-07-19 +> +> Enhances Java 8 Streams. + +> **[Vavr](https://www.vavr.io)** +> +> Functional component library that provides persistent data types and functional control structures. + +
+ + +
+Game Development 9 projects + +_Frameworks that support the development of games._ + +> **[FXGL](https://almasb.github.io/FXGL/)** +> +> JavaFX Game Development Framework. + +> **[input4j](https://gurkenlabs.github.io/input4j/)** +> +> Lightweight, cross-platform library for gamepad and joystick input handling. + +> **[JBox2D](https://www.jbox2d.org/)** +> +> Port of the renowned C++ 2D physics engine. + +> **[jMonkeyEngine](https://jmonkeyengine.org)** +> +> Game engine for modern 3D development. + +> **[libGDX](https://libgdx.com)** +> +> All-round cross-platform, high-level framework. + +> **[Litiengine](https://litiengine.com/)** +> +> AWT-based, lightweight 2D game engine. + +> **[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. + +> **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 Last push 2025-07-28 +> +> Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. + +
+ + +
+Geospatial 9 projects + +_Libraries for working with geospatial data and algorithms._ + +> **[Apache SIS](https://sis.apache.org)** +> +> Library for developing geospatial applications. + +> **[ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/)** ★ 131 Last push 2025-09-19 +> +> JavaFX library for adding mapping and GIS functionality to desktop apps. + +> **[Geo](https://github.com/davidmoten/geo)** ★ 434 Last push 2026-07-13 +> +> GeoHash utilities in Java. + +> **[GeoTools](https://geotools.org)** +> +> Library that provides tools for geospatial data. (LGPL-2.1-only) + +> **[GraphHopper](https://github.com/graphhopper/graphhopper)** ★ 6.6k Last push 2026-07-25 +> +> Road-routing engine. Used as a Java library or standalone web service. + +> **[H2GIS](https://h2gis.org/)** +> +> Spatial extension of the H2 database. (LGPL-3.0-only) + +> **[Jgeohash](https://astrapi69.github.io/jgeohash/)** +> +> Library for using the GeoHash algorithm. + +> **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k Last push 2026-07-26 +> +> Map rendering based on OpenStreetMap data. (LGPL-3.0-only) + +> **[Spatial4j](https://github.com/locationtech/spatial4j)** ★ 962 Last push 2026-06-30 +> +> General-purpose spatial/geospatial library. + +
+ + +
+GUI 6 projects + +_Libraries to create modern graphical user interfaces._ + +> **[FlatLaf](https://github.com/JFormDesigner/FlatLaf)** ★ 4.2k Last push 2026-07-15 +> +> Modern Swing Look and Feel with Darcula and IntelliJ themes. + +> **[JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main)** +> +> Successor of Swing. + +> **[Scene Builder](https://gluonhq.com/products/scene-builder/)** +> +> Visual layout tool for JavaFX applications. + +> **[SnapKit](https://github.com/reportmill/SnapKit)** ★ 332 Last push 2026-07-25 +> +> Modern Java UI library for both desktop and web. + +> **[Sierra](https://github.com/HTTP-RPC/Sierra)** ★ 150 Last push 2026-07-23 +> +> Lightwieght declarative DSL for rapid development of Swing applications. + +> **[SWT](https://www.eclipse.org/swt/)** +> +> Graphical widget toolkit. + +
+ + +
+High Performance 7 projects + +_Everything about high-performance computation, from collections to specific libraries._ + +> **[Agrona](https://github.com/real-logic/Agrona)** ★ 3.2k Last push 2026-07-16 +> +> Data structures and utility methods that are common in high-performance applications. + +> **[Disruptor](https://lmax-exchange.github.io/disruptor/)** +> +> Inter-thread messaging library. + +> **[Eclipse Collections](https://github.com/eclipse/eclipse-collections)** ★ 2.6k Last push 2026-07-25 +> +> Collections framework inspired by Smalltalk. + +> **[fastutil](https://fastutil.di.unimi.it)** +> +> Fast and compact type-specific collections. + +> **[HPPC](https://labs.carrotsearch.com/hppc.html)** +> +> Primitive collections. + +> **[JCTools](https://github.com/JCTools/JCTools)** ★ 3.9k Last push 2026-07-03 +> +> Concurrency tools currently missing from the JDK. + +> **[Koloboke](https://github.com/leventov/Koloboke)** ★ 1k Last push 2017-02-01 +> +> Carefully designed extension of the Java Collections Framework with primitive specializations and more. + +
+ + +
+HTTP Clients 11 projects + +_Libraries that assist with creating HTTP requests and/or binding responses._ + +> **[Apache HttpComponents](https://hc.apache.org/)** +> +> Toolset of low-level Java components focused on HTTP and associated protocols. + +> **[Async Http Client](https://github.com/AsyncHttpClient/async-http-client)** ★ 6.4k Last push 2026-07-26 +> +> 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)** ★ 9.8k Last push 2026-07-23 +> +> HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. + +> **[Google HTTP Client](https://github.com/googleapis/google-http-java-client)** ★ 1.4k Last push 2026-07-20 +> +> 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)** ★ 298 Last push 2026-03-16 +> +> HTTP client extensions library. + +> **[Retrofit](https://square.github.io/retrofit/)** +> +> Typesafe REST client. + +> **[Ribbon](https://github.com/Netflix/ribbon)** ★ 4.6k Last push 2025-12-17 +> +> Client-side IPC library that is battle-tested in the cloud. + +> **[Riptide](https://github.com/zalando/riptide)** ★ 340 Last push 2026-07-24 +> +> Client-side response routing for Spring's RestTemplate. + +> **[unirest-java](https://github.com/Kong/unirest-java)** ★ 2.7k Last push 2026-07-23 +> +> Simplified, lightweight HTTP client library. + +> **[JQuickCurl](https://github.com/paohaijiao/jquick-curl)** ★ 1.1k Last push 2026-06-30 +> +> Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. + +
+ + +
+Hypermedia Types 4 projects + +_Libraries that handle serialization to hypermedia types._ + +> **[hate](https://github.com/blackdoor/hate)** ★ 25 Last push 2023-11-14 +> +> Builds hypermedia-friendly objects according to HAL specification. + +> **[JSON-LD](https://github.com/jsonld-java/jsonld-java)** ★ 388 Last push 2024-01-10 +> +> JSON-LD implementation. + +> **[Siren4J](https://github.com/eserating-chwy/siren4j)** ★ 28 Last push 2024-05-03 +> +> Library for the Siren specification. + +> **[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k Last push 2026-07-10 +> +> Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. + +
+ + +
+IDE 6 projects + +_Integrated development environments that try to simplify several aspects of development._ + +> **[Eclipse](https://www.eclipse.org)** +> +> Established open-source project with support for lots of plugins and languages. + +> **[IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/)** +> +> Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. + +> **[jGRASP](https://www.jgrasp.org)** +> +> Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. + +> **[NetBeans](https://netbeans.apache.org)** +> +> Provides integration for several Java SE and EE features, from database access to HTML5. + +> **[SnapCode](https://reportmill.com/SnapCode/)** +> +> Modern IDE for Java running in the browser, focused on education. + +> **[Visual Studio Code](https://code.visualstudio.com/docs/languages/java)** +> +> Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. + +
+ + +
+Imagery 9 projects + +_Libraries that assist with the creation, evaluation or manipulation of graphical images._ + +> **[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 17 Last push 2026-07-02 +> +> Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. + +> **[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k Last push 2023-10-21 +> +> Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. + +> **[Tess4J](https://github.com/nguyenq/tess4j)** ★ 1.8k Last push 2026-06-20 +> +> JNA wrapper for Tesseract OCR API. + +> **[Thumbnailator](https://github.com/coobird/thumbnailator)** ★ 5.4k Last push 2026-02-17 +> +> High-quality thumbnail generation library. + +> **[TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys)** ★ 2.1k Last push 2026-07-15 +> +> Collection of plugins that extend the number of supported image file formats. + +> **[ZXing](https://github.com/zxing/zxing)** ★ 34k Last push 2026-07-18 +> +> Multi-format 1D/2D barcode image processing library. + +> **[image-comparison](https://github.com/romankh3/image-comparison)** ★ 396 Last push 2025-06-11 +> +> 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)** ★ 130 Last push 2026-07-20 +> +> 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 6 projects + +_Libraries that help make the Java introspection and reflection API easier and faster to use._ + +> **[ClassGraph](https://github.com/classgraph/classgraph)** ★ 3k Last push 2026-06-05 +> +> ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. + +> **[jOOR](https://github.com/jOOQ/jOOR)** ★ 2.8k Last push 2025-01-06 +> +> jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. + +> **[Mirror](http://projetos.vidageek.net/mirror/mirror/)** +> +> Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. + +> **[Objenesis](https://objenesis.org)** +> +> Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. + +> **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k Last push 2025-06-05 +> +> ReflectASM is a very small Java library that provides high performance reflection by using code generation. + +> **[Reflections](https://github.com/ronmamo/reflections)** ★ 4.8k Last push 2024-06-17 +> +> Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. + +
+ + +
+Job Scheduling 7 projects + +_Libraries for scheduling background jobs._ + +> **[JobRunr](https://github.com/jobrunr/jobrunr)** ★ 3k Last push 2026-07-24 +> +> 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)** ★ 6.7k Last push 2026-05-13 +> +> Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. + +> **[Sundial](https://github.com/knowm/Sundial)** ★ 280 Last push 2026-06-16 +> +> Lightweight framework to simply define jobs, define triggers and start the scheduler. + +> **[Wisp](https://github.com/Coreoz/Wisp)** ★ 148 Last push 2026-01-26 +> +> Simple library with minimal footprint and straightforward API. + +> **[db-scheduler](https://github.com/kagkarlsson/db-scheduler)** ★ 1.6k Last push 2026-07-06 +> +> Persistent and cluster-friendly scheduler. + +> **[easy-batch](https://github.com/j-easy/easy-batch)** ★ 622 Last push 2023-03-20 +> +> 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)** ★ 4.2k Last push 2026-07-24 +> +> 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 17 projects + +_Libraries for serializing and deserializing JSON to and from Java objects._ + +> **[Avaje Jsonb](https://avaje.io/jsonb/)** +> +> Reflection-free Json binding via source code generation with Jackson-like annotations. + +> **[DSL-JSON](https://github.com/ngs-doo/dsl-json)** ★ 1.1k Last push 2026-06-29 +> +> JSON library with advanced compile time databinding. + +> **[Genson](http://genson.io)** +> +> Powerful and easy-to-use Java-to-JSON conversion library. + +> **[Gson](https://github.com/google/gson)** ★ 24.2k Last push 2026-07-25 +> +> Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. + +> **[HikariJSON](https://github.com/brettwooldridge/HikariJSON)** ★ 470 Last push 2023-03-21 +> +> High-performance JSON parser, 2x faster than Jackson. + +> **[jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8)** ★ 423 Last push 2026-07-08 +> +> Set of Jackson modules for Java 8 datatypes and features. + +> **[Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money)** ★ 262 Last push 2025-06-27 +> +> Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. + +> **[Jackson](https://github.com/FasterXML/jackson)** ★ 9.8k Last push 2026-07-17 +> +> Similar to GSON, but offers performance gains if you need to instantiate the library more often. + +> **[JSON-io](https://github.com/jdereg/json-io)** ★ 390 Last push 2026-07-23 +> +> Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. + +> **[jsoniter](https://jsoniter.com)** +> +> Fast and flexible library with iterator and lazy parsing API. + +> **[LoganSquare](https://github.com/bluelinelabs/LoganSquare)** ★ 3.2k Last push 2021-12-07 +> +> JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. + +> **[Moshi](https://github.com/square/moshi)** ★ 10.1k Last push 2026-07-22 +> +> Modern JSON library, less opinionated and uses built-in types like List and Map. + +> **[Yasson](https://github.com/eclipse-ee4j/yasson)** ★ 217 Last push 2026-07-24 +> +> Binding layer between classes and JSON documents similar to JAXB. + +> **[fastjson](https://github.com/alibaba/fastjson)** ★ 25.6k Last push 2024-07-16 +> +> Very fast processor with no additional dependencies and full data binding. + +> **[Jolt](https://github.com/bazaarvoice/jolt)** ★ 1.7k Last push 2026-06-24 +> +> JSON to JSON transformation tool. + +> **[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k Last push 2026-02-22 +> +> Extract data from JSON using XPATH-like syntax. + +> **[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 317 Last push 2024-06-03 +> +> Streaming JsonPath processor dedicated to processing big and complicated JSON data. + +
+ + +
+JVM and JDK 13 projects + +_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. + +> **[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)** ★ 4.3k Last push 2026-05-28 +> +> Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. + +> **[Graal](https://github.com/oracle/graal)** ★ 21.7k Last push 2026-07-25 +> +> 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)** ★ 3.5k Last push 2026-07-24 +> +> 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)** ★ 1.9k Last push 2026-07-26 +> +> 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) + +> **[SAP Machine](https://sap.github.io/SapMachine/)** +> +> SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) + +> **[Zulu](https://www.azul.com/products/zulu-community/)** +> +> OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) + +> **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 Last push 2026-05-02 +> +> Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! + +
+ + +
+Logging 12 projects + +_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)** ★ 59 Last push 2025-02-20 +> +> 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](https://logback.qos.ch)** +> +> Robust logging library with interesting configuration options via Groovy. + +> **[Logbook](https://github.com/zalando/logbook)** ★ 2.1k Last push 2026-07-23 +> +> Extensible, open-source library for HTTP request and response logging. + +> **[Logstash](https://www.elastic.co/logstash)** +> +> Tool for managing log files. + +> **[p6spy](https://github.com/p6spy/p6spy)** ★ 2.2k Last push 2022-02-21 +> +> Enables logging for all JDBC transactions without changes to the code. + +> **[SLF4J](https://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)** ★ 180 Last push 2025-06-25 +> +> 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 17 projects + +_Tools that provide specific statistical algorithms for learning from data._ + +> **[Apache Flink](https://flink.apache.org)** +> +> Fast, reliable, large-scale data processing engine. + +> **[Apache Mahout](https://mahout.apache.org)** +> +> Scalable algorithms focused on collaborative filtering, clustering and classification. + +> **[DatumBox](https://www.datumbox.com)** +> +> Provides several algorithms and pre-trained models for natural language processing. + +> **[Deeplearning4j](https://deeplearning4j.org)** +> +> Distributed and multi-threaded deep learning library. + +> **[DJL](https://djl.ai)** +> +> High-level and engine-agnostic framework for deep learning. + +> **[H2O ![c]](https://www.h2o.ai)** +> +> Analytics engine for statistics over big data. + +> **[Intelligent java](https://github.com/Barqawiz/IntelliJava)** ★ 64 Last push 2024-02-18 +> +> Seamlessly integrate with remote deep learning and language models programmatically. + +> **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 Last push 2022-12-16 +> +> Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) + +> **[m2cgen](https://github.com/BayesWitnesses/m2cgen)** ★ 3k Last push 2024-08-03 +> +> CLI tool to transpile models into native code. + +> **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 Last push 2026-01-25 +> +> A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. + +> **[oj! Algorithms](https://www.ojalgo.org/)** +> +> High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. + +> **[Oryx 2](https://github.com/OryxProject/oryx)** ★ 1.8k Last push 2021-08-16 +> +> Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. + +> **[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k Last push 2026-05-05 +> +> Cloud native streaming and complex event processing engine. + +> **[sklearn-java](https://github.com/kVeyra/sklearn-java)** ★ 3 Last push 2026-07-02 +> +> Implements scikit-learn-style machine learning algorithms in pure Java. + +> **[Smile](https://github.com/haifengl/smile)** ★ 6.4k Last push 2026-07-26 +> +> Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. + +> **[Tribuo](https://tribuo.org/)** +> +> Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. + +> **[Weka](https://www.cs.waikato.ac.nz/ml/weka/)** +> +> Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) + +
+ + +
+Messaging 16 projects + +_Tools that help send messages between clients to ensure protocol independency._ + +> **[Aeron](https://github.com/real-logic/Aeron)** ★ 8.8k Last push 2026-07-24 +> +> Efficient, reliable, unicast and multicast message transport. + +> **[Apache ActiveMQ](https://activemq.apache.org)** +> +> Message broker that implements JMS and converts synchronous to asynchronous communication. + +> **[Apache Camel](https://camel.apache.org)** +> +> Glues together different transport APIs via Enterprise Integration Patterns. + +> **[Apache Kafka](https://kafka.apache.org)** +> +> High-throughput distributed messaging system. + +> **[Apache Pulsar](https://pulsar.apache.org)** +> +> Distributed pub/sub-messaging system. + +> **[Apache RocketMQ](https://rocketmq.apache.org)** +> +> Fast, reliable, and scalable distributed messaging platform. + +> **[Apache Qpid](https://qpid.apache.org)** +> +> Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. + +> **[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k Last push 2026-07-24 +> +> AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. + +> **[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 Last push 2026-03-27 +> +> Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. + +> **[EventBus](https://github.com/greenrobot/EventBus)** ★ 24.7k Last push 2024-02-21 +> +> Simple publish/subscribe event bus. + +> **[Hermes](https://hermes.allegro.tech)** +> +> Fast and reliable message broker built on top of Kafka. + +> **[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k Last push 2025-11-30 +> +> Implementation of ZeroMQ. + +> **[Nakadi](https://github.com/zalando/nakadi)** ★ 966 Last push 2024-04-11 +> +> Provides a RESTful API on top of Kafka. + +> **[RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client)** ★ 1.3k Last push 2026-07-23 +> +> RabbitMQ client. + +> **[Smack](https://github.com/igniterealtime/Smack)** ★ 2.4k Last push 2026-06-19 +> +> Cross-platform XMPP client library. + +> **[NATS client](https://github.com/nats-io/nats.java)** ★ 669 Last push 2026-07-24 +> +> NATS client. + +
+ + +
+Microservice 12 projects + +_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. + +> **[Armeria](https://github.com/line/armeria)** ★ 5.1k Last push 2026-07-25 +> +> 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)** ★ 421 Last push 2023-05-05 +> +> Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. + +> **[Eureka](https://github.com/Netflix/eureka)** ★ 12.7k Last push 2026-03-23 +> +> REST-based service registry for resilient load balancing and failover. + +> **[Helidon](https://helidon.io)** +> +> Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. + +> **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k Last push 2026-07-24 +> +> Wrapping of the Discord REST API and its WebSocket events. + +> **[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k Last push 2026-07-24 +> +> Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. + +> **[Micronaut](https://micronaut.io)** +> +> Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. + +> **[Nacos](https://nacos.io)** +> +> Dynamic service discovery, configuration and service management platform for building cloud native applications. + +> **[OpenAI-Java](https://github.com/TheoKanning/openai-java)** ★ 4.7k Last push 2024-06-06 +> +> Java libraries for using OpenAI's GPT-3 API. + +> **[Quarkus](https://quarkus.io)** +> +> Kubernetes stack tailored for the HotSpot and Graal VM. + +> **[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k Last push 2026-05-27 +> +> Flow control component enabling reliability, resilience and monitoring for microservices. + +
+ + +
+Miscellaneous 42 projects + +_Everything else._ + +> **[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 Last push 2026-07-13 +> +> Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) + +> **[CQEngine](https://github.com/npgall/cqengine)** ★ 1.8k Last push 2023-12-27 +> +> Ultra-fast, SQL-like queries on Java collections. + +> **[Design Patterns](https://github.com/iluwatar/java-design-patterns)** ★ 94.2k Last push 2026-07-23 +> +> Implementation and explanation of the most common design patterns. + +> **[Explyt ![c]](https://github.com/explyt/explyt)** ★ 22 Last push 2026-07-23 +> +> AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. + +> **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k Last push 2026-05-20 +> +> Feature Flags for Java. + +> **[FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)** ★ 23.8k Last push 2024-07-15 +> +> 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)** ★ 10 Last push 2026-04-21 +> +> Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. + +> **[ISBN core](https://github.com/ladutsko/isbn-core)** ★ 5 Last push 2026-07-03 +> +> 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)** ★ 6k Last push 2026-07-24 +> +> Java-to-Objective-C translator for porting Android libraries to iOS. + +> **[JBake](https://jbake.org)** +> +> Static website generator. + +> **[JBang](https://www.jbang.dev/)** +> +> JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. + +> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k Last push 2025-10-08 +> +> Framework for building chatbots. (GPL-3.0-only) + +> **[JCuda](https://javagl.de/jcuda.org/)** +> +> JCuda offers Java bindings for CUDA and CUDA-related libraries. + +> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 Last push 2026-07-06 +> +> An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. + +> **[Jimfs](https://github.com/google/jimfs)** ★ 2.6k Last push 2026-07-24 +> +> In-memory file system. + +> **[JObfuscator![c]](https://www.pelock.com/products/jobfuscator)** +> +> Source code obfuscator. + +> **[Joda-Money](https://www.joda.org/joda-money/)** +> +> Basic currency and money classes and algorithms not provided by the JDK. + +> **[jOOX](https://github.com/jooq/joox)** ★ 506 Last push 2024-10-04 +> +> Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. + +> **[JPad](https://jpad.io)** +> +> Snippet runner. + +> **[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 449 Last push 2026-07-06 +> +> Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. + +> **[jsweet](https://github.com/cincheo/jsweet)** ★ 1.5k Last push 2023-12-16 +> +> Source transpiler to TypeScript/JavaScript. + +> **[Maven Wrapper](https://github.com/takari/maven-wrapper)** ★ 1.6k Last push 2021-12-18 +> +> Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. + +> **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 Last push 2026-07-22 +> +> Open-source, reverse-proxy framework. + +> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 Last push 2025-06-15 +> +> Lightweight, small and customizable FTP server. + +> **[LittleProxy](https://github.com/adamfisk/LittleProxy)** ★ 2.1k Last push 2024-07-08 +> +> High performance HTTP proxy atop Netty's event-based networking library. + +> **[Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial)** ★ 16.7k Last push 2023-08-11 +> +> Popular Java 8 guide. + +> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 Last push 2026-07-22 +> +> Detect uses of legacy Java APIs. + +> **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 Last push 2026-07-25 +> +> Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. + +> **[OctoLinker](https://github.com/OctoLinker/OctoLinker)** ★ 5.4k Last push 2023-10-02 +> +> Browser extension which allows to navigate through code on GitHub more efficiently. + +> **[OpenRefine](https://openrefine.org)** +> +> Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. + +> **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 Last push 2026-03-29 +> +> Small utility library for using handlers and commands with pipelines. + +> **[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 Last push 2026-07-06 +> +> Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. + +> **[Rollgate](https://rollgate.io)** +> +> Cloud-managed feature flag platform with a Java SDK, supporting gradual rollouts, A/B testing, and real-time updates. + +> **[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 Last push 2022-03-24 +> +> RR4J is a tool that records java bytecode execution and later allows developers to replay locally. + +> **[Simple Java Mail](https://github.com/bbottema/simple-java-mail)** ★ 1.3k Last push 2026-07-15 +> +> Mailing with a clean and fluent API. + +> **[Smooks](https://github.com/smooks/smooks)** ★ 417 Last push 2025-11-24 +> +> Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) + +> **[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k Last push 2026-07-24 +> +> 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)** ★ 629 Last push 2023-04-12 +> +> Tools for resolving generic types. + +> **[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k Last push 2025-11-08 +> +> Library for using built-in and external webcams directly in Java. + +> **[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 Last push 2025-08-07 +> +> Processes XML by using annotations or XPath within code. + +> **[yGuard](https://github.com/yWorks/yGuard)** ★ 477 Last push 2026-03-26 +> +> Obfuscation via renaming and shrinking. + +
+ + +
+Mobile Development 3 projects + +_Tools for creating or managing mobile applications._ + +> **[Codename One](https://www.codenameone.com)** +> +> Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) + +> **[MobileUI](https://mobileui.dev)** +> +> Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. + +> **[Multi-OS Engine](https://multi-os-engine.org)** +> +> Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. + +
+ + +
+Monitoring 26 projects + +_Tools that observe/monitor applications in production by providing telemetry._ + +> **[Apitally](https://github.com/apitally/apitally-java)** ★ 6 Last push 2026-07-20 +> +> Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. + +> **[Automon](https://github.com/stevensouza/automon)** ★ 571 Last push 2024-10-18 +> +> Combines the power of AOP with monitoring and/or logging tools. + +> **[Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage)** ★ 2 Last push 2026-06-16 +> +> Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. + +> **[Datadog ![c]](https://github.com/DataDog/dd-trace-java)** ★ 727 Last push 2026-07-26 +> +> Modern monitoring & analytics. + +> **[Dropwizard Metrics](https://github.com/dropwizard/metrics)** ★ 7.8k Last push 2026-07-13 +> +> Expose metrics via JMX or HTTP and send them to a database. + +> **[Failsafe Actuator](https://github.com/zalando/failsafe-actuator)** ★ 54 Last push 2022-03-31 +> +> Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. + +> **[Glowroot](https://glowroot.org)** +> +> Open-source Java APM. + +> **[HertzBeat](https://github.com/dromara/hertzbeat)** ★ 7.3k Last push 2026-07-26 +> +> Real-time monitoring system with custom-monitor and agentless. + +> **[hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md)** ★ 6k Last push 2026-03-12 +> +> 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. + +> **[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)** ★ 489 Last push 2022-07-01 +> +> Jaeger client. + +> **[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3k Last push 2026-07-24 +> +> Performance monitoring and profiling. + +> **[jmxtrans](https://github.com/jmxtrans/jmxtrans)** ★ 1.7k Last push 2022-09-05 +> +> 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)** ★ 4.9k Last push 2026-07-24 +> +> Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. + +> **[Micrometer Tracing](https://github.com/micrometer-metrics/tracing)** ★ 296 Last push 2026-07-23 +> +> Vendor-neutral distributed tracing facade for the most popular tracer libraries. + +> **[nudge4j](https://github.com/lorenzoongithub/nudge4j)** ★ 164 Last push 2020-04-12 +> +> Remote developer console from the browser for Java 8 via bytecode injection. + +> **[OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java)** ★ 2.4k Last push 2026-07-23 +> +> Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. + +> **[Pinpoint](https://github.com/naver/pinpoint)** ★ 13.8k Last push 2026-07-24 +> +> Open-source APM tool. + +> **[Prometheus](https://github.com/prometheus/client_java)** ★ 2.3k Last push 2026-07-26 +> +> Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. + +> **[Sentry ![c]](https://github.com/getsentry/sentry-java)** ★ 1.3k Last push 2026-07-24 +> +> Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. + +> **[SPM ![c]](https://github.com/sematext/sematext-agent-java)** ★ 25 Last push 2026-07-23 +> +> Performance monitor with distributing transaction tracing for JVM apps. + +> **[Stagemonitor](https://github.com/stagemonitor/stagemonitor)** ★ 1.7k Last push 2023-02-20 +> +> Open-source performance monitoring and transaction tracing for JVM apps. + +> **[Sysmon](https://github.com/palantir/Sysmon)** ★ 161 Last push 2016-12-06 +> +> Lightweight platform monitoring tool for Java VMs. + +> **[zipkin](https://zipkin.io)** +> +> Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. + +
+ + +
+Native 5 projects + +_For working with platform-specific native libraries._ + +> **[Aparapi](https://github.com/Syncleus/aparapi)** ★ 480 Last push 2022-09-30 +> +> Converts bytecode to OpenCL which allows execution on GPUs. + +> **[JavaCPP](https://github.com/bytedeco/javacpp)** ★ 4.7k Last push 2026-07-14 +> +> Provides efficient and easy access to native C++. + +> **[JNA](https://github.com/java-native-access/jna)** ★ 8.9k Last push 2026-07-12 +> +> Work with native libraries without writing JNI. Also provides interfaces to common system libraries. + +> **[JNR](https://github.com/jnr/jnr-ffi)** ★ 1.3k Last push 2026-06-29 +> +> 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](https://openjdk.java.net/projects/panama). + +> **[native-lib-loader](https://github.com/scijava/native-lib-loader)** ★ 220 Last push 2024-10-20 +> +> Native library loader for extracting and loading native libraries from Java. + +
+ + +
+Natural Language Processing 5 projects + +_Libraries that specialize in processing text._ + +> **[CogCompNLP](https://github.com/CogComp/cogcomp-nlp)** ★ 479 Last push 2023-07-07 +> +> Provides common annotators for plain text input. (Research and Academic Use License) + +> **[CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml)** +> +> Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) + +> **[DKPro](https://dkpro.github.io)** +> +> Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. + +> **[Hypherator](https://github.com/ejossev/hypherator-java)** ★ 4 Last push 2025-06-30 +> +> Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. + +> **[LingPipe](https://alias-i.com/lingpipe/)** +> +> Toolkit for tasks ranging from POS tagging to sentiment analysis. + +
+ + +
+Networking 16 projects + +_Libraries for building network servers._ + +> **[Commons-networking](https://github.com/CiscoSE/commons-networking)** ★ 21 Last push 2022-02-08 +> +> Client for server-sent events (SSE). + +> **[Comsat](https://github.com/puniverse/comsat)** ★ 594 Last push 2017-11-27 +> +> Integrates standard Java web-related APIs with Quasar fibers and actors. + +> **[Dubbo](https://github.com/apache/dubbo)** ★ 41.5k Last push 2026-07-23 +> +> High-performance RPC framework. + +> **[Grizzly](https://javaee.github.io/grizzly/)** +> +> NIO framework. Used as a network layer in Glassfish. + +> **[gRPC-java](https://github.com/grpc/grpc-java)** ★ 12.1k Last push 2026-07-23 +> +> RPC framework based on protobuf and HTTP/2. + +> **[java-ngrok](https://github.com/alexdlaird/java-ngrok)** ★ 60 Last push 2026-07-26 +> +> Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. + +> **[KryoNet](https://github.com/EsotericSoftware/kryonet)** ★ 1.9k Last push 2021-02-22 +> +> Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. + +> **[MINA](https://mina.apache.org)** +> +> Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. + +> **[Netty](https://netty.io)** +> +> Framework for building high-performance network applications. + +> **[Drift](https://github.com/airlift/drift)** ★ 249 Last push 2026-07-20 +> +> Easy-to-use, annotation-based library for creating Thrift clients and serializable types. + +> **[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1k Last push 2026-07-23 +> +> Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. + +> **[sshj](https://github.com/hierynomus/sshj)** ★ 2.7k Last push 2026-07-10 +> +> Programmatically use SSH, SCP or SFTP. + +> **[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 Last push 2026-03-28 +> +> Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. + +> **[Undertow](https://undertow.io)** +> +> Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) + +> **[urnlib](https://github.com/slub/urnlib)** ★ 36 Last push 2025-12-30 +> +> Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) + +> **[Fluency](https://github.com/komamitsu/fluency)** ★ 167 Last push 2026-06-29 +> +> High throughput data ingestion logger to Fluentd and Fluent Bit. + +
+ + +
+ORM 11 projects + +_APIs that handle the persistence of objects._ + +> **[Apache Cayenne](https://cayenne.apache.org)** +> +> Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. + +> **[Doma](https://github.com/domaframework/doma)** ★ 504 Last push 2026-07-24 +> +> Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. + +> **[Ebean](https://ebean.io)** +> +> Provides simple and fast data access. + +> **[EclipseLink](https://www.eclipse.org/eclipselink/)** +> +> Supports a number of persistence standards: JPA, JAXB, JCA and SDO. + +> **[Hibernate](https://hibernate.org/orm/)** +> +> Robust and widely used, with an active community. (LGPL-2.1-only) + +> **[MyBatis](https://github.com/mybatis/mybatis-3)** ★ 20.4k Last push 2026-07-26 +> +> Couples objects with stored procedures or SQL statements. + +> **[mybatis-dynamic](https://github.com/myacelw/mybatis-dynamic)** ★ 4 Last push 2026-02-10 +> +> Code-first dynamic ORM for MyBatis with runtime schema modification. + +> **[MyBatis-Plus](https://github.com/baomidou/mybatis-plus)** ★ 17.4k Last push 2026-07-17 +> +> A powerful enhanced toolkit of MyBatis for simplifying development. + +> **[ObjectiveSql](https://github.com/braisdom/ObjectiveSql)** ★ 1.3k Last push 2024-05-06 +> +> ActiveRecord ORM for rapid development and convention over configuration. + +> **[Permazen](https://github.com/permazen/permazen)** ★ 424 Last push 2025-10-04 +> +> Language-natural persistence layer. + +> **[SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper)** ★ 458 Last push 2025-09-21 +> +> Simple database and CSV mapper. + +
+ + +
+PaaS 6 projects + +_Java platform as a service._ + +> **[AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/)** +> +> AWS-based, with support for Tomcat and Jetty. + +> **[AWS Lambda ![c]](https://aws.amazon.com/lambda/)** +> +> Serverless computation. + +> **[Google Cloud ![c]](https://cloud.google.com)** +> +> Google's cloud infrastructure. + +> **[Heroku ![c]](https://www.heroku.com)** +> +> Abstract computing environments. + +> **[Microsoft Azure ![c]](https://azure.microsoft.com/en-us/)** +> +> Microsoft's cloud infrastructure. + +> **[OpenShift ![c]](https://www.openshift.com)** +> +> Provides additionally an on-premise solution. + +
+ + +
+Pathfinding 1 project + +_Algorithms and libraries for finding routes in graphs and spatial environments._ + +> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 373 Last push 2026-07-23 +> +> A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. + +
+ + +
+PDF 13 projects + +_Tools to help with PDF files._ + +> **[Apache FOP](https://xmlgraphics.apache.org/fop/)** +> +> Creates PDFs from XSL-FO. + +> **[Apache PDFBox](https://pdfbox.apache.org)** +> +> Toolbox for creating and manipulating PDFs. + +> **[Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/)** +> +> Abstraction layer to JasperReports. (LGPL-3.0-only) + +> **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 Last push 2026-06-19 +> +> Simplifies JasperReports. (LGPL-3.0-only) + +> **[Eclipse BIRT](https://www.eclipse.org/birt)** +> +> Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. + +> **[flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer)** ★ 2.2k Last push 2026-07-23 +> +> XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) + +> **[GraphCompose](https://github.com/DemchaAV/GraphCompose)** ★ 105 Last push 2026-07-26 +> +> Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. + +> **[iText ![c]](https://itextpdf.com/en)** +> +> Creates PDF files programmatically. + +> **[JasperReports](https://community.jaspersoft.com/project/jasperreports-library)** +> +> Complex reporting engine. (LGPL-3.0-only) + +> **[jquick-pdf](https://github.com/paohaijiao/jquick-pdf)** ★ 225 Last push 2026-07-25 +> +> Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. + +> **[Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf)** ★ 266 Last push 2026-07-26 +> +> Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. + +> **[OpenPDF](https://github.com/LibrePDF/OpenPDF)** ★ 4.3k Last push 2026-07-08 +> +> Open-source iText fork. (LGPL-3.0-only & MPL-2.0) + +> **[Tabula](https://github.com/tabulapdf/tabula-java)** ★ 2k Last push 2025-03-19 +> +> Extracts tables from PDF files. + +
+ + +
+Performance analysis 10 projects + +_Tools for performance analysis, profiling and benchmarking._ + +> **[fastThread ![c]](https://fastthread.io)** +> +> Analyze and visualize thread dumps with a free cloud-based upload interface. + +> **[GCeasy ![c]](https://gceasy.io)** +> +> Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. + +> **[honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler)** ★ 1.3k Last push 2023-12-05 +> +> Low-overhead, bias-free sampling profiler. + +> **[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 Last push 2026-03-15 +> +> Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. + +> **[jHiccup](https://github.com/giltene/jHiccup)** ★ 704 Last push 2026-02-05 +> +> Logs and records platform JVM stalls. + +> **[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k Last push 2025-12-28 +> +> Analyze the JIT compiler optimisations made by the HotSpot JVM. + +> **[JMH](https://openjdk.java.net/projects/code-tools/jmh/)** +> +> Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) + +> **[LatencyUtils](https://github.com/LatencyUtils/LatencyUtils)** ★ 466 Last push 2024-05-05 +> +> Utilities for latency measurement and reporting. + +> **[JVM Hotpath](https://github.com/sfkamath/jvm-hotpath)** ★ 10 Last push 2026-03-29 +> +> Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. + +> **[Argus](https://github.com/rlaope/Argus)** ★ 17 Last push 2026-07-01 +> +> JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. + +
+ + +
+Platform 54 projects + +_Frameworks that are suites of multiple libraries encompassing several categories._ + +#### Apache Commons + +50 projects + +> **[BCEL](https://commons.apache.org/proper/commons-bcel/)** +> +> Byte Code Engineering Library - analyze, create, and manipulate Java class files. + +> **[BeanUtils](https://commons.apache.org/proper/commons-beanutils/)** +> +> Easy-to-use wrappers around the Java reflection and introspection APIs. + +> **[BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/)** +> +> Redesign of Commons BeanUtils. + +> **[BSF](https://commons.apache.org/proper/commons-bsf/)** +> +> Bean Scripting Framework - interface to scripting languages, including JSR-223. + +> **[ClassScan](https://commons.apache.org/sandbox/commons-classscan/)** +> +> Find Class interfaces, methods, fields, and annotations without loading. + +> **[CLI](https://commons.apache.org/proper/commons-cli/)** +> +> Command-line arguments parser. + +> **[CLI2](https://commons.apache.org/sandbox/commons-cli2/)** +> +> Redesign of Commons CLI. + +> **[Codec](https://commons.apache.org/proper/commons-codec/)** +> +> General encoding/decoding algorithms, e.g. phonetic, base64 or URL. + +> **[Collections](https://commons.apache.org/proper/commons-collections/)** +> +> Extends or augments the Java Collections Framework. + +> **[Compress](https://commons.apache.org/proper/commons-compress/)** +> +> Defines an API for working with tar, zip and bzip2 files. + +> **[Configuration](https://commons.apache.org/proper/commons-configuration/)** +> +> Reading of configuration/preferences files in various formats. + +> **[Convert](https://commons.apache.org/sandbox/commons-convert/)** +> +> Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. + +> **[CSV](https://commons.apache.org/proper/commons-csv/)** +> +> Component for reading and writing comma separated value files. + +> **[Daemon](https://commons.apache.org/proper/commons-daemon/)** +> +> Alternative invocation mechanism for unix-daemon-like java code. + +> **[DBCP](https://commons.apache.org/proper/commons-dbcp/)** +> +> Database connection pooling services. + +> **[DbUtils](https://commons.apache.org/proper/commons-dbutils/)** +> +> JDBC helper library. + +> **[Digester](https://commons.apache.org/proper/commons-digester/)** +> +> XML-to-Java-object mapping utility. + +> **[Email](https://commons.apache.org/proper/commons-email/)** +> +> Library for sending e-mail from Java. + +> **[Exec](https://commons.apache.org/proper/commons-exec/)** +> +> API for dealing with external process execution and environment management in Java. + +> **[FileUpload](https://commons.apache.org/proper/commons-fileupload/)** +> +> File upload capability for your servlets and web applications. + +> **[Finder](https://commons.apache.org/sandbox/commons-finder/)** +> +> Java library inspired by the UNIX find command. + +> **[Flatfile](https://commons.apache.org/sandbox/commons-flatfile/)** +> +> Java library for working with flat data structures. + +> **[Graph](https://commons.apache.org/sandbox/commons-graph/)** +> +> General purpose graph APIs and algorithms. + +> **[I18n](https://commons.apache.org/sandbox/commons-i18n/)** +> +> Adds the feature of localized message bundles that consist of one or many localized texts that belong together. + +> **[Id](https://commons.apache.org/sandbox/commons-id/)** +> +> Id is a component used to generate identifiers. + +> **[Imaging](https://commons.apache.org/proper/commons-imaging/)** +> +> Image library. + +> **[IO](https://commons.apache.org/proper/commons-io/)** +> +> Collection of I/O utilities. + +> **[Javaflow](https://commons.apache.org/sandbox/commons-javaflow/)** +> +> Continuation implementation to capture the state of the application. + +> **[JCI](https://commons.apache.org/proper/commons-jci/)** +> +> Java Compiler Interface. + +> **[JCS](https://commons.apache.org/proper/commons-jcs/)** +> +> Java Caching System. + +> **[Jelly](https://commons.apache.org/proper/commons-jelly/)** +> +> XML based scripting and processing engine. + +> **[Jexl](https://commons.apache.org/proper/commons-jexl/)** +> +> Expression language which extends the Expression Language of the JSTL. + +> **[JNet](https://commons.apache.org/sandbox/commons-jnet/)** +> +> JNet allows to use dynamically register url stream handlers through the java.net API. + +> **[JXPath](https://commons.apache.org/proper/commons-jxpath/)** +> +> Utilities for manipulating Java Beans using the XPath syntax. + +> **[Lang](https://commons.apache.org/proper/commons-lang/)** +> +> Provides extra functionality for classes in java.lang. + +> **[Logging](https://commons.apache.org/proper/commons-logging/)** +> +> Wrapper around a variety of logging API implementations. + +> **[Math](https://commons.apache.org/proper/commons-math/)** +> +> Lightweight, self-contained mathematics and statistics components. + +> **[Monitoring](https://commons.apache.org/sandbox/commons-monitoring/)** +> +> Monitoring aims to provide a simple but extensible monitoring solution for Java applications. + +> **[Nabla](https://commons.apache.org/sandbox/commons-nabla/)** +> +> Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. + +> **[Net](https://commons.apache.org/proper/commons-net/)** +> +> Collection of network utilities and protocol implementations. + +> **[OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/)** +> +> Interface to signing and verifying data using OpenPGP. + +> **[Performance](https://commons.apache.org/sandbox/commons-performance/)** +> +> Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. + +> **[Pipeline](https://commons.apache.org/sandbox/commons-pipeline/)** +> +> Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. + +> **[Pool](https://commons.apache.org/proper/commons-pool/)** +> +> Generic object pooling component. + +> **[RDF](https://commons.apache.org/proper/commons-rdf/)** +> +> Common implementation of RDF 1.1 that could be implemented by systems on the JVM. + +> **[RNG](https://commons.apache.org/proper/commons-rng/)** +> +> Commons Rng provides implementations of pseudo-random numbers generators. + +> **[SCXML](https://commons.apache.org/proper/commons-scxml/)** +> +> Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. + +> **[Validator](https://commons.apache.org/proper/commons-validator/)** +> +> Framework to define validators and validation rules in an xml file. + +> **[VFS](https://commons.apache.org/proper/commons-vfs/)** +> +> Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. + +> **[Weaver](https://commons.apache.org/proper/commons-weaver/)** +> +> Provides an easy way to enhance (weave) compiled bytecode. + +#### Other + +4 projects + +> **[CUBA Platform](https://www.cuba-platform.com/)** +> +> High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. + +> **[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k Last push 2026-07-23 +> +> Fast, lightweight and productive microservices framework with built-in security. + +> **[Orienteer](https://github.com/OrienteerBAP/Orienteer/)** ★ 260 Last push 2024-02-08 +> +> Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. + +> **[Spring](https://spring.io/projects/)** +> +> Provides many packages for dependency injection, aspect-oriented programming, security, etc. + +
+ + +
+Processes 3 projects + +_Libraries that help the management of operating system processes._ + +> **[ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec)** ★ 41 Last push 2026-07-22 +> +> Convenient API around Apache Commons Exec. + +> **[zt-exec](https://github.com/zeroturnaround/zt-exec)** ★ 915 Last push 2026-07-10 +> +> Provides a unified API to Apache Commons Exec and ProcessBuilder. + +> **[zt-process-killer](https://github.com/zeroturnaround/zt-process-killer)** ★ 139 Last push 2026-07-10 +> +> Stops processes started from Java or the system processes via PID. + +
+ + +
+Reactive libraries 5 projects + +_Libraries for developing reactive applications._ + +> **[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)** ★ 4.9k Last push 2024-03-13 +> +> Provides a standard for asynchronous stream processing with non-blocking backpressure. + +> **[Reactor](https://github.com/reactor/reactor)** ★ 3.7k Last push 2026-07-21 +> +> A framework for building non-blocking applications on the JVM, providing support for reactive programming. + +> **[RxJava](https://github.com/ReactiveX/RxJava)** ★ 48.2k Last push 2026-07-24 +> +> Allows for composing asynchronous and event-based programs using observable sequences. + +> **[vert.x](https://vertx.io)** +> +> Polyglot event-driven application framework. + +
+ + +
+REST Frameworks 15 projects + +_Frameworks specifically for creating RESTful services._ + +> **[Dropwizard](https://github.com/dropwizard/dropwizard)** ★ 8.6k Last push 2026-07-23 +> +> Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. + +> **[Elide](https://elide.io)** +> +> Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. + +> **[Jersey](https://jersey.github.io)** +> +> JAX-RS reference implementation. + +> **[Microserver](https://github.com/aol/micro-server)** ★ 935 Last push 2023-03-21 +> +> 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. + +> **[OfficeFloor](https://github.com/officefloor/OfficeFloor)** ★ 70 Last push 2026-07-23 +> +> Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. + +> **[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)** ★ 2.5k Last push 2026-07-22 +> +> 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)** ★ 939 Last push 2026-02-27 +> +> Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. + +> **[Restlet Framework](https://github.com/restlet/restlet-framework-java)** ★ 667 Last push 2026-07-23 +> +> Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. + +> **[Spark](https://sparkjava.com)** +> +> Sinatra inspired framework. + +> **[Crnk](https://github.com/crnk-project/crnk-framework)** ★ 291 Last push 2023-10-19 +> +> Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. + +> **[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k Last push 2026-07-19 +> +> Automates the generation of API documentation using Spring Boot projects. + +> **[Swagger](https://swagger.io)** +> +> Standard, language-agnostic interface to REST APIs. + +> **[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** ★ 26.6k Last push 2026-07-26 +> +> Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. + +
+ + +
+Science 16 projects + +_Libraries for scientific computing, analysis and visualization._ + +> **[BioJava](https://biojava.org/)** +> +> Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. + +> **[Chart-FX](https://github.com/GSI-CS-CO/chart-fx)** ★ 611 Last push 2026-03-17 +> +> Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. + +> **[DataMelt](https://datamelt.org/)** +> +> Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) + +> **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 Last push 2023-08-27 +> +> Modular, light and easy graph framework for theoretic algorithms. + +> **[GraphStream](https://graphstream-project.org)** +> +> Library for modeling and analyzing dynamic graphs. + +> **[JFreeChart](https://www.jfree.org/jfreechart/)** +> +> 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) + +> **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k Last push 2026-07-20 +> +> Graph library that provides mathematical graph-theory objects and algorithms. + +> **[JGraphX](https://github.com/jgraph/jgraphx)** ★ 692 Last push 2020-11-13 +> +> Library for visualizing (mainly Swing) and interacting with node-edge graphs. + +> **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 Last push 2026-06-21 +> +> jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. + +> **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 Last push 2026-07-17 +> +> Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. + +> **[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 Last push 2021-03-25 +> +> Library for geophysical scientific computation, visualization and digital signal analysis. + +> **[Morpheus](https://github.com/zavtech/morpheus-core)** ★ 245 Last push 2023-12-06 +> +> Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. + +> **[Orekit](https://www.orekit.org/)** +> +> A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. + +> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 Last push 2025-06-12 +> +> Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) + +> **[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k Last push 2026-07-24 +> +> Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. + +> **[XChart](https://github.com/knowm/XChart)** ★ 1.6k Last push 2026-07-23 +> +> Light-weight library for plotting data. Many customizable chart types are available. + +
+ + +
+Search 5 projects + +_Engines that index documents for search and analysis._ + +> **[Apache Lucene](https://lucene.apache.org)** +> +> High-performance, full-featured, cross-platform, text search engine library. + +> **[Apache Solr](https://lucene.apache.org/solr/)** +> +> Enterprise search engine optimized for high-volume traffic. + +> **[Elasticsearch](https://www.elastic.co)** +> +> Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. + +> **[Indexer4j](https://github.com/haeungun/indexer4j)** ★ 57 Last push 2019-01-27 +> +> Simple and light full text indexing and searching library. + +> **[Viglet Turing ES](https://github.com/openviglet/turing-ce)** ★ 0 Last push 2026-07-21 +> +> Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends. + +
+ + +
+Security 25 projects + +_Libraries that handle security, authentication, authorization or session management._ + +> **[Apache Shiro](https://shiro.apache.org)** +> +> Performs authentication, authorization, cryptography and session management. + +> **[Ayza](https://github.com/Hakky54/ayza)** ★ 578 Last push 2026-07-13 +> +> High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. + +> **[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. + +> **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 Last push 2026-07-13 +> +> CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. + +> **[DependencyCheck](https://github.com/jeremylong/DependencyCheck)** ★ 54 Last push 2025-09-27 +> +> 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)** ★ 219 Last push 2024-12-06 +> +> 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)** ★ 11.1k Last push 2026-07-24 +> +> JSON web token for Java and Android. + +> **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 Last push 2025-07-17 +> +> 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)** ★ 206 Last push 2026-07-20 +> +> JSON Web Key Set parser. + +> **[Kalium](https://github.com/abstractj/kalium)** ★ 219 Last push 2023-09-12 +> +> Binding for the Networking and Cryptography (NaCl) library. + +> **[Keycloak](https://www.keycloak.org)** +> +> Integrated SSO and IDM for browser apps and RESTful web services. + +> **[Keywhiz](https://github.com/square/keywhiz)** ★ 2.6k Last push 2023-09-18 +> +> System for distributing and managing secrets. + +> **[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 Last push 2025-09-05 +> +> Advanced password strength estimation. + +> **[OACC](http://oaccframework.org)** +> +> Provides permission-based authorization services. + +> **[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 879 Last push 2026-07-24 +> +> Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. + +> **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 Last push 2026-07-03 +> +> One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). + +> **[pac4j](https://github.com/pac4j/pac4j)** ★ 2.5k Last push 2026-07-25 +> +> Security engine. + +> **[Passay](https://www.passay.org/)** +> +> Enforce password policy by validating candidate passwords against a configurable rule set. + +> **[Password4j](https://github.com/Password4j/password4j)** ★ 428 Last push 2026-04-16 +> +> User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. + +> **[SecurityBuilder](https://github.com/tersesystems/securitybuilder)** ★ 48 Last push 2021-06-26 +> +> Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. + +> **[Themis](https://github.com/cossacklabs/themis)** ★ 2k Last push 2026-04-24 +> +> 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)** ★ 13.5k Last push 2024-04-17 +> +> 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. + +> **[MOSS](https://central.sonatype.com/artifact/com.mosscomputing/moss-sdk)** +> +> Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. + +
+ + +
+Serialization 6 projects + +_Libraries that handle serialization with high efficiency._ + +> **[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k Last push 2026-06-22 +> +> Memory-efficient serialization library that can access serialized data without unpacking and parsing it. + +> **[FST](https://github.com/RuedigerMoeller/fast-serialization)** ★ 1.6k Last push 2023-06-30 +> +> JDK-compatible, high-performance object graph serialization. + +> **[Fury](https://github.com/alipay/fury)** ★ 4.4k Last push 2026-07-24 +> +> Blazing fast object graph serialization framework powered by JIT and zero-copy. + +> **[Kryo](https://github.com/EsotericSoftware/kryo)** ★ 6.5k Last push 2026-07-20 +> +> Fast and efficient object graph serialization framework. + +> **[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k Last push 2026-07-18 +> +> Efficient binary serialization format. + +> **[PHP Serializer](https://github.com/marcospassos/java-php-serializer)** ★ 19 Last push 2018-02-28 +> +> Serializing objects in the PHP serialization format. + +
+ + +
+Server 5 projects + +_Servers specifically used to deploy applications._ + +> **[Apache Tomcat](https://tomcat.apache.org)** +> +> Robust, all-round server for Servlet and JSP. + +> **[Apache TomEE](https://tomee.apache.org)** +> +> Tomcat plus Java EE. + +> **[Jetty](https://www.eclipse.org/jetty/)** +> +> Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. + +> **[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k Last push 2023-07-25 +> +> Tiny, easily embeddable HTTP server. + +> **[WildFly](https://www.wildfly.org)** +> +> Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) + +
+ + +
+Template Engine 11 projects + +_Tools that substitute expressions in a template._ + +> **[Freemarker](https://freemarker.apache.org)** +> +> Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. + +> **[Handlebars.java](https://jknack.github.io/handlebars.java/)** +> +> Logicless and semantic Mustache templates. + +> **[Jade4J](https://github.com/neuland/jade4j)** ★ 706 Last push 2022-05-20 +> +> Implementation of Pug (formerly known as Jade). + +> **[Jamal](https://github.com/verhas/jamal)** ★ 69 Last push 2025-04-22 +> +> Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. + +> **[jstachio](https://github.com/jstachio/jstachio)** ★ 330 Last push 2025-04-15 +> +> Typesafe Mustache templating engine. + +> **[jte](https://github.com/casid/jte)** ★ 1.1k Last push 2026-07-20 +> +> 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)** ★ 299 Last push 2018-04-14 +> +> 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. + +> **[Rocker](https://github.com/fizzed/rocker)** ★ 781 Last push 2026-01-21 +> +> Optimized, memory efficient and speedy template engine producing statically typed, plain objects. + +> **[StringTemplate](https://github.com/antlr/stringtemplate4)** ★ 1k Last push 2025-05-14 +> +> 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. + +
+ + +
+Testing 66 projects + +_Tools that test from model to the view._ + +#### Asynchronous + +7 projects + +_Tools that simplify testing asynchronous services._ + +> **[Awaitility](https://github.com/awaitility/awaitility)** ★ 4k Last push 2026-04-17 +> +> DSL for synchronizing asynchronous operations. + +> **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 Last push 2024-04-05 +> +> Toolkit for testing multi-threaded and asynchronous applications. + +> **[GreenMail](https://greenmail-mail-test.github.io/greenmail/)** +> +> In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) + +> **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 Last push 2026-05-20 +> +> Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. + +> **[Karate](https://github.com/intuit/karate)** ★ 8.9k Last push 2026-07-26 +> +> DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. + +> **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k Last push 2026-07-22 +> +> DSL for easy testing of REST/HTTP services. + +> **[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 Last push 2026-04-10 +> +> Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. + +#### BDD + +8 projects + +_Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ + +> **[Cucumber](https://github.com/cucumber/cucumber-jvm)** ★ 2.8k Last push 2026-07-24 +> +> Provides a way to describe features in a plain language which customers can understand. + +> **[Cukes-REST](https://github.com/ctco/cukes)** ★ 111 Last push 2025-06-02 +> +> Collection of Gherkin steps for REST-service testing using Cucumber. + +> **[J8Spec](https://github.com/j8spec/j8spec)** ★ 49 Last push 2022-02-25 +> +> Follows a Jasmine-like syntax. + +> **[JBehave](https://jbehave.org)** +> +> Extensively configurable framework that describes stories. + +> **[JGiven](https://jgiven.org)** +> +> Provides a fluent API which allows for simpler composition. + +> **[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 Last push 2026-07-24 +> +> Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. + +> **[Lamdba Behave](https://github.com/RichardWarburton/lambda-behave)** ★ 252 Last push 2022-02-22 +> +> Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. + +> **[Serenity BDD](https://github.com/serenity-bdd/serenity-core)** ★ 755 Last push 2026-07-16 +> +> Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. + +#### Fixtures + +10 projects + +_Everything related to the creation and handling of random data._ + +> **[AutoParams](https://github.com/AutoParams/AutoParams)** ★ 368 Last push 2026-04-09 +> +> Supports generating test data or combining scenarios for parameterized tests. + +> **[Beanmother](https://github.com/keepcosmos/beanmother)** ★ 122 Last push 2022-12-14 +> +> Sets up beans from YAML fixtures. + +> **[Datafaker](https://github.com/datafaker-net/datafaker)** ★ 1.8k Last push 2026-07-23 +> +> Modern fake data generator forked from Java Faker. + +> **[Fixture Factory](https://github.com/six2six/fixture-factory)** ★ 443 Last push 2023-04-14 +> +> Generates fake objects from a template. + +> **[jFairy](https://github.com/Devskiller/jfairy)** ★ 742 Last push 2026-05-30 +> +> Fake data generator. + +> **[Instancio](https://github.com/instancio/instancio)** ★ 1.2k Last push 2026-07-25 +> +> Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. + +> **[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 Last push 2026-05-29 +> +> JUnit test runner and plugins for running JUnit tests with pseudo-randomness. + +> **[Java Faker](https://github.com/DiUS/java-faker)** ★ 4.9k Last push 2024-06-12 +> +> Port of Ruby's fake data generator. + +> **[Mockneat](https://github.com/nomemory/mockneat)** ★ 534 Last push 2023-03-27 +> +> Another fake data generator. + +> **[JMock](https://github.com/xcancloud/JMock)** ★ 212 Last push 2026-05-19 +> +> JMock is a high-performance data generation and simulation component library implemented in Java. + +#### Frameworks + +14 projects + +_Provide environments to run tests for a specific use case._ + +> **[Apache JMeter](https://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](https://arquillian.org)** +> +> Integration and functional testing platform for Java EE containers. + +> **[BitDive ![c]](https://bitdive.io)** +> +> Zero-code integration testing platform that generates tests from runtime application behavior. + +> **[cdi-test](https://github.com/guhilling/cdi-test)** ★ 31 Last push 2026-07-25 +> +> 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)** ★ 1.1k Last push 2026-07-22 +> +> Consumer-driven contract testing. + +> **[PIT](https://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)** ★ 116 Last push 2026-07-14 +> +> Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. + +> **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k Last push 2026-07-26 +> +> Browser automation framework and ecosystem. + +> **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 10 Last push 2026-07-23 +> +> Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. + +#### Matchers + +6 projects + +_Libraries that provide custom matchers._ + +> **[AssertJ](https://joel-costigliola.github.io/assertj/)** +> +> Fluent assertions that improve readability. + +> **[Hamcrest](https://hamcrest.org/JavaHamcrest/)** +> +> Matchers that can be combined to create flexible expressions of intent. + +> **[JSONAssert](https://jsonassert.skyscreamer.org)** +> +> Simplifies testing JSON strings. + +> **[JsonUnit](https://github.com/lukas-krecan/JsonUnit)** ★ 1k Last push 2026-07-24 +> +> Library that simplifies JSON comparison in tests. + +> **[Truth](https://truth.dev)** +> +> Google's fluent assertion and proposition framework. + +> **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 318 Last push 2026-07-08 +> +> Simplifies testing for XML output. + +#### Miscellaneous + +14 projects + +_Other stuff related to testing._ + +> **[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 Last push 2026-06-08 +> +> Captures console output for unit testing purposes. + +> **[junit-dataprovider](https://github.com/TNG/junit-dataprovider)** ★ 249 Last push 2026-02-07 +> +> TestNG-like data provider/runner for JUnit. + +> **[junit-pioneer](https://junit-pioneer.org/)** +> +> JUnit 5 extension pack, pushing the frontiers on Jupiter. + +> **[LogCaptor](https://github.com/Hakky54/log-captor)** ★ 432 Last push 2026-07-02 +> +> Captures log entries for unit testing purposes. + +> **[log-capture](https://github.com/dm-drogeriemarkt/log-capture)** ★ 16 Last push 2026-05-05 +> +> Captures log entries and provides assertions for unit and integration testing. + +> **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Last push 2025-10-11 +> +> Reports whether instances of a given class are immutable. + +> **[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)** ★ 74 Last push 2019-02-13 +> +> Tests if a request/response matches a given RAML definition. + +> **[Selfie](https://github.com/diffplug/selfie)** ★ 100 Last push 2026-07-01 +> +> Snapshot testing (inline and on disk). + +> **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 Last push 2026-04-20 +> +> Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. + +> **[Stebz](https://github.com/stebz/stebz)** ★ 20 Last push 2026-07-24 +> +> Multi-approach framework for test steps managing. + +> **[Testcontainers](https://github.com/testcontainers/testcontainers-java)** ★ 8.7k Last push 2026-07-23 +> +> Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. + +> **[Java Evolved](https://javaevolved.github.io/)** +> +> Side-by-side comparisons of legacy and modern Java patterns. + +> **[test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin)** ★ 1 Last push 2026-06-06 +> +> Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. + +#### Mocking + +7 projects + +_Tools which mock collaborators to help testing single, isolated units._ + +> **[JMockit](https://jmockit.github.io)** +> +> Integration testing, API mocking and faking, and code coverage. + +> **[Mockito](https://github.com/mockito/mockito)** ★ 15.4k Last push 2026-07-15 +> +> Mocking framework that lets you write tests with a clean and simple API. + +> **[MockServer](https://www.mock-server.com)** +> +> Allows mocking of systems integrated with HTTPS. + +> **[Moco](https://github.com/dreamhead/moco)** ★ 4.4k Last push 2026-05-10 +> +> Concise web services for stubs and mocks. + +> **[PowerMock](https://github.com/powermock/powermock)** ★ 4.2k Last push 2024-01-03 +> +> Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. + +> **[WireMock](https://wiremock.org)** +> +> Stubs and mocks web services. + +> **[EasyMock](https://github.com/easymock/easymock)** ★ 832 Last push 2026-07-22 +> +> EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. + +
+ + +
+Utility 25 projects + +_Libraries which provide general utility functions._ + +> **[Arthas](https://github.com/alibaba/arthas)** ★ 37.5k Last push 2026-07-24 +> +> Allows to troubleshoot production issues for applications without modifying code or restarting servers. + +> **[bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j)** ★ 2.8k Last push 2026-07-23 +> +> Rate limiting library based on token-bucket algorithm. + +> **[cactoos](https://github.com/yegor256/cactoos)** ★ 777 Last push 2026-07-24 +> +> Collection of object-oriented primitives. + +> **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 Last push 2023-01-20 +> +> Generates postman collection, environment and integration tests from java code. + +> **[CRaSH](https://www.crashub.org)** +> +> Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) + +> **[Dex](https://github.com/PatMartin/Dex)** ★ 1.3k Last push 2019-02-12 +> +> Java/JavaFX tool capable of powerful ETL and data visualization. + +> **[dregex](https://github.com/marianobarrios/dregex)** ★ 55 Last push 2026-04-13 +> +> Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. + +> **[Embulk](https://github.com/embulk/embulk)** ★ 1.8k Last push 2026-06-19 +> +> Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. + +> **[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 Last push 2026-07-01 +> +> Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. + +> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k Last push 2026-06-28 +> +> Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) + +> **[Guava](https://github.com/google/guava)** ★ 51.5k Last push 2026-07-24 +> +> Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. + +> **[JADE](https://jade.tilab.com)** +> +> Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) + +> **[Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml)** ★ 57 Last push 2025-12-08 +> +> Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. + +> **[Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/)** +> +> Utilities for text or data comparison and patching. + +> **[java-util](https://github.com/jdereg/java-util)** ★ 440 Last push 2026-07-12 +> +> Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. + +> **[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k Last push 2026-07-01 +> +> Library that helps with constructing difficult regular expressions. + +> **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 Last push 2026-04-22 +> +> Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. + +> **[JGit](https://www.eclipse.org/jgit/)** +> +> Lightweight, pure Java library implementing the Git version control system. + +> **[JKScope](https://github.com/evpl/jkscope)** ★ 23 Last push 2025-01-25 +> +> Java scope functions inspired by Kotlin. + +> **[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 Last push 2026-04-01 +> +> Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. + +> **[minio-java](https://github.com/minio/minio-java)** ★ 1.3k Last push 2026-06-18 +> +> Provides simple APIs to access any Amazon S3-compatible object storage server. + +> **[Protégé](https://protege.stanford.edu)** +> +> Provides an ontology editor and a framework to build knowledge-based systems. + +> **[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 Last push 2026-07-22 +> +> Lightweight library that helps you handling semantic versioning with different modes. + +> **[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 Last push 2026-07-16 +> +> Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. + +> **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 Last push 2026-07-25 +> +> Port of Underscore.js functions. + +
+ + +
+Version Managers 3 projects + +_Utilities that help create the development shell environment and switch between different Java versions._ + +> **[jabba](https://github.com/shyiko/jabba)** ★ 3.4k Last push 2026-05-04 +> +> Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. + +> **[jenv](https://github.com/jenv/jenv)** ★ 6.6k Last push 2026-02-22 +> +> Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. + +> **[SDKMan](https://github.com/sdkman/sdkman-cli)** ★ 6.8k Last push 2026-06-25 +> +> Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. + +
+ + +
+Web Crawling 6 projects + +_Libraries that analyze the content of websites._ + +> **[Apache Nutch](https://nutch.apache.org)** +> +> Highly extensible, highly scalable web crawler for production environments. + +> **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 144 Last push 2026-07-22 +> +> Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. + +> **[Crawler4j](https://github.com/yasserg/crawler4j)** ★ 4.6k Last push 2021-11-04 +> +> Simple and lightweight web crawler. + +> **[jsoup](https://jsoup.org)** +> +> Scrapes, parses, manipulates and cleans HTML. + +> **[StormCrawler](https://stormcrawler.net)** +> +> SDK for building low-latency and scalable web crawlers. + +> **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k Last push 2025-12-20 +> +> Scalable crawler with downloading, url management, content extraction and persistent. + +
+ + +
+Web Frameworks 18 projects + +_Frameworks that handle the communication between the layers of a web application._ + +> **[ActiveJ](https://activej.io)** +> +> Lightweight asynchronous framework built from the ground up for developing high-performance web applications. + +> **[Apache Tapestry](https://tapestry.apache.org)** +> +> Component-oriented framework for creating dynamic, robust, highly scalable web applications. + +> **[Apache Wicket](https://wicket.apache.org)** +> +> Component-based web application framework similar to Tapestry, with a stateful GUI. + +> **[Blade](https://github.com/lets-blade/blade)** ★ 5.9k Last push 2026-05-15 +> +> Lightweight, modular framework that aims to be elegant and simple. + +> **[Bootique](https://bootique.io)** +> +> Minimally opinionated framework for runnable apps. + +> **[Firefly](https://www.fireflysource.com)** +> +> Asynchronous framework for rapid development of high-performance web application. + +> **[Javalin](https://javalin.io/)** +> +> Microframework for web applications. + +> **[Jooby](https://www.jooby.org)** +> +> Scalable, fast and modular micro-framework that offers multiple programming models. + +> **[Ninja](https://www.ninjaframework.org)** +> +> Full-stack web framework. + +> **[Pippo](https://github.com/pippo-java/pippo)** ★ 786 Last push 2025-12-22 +> +> Small, highly modularized, Sinatra-like framework. + +> **[Play](https://www.playframework.com)** +> +> Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. + +> **[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)** ★ 877 Last push 2026-07-26 +> +> Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. + +> **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 Last push 2026-07-25 +> +> Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. + +> **[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. + +> **[WebForms Core](https://github.com/webforms-core)** +> +> A technology for managing HTML tags from the server. + +> **[Erupt](https://github.com/erupts/erupt)** ★ 2.8k Last push 2026-07-26 +> +> Annotation-Driven Low-Code & JPA Visualization + +
+ + +
+Workflow Orchestration Engines 3 projects + +> **[Cadence](https://cadenceworkflow.io)** +> +> Stateful code platform from Uber. + +> **[flowable](https://github.com/flowable/flowable-engine)** ★ 9.4k Last push 2026-07-26 +> +> Compact and efficient workflow and business process management platform. + +> **[Temporal](https://temporal.io)** +> +> Microservice orchestration platform, forked from Cadence but gRPC based. + +
+ +## Resources + +### Related Awesome Lists + +_Awesome Lists related to the Java & JVM ecosystem._ + +- [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) +- [Awesome REST](https://github.com/marmelab/awesome-rest) +- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) +- [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) +- [ciandcd](https://github.com/ciandcd/awesome-ciandcd) +- [Useful Java Links](https://github.com/Vedenin/useful-java-links) +- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) +- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) + +### Communities + +_Active discussions._ + +- [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. +- [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. + +### Frontends + +_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ + +- [java.libhunt.com](https://java.libhunt.com) + +### Influential Books + +_Books that made a big impact and are still worth reading._ + +- [Core Java Volume I--Fundamentals](https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304) +- [Core Java, Volume II--Advanced Features](https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290) +- [Effective Java (3rd Edition)](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997) +- [Head First Java (3rd Edition)](https://www.oreilly.com/library/view/head-first-java/9781492091646/) +- [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601) +- [The Well-Grounded Java Developer (2nd Edition)](https://www.manning.com/books/the-well-grounded-java-developer-second-edition) +- [Thinking in Java](https://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486) + +### Podcasts and Screencasts + +_Something to look at or listen to while programming._ + +- [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. +- [A Bootiful Podcast](https://bootifulpodcast.fm) +- [Foojay Podcast](https://foojay.io/today/category/podcast/) +- [Inside Java](https://inside.java/podcast) (Official) +- [Java Off Heap](https://www.javaoffheap.com) +- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. + +### People + +#### Socials + +_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://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://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](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://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. +- [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. +- [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. +- [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. +- [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. +- [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. +- [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. +- [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://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. + +### Websites + +_Sites to read._ + +- [Baeldung](https://www.baeldung.com) +- [Dzone](https://dzone.com) +- [foojay.io](https://foojay.io) +- [Google Java Style](https://google.github.io/styleguide/javaguide.html) +- [InfoQ](https://www.infoq.com) +- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) +- [Java, SQL, and jOOQ](https://blog.jooq.org) +- [Java.net](https://community.oracle.com/community/java) +- [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) +- [TheCodeForge Java Tutorials](https://thecodeforge.io/java/) +- [JavaWorld](https://www.javaworld.com) +- [JAXenter](https://jaxenter.com) +- [RebelLabs](https://zeroturnaround.com/rebellabs) +- [OverOps Blog](https://blog.overops.com) +- [TheServerSide.com](https://www.theserverside.com) +- [Vanilla Java](https://vanilla-java.github.io) +- [Voxxed](https://www.voxxed.com) +- [Java Weekly](https://discu.eu/weekly/java/) + +## Contributing + +Contributions are very welcome! + +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 From 92c7dbbafe199e3bac83dd71390ba86f59fa3aea Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 26 Jul 2026 14:31:36 +0200 Subject: [PATCH 507/533] Refine README card preview --- README_3.md | 3759 ++++++++++++++------------------------------------- 1 file changed, 1002 insertions(+), 2757 deletions(-) diff --git a/README_3.md b/README_3.md index ce6ac9bb..fb03684e 100644 --- a/README_3.md +++ b/README_3.md @@ -2,4029 +2,2274 @@ A curated list of awesome Java frameworks, libraries and software. -840 projects · 75 categories · GitHub statistics refreshed 2026-07-26 · Activity is the repository's latest push. +840 projects · 75 categories · GitHub statistics refreshed 26/07/2026 · Dates show each repository's latest push. Browse a category below, or use your browser's find command to locate a project. ## Projects - -
-Architecture 2 projects +
+Architecture 2 projects _Frameworks and libraries that help implementing and verifying design and architecture concepts._ -> **[ArchUnit](https://github.com/TNG/ArchUnit)** ★ 3.8k Last push 2026-07-25 -> -> Test library for specifying and asserting architecture rules. +> **[ArchUnit](https://github.com/TNG/ArchUnit)** ★ 3.8k 25/07/2026
Test library for specifying and asserting architecture rules. -> **[jMolecules](https://github.com/xmolecules/jmolecules)** ★ 1.5k Last push 2026-02-03 -> -> Annotations and interfaces to express design and architecture concepts in code. +> **[jMolecules](https://github.com/xmolecules/jmolecules)** ★ 1.5k 03/02/2026
Annotations and interfaces to express design and architecture concepts in code.
- -
-Artificial Intelligence 9 projects +
+Artificial Intelligence 9 projects _Frameworks that help you to leverage LLMs and AI._ -> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 Last push 2026-07-25 -> -> Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. +> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 25/07/2026
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. -> **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 Last push 2026-07-24 -> -> Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. +> **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 24/07/2026
Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. -> **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 Last push 2026-07-20 -> -> Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. +> **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 20/07/2026
Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. -> **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k Last push 2026-07-24 -> -> Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. +> **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k 24/07/2026
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. -> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 238 Last push 2026-07-26 -> -> Provides a Java binding for a unified LLM API client across multiple providers. +> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 238 26/07/2026
Provides a Java binding for a unified LLM API client across multiple providers. -> **[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k Last push 2026-07-10 -> -> 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. +> **[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k 10/07/2026
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. -> **[Regulus](https://github.com/neul-labs/regulus)** ★ 7 Last push 2026-07-02 -> -> Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. +> **[Regulus](https://github.com/neul-labs/regulus)** ★ 7 02/07/2026
Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. -> **[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 Last push 2025-09-17 -> -> Library to use the OpenAI API (and compatible ones) in the simplest possible way. +> **[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 17/09/2025
Library to use the OpenAI API (and compatible ones) in the simplest possible way. -> **[Spring AI](https://spring.io/projects/spring-ai)** -> -> Application framework for AI engineering for Spring. +> **[Spring AI](https://spring.io/projects/spring-ai)**
Application framework for AI engineering for Spring.
- -
-Bean Mapping 8 projects +
+Bean Mapping 8 projects _Frameworks that ease bean mapping._ -> **[dOOv](https://github.com/doov-io/doov)** ★ 103 Last push 2023-01-04 -> -> Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +> **[dOOv](https://github.com/doov-io/doov)** ★ 103 04/01/2023
Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. -> **[Immuto](https://github.com/karunarathnad/immuto)** ★ 6 Last push 2026-07-05 -> -> Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection. +> **[Immuto](https://github.com/karunarathnad/immuto)** ★ 6 05/07/2026
Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection. -> **[JMapper](https://github.com/jmapper-framework/jmapper-core)** ★ 245 Last push 2023-10-25 -> -> Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. +> **[JMapper](https://github.com/jmapper-framework/jmapper-core)** ★ 245 25/10/2023
Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. -> **[MapStruct](https://github.com/mapstruct/mapstruct)** ★ 7.7k Last push 2026-07-25 -> -> Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. +> **[MapStruct](https://github.com/mapstruct/mapstruct)** ★ 7.7k 25/07/2026
Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. -> **[ModelMapper](https://github.com/modelmapper/modelmapper)** ★ 2.4k Last push 2025-11-11 -> -> Intelligent object mapping library that automatically maps objects to each other. +> **[ModelMapper](https://github.com/modelmapper/modelmapper)** ★ 2.4k 11/11/2025
Intelligent object mapping library that automatically maps objects to each other. -> **[Orika](https://github.com/orika-mapper/orika)** ★ 1.3k Last push 2024-10-14 -> -> JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. +> **[Orika](https://github.com/orika-mapper/orika)** ★ 1.3k 14/10/2024
JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. -> **[reMap](https://github.com/remondis-it/remap)** ★ 128 Last push 2026-07-15 -> -> Lambda and method handle-based mapping which requires code and not annotations if objects have different names. +> **[reMap](https://github.com/remondis-it/remap)** ★ 128 15/07/2026
Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -> **[Selma](https://github.com/xebia-france/selma)** ★ 213 Last push 2020-01-01 -> -> Annotation processor-based bean mapper. +> **[Selma](https://github.com/xebia-france/selma)** ★ 213 01/01/2020
Annotation processor-based bean mapper.
- -
-Build 6 projects +
+Build 6 projects _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. +> **[Bazel](https://bazel.build)**
Tool from Google that builds code quickly and reliably. -> **[Buck2](https://github.com/facebook/buck2)** ★ 4.4k Last push 2026-07-26 -> -> Encourages the creation of small, reusable modules consisting of code and resources. +> **[Buck2](https://github.com/facebook/buck2)** ★ 4.4k 26/07/2026
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. +> **[Gradle](https://gradle.org)**
Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. -> **[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 Last push 2026-07-24 -> -> A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. +> **[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 24/07/2026
A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. -> **[ReleaseRun](https://releaserun.com)** -> -> Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. +> **[ReleaseRun](https://releaserun.com)**
Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages.
- -
-Bytecode Manipulation 10 projects +
+Bytecode Manipulation 10 projects _Libraries to manipulate bytecode programmatically._ -> **[ASM](https://asm.ow2.io)** -> -> All-purpose, low-level bytecode manipulation and analysis. +> **[ASM](https://asm.ow2.io)**
All-purpose, low-level bytecode manipulation and analysis. -> **[Byte Buddy](https://bytebuddy.net)** -> -> Further simplifies bytecode generation with a fluent API. +> **[Byte Buddy](https://bytebuddy.net)**
Further simplifies bytecode generation with a fluent API. -> **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k Last push 2026-07-17 -> -> Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +> **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k 17/07/2026
Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) -> **[Byteman](https://byteman.jboss.org)** -> -> Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +> **[Byteman](https://byteman.jboss.org)**
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -> **[cglib](https://github.com/cglib/cglib)** ★ 4.9k Last push 2024-08-16 -> -> Bytecode generation library. +> **[cglib](https://github.com/cglib/cglib)** ★ 4.9k 16/08/2024
Bytecode generation library. -> **[Javassist](https://github.com/jboss-javassist/javassist)** ★ 4.2k Last push 2026-06-21 -> -> Tries to simplify bytecode editing. +> **[Javassist](https://github.com/jboss-javassist/javassist)** ★ 4.2k 21/06/2026
Tries to simplify bytecode editing. -> **[Maker](https://github.com/cojen/maker)** ★ 70 Last push 2026-07-24 -> -> Provides low level bytecode generation. +> **[Maker](https://github.com/cojen/maker)** ★ 70 24/07/2026
Provides low level bytecode generation. -> **[Mixin](https://github.com/SpongePowered/Mixin)** ★ 1.7k Last push 2024-08-05 -> -> Manipulate bytecode at runtime using real Java code. +> **[Mixin](https://github.com/SpongePowered/Mixin)** ★ 1.7k 05/08/2024
Manipulate bytecode at runtime using real Java code. -> **[Perses](https://github.com/nicolasmanic/perses)** ★ 70 Last push 2021-08-02 -> -> Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. +> **[Perses](https://github.com/nicolasmanic/perses)** ★ 70 02/08/2021
Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. -> **[Recaf](https://www.coley.software/Recaf/)** -> -> JVM reverse engineering toolkit, essentially an IDE for Java bytecode. +> **[Recaf](https://www.coley.software/Recaf/)**
JVM reverse engineering toolkit, essentially an IDE for Java bytecode.
- -
-Caching 4 projects +
+Caching 4 projects _Libraries that provide caching facilities._ -> **[cache2k](https://cache2k.org)** -> -> In-memory high performance caching library. +> **[cache2k](https://cache2k.org)**
In-memory high performance caching library. -> **[Caffeine](https://github.com/ben-manes/caffeine)** ★ 17.8k Last push 2026-07-26 -> -> High-performance, near-optimal caching library. +> **[Caffeine](https://github.com/ben-manes/caffeine)** ★ 17.8k 26/07/2026
High-performance, near-optimal caching library. -> **[Ehcache](https://www.ehcache.org)** -> -> Distributed general-purpose cache. +> **[Ehcache](https://www.ehcache.org)**
Distributed general-purpose cache. -> **[Infinispan](https://infinispan.org)** -> -> Highly concurrent key/value datastore used for caching. +> **[Infinispan](https://infinispan.org)**
Highly concurrent key/value datastore used for caching.
- -
-CLI 10 projects +
+CLI 10 projects _Libraries for everything related to the CLI._ #### Argument Parsing -5 projects +5 projects _Libraries to assist with parsing command line arguments._ -> **[Airline](https://rvesse.github.io/airline/)** -> -> Annotation-based framework for parsing Git-like command-line arguments. +> **[Airline](https://rvesse.github.io/airline/)**
Annotation-based framework for parsing Git-like command-line arguments. -> **[JCommander](https://jcommander.org)** -> -> Command-line argument-parsing framework with custom types and validation via implementing interfaces. +> **[JCommander](https://jcommander.org)**
Command-line argument-parsing framework with custom types and validation via implementing interfaces. -> **[jbock](https://github.com/jbock-java/jbock)** ★ 92 Last push 2026-03-15 -> -> Reflectionless command line parser. +> **[jbock](https://github.com/jbock-java/jbock)** ★ 92 15/03/2026
Reflectionless command line parser. -> **[JLine](https://github.com/jline/jline3)** ★ 1.8k Last push 2026-07-22 -> -> Includes features from modern shells like completion or history. +> **[JLine](https://github.com/jline/jline3)** ★ 1.8k 22/07/2026
Includes features from modern shells like completion or history. -> **[picocli](https://picocli.info)** -> -> ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +> **[picocli](https://picocli.info)**
ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. #### Text-Based User Interfaces -5 projects +5 projects _Libraries that provide TUI frameworks, or building blocks related functions._ -> **[AliveJTUI](https://github.com/yehorsyrin/alivejTUI)** ★ 9 Last push 2026-04-03 -> -> Declarative, React-style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes. +> **[AliveJTUI](https://github.com/yehorsyrin/alivejTUI)** ★ 9 03/04/2026
Declarative, React-style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes. -> **[Jansi](https://github.com/fusesource/jansi)** ★ 1.2k Last push 2026-03-27 -> -> ANSI escape codes to format console output. +> **[Jansi](https://github.com/fusesource/jansi)** ★ 1.2k 27/03/2026
ANSI escape codes to format console output. -> **[Jexer](https://gitlab.com/AutumnMeowMeow/jexer)** -> -> Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). +> **[Jexer](https://gitlab.com/AutumnMeowMeow/jexer)**
Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -> **[Text-IO](https://github.com/beryx/text-io)** ★ 353 Last push 2023-11-02 -> -> Aids the creation of full console-based applications. +> **[Text-IO](https://github.com/beryx/text-io)** ★ 353 02/11/2023
Aids the creation of full console-based applications. -> **[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k Last push 2026-07-07 -> -> Easy console text-GUI library, similar to curses. (LGPL-3.0-only) +> **[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k 07/07/2026
Easy console text-GUI library, similar to curses. (LGPL-3.0-only)
- -
-Cloud 2 projects +
+Cloud 2 projects _Libraries to integrate or use cloud-specific features._ -> **[AWS SDK for Java](https://github.com/aws/aws-sdk-java)** ★ 4.2k Last push 2026-04-06 -> -> Provides Java APIs for interacting with Amazon Web Services. +> **[AWS SDK for Java](https://github.com/aws/aws-sdk-java)** ★ 4.2k 06/04/2026
Provides Java APIs for interacting with Amazon Web Services. -> **[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k Last push 2026-07-26 -> -> Client libraries for accessing Google Cloud services from Java applications. +> **[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k 26/07/2026
Client libraries for accessing Google Cloud services from Java applications.
- -
-Code Analysis 14 projects +
+Code Analysis 14 projects _Tools that provide metrics and quality measurements._ -> **[Checkstyle](https://github.com/checkstyle/checkstyle)** ★ 9k Last push 2026-07-26 -> -> Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +> **[Checkstyle](https://github.com/checkstyle/checkstyle)** ★ 9k 26/07/2026
Static analysis of coding conventions and standards. (LGPL-2.1-or-later) -> **[Error Prone](https://github.com/google/error-prone)** ★ 7.2k Last push 2026-07-23 -> -> Catches common programming mistakes as compile-time errors. +> **[Error Prone](https://github.com/google/error-prone)** ★ 7.2k 23/07/2026
Catches common programming mistakes as compile-time errors. -> **[Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support)** ★ 37 Last push 2026-07-24 -> -> Error Prone extensions: extra bug checkers and a large battery of Refaster templates. +> **[Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support)** ★ 37 24/07/2026
Error Prone extensions: extra bug checkers and a large battery of Refaster templates. -> **[Infer](https://github.com/facebook/infer)** ★ 15.7k Last push 2026-07-23 -> -> Modern static analysis tool for verifying the correctness of code. +> **[Infer](https://github.com/facebook/infer)** ★ 15.7k 23/07/2026
Modern static analysis tool for verifying the correctness of code. -> **[jQAssistant](https://jqassistant.org)** -> -> Static code analysis with Neo4J-based query language. (GPL-3.0-only) +> **[jQAssistant](https://jqassistant.org)**
Static code analysis with Neo4J-based query language. (GPL-3.0-only) -> **[JSpecify](https://jspecify.dev/)** -> -> Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. +> **[JSpecify](https://jspecify.dev/)**
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. -> **[NullAway](https://github.com/uber/NullAway)** ★ 4.1k Last push 2026-07-26 -> -> Eliminates NullPointerExceptions with low build-time overhead. +> **[NullAway](https://github.com/uber/NullAway)** ★ 4.1k 26/07/2026
Eliminates NullPointerExceptions with low build-time overhead. -> **[PMD](https://github.com/pmd/pmd)** ★ 5.5k Last push 2026-07-25 -> -> Source code analysis for finding bad coding practices. +> **[PMD](https://github.com/pmd/pmd)** ★ 5.5k 25/07/2026
Source code analysis for finding bad coding practices. -> **[p3c](https://github.com/alibaba/p3c)** ★ 30.8k Last push 2024-08-06 -> -> Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +> **[p3c](https://github.com/alibaba/p3c)** ★ 30.8k 06/08/2024
Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. -> **[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 538 Last push 2026-07-13 -> -> Identifies and prioritizes God Classes and Highly Coupled classes. +> **[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 538 13/07/2026
Identifies and prioritizes God Classes and Highly Coupled classes. -> **[SonarJava](https://github.com/SonarSource/sonar-java)** ★ 1.2k Last push 2026-07-25 -> -> Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) +> **[SonarJava](https://github.com/SonarSource/sonar-java)** ★ 1.2k 25/07/2026
Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) -> **[Spoon](https://github.com/INRIA/spoon)** ★ 1.9k Last push 2026-07-26 -> -> Library for analyzing and transforming Java source code. +> **[Spoon](https://github.com/INRIA/spoon)** ★ 1.9k 26/07/2026
Library for analyzing and transforming Java source code. -> **[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k Last push 2026-07-21 -> -> Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +> **[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k 21/07/2026
Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) -> **[ToolsHref](https://toolshref.com)** -> -> Online Java code analyzer and JSON-to-Mermaid visualization tool. +> **[ToolsHref](https://toolshref.com)**
Online Java code analyzer and JSON-to-Mermaid visualization tool.
- -
-Code Coverage 4 projects +
+Code Coverage 4 projects _Frameworks and tools that enable code coverage metrics collection for test suites._ -> **[Clover](https://www.atlassian.com/software/clover)** -> -> Relies on source-code instrumentation instead of bytecode instrumentation. +> **[Clover](https://www.atlassian.com/software/clover)**
Relies on source-code instrumentation instead of bytecode instrumentation. -> **[Cobertura](https://cobertura.github.io/cobertura/)** -> -> Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +> **[Cobertura](https://cobertura.github.io/cobertura/)**
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) -> **[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 Last push 2026-07-25 -> -> Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. +> **[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 25/07/2026
Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. -> **[JaCoCo](https://www.eclemma.org/jacoco/)** -> -> Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. +> **[JaCoCo](https://www.eclemma.org/jacoco/)**
Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.
- -
-Code Formatting 4 projects +
+Code Formatting 4 projects _Tools that format or restructure Java source code._ -> **[google-java-format](https://github.com/google/google-java-format)** ★ 6.2k Last push 2026-07-25 -> -> Reformats Java source code to follow Google Java Style. +> **[google-java-format](https://github.com/google/google-java-format)** ★ 6.2k 25/07/2026
Reformats Java source code to follow Google Java Style. -> **[JHarmonizer](https://github.com/lemon-ant/JHarmonizer)** ★ 26 Last push 2026-06-02 -> -> Safely reorders Java source code with configurable rules and Palantir Java Format. +> **[JHarmonizer](https://github.com/lemon-ant/JHarmonizer)** ★ 26 02/06/2026
Safely reorders Java source code with configurable rules and Palantir Java Format. -> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 846 Last push 2026-07-26 -> -> Formatter based on google-java-format with wider lines and lambda-friendly output. +> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 846 26/07/2026
Formatter based on google-java-format with wider lines and lambda-friendly output. -> **[Spotless](https://github.com/diffplug/spotless)** ★ 5.6k Last push 2026-07-23 -> -> A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages. +> **[Spotless](https://github.com/diffplug/spotless)** ★ 5.6k 23/07/2026
A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages.
- -
-Code Generators 18 projects +
+Code Generators 18 projects _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ -> **[ADT4J](https://github.com/sviperll/adt4j)** ★ 150 Last push 2018-03-02 -> -> JSR-269 code generator for algebraic data types. +> **[ADT4J](https://github.com/sviperll/adt4j)** ★ 150 02/03/2018
JSR-269 code generator for algebraic data types. -> **[Auto](https://github.com/google/auto)** ★ 10.6k Last push 2026-07-25 -> -> Generates factory, service, and value classes. +> **[Auto](https://github.com/google/auto)** ★ 10.6k 25/07/2026
Generates factory, service, and value classes. -> **[Avaje Http Server](https://avaje.io/http/)** -> -> Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +> **[Avaje Http Server](https://avaje.io/http/)**
Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -> **[Bootify ![c]](https://bootify.io)** -> -> Browser-based Spring Boot app generation with JPA model and REST API. +> **[Bootify ![c]](https://bootify.io)**
Browser-based Spring Boot app generation with JPA model and REST API. -> **[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 10 Last push 2026-06-10 -> -> Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. +> **[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 10 10/06/2026
Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. -> **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 Last push 2026-02-13 -> -> Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +> **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 13/02/2026
Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -> **[FreeBuilder](https://github.com/inferred/FreeBuilder)** ★ 829 Last push 2024-10-16 -> -> Automatically generates the Builder pattern. +> **[FreeBuilder](https://github.com/inferred/FreeBuilder)** ★ 829 16/10/2024
Automatically generates the Builder pattern. -> **[Geci](https://github.com/verhas/javageci)** ★ 138 Last push 2026-01-26 -> -> Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +> **[Geci](https://github.com/verhas/javageci)** ★ 138 26/01/2026
Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -> **[Immutables](https://immutables.github.io)** -> -> Annotation processors to generate simple, safe and consistent value objects. +> **[Immutables](https://immutables.github.io)**
Annotation processors to generate simple, safe and consistent value objects. -> **[JavaPoet](https://github.com/square/javapoet)** ★ 10.9k Last push 2024-10-10 -> -> API to generate source files. +> **[JavaPoet](https://github.com/square/javapoet)** ★ 10.9k 10/10/2024
API to generate source files. -> **[JHipster](https://github.com/jhipster/generator-jhipster)** ★ 22.4k Last push 2026-07-26 -> -> Yeoman source code generator for Spring Boot and AngularJS. +> **[JHipster](https://github.com/jhipster/generator-jhipster)** ★ 22.4k 26/07/2026
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. +> **[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. -> **[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 Last push 2025-11-28 -> -> Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +> **[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 28/11/2025
Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -> **[Lombok](https://projectlombok.org)** -> -> Code generator that aims to reduce verbosity. +> **[Lombok](https://projectlombok.org)**
Code generator that aims to reduce verbosity. -> **[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 924 Last push 2026-06-23 -> -> Companion builder class, withers and templates for Java records. +> **[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 924 23/06/2026
Companion builder class, withers and templates for Java records. -> **[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 37 Last push 2026-07-25 -> -> Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. +> **[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 37 25/07/2026
Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. -> **[Telosys](https://www.telosys.org/)** -> -> Simple and light code generator available as an Eclipse Plugin and also as a CLI. +> **[Telosys](https://www.telosys.org/)**
Simple and light code generator available as an Eclipse Plugin and also as a CLI.
- -
-Compiler-compiler 3 projects +
+Compiler-compiler 3 projects _Frameworks that help to create parsers, interpreters or compilers._ -> **[ANTLR](https://www.antlr.org)** -> -> Complex full-featured framework for top-down parsing. +> **[ANTLR](https://www.antlr.org)**
Complex full-featured framework for top-down parsing. -> **[JavaCC](https://javacc.github.io/javacc/)** -> -> Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +> **[JavaCC](https://javacc.github.io/javacc/)**
Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -> **[JFlex](https://jflex.de)** -> -> Lexical analyzer generator. +> **[JFlex](https://jflex.de)**
Lexical analyzer generator.
- -
-Computer Vision 3 projects +
+Computer Vision 3 projects _Libraries which seek to gain high level information from images and videos._ -> **[BoofCV](https://boofcv.org)** -> -> Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +> **[BoofCV](https://boofcv.org)**
Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -> **[ImageJ](https://imagej.net/ImageJ)** -> -> Medical image processing application with an API. +> **[ImageJ](https://imagej.net/ImageJ)**
Medical image processing application with an API. -> **[JavaCV](https://github.com/bytedeco/javacv)** ★ 8.3k Last push 2026-07-25 -> -> Java interface to OpenCV, FFmpeg, and much more. +> **[JavaCV](https://github.com/bytedeco/javacv)** ★ 8.3k 25/07/2026
Java interface to OpenCV, FFmpeg, and much more.
- -
-Configuration 14 projects +
+Configuration 14 projects _Libraries that provide external configuration._ -> **[avaje config](https://avaje.io/config/)** -> -> Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +> **[avaje config](https://avaje.io/config/)**
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -> **[centraldogma](https://github.com/line/centraldogma)** ★ 663 Last push 2026-07-24 -> -> Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +> **[centraldogma](https://github.com/line/centraldogma)** ★ 663 24/07/2026
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. -> **[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 Last push 2026-06-18 -> -> Type-safe, composable configuration library with a focus on runtime clarity. +> **[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 18/06/2026
Type-safe, composable configuration library with a focus on runtime clarity. -> **[config](https://github.com/lightbend/config)** ★ 6.3k Last push 2026-07-01 -> -> Configuration library supporting Java properties, JSON or its human optimized superset HOCON. +> **[config](https://github.com/lightbend/config)** ★ 6.3k 01/07/2026
Configuration library supporting Java properties, JSON or its human optimized superset HOCON. -> **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 467 Last push 2026-07-14 -> -> Configuration library with support for various configuration formats and transformations. +> **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 467 14/07/2026
Configuration library with support for various configuration formats and transformations. -> **[Curator Framework](https://curator.apache.org/)** -> -> High-level API for Apache ZooKeeper. +> **[Curator Framework](https://curator.apache.org/)**
High-level API for Apache ZooKeeper. -> **[dotenv](https://github.com/shyiko/dotenv)** ★ 51 Last push 2018-02-07 -> -> Twelve-factor configuration library which uses environment-specific files. +> **[dotenv](https://github.com/shyiko/dotenv)** ★ 51 07/02/2018
Twelve-factor configuration library which uses environment-specific files. -> **[Externalized Properties](https://github.com/joel-jeremy/externalized-properties)** ★ 47 Last push 2026-03-27 -> -> Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. +> **[Externalized Properties](https://github.com/joel-jeremy/externalized-properties)** ★ 47 27/03/2026
Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. -> **[Gestalt](https://github.com/gestalt-config/gestalt)** ★ 102 Last push 2026-06-28 -> -> 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. +> **[Gestalt](https://github.com/gestalt-config/gestalt)** ★ 102 28/06/2026
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](https://ini4j.sourceforge.net)** -> -> Provides an API for handling Windows' INI files. +> **[ini4j](https://ini4j.sourceforge.net)**
Provides an API for handling Windows' INI files. -> **[KAConf](https://github.com/mariomac/kaconf)** ★ 63 Last push 2022-07-29 -> -> Annotation-based configuration system for Java and Kotlin. +> **[KAConf](https://github.com/mariomac/kaconf)** ★ 63 29/07/2022
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 distributed. +> **[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)** ★ 939 Last push 2026-07-22 -> -> Reduces boilerplate of properties. +> **[owner](https://github.com/lviggiano/owner)** ★ 939 22/07/2026
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 Last push 2026-07-24 -> -> Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 24/07/2026
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing.
- -
-Constraint Satisfaction Problem Solver 4 projects +
+Constraint Satisfaction Problem Solver 4 projects _Libraries that help with implementing optimization and satisfiability problems._ -> **[Choco](https://choco-solver.org)** -> -> Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +> **[Choco](https://choco-solver.org)**
Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. -> **[JaCoP](https://github.com/radsz/jacop)** ★ 235 Last push 2026-03-22 -> -> Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) +> **[JaCoP](https://github.com/radsz/jacop)** ★ 235 22/03/2026
Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -> **[OptaPlanner](https://www.optaplanner.org)** -> -> Business planning and resource scheduling optimization solver. +> **[OptaPlanner](https://www.optaplanner.org)**
Business planning and resource scheduling optimization solver. -> **[Timefold](https://timefold.ai/docs)** -> -> Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. +> **[Timefold](https://timefold.ai/docs)**
Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.
- -
-CSV 5 projects +
+CSV 5 projects _Frameworks and libraries that simplify reading/writing CSV data._ -> **[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 689 Last push 2026-07-25 -> -> Performance-optimized, dependency-free and RFC 4180 compliant. +> **[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 689 25/07/2026
Performance-optimized, dependency-free and RFC 4180 compliant. -> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv)** ★ 195 Last push 2017-12-24 -> -> Jackson extension for reading and writing CSV. +> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv)** ★ 195 24/12/2017
Jackson extension for reading and writing CSV. -> **[opencsv](https://opencsv.sourceforge.net)** -> -> Simple CSV parser. +> **[opencsv](https://opencsv.sourceforge.net)**
Simple CSV parser. -> **[Super CSV](https://super-csv.github.io/super-csv/)** -> -> Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +> **[Super CSV](https://super-csv.github.io/super-csv/)**
Powerful CSV parser with support for Dozer, Joda-Time and Java 8. -> **[uniVocity-parsers](https://github.com/uniVocity/univocity-parsers)** ★ 935 Last push 2024-08-17 -> -> One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. +> **[uniVocity-parsers](https://github.com/uniVocity/univocity-parsers)** ★ 935 17/08/2024
One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.
- -
-Data Structures 13 projects +
+Data Structures 13 projects _Efficient and specific data structures._ -> **[Apache Avro](https://avro.apache.org)** -> -> Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +> **[Apache Avro](https://avro.apache.org)**
Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -> **[Apache Orc](https://orc.apache.org)** -> -> Fast and efficient columnar storage format for Hadoop-based workloads. +> **[Apache Orc](https://orc.apache.org)**
Fast and efficient columnar storage format for Hadoop-based workloads. -> **[Apache Parquet](https://parquet.apache.org)** -> -> Columnar storage format based on assembly algorithms from Google's paper on Dremel. +> **[Apache Parquet](https://parquet.apache.org)**
Columnar storage format based on assembly algorithms from Google's paper on Dremel. -> **[Apache Thrift](https://thrift.apache.org)** -> -> Data interchange format that originated at Facebook. +> **[Apache Thrift](https://thrift.apache.org)**
Data interchange format that originated at Facebook. -> **[Big Queue](https://github.com/bulldog2011/bigqueue)** ★ 567 Last push 2022-07-26 -> -> Fast and persistent queue based on memory-mapped files. +> **[Big Queue](https://github.com/bulldog2011/bigqueue)** ★ 567 26/07/2022
Fast and persistent queue based on memory-mapped files. -> **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 Last push 2026-04-11 -> -> Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. +> **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 11/04/2026
Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. -> **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 Last push 2025-07-23 -> -> Persistent and immutable analogue of the Java Collections Framework. +> **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 23/07/2025
Persistent and immutable analogue of the Java Collections Framework. -> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.7k Last push 2026-07-26 -> -> Google's data interchange format. +> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.7k 26/07/2026
Google's data interchange format. -> **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k Last push 2026-07-25 -> -> Fast and efficient compressed bitmap. +> **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k 25/07/2026
Fast and efficient compressed bitmap. -> **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k Last push 2026-07-23 -> -> Simple Binary Encoding, one of the fastest message formats around. +> **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k 23/07/2026
Simple Binary Encoding, one of the fastest message formats around. -> **[Tape](https://github.com/square/tape)** ★ 2.5k Last push 2023-03-18 -> -> Lightning-fast, transactional, file-based FIFO. +> **[Tape](https://github.com/square/tape)** ★ 2.5k 18/03/2023
Lightning-fast, transactional, file-based FIFO. -> **[Wire](https://github.com/square/wire)** ★ 4.4k Last push 2026-07-22 -> -> Clean, lightweight protocol buffers. +> **[Wire](https://github.com/square/wire)** ★ 4.4k 22/07/2026
Clean, lightweight protocol buffers. -> **[Wormhole4j](https://github.com/komamitsu/wormhole4j)** ★ 8 Last push 2026-05-27 -> -> High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. +> **[Wormhole4j](https://github.com/komamitsu/wormhole4j)** ★ 8 27/05/2026
High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure.
- -
-Database 44 projects +
+Database 44 projects _Everything that simplifies interactions with the database._ -> **[Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin)** ★ 18 Last push 2026-07-06 -> -> Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. +> **[Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin)** ★ 18 06/07/2026
Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. -> **[Apache Calcite](https://calcite.apache.org)** -> -> Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +> **[Apache Calcite](https://calcite.apache.org)**
Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -> **[Apache Drill](https://drill.apache.org)** -> -> Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +> **[Apache Drill](https://drill.apache.org)**
Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -> **[Apache Phoenix](https://phoenix.apache.org)** -> -> High-performance relational database layer over HBase for low-latency applications. +> **[Apache Phoenix](https://phoenix.apache.org)**
High-performance relational database layer over HBase for low-latency applications. -> **[ArcadeDB](https://arcadedb.com)** -> -> Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. +> **[ArcadeDB](https://arcadedb.com)**
Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. -> **[ArangoDB](https://github.com/arangodb/arangodb-java-driver)** ★ 209 Last push 2026-07-09 -> -> ArangoDB Java driver. +> **[ArangoDB](https://github.com/arangodb/arangodb-java-driver)** ★ 209 09/07/2026
ArangoDB Java driver. -> **[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3k Last push 2026-06-30 -> -> Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +> **[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3k 30/06/2026
Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -> **[Debezium](https://debezium.io/)** -> -> Low latency data streaming platform for change data capture. +> **[Debezium](https://debezium.io/)**
Low latency data streaming platform for change data capture. -> **[druid](https://druid.apache.org)** -> -> High-performance, column-oriented, distributed data store. +> **[druid](https://druid.apache.org)**
High-performance, column-oriented, distributed data store. -> **[eXist](https://github.com/eXist-db/exist)** ★ 466 Last push 2026-07-24 -> -> NoSQL document database and application platform. (LGPL-2.1-only) +> **[eXist](https://github.com/eXist-db/exist)** ★ 466 24/07/2026
NoSQL document database and application platform. (LGPL-2.1-only) -> **[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k Last push 2026-02-25 -> -> Brings metrics and failover strategies to the most common connection pooling solutions. +> **[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k 25/02/2026
Brings metrics and failover strategies to the most common connection pooling solutions. -> **[Flyway](https://flywaydb.org)** -> -> Simple database migration tool. +> **[Flyway](https://flywaydb.org)**
Simple database migration tool. -> **[H2](https://h2database.com)** -> -> Small SQL database notable for its in-memory functionality. +> **[H2](https://h2database.com)**
Small SQL database notable for its in-memory functionality. -> **[HikariCP](https://github.com/brettwooldridge/HikariCP)** ★ 21.2k Last push 2026-06-14 -> -> High-performance JDBC connection pool. +> **[HikariCP](https://github.com/brettwooldridge/HikariCP)** ★ 21.2k 14/06/2026
High-performance JDBC connection pool. -> **[HSQLDB](https://hsqldb.org/)** -> -> HyperSQL 100% Java database. +> **[HSQLDB](https://hsqldb.org/)**
HyperSQL 100% Java database. -> **[JDBI](https://jdbi.org)** -> -> Convenient abstraction of JDBC. +> **[JDBI](https://jdbi.org)**
Convenient abstraction of JDBC. -> **[Jedis](https://github.com/xetorthio/jedis)** ★ 12.3k Last push 2026-07-26 -> -> Small client for interaction with Redis, with methods for commands. +> **[Jedis](https://github.com/xetorthio/jedis)** ★ 12.3k 26/07/2026
Small client for interaction with Redis, with methods for commands. -> **[Jest](https://github.com/searchbox-io/Jest)** ★ 2.1k Last push 2023-03-31 -> -> Client for the Elasticsearch REST API. +> **[Jest](https://github.com/searchbox-io/Jest)** ★ 2.1k 31/03/2023
Client for the Elasticsearch REST API. -> **[jetcd](https://github.com/justinsb/jetcd)** ★ 143 Last push 2023-02-21 -> -> Client library for etcd. +> **[jetcd](https://github.com/justinsb/jetcd)** ★ 143 21/02/2023
Client library for etcd. -> **[Jinq](https://github.com/my2iu/Jinq)** ★ 662 Last push 2025-06-08 -> -> Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). +> **[Jinq](https://github.com/my2iu/Jinq)** ★ 662 08/06/2025
Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). -> **[jOOQ](https://www.jooq.org)** -> -> Generates typesafe code based on SQL schema. +> **[jOOQ](https://www.jooq.org)**
Generates typesafe code based on SQL schema. -> **[Leaf](https://github.com/Meituan-Dianping/Leaf)** ★ 6.8k Last push 2023-07-18 -> -> Distributed ID generate service. +> **[Leaf](https://github.com/Meituan-Dianping/Leaf)** ★ 6.8k 18/07/2023
Distributed ID generate service. -> **[Lettuce](https://lettuce.io/)** -> -> Lettuce is a scalable Redis client for building non-blocking Reactive applications. +> **[Lettuce](https://lettuce.io/)**
Lettuce is a scalable Redis client for building non-blocking Reactive applications. -> **[Liquibase](https://www.liquibase.org)** -> -> Database-independent library for tracking, managing and applying database schema changes. +> **[Liquibase](https://www.liquibase.org)**
Database-independent library for tracking, managing and applying database schema changes. -> **[MapDB](https://www.mapdb.org)** -> -> Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +> **[MapDB](https://www.mapdb.org)**
Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. -> **[MariaDB4j](https://github.com/vorburger/MariaDB4j)** ★ 16 Last push 2026-04-02 -> -> Launcher for MariaDB that requires no installation or external dependencies. +> **[MariaDB4j](https://github.com/vorburger/MariaDB4j)** ★ 16 02/04/2026
Launcher for MariaDB that requires no installation or external dependencies. -> **[Modality](https://github.com/arkanovicz/modality)** ★ 16 Last push 2026-06-26 -> -> Lightweight ORM with database reverse engineering features. +> **[Modality](https://github.com/arkanovicz/modality)** ★ 16 26/06/2026
Lightweight ORM with database reverse engineering features. -> **[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 218 Last push 2026-07-11 -> -> Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. +> **[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 218 11/07/2026
Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. -> **[OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ)** ★ 435 Last push 2026-07-25 -> -> LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. +> **[OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ)** ★ 435 25/07/2026
LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -> **[Querydsl](http://www.querydsl.com)** -> -> Typesafe unified queries. +> **[Querydsl](http://www.querydsl.com)**
Typesafe unified queries. -> **[QueryStream](https://github.com/querystream/querystream)** ★ 21 Last push 2025-05-06 -> -> Build JPA Criteria queries using a Stream-like API. +> **[QueryStream](https://github.com/querystream/querystream)** ★ 21 06/05/2025
Build JPA Criteria queries using a Stream-like API. -> **[QuestDB](https://github.com/questdb/questdb)** ★ 17.2k Last push 2026-07-26 -> -> High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. +> **[QuestDB](https://github.com/questdb/questdb)** ★ 17.2k 26/07/2026
High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. -> **[Realm](https://github.com/realm/realm-java)** ★ 11.5k Last push 2025-09-15 -> -> Mobile database to run directly inside phones, tablets or wearables. +> **[Realm](https://github.com/realm/realm-java)** ★ 11.5k 15/09/2025
Mobile database to run directly inside phones, tablets or wearables. -> **[Redisson](https://github.com/redisson/redisson)** ★ 24.4k Last push 2026-07-24 -> -> Allows for distributed and scalable data structures on top of a Redis server. +> **[Redisson](https://github.com/redisson/redisson)** ★ 24.4k 24/07/2026
Allows for distributed and scalable data structures on top of a Redis server. -> **[requery](https://github.com/requery/requery)** ★ 3.1k Last push 2026-02-09 -> -> Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +> **[requery](https://github.com/requery/requery)** ★ 3.1k 09/02/2026
Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. -> **[SchemaCrawler](https://www.schemacrawler.com)** -> -> Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. +> **[SchemaCrawler](https://www.schemacrawler.com)**
Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. -> **[Speedment](https://github.com/speedment/speedment)** ★ 2.1k Last push 2023-11-07 -> -> Database access library that utilizes Java 8's Stream API for querying. +> **[Speedment](https://github.com/speedment/speedment)** ★ 2.1k 07/11/2023
Database access library that utilizes Java 8's Stream API for querying. -> **[Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query)** ★ 40 Last push 2025-11-17 -> -> Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. +> **[Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query)** ★ 40 17/11/2025
Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. -> **[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 Last push 2026-01-21 -> -> Allows you to use MongoDB query language to query your relational database. +> **[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 21/01/2026
Allows you to use MongoDB query language to query your relational database. -> **[Trino](https://trino.io)** -> -> Distributed SQL query engine for big data. +> **[Trino](https://trino.io)**
Distributed SQL query engine for big data. -> **[Vibur DBCP](https://www.vibur.org)** -> -> JDBC connection pool library with advanced performance monitoring capabilities. +> **[Vibur DBCP](https://www.vibur.org)**
JDBC connection pool library with advanced performance monitoring capabilities. -> **[Xodus](https://github.com/JetBrains/xodus)** ★ 1.3k Last push 2026-07-09 -> -> Highly concurrent transactional schema-less and ACID-compliant embedded database. +> **[Xodus](https://github.com/JetBrains/xodus)** ★ 1.3k 09/07/2026
Highly concurrent transactional schema-less and ACID-compliant embedded database. -> **[CosId](https://github.com/Ahoo-Wang/CosId)** ★ 640 Last push 2026-07-25 -> -> Universal, flexible, high-performance distributed ID generator. +> **[CosId](https://github.com/Ahoo-Wang/CosId)** ★ 640 25/07/2026
Universal, flexible, high-performance distributed ID generator. -> **[Apache ShardingSphere](https://github.com/apache/shardingsphere)** ★ 20.8k Last push 2026-07-25 -> -> Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. +> **[Apache ShardingSphere](https://github.com/apache/shardingsphere)** ★ 20.8k 25/07/2026
Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database.
- -
-Date and Time 4 projects +
+Date and Time 4 projects _Libraries related to handling date and time._ -> **[iCal4j](https://github.com/ical4j/ical4j)** ★ 836 Last push 2026-06-30 -> -> Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. +> **[iCal4j](https://github.com/ical4j/ical4j)** ★ 836 30/06/2026
Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -> **[Jollyday](https://github.com/focus-shift/jollyday)** ★ 134 Last push 2026-07-23 -> -> Determines the holidays for a given year, country/name and eventually state/region. +> **[Jollyday](https://github.com/focus-shift/jollyday)** ★ 134 23/07/2026
Determines the holidays for a given year, country/name and eventually state/region. -> **[ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra)** ★ 423 Last push 2026-06-16 -> -> Additional date-time classes that complement those in JDK 8. +> **[ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra)** ★ 423 16/06/2026
Additional date-time classes that complement those in JDK 8. -> **[Time4J](https://github.com/MenoData/Time4J)** ★ 470 Last push 2024-02-11 -> -> Advanced date and time library. (LGPL-2.1-only) +> **[Time4J](https://github.com/MenoData/Time4J)** ★ 470 11/02/2024
Advanced date and time library. (LGPL-2.1-only)
- -
-Decentralization 1 project +
+Decentralization 1 project _Libraries that handle decentralization tasks._ -> **[java-tron](https://github.com/tronprotocol/java-tron)** ★ 4.1k Last push 2026-07-15 -> -> Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. +> **[java-tron](https://github.com/tronprotocol/java-tron)** ★ 4.1k 15/07/2026
Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications.
- -
-Decompilation 6 projects +
+Decompilation 6 projects _Libraries for decompiling JVM bytecode._ -> **[CFR](https://github.com/leibnitz27/cfr)** ★ 2.6k Last push 2026-06-04 -> -> Java decompiler focused on modern language features. +> **[CFR](https://github.com/leibnitz27/cfr)** ★ 2.6k 04/06/2026
Java decompiler focused on modern language features. -> **[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.3k Last push 2026-07-24 -> -> Java decompiler with broad JVM bytecode support. +> **[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.3k 24/07/2026
Java decompiler with broad JVM bytecode support. -> **[JD-Core](https://github.com/java-decompiler/jd-core)** ★ 587 Last push 2024-04-19 -> -> Core Java decompiler library. +> **[JD-Core](https://github.com/java-decompiler/jd-core)** ★ 587 19/04/2024
Core Java decompiler library. -> **[Procyon](https://github.com/mstrobel/procyon)** ★ 1.2k Last push 2022-06-12 -> -> Java decompiler and metadata toolkit. +> **[Procyon](https://github.com/mstrobel/procyon)** ★ 1.2k 12/06/2022
Java decompiler and metadata toolkit. -> **[transformer-api](https://github.com/nbauma109/transformer-api)** ★ 3 Last push 2026-07-25 -> -> Unified API that exposes multiple decompilers through one in-memory transformation interface. +> **[transformer-api](https://github.com/nbauma109/transformer-api)** ★ 3 25/07/2026
Unified API that exposes multiple decompilers through one in-memory transformation interface. -> **[Vineflower](https://github.com/Vineflower/vineflower)** ★ 2.3k Last push 2026-07-11 -> -> Modern maintained fork of Fernflower. +> **[Vineflower](https://github.com/Vineflower/vineflower)** ★ 2.3k 11/07/2026
Modern maintained fork of Fernflower.
- -
-Dependency Injection 9 projects +
+Dependency Injection 9 projects _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ -> **[Apache DeltaSpike](https://deltaspike.apache.org)** -> -> CDI extension framework. +> **[Apache DeltaSpike](https://deltaspike.apache.org)**
CDI extension framework. -> **[Avaje Inject](https://avaje.io/inject/)** -> -> Microservice-focused compile-time injection framework without reflection. +> **[Avaje Inject](https://avaje.io/inject/)**
Microservice-focused compile-time injection framework without reflection. -> **[Dagger](https://dagger.dev/)** -> -> Compile-time injection framework without reflection. +> **[Dagger](https://dagger.dev/)**
Compile-time injection framework without reflection. -> **[Dimension-DI](https://github.com/akardapolov/dimension-di)** ★ 19 Last push 2026-05-24 -> -> JSR-330 runtime dependency injection using the JDK Class-File API. +> **[Dimension-DI](https://github.com/akardapolov/dimension-di)** ★ 19 24/05/2026
JSR-330 runtime dependency injection using the JDK Class-File API. -> **[Feather](https://github.com/zsoltherpai/feather)** ★ 365 Last push 2018-04-18 -> -> Ultra-lightweight, JSR-330-compliant dependency injection library. +> **[Feather](https://github.com/zsoltherpai/feather)** ★ 365 18/04/2018
Ultra-lightweight, JSR-330-compliant dependency injection library. -> **[Governator](https://github.com/Netflix/governator)** ★ 829 Last push 2025-12-17 -> -> Extensions and utilities that enhance Google Guice. +> **[Governator](https://github.com/Netflix/governator)** ★ 829 17/12/2025
Extensions and utilities that enhance Google Guice. -> **[Guice](https://github.com/google/guice)** ★ 12.7k Last push 2026-07-02 -> -> Lightweight and opinionated framework that completes Dagger. +> **[Guice](https://github.com/google/guice)** ★ 12.7k 02/07/2026
Lightweight and opinionated framework that completes Dagger. -> **[HK2](https://eclipse-ee4j.github.io/glassfish-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)** ★ 64 Last push 2023-02-21 -> -> Lightweight dependency injection framework. (LGPL-3.0-only) +> **[JayWire](https://github.com/vanillasource/jaywire)** ★ 64 21/02/2023
Lightweight dependency injection framework. (LGPL-3.0-only)
- -
-Development 10 projects +
+Development 10 projects _Augmentation of the development process at a fundamental level._ -> **[AspectJ](https://www.eclipse.org/aspectj/)** -> -> Seamless aspect-oriented programming extension. +> **[AspectJ](https://www.eclipse.org/aspectj/)**
Seamless aspect-oriented programming extension. -> **[DCEVM](https://dcevm.github.io)** -> -> JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) +> **[DCEVM](https://dcevm.github.io)**
JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) -> **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 Last push 2025-06-30 -> -> Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +> **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 30/06/2025
Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k Last push 2026-02-15 -> -> Unlimited runtime class and resource redefinition. (GPL-2.0-only) +> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k 15/02/2026
Unlimited runtime class and resource redefinition. (GPL-2.0-only) -> **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k Last push 2026-07-24 -> -> Parse, modify and generate Java code. +> **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k 24/07/2026
Parse, modify and generate Java code. -> **[JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver)** ★ 296 Last push 2018-01-14 -> -> Symbol solver. +> **[JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver)** ★ 296 14/01/2018
Symbol solver. -> **[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k Last push 2026-07-26 -> -> Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. +> **[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k 26/07/2026
Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -> **[NoException](https://noexception.machinezoo.com)** -> -> Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +> **[NoException](https://noexception.machinezoo.com)**
Allows checked exceptions in functional interfaces and converts exceptions to Optional return. -> **[SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow)** ★ 81 Last push 2019-10-24 -> -> Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. +> **[SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow)** ★ 81 24/10/2019
Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -> **[Tail](https://nrktkt.github.io/tail/)** -> -> Enable infinite recursion using tail call optimization. +> **[Tail](https://nrktkt.github.io/tail/)**
Enable infinite recursion using tail call optimization.
- -
-Distributed Applications 14 projects +
+Distributed Applications 14 projects _Libraries and frameworks for writing distributed and fault-tolerant applications._ -> **[Apache Geode](https://geode.apache.org)** -> -> In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +> **[Apache Geode](https://geode.apache.org)**
In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -> **[Apache Storm](https://storm.apache.org)** -> -> Realtime computation system. +> **[Apache Storm](https://storm.apache.org)**
Realtime computation system. -> **[Apache ZooKeeper](https://zookeeper.apache.org)** -> -> Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +> **[Apache ZooKeeper](https://zookeeper.apache.org)**
Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -> **[Atomix](https://atomix.io)** -> -> Fault-tolerant distributed coordination framework. +> **[Atomix](https://atomix.io)**
Fault-tolerant distributed coordination framework. -> **[Axon](https://axoniq.io)** -> -> Framework for creating CQRS applications. +> **[Axon](https://axoniq.io)**
Framework for creating CQRS applications. -> **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 Last push 2026-01-26 -> -> Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +> **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 26/01/2026
Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) -> **[Failsafe](https://github.com/jhalterman/failsafe)** ★ 4.3k Last push 2025-12-28 -> -> Simple failure handling with retries and circuit breakers. +> **[Failsafe](https://github.com/jhalterman/failsafe)** ★ 4.3k 28/12/2025
Simple failure handling with retries and circuit breakers. -> **[Hazelcast](https://github.com/hazelcast/hazelcast)** ★ 6.6k Last push 2026-07-23 -> -> Highly scalable in-memory datagrid with a free open-source version. +> **[Hazelcast](https://github.com/hazelcast/hazelcast)** ★ 6.6k 23/07/2026
Highly scalable in-memory datagrid with a free open-source version. -> **[JGroups](http://www.jgroups.org)** -> -> Toolkit for reliable messaging and cluster creation. +> **[JGroups](http://www.jgroups.org)**
Toolkit for reliable messaging and cluster creation. -> **[Quasar](https://docs.paralleluniverse.co/quasar/)** -> -> Lightweight threads and actors for the JVM. +> **[Quasar](https://docs.paralleluniverse.co/quasar/)**
Lightweight threads and actors for the JVM. -> **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k Last push 2026-07-08 -> -> Functional fault tolerance library. +> **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k 08/07/2026
Functional fault tolerance library. -> **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 Last push 2026-07-16 -> -> High-performance reverse proxy server with specialized session management and credential replay functionality. +> **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 16/07/2026
High-performance reverse proxy server with specialized session management and credential replay functionality. -> **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 Last push 2026-07-08 -> -> Embeddable Cluster-Membership library based on SWIM and gossip protocol. +> **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 08/07/2026
Embeddable Cluster-Membership library based on SWIM and gossip protocol. -> **[Zuul](https://github.com/Netflix/zuul)** ★ 14.1k Last push 2026-07-25 -> -> Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. +> **[Zuul](https://github.com/Netflix/zuul)** ★ 14.1k 25/07/2026
Gateway service that provides dynamic routing, monitoring, resiliency, security, and more.
- -
-Distributed Transactions 4 projects +
+Distributed Transactions 4 projects _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ -> **[Atomikos](https://www.atomikos.com)** -> -> Provides transactions for REST, SOA and microservices with support for JTA and XA. +> **[Atomikos](https://www.atomikos.com)**
Provides transactions for REST, SOA and microservices with support for JTA and XA. -> **[Bitronix](https://github.com/bitronix/btm)** ★ 431 Last push 2026-02-24 -> -> Simple but complete implementation of the JTA 1.1 API. +> **[Bitronix](https://github.com/bitronix/btm)** ★ 431 24/02/2026
Simple but complete implementation of the JTA 1.1 API. -> **[Narayana](https://narayana.io)** -> -> Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +> **[Narayana](https://narayana.io)**
Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) -> **[Seata](https://github.com/seata/seata)** ★ 26k Last push 2026-07-25 -> -> Delivers high performance and easy to use distributed transaction services under a microservices architecture. +> **[Seata](https://github.com/seata/seata)** ★ 26k 25/07/2026
Delivers high performance and easy to use distributed transaction services under a microservices architecture.
- -
-Distribution 14 projects +
+Distribution 14 projects _Tools that handle the distribution of applications in native formats._ -> **[Artipie](https://github.com/artipie/artipie)** ★ 689 Last push 2026-06-20 -> -> Binary artifact management toolkit which hosts them on the file system or S3. +> **[Artipie](https://github.com/artipie/artipie)** ★ 689 20/06/2026
Binary artifact management toolkit which hosts them on the file system or S3. -> **[Boxfuse ![c]](https://boxfuse.com)** -> -> Deployment of JVM applications to AWS using the principles of immutable infrastructure. +> **[Boxfuse ![c]](https://boxfuse.com)**
Deployment of JVM applications to AWS using the principles of immutable infrastructure. -> **[Capsule](https://github.com/puniverse/capsule)** ★ 1.1k Last push 2022-05-29 -> -> Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +> **[Capsule](https://github.com/puniverse/capsule)** ★ 1.1k 29/05/2022
Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. -> **[Central Repository](https://search.maven.org)** -> -> Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. +> **[Central Repository](https://search.maven.org)**
Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -> **[Cloudsmith ![c]](https://cloudsmith.io)** -> -> Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +> **[Cloudsmith ![c]](https://cloudsmith.io)**
Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. -> **[Getdown](https://github.com/threerings/getdown)** ★ 530 Last push 2026-05-12 -> -> System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +> **[Getdown](https://github.com/threerings/getdown)** ★ 530 12/05/2026
System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -> **[IzPack](https://izpack.org)** -> -> Setup authoring tool for cross-platform deployments. +> **[IzPack](https://izpack.org)**
Setup authoring tool for cross-platform deployments. -> **[JavaPackager](https://github.com/fvarrui/JavaPackager)** ★ 1.2k Last push 2026-03-19 -> -> Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +> **[JavaPackager](https://github.com/fvarrui/JavaPackager)** ★ 1.2k 19/03/2026
Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -> **[jDeploy](https://www.jdeploy.com)** -> -> Deploy desktop apps as native Mac, Windows or Linux bundles. +> **[jDeploy](https://www.jdeploy.com)**
Deploy desktop apps as native Mac, Windows or Linux bundles. -> **[jlink.online](https://github.com/AdoptOpenJDK/jlink.online)** ★ 51 Last push 2026-07-17 -> -> Builds optimized runtimes over HTTP. +> **[jlink.online](https://github.com/AdoptOpenJDK/jlink.online)** ★ 51 17/07/2026
Builds optimized runtimes over HTTP. -> **[Nuts](https://github.com/thevpc/nuts)** ★ 157 Last push 2026-07-25 -> -> Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. +> **[Nuts](https://github.com/thevpc/nuts)** ★ 157 25/07/2026
Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. -> **[Nexus ![c]](https://www.sonatype.com)** -> -> Binary management with proxy and caching capabilities. +> **[Nexus ![c]](https://www.sonatype.com)**
Binary management with proxy and caching capabilities. -> **[packr](https://github.com/libgdx/packr)** ★ 2.6k Last push 2024-04-11 -> -> Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. +> **[packr](https://github.com/libgdx/packr)** ★ 2.6k 11/04/2024
Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. -> **[really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin)** ★ 136 Last push 2026-03-27 -> -> Maven plugin for making self-executing JARs. +> **[really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin)** ★ 136 27/03/2026
Maven plugin for making self-executing JARs.
- -
-Document Processing 9 projects +
+Document Processing 9 projects _Libraries that assist with processing office document formats._ -> **[Apache POI](https://poi.apache.org)** -> -> Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +> **[Apache POI](https://poi.apache.org)**
Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -> **[documents4j](https://documents4j.com/#/)** -> -> API for document format conversion using third-party converters such as MS Word. +> **[documents4j](https://documents4j.com/#/)**
API for document format conversion using third-party converters such as MS Word. -> **[docx4j](https://www.docx4java.org/trac/docx4j)** -> -> Create and manipulate Microsoft Open XML files. +> **[docx4j](https://www.docx4java.org/trac/docx4j)**
Create and manipulate Microsoft Open XML files. -> **[fastexcel](https://github.com/dhatim/fastexcel)** ★ 908 Last push 2026-07-22 -> -> High performance library to read and write large Excel (XLSX) worksheets. +> **[fastexcel](https://github.com/dhatim/fastexcel)** ★ 908 22/07/2026
High performance library to read and write large Excel (XLSX) worksheets. -> **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 Last push 2026-07-24 -> -> Converts HTML to CommonMark-compatible Markdown through a Java binding. +> **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 24/07/2026
Converts HTML to CommonMark-compatible Markdown through a Java binding. -> **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Last push 2026-07-14 -> -> Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. +> **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 14/07/2026
Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. -> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 61 Last push 2026-06-22 -> -> Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. +> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 61 22/06/2026
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. -> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k Last push 2026-07-26 -> -> Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. +> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k 26/07/2026
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. -> **[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 Last push 2024-12-12 -> -> Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. +> **[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 12/12/2024
Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.
- -
-Financial 7 projects +
+Financial 7 projects _Libraries related to the financial domain._ -> **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 Last push 2025-03-01 -> -> Trading bot framework. +> **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 01/03/2025
Trading bot framework. -> **[Parity](https://github.com/paritytrading/parity)** ★ 502 Last push 2022-02-09 -> -> Platform for trading venues. +> **[Parity](https://github.com/paritytrading/parity)** ★ 502 09/02/2022
Platform for trading venues. -> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Last push 2026-07-22 -> -> Low-latency financial information exchange. +> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 22/07/2026
Low-latency financial information exchange. -> **[Square](https://github.com/square/connect-java-sdk)** ★ 42 Last push 2021-01-20 -> -> Integration with the Square API. +> **[Square](https://github.com/square/connect-java-sdk)** ★ 42 20/01/2021
Integration with the Square API. -> **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 Last push 2026-07-24 -> -> Integration with the Stripe API. +> **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 24/07/2026
Integration with the Stripe API. -> **[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k Last push 2026-07-25 -> -> Library for technical analysis. +> **[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k 25/07/2026
Library for technical analysis. -> **[Wickra](https://github.com/wickra-lib/wickra)** ★ 38 Last push 2026-07-25 -> -> Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. +> **[Wickra](https://github.com/wickra-lib/wickra)** ★ 38 25/07/2026
Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j.
- -
-Flat File 3 projects +
+Flat File 3 projects _Frameworks and libraries for reading and writing fixed-length and delimited flat files._ -> **[BeanIO](https://github.com/beanio/beanio)** ★ 68 Last push 2025-02-07 -> -> Maps flat files of fixed-length or delimited records to and from Java beans using XML or annotation configuration. +> **[BeanIO](https://github.com/beanio/beanio)** ★ 68 07/02/2025
Maps flat files of fixed-length or delimited records to and from Java beans using XML or annotation configuration. -> **[fixedformat4j](https://github.com/jeyben/fixedformat4j)** ★ 52 Last push 2026-07-25 -> -> Annotation-driven mapping of fixed-width flat files to and from POJOs and Java records. +> **[fixedformat4j](https://github.com/jeyben/fixedformat4j)** ★ 52 25/07/2026
Annotation-driven mapping of fixed-width flat files to and from POJOs and Java records. -> **[Flatpack](https://github.com/Appendium/flatpack)** ★ 64 Last push 2026-02-08 -> -> Parses and writes delimited and fixed-length flat files with optional column-mapping definitions. +> **[Flatpack](https://github.com/Appendium/flatpack)** ★ 64 08/02/2026
Parses and writes delimited and fixed-length flat files with optional column-mapping definitions.
- -
-Formal Verification 7 projects +
+Formal Verification 7 projects _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -> **[CATG](https://github.com/ksen007/janala2)** ★ 106 Last push 2018-02-20 -> -> Concolic unit testing engine. Automatically generates unit tests using formal methods. +> **[CATG](https://github.com/ksen007/janala2)** ★ 106 20/02/2018
Concolic unit testing engine. Automatically generates unit tests using formal methods. -> **[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) +> **[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. +> **[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)** ★ 614 Last push 2026-07-24 -> -> JVM formal verification tool containing a model checker and more. Created by NASA. +> **[Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core)** ★ 614 24/07/2026
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) +> **[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) +> **[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](https://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) +> **[OpenJML](https://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 10 projects +
+Functional Programming 10 projects _Libraries that facilitate functional programming._ -> **[Cyclops](https://github.com/aol/cyclops)** ★ 1.3k Last push 2023-03-21 -> -> Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. +> **[Cyclops](https://github.com/aol/cyclops)** ★ 1.3k 21/03/2023
Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. -> **[derive4j](https://github.com/derive4j/derive4j)** ★ 576 Last push 2022-12-01 -> -> Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) +> **[derive4j](https://github.com/derive4j/derive4j)** ★ 576 01/12/2022
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) -> **[Fugue](https://bitbucket.org/atlassian/fugue)** -> -> Functional extensions to Guava. +> **[Fugue](https://bitbucket.org/atlassian/fugue)**
Functional extensions to Guava. -> **[Functional Java](https://github.com/functionaljava/functionaljava)** ★ 1.6k Last push 2023-04-25 -> -> Implements numerous basic and advanced programming abstractions that assist composition-oriented development. +> **[Functional Java](https://github.com/functionaljava/functionaljava)** ★ 1.6k 25/04/2023
Implements numerous basic and advanced programming abstractions that assist composition-oriented development. -> **[jOOλ](https://github.com/jOOQ/jOOL)** ★ 2.1k Last push 2024-08-01 -> -> 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. +> **[jOOλ](https://github.com/jOOQ/jOOL)** ★ 2.1k 01/08/2024
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)** ★ 29 Last push 2026-07-07 -> -> Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. +> **[Packrat](https://github.com/jhspetersson/packrat)** ★ 29 07/07/2026
Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. -> **[Parallel Collectors](https://github.com/pivovarit/parallel-collectors)** ★ 679 Last push 2026-07-23 -> -> Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. +> **[Parallel Collectors](https://github.com/pivovarit/parallel-collectors)** ★ 679 23/07/2026
Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. -> **[protonpack](https://github.com/poetix/protonpack)** ★ 487 Last push 2026-05-07 -> -> Collection of stream utilities. +> **[protonpack](https://github.com/poetix/protonpack)** ★ 487 07/05/2026
Collection of stream utilities. -> **[StreamEx](https://github.com/amaembo/streamex)** ★ 2.3k Last push 2026-07-19 -> -> Enhances Java 8 Streams. +> **[StreamEx](https://github.com/amaembo/streamex)** ★ 2.3k 19/07/2026
Enhances Java 8 Streams. -> **[Vavr](https://www.vavr.io)** -> -> Functional component library that provides persistent data types and functional control structures. +> **[Vavr](https://www.vavr.io)**
Functional component library that provides persistent data types and functional control structures.
- -
-Game Development 9 projects +
+Game Development 9 projects _Frameworks that support the development of games._ -> **[FXGL](https://almasb.github.io/FXGL/)** -> -> JavaFX Game Development Framework. +> **[FXGL](https://almasb.github.io/FXGL/)**
JavaFX Game Development Framework. -> **[input4j](https://gurkenlabs.github.io/input4j/)** -> -> Lightweight, cross-platform library for gamepad and joystick input handling. +> **[input4j](https://gurkenlabs.github.io/input4j/)**
Lightweight, cross-platform library for gamepad and joystick input handling. -> **[JBox2D](https://www.jbox2d.org/)** -> -> Port of the renowned C++ 2D physics engine. +> **[JBox2D](https://www.jbox2d.org/)**
Port of the renowned C++ 2D physics engine. -> **[jMonkeyEngine](https://jmonkeyengine.org)** -> -> Game engine for modern 3D development. +> **[jMonkeyEngine](https://jmonkeyengine.org)**
Game engine for modern 3D development. -> **[libGDX](https://libgdx.com)** -> -> All-round cross-platform, high-level framework. +> **[libGDX](https://libgdx.com)**
All-round cross-platform, high-level framework. -> **[Litiengine](https://litiengine.com/)** -> -> AWT-based, lightweight 2D game engine. +> **[Litiengine](https://litiengine.com/)**
AWT-based, lightweight 2D game engine. -> **[LWJGL](https://www.lwjgl.org)** -> -> Robust framework that abstracts libraries like OpenGL/CL/AL. +> **[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. +> **[Mini2Dx](https://mini2dx.org)**
Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. -> **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 Last push 2025-07-28 -> -> Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. +> **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 28/07/2025
Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.
- -
-Geospatial 9 projects +
+Geospatial 9 projects _Libraries for working with geospatial data and algorithms._ -> **[Apache SIS](https://sis.apache.org)** -> -> Library for developing geospatial applications. +> **[Apache SIS](https://sis.apache.org)**
Library for developing geospatial applications. -> **[ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/)** ★ 131 Last push 2025-09-19 -> -> JavaFX library for adding mapping and GIS functionality to desktop apps. +> **[ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/)** ★ 131 19/09/2025
JavaFX library for adding mapping and GIS functionality to desktop apps. -> **[Geo](https://github.com/davidmoten/geo)** ★ 434 Last push 2026-07-13 -> -> GeoHash utilities in Java. +> **[Geo](https://github.com/davidmoten/geo)** ★ 434 13/07/2026
GeoHash utilities in Java. -> **[GeoTools](https://geotools.org)** -> -> Library that provides tools for geospatial data. (LGPL-2.1-only) +> **[GeoTools](https://geotools.org)**
Library that provides tools for geospatial data. (LGPL-2.1-only) -> **[GraphHopper](https://github.com/graphhopper/graphhopper)** ★ 6.6k Last push 2026-07-25 -> -> Road-routing engine. Used as a Java library or standalone web service. +> **[GraphHopper](https://github.com/graphhopper/graphhopper)** ★ 6.6k 25/07/2026
Road-routing engine. Used as a Java library or standalone web service. -> **[H2GIS](https://h2gis.org/)** -> -> Spatial extension of the H2 database. (LGPL-3.0-only) +> **[H2GIS](https://h2gis.org/)**
Spatial extension of the H2 database. (LGPL-3.0-only) -> **[Jgeohash](https://astrapi69.github.io/jgeohash/)** -> -> Library for using the GeoHash algorithm. +> **[Jgeohash](https://astrapi69.github.io/jgeohash/)**
Library for using the GeoHash algorithm. -> **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k Last push 2026-07-26 -> -> Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +> **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k 26/07/2026
Map rendering based on OpenStreetMap data. (LGPL-3.0-only) -> **[Spatial4j](https://github.com/locationtech/spatial4j)** ★ 962 Last push 2026-06-30 -> -> General-purpose spatial/geospatial library. +> **[Spatial4j](https://github.com/locationtech/spatial4j)** ★ 962 30/06/2026
General-purpose spatial/geospatial library.
- -
-GUI 6 projects +
+GUI 6 projects _Libraries to create modern graphical user interfaces._ -> **[FlatLaf](https://github.com/JFormDesigner/FlatLaf)** ★ 4.2k Last push 2026-07-15 -> -> Modern Swing Look and Feel with Darcula and IntelliJ themes. +> **[FlatLaf](https://github.com/JFormDesigner/FlatLaf)** ★ 4.2k 15/07/2026
Modern Swing Look and Feel with Darcula and IntelliJ themes. -> **[JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main)** -> -> Successor of Swing. +> **[JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main)**
Successor of Swing. -> **[Scene Builder](https://gluonhq.com/products/scene-builder/)** -> -> Visual layout tool for JavaFX applications. +> **[Scene Builder](https://gluonhq.com/products/scene-builder/)**
Visual layout tool for JavaFX applications. -> **[SnapKit](https://github.com/reportmill/SnapKit)** ★ 332 Last push 2026-07-25 -> -> Modern Java UI library for both desktop and web. +> **[SnapKit](https://github.com/reportmill/SnapKit)** ★ 332 25/07/2026
Modern Java UI library for both desktop and web. -> **[Sierra](https://github.com/HTTP-RPC/Sierra)** ★ 150 Last push 2026-07-23 -> -> Lightwieght declarative DSL for rapid development of Swing applications. +> **[Sierra](https://github.com/HTTP-RPC/Sierra)** ★ 150 23/07/2026
Lightwieght declarative DSL for rapid development of Swing applications. -> **[SWT](https://www.eclipse.org/swt/)** -> -> Graphical widget toolkit. +> **[SWT](https://www.eclipse.org/swt/)**
Graphical widget toolkit.
- -
-High Performance 7 projects +
+High Performance 7 projects _Everything about high-performance computation, from collections to specific libraries._ -> **[Agrona](https://github.com/real-logic/Agrona)** ★ 3.2k Last push 2026-07-16 -> -> Data structures and utility methods that are common in high-performance applications. +> **[Agrona](https://github.com/real-logic/Agrona)** ★ 3.2k 16/07/2026
Data structures and utility methods that are common in high-performance applications. -> **[Disruptor](https://lmax-exchange.github.io/disruptor/)** -> -> Inter-thread messaging library. +> **[Disruptor](https://lmax-exchange.github.io/disruptor/)**
Inter-thread messaging library. -> **[Eclipse Collections](https://github.com/eclipse/eclipse-collections)** ★ 2.6k Last push 2026-07-25 -> -> Collections framework inspired by Smalltalk. +> **[Eclipse Collections](https://github.com/eclipse/eclipse-collections)** ★ 2.6k 25/07/2026
Collections framework inspired by Smalltalk. -> **[fastutil](https://fastutil.di.unimi.it)** -> -> Fast and compact type-specific collections. +> **[fastutil](https://fastutil.di.unimi.it)**
Fast and compact type-specific collections. -> **[HPPC](https://labs.carrotsearch.com/hppc.html)** -> -> Primitive collections. +> **[HPPC](https://labs.carrotsearch.com/hppc.html)**
Primitive collections. -> **[JCTools](https://github.com/JCTools/JCTools)** ★ 3.9k Last push 2026-07-03 -> -> Concurrency tools currently missing from the JDK. +> **[JCTools](https://github.com/JCTools/JCTools)** ★ 3.9k 03/07/2026
Concurrency tools currently missing from the JDK. -> **[Koloboke](https://github.com/leventov/Koloboke)** ★ 1k Last push 2017-02-01 -> -> Carefully designed extension of the Java Collections Framework with primitive specializations and more. +> **[Koloboke](https://github.com/leventov/Koloboke)** ★ 1k 01/02/2017
Carefully designed extension of the Java Collections Framework with primitive specializations and more.
- -
-HTTP Clients 11 projects +
+HTTP Clients 11 projects _Libraries that assist with creating HTTP requests and/or binding responses._ -> **[Apache HttpComponents](https://hc.apache.org/)** -> -> Toolset of low-level Java components focused on HTTP and associated protocols. +> **[Apache HttpComponents](https://hc.apache.org/)**
Toolset of low-level Java components focused on HTTP and associated protocols. -> **[Async Http Client](https://github.com/AsyncHttpClient/async-http-client)** ★ 6.4k Last push 2026-07-26 -> -> Asynchronous HTTP and WebSocket client library. +> **[Async Http Client](https://github.com/AsyncHttpClient/async-http-client)** ★ 6.4k 26/07/2026
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. +> **[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)** ★ 9.8k Last push 2026-07-23 -> -> HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. +> **[Feign](https://github.com/OpenFeign/feign)** ★ 9.8k 23/07/2026
HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. -> **[Google HTTP Client](https://github.com/googleapis/google-http-java-client)** ★ 1.4k Last push 2026-07-20 -> -> 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)** ★ 1.4k 20/07/2026
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)** ★ 298 Last push 2026-03-16 -> -> HTTP client extensions library. +> **[methanol](https://github.com/mizosoft/methanol)** ★ 298 16/03/2026
HTTP client extensions library. -> **[Retrofit](https://square.github.io/retrofit/)** -> -> Typesafe REST client. +> **[Retrofit](https://square.github.io/retrofit/)**
Typesafe REST client. -> **[Ribbon](https://github.com/Netflix/ribbon)** ★ 4.6k Last push 2025-12-17 -> -> Client-side IPC library that is battle-tested in the cloud. +> **[Ribbon](https://github.com/Netflix/ribbon)** ★ 4.6k 17/12/2025
Client-side IPC library that is battle-tested in the cloud. -> **[Riptide](https://github.com/zalando/riptide)** ★ 340 Last push 2026-07-24 -> -> Client-side response routing for Spring's RestTemplate. +> **[Riptide](https://github.com/zalando/riptide)** ★ 340 24/07/2026
Client-side response routing for Spring's RestTemplate. -> **[unirest-java](https://github.com/Kong/unirest-java)** ★ 2.7k Last push 2026-07-23 -> -> Simplified, lightweight HTTP client library. +> **[unirest-java](https://github.com/Kong/unirest-java)** ★ 2.7k 23/07/2026
Simplified, lightweight HTTP client library. -> **[JQuickCurl](https://github.com/paohaijiao/jquick-curl)** ★ 1.1k Last push 2026-06-30 -> -> Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. +> **[JQuickCurl](https://github.com/paohaijiao/jquick-curl)** ★ 1.1k 30/06/2026
Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients.
- -
-Hypermedia Types 4 projects +
+Hypermedia Types 4 projects _Libraries that handle serialization to hypermedia types._ -> **[hate](https://github.com/blackdoor/hate)** ★ 25 Last push 2023-11-14 -> -> Builds hypermedia-friendly objects according to HAL specification. +> **[hate](https://github.com/blackdoor/hate)** ★ 25 14/11/2023
Builds hypermedia-friendly objects according to HAL specification. -> **[JSON-LD](https://github.com/jsonld-java/jsonld-java)** ★ 388 Last push 2024-01-10 -> -> JSON-LD implementation. +> **[JSON-LD](https://github.com/jsonld-java/jsonld-java)** ★ 388 10/01/2024
JSON-LD implementation. -> **[Siren4J](https://github.com/eserating-chwy/siren4j)** ★ 28 Last push 2024-05-03 -> -> Library for the Siren specification. +> **[Siren4J](https://github.com/eserating-chwy/siren4j)** ★ 28 03/05/2024
Library for the Siren specification. -> **[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k Last push 2026-07-10 -> -> Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. +> **[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k 10/07/2026
Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.
- -
-IDE 6 projects +
+IDE 6 projects _Integrated development environments that try to simplify several aspects of development._ -> **[Eclipse](https://www.eclipse.org)** -> -> Established open-source project with support for lots of plugins and languages. +> **[Eclipse](https://www.eclipse.org)**
Established open-source project with support for lots of plugins and languages. -> **[IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/)** -> -> Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +> **[IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/)**
Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. -> **[jGRASP](https://www.jgrasp.org)** -> -> Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. +> **[jGRASP](https://www.jgrasp.org)**
Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -> **[NetBeans](https://netbeans.apache.org)** -> -> Provides integration for several Java SE and EE features, from database access to HTML5. +> **[NetBeans](https://netbeans.apache.org)**
Provides integration for several Java SE and EE features, from database access to HTML5. -> **[SnapCode](https://reportmill.com/SnapCode/)** -> -> Modern IDE for Java running in the browser, focused on education. +> **[SnapCode](https://reportmill.com/SnapCode/)**
Modern IDE for Java running in the browser, focused on education. -> **[Visual Studio Code](https://code.visualstudio.com/docs/languages/java)** -> -> Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. +> **[Visual Studio Code](https://code.visualstudio.com/docs/languages/java)**
Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace.
- -
-Imagery 9 projects +
+Imagery 9 projects _Libraries that assist with the creation, evaluation or manipulation of graphical images._ -> **[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 17 Last push 2026-07-02 -> -> Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +> **[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 17 02/07/2026
Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. -> **[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k Last push 2023-10-21 -> -> Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. +> **[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k 21/10/2023
Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -> **[Tess4J](https://github.com/nguyenq/tess4j)** ★ 1.8k Last push 2026-06-20 -> -> JNA wrapper for Tesseract OCR API. +> **[Tess4J](https://github.com/nguyenq/tess4j)** ★ 1.8k 20/06/2026
JNA wrapper for Tesseract OCR API. -> **[Thumbnailator](https://github.com/coobird/thumbnailator)** ★ 5.4k Last push 2026-02-17 -> -> High-quality thumbnail generation library. +> **[Thumbnailator](https://github.com/coobird/thumbnailator)** ★ 5.4k 17/02/2026
High-quality thumbnail generation library. -> **[TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys)** ★ 2.1k Last push 2026-07-15 -> -> Collection of plugins that extend the number of supported image file formats. +> **[TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys)** ★ 2.1k 15/07/2026
Collection of plugins that extend the number of supported image file formats. -> **[ZXing](https://github.com/zxing/zxing)** ★ 34k Last push 2026-07-18 -> -> Multi-format 1D/2D barcode image processing library. +> **[ZXing](https://github.com/zxing/zxing)** ★ 34k 18/07/2026
Multi-format 1D/2D barcode image processing library. -> **[image-comparison](https://github.com/romankh3/image-comparison)** ★ 396 Last push 2025-06-11 -> -> 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)** ★ 396 11/06/2025
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)** ★ 130 Last push 2026-07-20 -> -> Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. +> **[vips-ffm](https://github.com/lopcode/vips-ffm)** ★ 130 20/07/2026
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. +> **[scrimage](https://sksamuel.github.io/scrimage)**
Immutable, functional, and performant JVM library for manipulation of images.
- -
-Introspection 6 projects +
+Introspection 6 projects _Libraries that help make the Java introspection and reflection API easier and faster to use._ -> **[ClassGraph](https://github.com/classgraph/classgraph)** ★ 3k Last push 2026-06-05 -> -> ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. +> **[ClassGraph](https://github.com/classgraph/classgraph)** ★ 3k 05/06/2026
ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. -> **[jOOR](https://github.com/jOOQ/jOOR)** ★ 2.8k Last push 2025-01-06 -> -> jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. +> **[jOOR](https://github.com/jOOQ/jOOR)** ★ 2.8k 06/01/2025
jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -> **[Mirror](http://projetos.vidageek.net/mirror/mirror/)** -> -> Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +> **[Mirror](http://projetos.vidageek.net/mirror/mirror/)**
Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -> **[Objenesis](https://objenesis.org)** -> -> Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +> **[Objenesis](https://objenesis.org)**
Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. -> **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k Last push 2025-06-05 -> -> ReflectASM is a very small Java library that provides high performance reflection by using code generation. +> **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k 05/06/2025
ReflectASM is a very small Java library that provides high performance reflection by using code generation. -> **[Reflections](https://github.com/ronmamo/reflections)** ★ 4.8k Last push 2024-06-17 -> -> Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. +> **[Reflections](https://github.com/ronmamo/reflections)** ★ 4.8k 17/06/2024
Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.
- -
-Job Scheduling 7 projects +
+Job Scheduling 7 projects _Libraries for scheduling background jobs._ -> **[JobRunr](https://github.com/jobrunr/jobrunr)** ★ 3k Last push 2026-07-24 -> -> 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. +> **[JobRunr](https://github.com/jobrunr/jobrunr)** ★ 3k 24/07/2026
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)** ★ 6.7k Last push 2026-05-13 -> -> Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. +> **[Quartz](https://github.com/quartz-scheduler/quartz)** ★ 6.7k 13/05/2026
Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. -> **[Sundial](https://github.com/knowm/Sundial)** ★ 280 Last push 2026-06-16 -> -> Lightweight framework to simply define jobs, define triggers and start the scheduler. +> **[Sundial](https://github.com/knowm/Sundial)** ★ 280 16/06/2026
Lightweight framework to simply define jobs, define triggers and start the scheduler. -> **[Wisp](https://github.com/Coreoz/Wisp)** ★ 148 Last push 2026-01-26 -> -> Simple library with minimal footprint and straightforward API. +> **[Wisp](https://github.com/Coreoz/Wisp)** ★ 148 26/01/2026
Simple library with minimal footprint and straightforward API. -> **[db-scheduler](https://github.com/kagkarlsson/db-scheduler)** ★ 1.6k Last push 2026-07-06 -> -> Persistent and cluster-friendly scheduler. +> **[db-scheduler](https://github.com/kagkarlsson/db-scheduler)** ★ 1.6k 06/07/2026
Persistent and cluster-friendly scheduler. -> **[easy-batch](https://github.com/j-easy/easy-batch)** ★ 622 Last push 2023-03-20 -> -> 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. +> **[easy-batch](https://github.com/j-easy/easy-batch)** ★ 622 20/03/2023
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)** ★ 4.2k Last push 2026-07-24 -> -> 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)** ★ 4.2k 24/07/2026
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 17 projects +
+JSON 17 projects _Libraries for serializing and deserializing JSON to and from Java objects._ -> **[Avaje Jsonb](https://avaje.io/jsonb/)** -> -> Reflection-free Json binding via source code generation with Jackson-like annotations. +> **[Avaje Jsonb](https://avaje.io/jsonb/)**
Reflection-free Json binding via source code generation with Jackson-like annotations. -> **[DSL-JSON](https://github.com/ngs-doo/dsl-json)** ★ 1.1k Last push 2026-06-29 -> -> JSON library with advanced compile time databinding. +> **[DSL-JSON](https://github.com/ngs-doo/dsl-json)** ★ 1.1k 29/06/2026
JSON library with advanced compile time databinding. -> **[Genson](http://genson.io)** -> -> Powerful and easy-to-use Java-to-JSON conversion library. +> **[Genson](http://genson.io)**
Powerful and easy-to-use Java-to-JSON conversion library. -> **[Gson](https://github.com/google/gson)** ★ 24.2k Last push 2026-07-25 -> -> Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. +> **[Gson](https://github.com/google/gson)** ★ 24.2k 25/07/2026
Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -> **[HikariJSON](https://github.com/brettwooldridge/HikariJSON)** ★ 470 Last push 2023-03-21 -> -> High-performance JSON parser, 2x faster than Jackson. +> **[HikariJSON](https://github.com/brettwooldridge/HikariJSON)** ★ 470 21/03/2023
High-performance JSON parser, 2x faster than Jackson. -> **[jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8)** ★ 423 Last push 2026-07-08 -> -> Set of Jackson modules for Java 8 datatypes and features. +> **[jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8)** ★ 423 08/07/2026
Set of Jackson modules for Java 8 datatypes and features. -> **[Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money)** ★ 262 Last push 2025-06-27 -> -> Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. +> **[Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money)** ★ 262 27/06/2025
Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. -> **[Jackson](https://github.com/FasterXML/jackson)** ★ 9.8k Last push 2026-07-17 -> -> Similar to GSON, but offers performance gains if you need to instantiate the library more often. +> **[Jackson](https://github.com/FasterXML/jackson)** ★ 9.8k 17/07/2026
Similar to GSON, but offers performance gains if you need to instantiate the library more often. -> **[JSON-io](https://github.com/jdereg/json-io)** ★ 390 Last push 2026-07-23 -> -> Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. +> **[JSON-io](https://github.com/jdereg/json-io)** ★ 390 23/07/2026
Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. -> **[jsoniter](https://jsoniter.com)** -> -> Fast and flexible library with iterator and lazy parsing API. +> **[jsoniter](https://jsoniter.com)**
Fast and flexible library with iterator and lazy parsing API. -> **[LoganSquare](https://github.com/bluelinelabs/LoganSquare)** ★ 3.2k Last push 2021-12-07 -> -> JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. +> **[LoganSquare](https://github.com/bluelinelabs/LoganSquare)** ★ 3.2k 07/12/2021
JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. -> **[Moshi](https://github.com/square/moshi)** ★ 10.1k Last push 2026-07-22 -> -> Modern JSON library, less opinionated and uses built-in types like List and Map. +> **[Moshi](https://github.com/square/moshi)** ★ 10.1k 22/07/2026
Modern JSON library, less opinionated and uses built-in types like List and Map. -> **[Yasson](https://github.com/eclipse-ee4j/yasson)** ★ 217 Last push 2026-07-24 -> -> Binding layer between classes and JSON documents similar to JAXB. +> **[Yasson](https://github.com/eclipse-ee4j/yasson)** ★ 217 24/07/2026
Binding layer between classes and JSON documents similar to JAXB. -> **[fastjson](https://github.com/alibaba/fastjson)** ★ 25.6k Last push 2024-07-16 -> -> Very fast processor with no additional dependencies and full data binding. +> **[fastjson](https://github.com/alibaba/fastjson)** ★ 25.6k 16/07/2024
Very fast processor with no additional dependencies and full data binding. -> **[Jolt](https://github.com/bazaarvoice/jolt)** ★ 1.7k Last push 2026-06-24 -> -> JSON to JSON transformation tool. +> **[Jolt](https://github.com/bazaarvoice/jolt)** ★ 1.7k 24/06/2026
JSON to JSON transformation tool. -> **[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k Last push 2026-02-22 -> -> Extract data from JSON using XPATH-like syntax. +> **[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k 22/02/2026
Extract data from JSON using XPATH-like syntax. -> **[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 317 Last push 2024-06-03 -> -> Streaming JsonPath processor dedicated to processing big and complicated JSON data. +> **[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 317 03/06/2024
Streaming JsonPath processor dedicated to processing big and complicated JSON data.
- -
-JVM and JDK 13 projects +
+JVM and JDK 13 projects _Current implementations of the JVM/JDK._ -> **[Which JDK](https://whichjdk.com/)** -> -> Overview of common JVMs with pros and cons. +> **[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. +> **[Adopt Open JDK](https://adoptopenjdk.net)**
Community-driven OpenJDK builds, including both HotSpot and OpenJ9. -> **[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) +> **[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)** ★ 4.3k Last push 2026-05-28 -> -> Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. +> **[Dragonwell8](https://github.com/alibaba/dragonwell8)** ★ 4.3k 28/05/2026
Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. -> **[Graal](https://github.com/oracle/graal)** ★ 21.7k Last push 2026-07-25 -> -> Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[Graal](https://github.com/oracle/graal)** ★ 21.7k 25/07/2026
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) +> **[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)** ★ 3.5k Last push 2026-07-24 -> -> 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)** ★ 3.5k 24/07/2026
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) +> **[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)** ★ 1.9k Last push 2026-07-26 -> -> VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm)** ★ 1.9k 26/07/2026
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) +> **[RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview)**
RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[SAP Machine](https://sap.github.io/SapMachine/)** -> -> SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[SAP Machine](https://sap.github.io/SapMachine/)**
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[Zulu](https://www.azul.com/products/zulu-community/)** -> -> OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[Zulu](https://www.azul.com/products/zulu-community/)**
OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 Last push 2026-05-02 -> -> Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! +> **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 02/05/2026
Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed!
- -
-Logging 12 projects +
+Logging 12 projects _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. +> **[Apache Log4j 2](https://logging.apache.org/log4j/)**
Complete rewrite with a powerful plugin and configuration architecture. -> **[Echopraxia](https://github.com/tersesystems/echopraxia)** ★ 59 Last push 2025-02-20 -> -> 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)** ★ 59 20/02/2025
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) +> **[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. +> **[Kibana](https://www.elastic.co/kibana)**
Analyzes and visualizes log files. Some features require payment. -> **[Logback](https://logback.qos.ch)** -> -> Robust logging library with interesting configuration options via Groovy. +> **[Logback](https://logback.qos.ch)**
Robust logging library with interesting configuration options via Groovy. -> **[Logbook](https://github.com/zalando/logbook)** ★ 2.1k Last push 2026-07-23 -> -> Extensible, open-source library for HTTP request and response logging. +> **[Logbook](https://github.com/zalando/logbook)** ★ 2.1k 23/07/2026
Extensible, open-source library for HTTP request and response logging. -> **[Logstash](https://www.elastic.co/logstash)** -> -> Tool for managing log files. +> **[Logstash](https://www.elastic.co/logstash)**
Tool for managing log files. -> **[p6spy](https://github.com/p6spy/p6spy)** ★ 2.2k Last push 2022-02-21 -> -> Enables logging for all JDBC transactions without changes to the code. +> **[p6spy](https://github.com/p6spy/p6spy)** ★ 2.2k 21/02/2022
Enables logging for all JDBC transactions without changes to the code. -> **[SLF4J](https://www.slf4j.org)** -> -> Abstraction layer/simple logging facade. +> **[SLF4J](https://www.slf4j.org)**
Abstraction layer/simple logging facade. -> **[tinylog](https://tinylog.org/v2/)** -> -> Lightweight logging framework with static logger class. +> **[tinylog](https://tinylog.org/v2/)**
Lightweight logging framework with static logger class. -> **[OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox)** ★ 180 Last push 2025-06-25 -> -> Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations. +> **[OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox)** ★ 180 25/06/2025
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. +> **[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 17 projects +
+Machine Learning 17 projects _Tools that provide specific statistical algorithms for learning from data._ -> **[Apache Flink](https://flink.apache.org)** -> -> Fast, reliable, large-scale data processing engine. +> **[Apache Flink](https://flink.apache.org)**
Fast, reliable, large-scale data processing engine. -> **[Apache Mahout](https://mahout.apache.org)** -> -> Scalable algorithms focused on collaborative filtering, clustering and classification. +> **[Apache Mahout](https://mahout.apache.org)**
Scalable algorithms focused on collaborative filtering, clustering and classification. -> **[DatumBox](https://www.datumbox.com)** -> -> Provides several algorithms and pre-trained models for natural language processing. +> **[DatumBox](https://www.datumbox.com)**
Provides several algorithms and pre-trained models for natural language processing. -> **[Deeplearning4j](https://deeplearning4j.org)** -> -> Distributed and multi-threaded deep learning library. +> **[Deeplearning4j](https://deeplearning4j.org)**
Distributed and multi-threaded deep learning library. -> **[DJL](https://djl.ai)** -> -> High-level and engine-agnostic framework for deep learning. +> **[DJL](https://djl.ai)**
High-level and engine-agnostic framework for deep learning. -> **[H2O ![c]](https://www.h2o.ai)** -> -> Analytics engine for statistics over big data. +> **[H2O ![c]](https://www.h2o.ai)**
Analytics engine for statistics over big data. -> **[Intelligent java](https://github.com/Barqawiz/IntelliJava)** ★ 64 Last push 2024-02-18 -> -> Seamlessly integrate with remote deep learning and language models programmatically. +> **[Intelligent java](https://github.com/Barqawiz/IntelliJava)** ★ 64 18/02/2024
Seamlessly integrate with remote deep learning and language models programmatically. -> **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 Last push 2022-12-16 -> -> Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +> **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 16/12/2022
Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) -> **[m2cgen](https://github.com/BayesWitnesses/m2cgen)** ★ 3k Last push 2024-08-03 -> -> CLI tool to transpile models into native code. +> **[m2cgen](https://github.com/BayesWitnesses/m2cgen)** ★ 3k 03/08/2024
CLI tool to transpile models into native code. -> **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 Last push 2026-01-25 -> -> A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. +> **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 25/01/2026
A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -> **[oj! Algorithms](https://www.ojalgo.org/)** -> -> High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +> **[oj! Algorithms](https://www.ojalgo.org/)**
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -> **[Oryx 2](https://github.com/OryxProject/oryx)** ★ 1.8k Last push 2021-08-16 -> -> Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +> **[Oryx 2](https://github.com/OryxProject/oryx)** ★ 1.8k 16/08/2021
Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. -> **[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k Last push 2026-05-05 -> -> Cloud native streaming and complex event processing engine. +> **[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k 05/05/2026
Cloud native streaming and complex event processing engine. -> **[sklearn-java](https://github.com/kVeyra/sklearn-java)** ★ 3 Last push 2026-07-02 -> -> Implements scikit-learn-style machine learning algorithms in pure Java. +> **[sklearn-java](https://github.com/kVeyra/sklearn-java)** ★ 3 02/07/2026
Implements scikit-learn-style machine learning algorithms in pure Java. -> **[Smile](https://github.com/haifengl/smile)** ★ 6.4k Last push 2026-07-26 -> -> Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. +> **[Smile](https://github.com/haifengl/smile)** ★ 6.4k 26/07/2026
Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -> **[Tribuo](https://tribuo.org/)** -> -> Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +> **[Tribuo](https://tribuo.org/)**
Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -> **[Weka](https://www.cs.waikato.ac.nz/ml/weka/)** -> -> Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +> **[Weka](https://www.cs.waikato.ac.nz/ml/weka/)**
Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)
- -
-Messaging 16 projects +
+Messaging 16 projects _Tools that help send messages between clients to ensure protocol independency._ -> **[Aeron](https://github.com/real-logic/Aeron)** ★ 8.8k Last push 2026-07-24 -> -> Efficient, reliable, unicast and multicast message transport. +> **[Aeron](https://github.com/real-logic/Aeron)** ★ 8.8k 24/07/2026
Efficient, reliable, unicast and multicast message transport. -> **[Apache ActiveMQ](https://activemq.apache.org)** -> -> Message broker that implements JMS and converts synchronous to asynchronous communication. +> **[Apache ActiveMQ](https://activemq.apache.org)**
Message broker that implements JMS and converts synchronous to asynchronous communication. -> **[Apache Camel](https://camel.apache.org)** -> -> Glues together different transport APIs via Enterprise Integration Patterns. +> **[Apache Camel](https://camel.apache.org)**
Glues together different transport APIs via Enterprise Integration Patterns. -> **[Apache Kafka](https://kafka.apache.org)** -> -> High-throughput distributed messaging system. +> **[Apache Kafka](https://kafka.apache.org)**
High-throughput distributed messaging system. -> **[Apache Pulsar](https://pulsar.apache.org)** -> -> Distributed pub/sub-messaging system. +> **[Apache Pulsar](https://pulsar.apache.org)**
Distributed pub/sub-messaging system. -> **[Apache RocketMQ](https://rocketmq.apache.org)** -> -> Fast, reliable, and scalable distributed messaging platform. +> **[Apache RocketMQ](https://rocketmq.apache.org)**
Fast, reliable, and scalable distributed messaging platform. -> **[Apache Qpid](https://qpid.apache.org)** -> -> Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +> **[Apache Qpid](https://qpid.apache.org)**
Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. -> **[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k Last push 2026-07-24 -> -> AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +> **[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k 24/07/2026
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -> **[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 Last push 2026-03-27 -> -> Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. +> **[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 27/03/2026
Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. -> **[EventBus](https://github.com/greenrobot/EventBus)** ★ 24.7k Last push 2024-02-21 -> -> Simple publish/subscribe event bus. +> **[EventBus](https://github.com/greenrobot/EventBus)** ★ 24.7k 21/02/2024
Simple publish/subscribe event bus. -> **[Hermes](https://hermes.allegro.tech)** -> -> Fast and reliable message broker built on top of Kafka. +> **[Hermes](https://hermes.allegro.tech)**
Fast and reliable message broker built on top of Kafka. -> **[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k Last push 2025-11-30 -> -> Implementation of ZeroMQ. +> **[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k 30/11/2025
Implementation of ZeroMQ. -> **[Nakadi](https://github.com/zalando/nakadi)** ★ 966 Last push 2024-04-11 -> -> Provides a RESTful API on top of Kafka. +> **[Nakadi](https://github.com/zalando/nakadi)** ★ 966 11/04/2024
Provides a RESTful API on top of Kafka. -> **[RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client)** ★ 1.3k Last push 2026-07-23 -> -> RabbitMQ client. +> **[RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client)** ★ 1.3k 23/07/2026
RabbitMQ client. -> **[Smack](https://github.com/igniterealtime/Smack)** ★ 2.4k Last push 2026-06-19 -> -> Cross-platform XMPP client library. +> **[Smack](https://github.com/igniterealtime/Smack)** ★ 2.4k 19/06/2026
Cross-platform XMPP client library. -> **[NATS client](https://github.com/nats-io/nats.java)** ★ 669 Last push 2026-07-24 -> -> NATS client. +> **[NATS client](https://github.com/nats-io/nats.java)** ★ 669 24/07/2026
NATS client.
- -
-Microservice 12 projects +
+Microservice 12 projects _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. +> **[ActiveRPC](https://rpc.activej.io)**
Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions. -> **[Armeria](https://github.com/line/armeria)** ★ 5.1k Last push 2026-07-25 -> -> Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. +> **[Armeria](https://github.com/line/armeria)** ★ 5.1k 25/07/2026
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)** ★ 421 Last push 2023-05-05 -> -> Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. +> **[consul-api](https://github.com/Ecwid/consul-api)** ★ 421 05/05/2023
Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. -> **[Eureka](https://github.com/Netflix/eureka)** ★ 12.7k Last push 2026-03-23 -> -> REST-based service registry for resilient load balancing and failover. +> **[Eureka](https://github.com/Netflix/eureka)** ★ 12.7k 23/03/2026
REST-based service registry for resilient load balancing and failover. -> **[Helidon](https://helidon.io)** -> -> Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +> **[Helidon](https://helidon.io)**
Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -> **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k Last push 2026-07-24 -> -> Wrapping of the Discord REST API and its WebSocket events. +> **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k 24/07/2026
Wrapping of the Discord REST API and its WebSocket events. -> **[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k Last push 2026-07-24 -> -> Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. +> **[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k 24/07/2026
Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -> **[Micronaut](https://micronaut.io)** -> -> Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +> **[Micronaut](https://micronaut.io)**
Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -> **[Nacos](https://nacos.io)** -> -> Dynamic service discovery, configuration and service management platform for building cloud native applications. +> **[Nacos](https://nacos.io)**
Dynamic service discovery, configuration and service management platform for building cloud native applications. -> **[OpenAI-Java](https://github.com/TheoKanning/openai-java)** ★ 4.7k Last push 2024-06-06 -> -> Java libraries for using OpenAI's GPT-3 API. +> **[OpenAI-Java](https://github.com/TheoKanning/openai-java)** ★ 4.7k 06/06/2024
Java libraries for using OpenAI's GPT-3 API. -> **[Quarkus](https://quarkus.io)** -> -> Kubernetes stack tailored for the HotSpot and Graal VM. +> **[Quarkus](https://quarkus.io)**
Kubernetes stack tailored for the HotSpot and Graal VM. -> **[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k Last push 2026-05-27 -> -> Flow control component enabling reliability, resilience and monitoring for microservices. +> **[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k 27/05/2026
Flow control component enabling reliability, resilience and monitoring for microservices.
- -
-Miscellaneous 42 projects +
+Miscellaneous 42 projects _Everything else._ -> **[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 Last push 2026-07-13 -> -> Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) +> **[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 13/07/2026
Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) -> **[CQEngine](https://github.com/npgall/cqengine)** ★ 1.8k Last push 2023-12-27 -> -> Ultra-fast, SQL-like queries on Java collections. +> **[CQEngine](https://github.com/npgall/cqengine)** ★ 1.8k 27/12/2023
Ultra-fast, SQL-like queries on Java collections. -> **[Design Patterns](https://github.com/iluwatar/java-design-patterns)** ★ 94.2k Last push 2026-07-23 -> -> Implementation and explanation of the most common design patterns. +> **[Design Patterns](https://github.com/iluwatar/java-design-patterns)** ★ 94.2k 23/07/2026
Implementation and explanation of the most common design patterns. -> **[Explyt ![c]](https://github.com/explyt/explyt)** ★ 22 Last push 2026-07-23 -> -> AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. +> **[Explyt ![c]](https://github.com/explyt/explyt)** ★ 22 23/07/2026
AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. -> **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k Last push 2026-05-20 -> -> Feature Flags for Java. +> **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k 20/05/2026
Feature Flags for Java. -> **[FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)** ★ 23.8k Last push 2024-07-15 -> -> No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) +> **[FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)** ★ 23.8k 15/07/2024
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)** ★ 10 Last push 2026-04-21 -> -> Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. +> **[IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java)** ★ 10 21/04/2026
Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. -> **[ISBN core](https://github.com/ladutsko/isbn-core)** ★ 5 Last push 2026-07-03 -> -> A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. +> **[ISBN core](https://github.com/ladutsko/isbn-core)** ★ 5 03/07/2026
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)** ★ 6k Last push 2026-07-24 -> -> Java-to-Objective-C translator for porting Android libraries to iOS. +> **[J2ObjC](https://github.com/google/j2objc)** ★ 6k 24/07/2026
Java-to-Objective-C translator for porting Android libraries to iOS. -> **[JBake](https://jbake.org)** -> -> Static website generator. +> **[JBake](https://jbake.org)**
Static website generator. -> **[JBang](https://www.jbang.dev/)** -> -> JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. +> **[JBang](https://www.jbang.dev/)**
JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. -> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k Last push 2025-10-08 -> -> Framework for building chatbots. (GPL-3.0-only) +> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k 08/10/2025
Framework for building chatbots. (GPL-3.0-only) -> **[JCuda](https://javagl.de/jcuda.org/)** -> -> JCuda offers Java bindings for CUDA and CUDA-related libraries. +> **[JCuda](https://javagl.de/jcuda.org/)**
JCuda offers Java bindings for CUDA and CUDA-related libraries. -> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 Last push 2026-07-06 -> -> An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. +> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 06/07/2026
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -> **[Jimfs](https://github.com/google/jimfs)** ★ 2.6k Last push 2026-07-24 -> -> In-memory file system. +> **[Jimfs](https://github.com/google/jimfs)** ★ 2.6k 24/07/2026
In-memory file system. -> **[JObfuscator![c]](https://www.pelock.com/products/jobfuscator)** -> -> Source code obfuscator. +> **[JObfuscator![c]](https://www.pelock.com/products/jobfuscator)**
Source code obfuscator. -> **[Joda-Money](https://www.joda.org/joda-money/)** -> -> Basic currency and money classes and algorithms not provided by the JDK. +> **[Joda-Money](https://www.joda.org/joda-money/)**
Basic currency and money classes and algorithms not provided by the JDK. -> **[jOOX](https://github.com/jooq/joox)** ★ 506 Last push 2024-10-04 -> -> Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. +> **[jOOX](https://github.com/jooq/joox)** ★ 506 04/10/2024
Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. -> **[JPad](https://jpad.io)** -> -> Snippet runner. +> **[JPad](https://jpad.io)**
Snippet runner. -> **[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 449 Last push 2026-07-06 -> -> Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. +> **[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 449 06/07/2026
Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. -> **[jsweet](https://github.com/cincheo/jsweet)** ★ 1.5k Last push 2023-12-16 -> -> Source transpiler to TypeScript/JavaScript. +> **[jsweet](https://github.com/cincheo/jsweet)** ★ 1.5k 16/12/2023
Source transpiler to TypeScript/JavaScript. -> **[Maven Wrapper](https://github.com/takari/maven-wrapper)** ★ 1.6k Last push 2021-12-18 -> -> Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. +> **[Maven Wrapper](https://github.com/takari/maven-wrapper)** ★ 1.6k 18/12/2021
Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. -> **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 Last push 2026-07-22 -> -> Open-source, reverse-proxy framework. +> **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 22/07/2026
Open-source, reverse-proxy framework. -> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 Last push 2025-06-15 -> -> Lightweight, small and customizable FTP server. +> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 15/06/2025
Lightweight, small and customizable FTP server. -> **[LittleProxy](https://github.com/adamfisk/LittleProxy)** ★ 2.1k Last push 2024-07-08 -> -> High performance HTTP proxy atop Netty's event-based networking library. +> **[LittleProxy](https://github.com/adamfisk/LittleProxy)** ★ 2.1k 08/07/2024
High performance HTTP proxy atop Netty's event-based networking library. -> **[Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial)** ★ 16.7k Last push 2023-08-11 -> -> Popular Java 8 guide. +> **[Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial)** ★ 16.7k 11/08/2023
Popular Java 8 guide. -> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 Last push 2026-07-22 -> -> Detect uses of legacy Java APIs. +> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 22/07/2026
Detect uses of legacy Java APIs. -> **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 Last push 2026-07-25 -> -> Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. +> **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 25/07/2026
Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. -> **[OctoLinker](https://github.com/OctoLinker/OctoLinker)** ★ 5.4k Last push 2023-10-02 -> -> Browser extension which allows to navigate through code on GitHub more efficiently. +> **[OctoLinker](https://github.com/OctoLinker/OctoLinker)** ★ 5.4k 02/10/2023
Browser extension which allows to navigate through code on GitHub more efficiently. -> **[OpenRefine](https://openrefine.org)** -> -> Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +> **[OpenRefine](https://openrefine.org)**
Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -> **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 Last push 2026-03-29 -> -> Small utility library for using handlers and commands with pipelines. +> **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 29/03/2026
Small utility library for using handlers and commands with pipelines. -> **[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 Last push 2026-07-06 -> -> Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +> **[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 06/07/2026
Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -> **[Rollgate](https://rollgate.io)** -> -> Cloud-managed feature flag platform with a Java SDK, supporting gradual rollouts, A/B testing, and real-time updates. +> **[Rollgate](https://rollgate.io)**
Cloud-managed feature flag platform with a Java SDK, supporting gradual rollouts, A/B testing, and real-time updates. -> **[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 Last push 2022-03-24 -> -> RR4J is a tool that records java bytecode execution and later allows developers to replay locally. +> **[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 24/03/2022
RR4J is a tool that records java bytecode execution and later allows developers to replay locally. -> **[Simple Java Mail](https://github.com/bbottema/simple-java-mail)** ★ 1.3k Last push 2026-07-15 -> -> Mailing with a clean and fluent API. +> **[Simple Java Mail](https://github.com/bbottema/simple-java-mail)** ★ 1.3k 15/07/2026
Mailing with a clean and fluent API. -> **[Smooks](https://github.com/smooks/smooks)** ★ 417 Last push 2025-11-24 -> -> Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) +> **[Smooks](https://github.com/smooks/smooks)** ★ 417 24/11/2025
Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -> **[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k Last push 2026-07-24 -> -> Library for the Svix API to send webhooks and verify signatures. +> **[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k 24/07/2026
Library for the Svix API to send webhooks and verify signatures. -> **[Togglz](https://www.togglz.org)** -> -> Implementation of the Feature Toggles pattern. +> **[Togglz](https://www.togglz.org)**
Implementation of the Feature Toggles pattern. -> **[TypeTools](https://github.com/jhalterman/typetools)** ★ 629 Last push 2023-04-12 -> -> Tools for resolving generic types. +> **[TypeTools](https://github.com/jhalterman/typetools)** ★ 629 12/04/2023
Tools for resolving generic types. -> **[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k Last push 2025-11-08 -> -> Library for using built-in and external webcams directly in Java. +> **[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k 08/11/2025
Library for using built-in and external webcams directly in Java. -> **[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 Last push 2025-08-07 -> -> Processes XML by using annotations or XPath within code. +> **[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 07/08/2025
Processes XML by using annotations or XPath within code. -> **[yGuard](https://github.com/yWorks/yGuard)** ★ 477 Last push 2026-03-26 -> -> Obfuscation via renaming and shrinking. +> **[yGuard](https://github.com/yWorks/yGuard)** ★ 477 26/03/2026
Obfuscation via renaming and shrinking.
- -
-Mobile Development 3 projects +
+Mobile Development 3 projects _Tools for creating or managing mobile applications._ -> **[Codename One](https://www.codenameone.com)** -> -> Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[Codename One](https://www.codenameone.com)**
Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[MobileUI](https://mobileui.dev)** -> -> Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +> **[MobileUI](https://mobileui.dev)**
Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -> **[Multi-OS Engine](https://multi-os-engine.org)** -> -> Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +> **[Multi-OS Engine](https://multi-os-engine.org)**
Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.
- -
-Monitoring 26 projects +
+Monitoring 26 projects _Tools that observe/monitor applications in production by providing telemetry._ -> **[Apitally](https://github.com/apitally/apitally-java)** ★ 6 Last push 2026-07-20 -> -> Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. +> **[Apitally](https://github.com/apitally/apitally-java)** ★ 6 20/07/2026
Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. -> **[Automon](https://github.com/stevensouza/automon)** ★ 571 Last push 2024-10-18 -> -> Combines the power of AOP with monitoring and/or logging tools. +> **[Automon](https://github.com/stevensouza/automon)** ★ 571 18/10/2024
Combines the power of AOP with monitoring and/or logging tools. -> **[Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage)** ★ 2 Last push 2026-06-16 -> -> Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. +> **[Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage)** ★ 2 16/06/2026
Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. -> **[Datadog ![c]](https://github.com/DataDog/dd-trace-java)** ★ 727 Last push 2026-07-26 -> -> Modern monitoring & analytics. +> **[Datadog ![c]](https://github.com/DataDog/dd-trace-java)** ★ 727 26/07/2026
Modern monitoring & analytics. -> **[Dropwizard Metrics](https://github.com/dropwizard/metrics)** ★ 7.8k Last push 2026-07-13 -> -> Expose metrics via JMX or HTTP and send them to a database. +> **[Dropwizard Metrics](https://github.com/dropwizard/metrics)** ★ 7.8k 13/07/2026
Expose metrics via JMX or HTTP and send them to a database. -> **[Failsafe Actuator](https://github.com/zalando/failsafe-actuator)** ★ 54 Last push 2022-03-31 -> -> Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. +> **[Failsafe Actuator](https://github.com/zalando/failsafe-actuator)** ★ 54 31/03/2022
Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. -> **[Glowroot](https://glowroot.org)** -> -> Open-source Java APM. +> **[Glowroot](https://glowroot.org)**
Open-source Java APM. -> **[HertzBeat](https://github.com/dromara/hertzbeat)** ★ 7.3k Last push 2026-07-26 -> -> Real-time monitoring system with custom-monitor and agentless. +> **[HertzBeat](https://github.com/dromara/hertzbeat)** ★ 7.3k 26/07/2026
Real-time monitoring system with custom-monitor and agentless. -> **[hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md)** ★ 6k Last push 2026-03-12 -> -> Dynamic and observable thread pool framework. +> **[hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md)** ★ 6k 12/03/2026
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. +> **[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)** ★ 489 Last push 2022-07-01 -> -> Jaeger client. +> **[Jaeger client](https://github.com/jaegertracing/jaeger-client-java)** ★ 489 01/07/2022
Jaeger client. -> **[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3k Last push 2026-07-24 -> -> Performance monitoring and profiling. +> **[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3k 24/07/2026
Performance monitoring and profiling. -> **[jmxtrans](https://github.com/jmxtrans/jmxtrans)** ★ 1.7k Last push 2022-09-05 -> -> 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)** ★ 1.7k 05/09/2022
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. +> **[Jolokia](https://jolokia.org)**
JMX over REST. -> **[Micrometer](https://github.com/micrometer-metrics/micrometer)** ★ 4.9k Last push 2026-07-24 -> -> Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. +> **[Micrometer](https://github.com/micrometer-metrics/micrometer)** ★ 4.9k 24/07/2026
Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. -> **[Micrometer Tracing](https://github.com/micrometer-metrics/tracing)** ★ 296 Last push 2026-07-23 -> -> Vendor-neutral distributed tracing facade for the most popular tracer libraries. +> **[Micrometer Tracing](https://github.com/micrometer-metrics/tracing)** ★ 296 23/07/2026
Vendor-neutral distributed tracing facade for the most popular tracer libraries. -> **[nudge4j](https://github.com/lorenzoongithub/nudge4j)** ★ 164 Last push 2020-04-12 -> -> Remote developer console from the browser for Java 8 via bytecode injection. +> **[nudge4j](https://github.com/lorenzoongithub/nudge4j)** ★ 164 12/04/2020
Remote developer console from the browser for Java 8 via bytecode injection. -> **[OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java)** ★ 2.4k Last push 2026-07-23 -> -> Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. +> **[OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java)** ★ 2.4k 23/07/2026
Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. -> **[Pinpoint](https://github.com/naver/pinpoint)** ★ 13.8k Last push 2026-07-24 -> -> Open-source APM tool. +> **[Pinpoint](https://github.com/naver/pinpoint)** ★ 13.8k 24/07/2026
Open-source APM tool. -> **[Prometheus](https://github.com/prometheus/client_java)** ★ 2.3k Last push 2026-07-26 -> -> Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. +> **[Prometheus](https://github.com/prometheus/client_java)** ★ 2.3k 26/07/2026
Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. -> **[Sentry ![c]](https://github.com/getsentry/sentry-java)** ★ 1.3k Last push 2026-07-24 -> -> Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. +> **[Sentry ![c]](https://github.com/getsentry/sentry-java)** ★ 1.3k 24/07/2026
Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. -> **[SPM ![c]](https://github.com/sematext/sematext-agent-java)** ★ 25 Last push 2026-07-23 -> -> Performance monitor with distributing transaction tracing for JVM apps. +> **[SPM ![c]](https://github.com/sematext/sematext-agent-java)** ★ 25 23/07/2026
Performance monitor with distributing transaction tracing for JVM apps. -> **[Stagemonitor](https://github.com/stagemonitor/stagemonitor)** ★ 1.7k Last push 2023-02-20 -> -> Open-source performance monitoring and transaction tracing for JVM apps. +> **[Stagemonitor](https://github.com/stagemonitor/stagemonitor)** ★ 1.7k 20/02/2023
Open-source performance monitoring and transaction tracing for JVM apps. -> **[Sysmon](https://github.com/palantir/Sysmon)** ★ 161 Last push 2016-12-06 -> -> Lightweight platform monitoring tool for Java VMs. +> **[Sysmon](https://github.com/palantir/Sysmon)** ★ 161 06/12/2016
Lightweight platform monitoring tool for Java VMs. -> **[zipkin](https://zipkin.io)** -> -> Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +> **[zipkin](https://zipkin.io)**
Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.
- -
-Native 5 projects +
+Native 5 projects _For working with platform-specific native libraries._ -> **[Aparapi](https://github.com/Syncleus/aparapi)** ★ 480 Last push 2022-09-30 -> -> Converts bytecode to OpenCL which allows execution on GPUs. +> **[Aparapi](https://github.com/Syncleus/aparapi)** ★ 480 30/09/2022
Converts bytecode to OpenCL which allows execution on GPUs. -> **[JavaCPP](https://github.com/bytedeco/javacpp)** ★ 4.7k Last push 2026-07-14 -> -> Provides efficient and easy access to native C++. +> **[JavaCPP](https://github.com/bytedeco/javacpp)** ★ 4.7k 14/07/2026
Provides efficient and easy access to native C++. -> **[JNA](https://github.com/java-native-access/jna)** ★ 8.9k Last push 2026-07-12 -> -> Work with native libraries without writing JNI. Also provides interfaces to common system libraries. +> **[JNA](https://github.com/java-native-access/jna)** ★ 8.9k 12/07/2026
Work with native libraries without writing JNI. Also provides interfaces to common system libraries. -> **[JNR](https://github.com/jnr/jnr-ffi)** ★ 1.3k Last push 2026-06-29 -> -> 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](https://openjdk.java.net/projects/panama). +> **[JNR](https://github.com/jnr/jnr-ffi)** ★ 1.3k 29/06/2026
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](https://openjdk.java.net/projects/panama). -> **[native-lib-loader](https://github.com/scijava/native-lib-loader)** ★ 220 Last push 2024-10-20 -> -> Native library loader for extracting and loading native libraries from Java. +> **[native-lib-loader](https://github.com/scijava/native-lib-loader)** ★ 220 20/10/2024
Native library loader for extracting and loading native libraries from Java.
- -
-Natural Language Processing 5 projects +
+Natural Language Processing 5 projects _Libraries that specialize in processing text._ -> **[CogCompNLP](https://github.com/CogComp/cogcomp-nlp)** ★ 479 Last push 2023-07-07 -> -> Provides common annotators for plain text input. (Research and Academic Use License) +> **[CogCompNLP](https://github.com/CogComp/cogcomp-nlp)** ★ 479 07/07/2023
Provides common annotators for plain text input. (Research and Academic Use License) -> **[CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml)** -> -> Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +> **[CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml)**
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) -> **[DKPro](https://dkpro.github.io)** -> -> Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +> **[DKPro](https://dkpro.github.io)**
Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -> **[Hypherator](https://github.com/ejossev/hypherator-java)** ★ 4 Last push 2025-06-30 -> -> Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. +> **[Hypherator](https://github.com/ejossev/hypherator-java)** ★ 4 30/06/2025
Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. -> **[LingPipe](https://alias-i.com/lingpipe/)** -> -> Toolkit for tasks ranging from POS tagging to sentiment analysis. +> **[LingPipe](https://alias-i.com/lingpipe/)**
Toolkit for tasks ranging from POS tagging to sentiment analysis.
- -
-Networking 16 projects +
+Networking 16 projects _Libraries for building network servers._ -> **[Commons-networking](https://github.com/CiscoSE/commons-networking)** ★ 21 Last push 2022-02-08 -> -> Client for server-sent events (SSE). +> **[Commons-networking](https://github.com/CiscoSE/commons-networking)** ★ 21 08/02/2022
Client for server-sent events (SSE). -> **[Comsat](https://github.com/puniverse/comsat)** ★ 594 Last push 2017-11-27 -> -> Integrates standard Java web-related APIs with Quasar fibers and actors. +> **[Comsat](https://github.com/puniverse/comsat)** ★ 594 27/11/2017
Integrates standard Java web-related APIs with Quasar fibers and actors. -> **[Dubbo](https://github.com/apache/dubbo)** ★ 41.5k Last push 2026-07-23 -> -> High-performance RPC framework. +> **[Dubbo](https://github.com/apache/dubbo)** ★ 41.5k 23/07/2026
High-performance RPC framework. -> **[Grizzly](https://javaee.github.io/grizzly/)** -> -> NIO framework. Used as a network layer in Glassfish. +> **[Grizzly](https://javaee.github.io/grizzly/)**
NIO framework. Used as a network layer in Glassfish. -> **[gRPC-java](https://github.com/grpc/grpc-java)** ★ 12.1k Last push 2026-07-23 -> -> RPC framework based on protobuf and HTTP/2. +> **[gRPC-java](https://github.com/grpc/grpc-java)** ★ 12.1k 23/07/2026
RPC framework based on protobuf and HTTP/2. -> **[java-ngrok](https://github.com/alexdlaird/java-ngrok)** ★ 60 Last push 2026-07-26 -> -> Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. +> **[java-ngrok](https://github.com/alexdlaird/java-ngrok)** ★ 60 26/07/2026
Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. -> **[KryoNet](https://github.com/EsotericSoftware/kryonet)** ★ 1.9k Last push 2021-02-22 -> -> Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +> **[KryoNet](https://github.com/EsotericSoftware/kryonet)** ★ 1.9k 22/02/2021
Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -> **[MINA](https://mina.apache.org)** -> -> Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +> **[MINA](https://mina.apache.org)**
Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -> **[Netty](https://netty.io)** -> -> Framework for building high-performance network applications. +> **[Netty](https://netty.io)**
Framework for building high-performance network applications. -> **[Drift](https://github.com/airlift/drift)** ★ 249 Last push 2026-07-20 -> -> Easy-to-use, annotation-based library for creating Thrift clients and serializable types. +> **[Drift](https://github.com/airlift/drift)** ★ 249 20/07/2026
Easy-to-use, annotation-based library for creating Thrift clients and serializable types. -> **[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1k Last push 2026-07-23 -> -> Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. +> **[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1k 23/07/2026
Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. -> **[sshj](https://github.com/hierynomus/sshj)** ★ 2.7k Last push 2026-07-10 -> -> Programmatically use SSH, SCP or SFTP. +> **[sshj](https://github.com/hierynomus/sshj)** ★ 2.7k 10/07/2026
Programmatically use SSH, SCP or SFTP. -> **[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 Last push 2026-03-28 -> -> Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. +> **[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 28/03/2026
Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -> **[Undertow](https://undertow.io)** -> -> Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +> **[Undertow](https://undertow.io)**
Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) -> **[urnlib](https://github.com/slub/urnlib)** ★ 36 Last push 2025-12-30 -> -> Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +> **[urnlib](https://github.com/slub/urnlib)** ★ 36 30/12/2025
Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) -> **[Fluency](https://github.com/komamitsu/fluency)** ★ 167 Last push 2026-06-29 -> -> High throughput data ingestion logger to Fluentd and Fluent Bit. +> **[Fluency](https://github.com/komamitsu/fluency)** ★ 167 29/06/2026
High throughput data ingestion logger to Fluentd and Fluent Bit.
- -
-ORM 11 projects +
+ORM 11 projects _APIs that handle the persistence of objects._ -> **[Apache Cayenne](https://cayenne.apache.org)** -> -> Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +> **[Apache Cayenne](https://cayenne.apache.org)**
Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -> **[Doma](https://github.com/domaframework/doma)** ★ 504 Last push 2026-07-24 -> -> Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. +> **[Doma](https://github.com/domaframework/doma)** ★ 504 24/07/2026
Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -> **[Ebean](https://ebean.io)** -> -> Provides simple and fast data access. +> **[Ebean](https://ebean.io)**
Provides simple and fast data access. -> **[EclipseLink](https://www.eclipse.org/eclipselink/)** -> -> Supports a number of persistence standards: JPA, JAXB, JCA and SDO. +> **[EclipseLink](https://www.eclipse.org/eclipselink/)**
Supports a number of persistence standards: JPA, JAXB, JCA and SDO. -> **[Hibernate](https://hibernate.org/orm/)** -> -> Robust and widely used, with an active community. (LGPL-2.1-only) +> **[Hibernate](https://hibernate.org/orm/)**
Robust and widely used, with an active community. (LGPL-2.1-only) -> **[MyBatis](https://github.com/mybatis/mybatis-3)** ★ 20.4k Last push 2026-07-26 -> -> Couples objects with stored procedures or SQL statements. +> **[MyBatis](https://github.com/mybatis/mybatis-3)** ★ 20.4k 26/07/2026
Couples objects with stored procedures or SQL statements. -> **[mybatis-dynamic](https://github.com/myacelw/mybatis-dynamic)** ★ 4 Last push 2026-02-10 -> -> Code-first dynamic ORM for MyBatis with runtime schema modification. +> **[mybatis-dynamic](https://github.com/myacelw/mybatis-dynamic)** ★ 4 10/02/2026
Code-first dynamic ORM for MyBatis with runtime schema modification. -> **[MyBatis-Plus](https://github.com/baomidou/mybatis-plus)** ★ 17.4k Last push 2026-07-17 -> -> A powerful enhanced toolkit of MyBatis for simplifying development. +> **[MyBatis-Plus](https://github.com/baomidou/mybatis-plus)** ★ 17.4k 17/07/2026
A powerful enhanced toolkit of MyBatis for simplifying development. -> **[ObjectiveSql](https://github.com/braisdom/ObjectiveSql)** ★ 1.3k Last push 2024-05-06 -> -> ActiveRecord ORM for rapid development and convention over configuration. +> **[ObjectiveSql](https://github.com/braisdom/ObjectiveSql)** ★ 1.3k 06/05/2024
ActiveRecord ORM for rapid development and convention over configuration. -> **[Permazen](https://github.com/permazen/permazen)** ★ 424 Last push 2025-10-04 -> -> Language-natural persistence layer. +> **[Permazen](https://github.com/permazen/permazen)** ★ 424 04/10/2025
Language-natural persistence layer. -> **[SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper)** ★ 458 Last push 2025-09-21 -> -> Simple database and CSV mapper. +> **[SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper)** ★ 458 21/09/2025
Simple database and CSV mapper.
- -
-PaaS 6 projects +
+PaaS 6 projects _Java platform as a service._ -> **[AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/)** -> -> AWS-based, with support for Tomcat and Jetty. +> **[AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/)**
AWS-based, with support for Tomcat and Jetty. -> **[AWS Lambda ![c]](https://aws.amazon.com/lambda/)** -> -> Serverless computation. +> **[AWS Lambda ![c]](https://aws.amazon.com/lambda/)**
Serverless computation. -> **[Google Cloud ![c]](https://cloud.google.com)** -> -> Google's cloud infrastructure. +> **[Google Cloud ![c]](https://cloud.google.com)**
Google's cloud infrastructure. -> **[Heroku ![c]](https://www.heroku.com)** -> -> Abstract computing environments. +> **[Heroku ![c]](https://www.heroku.com)**
Abstract computing environments. -> **[Microsoft Azure ![c]](https://azure.microsoft.com/en-us/)** -> -> Microsoft's cloud infrastructure. +> **[Microsoft Azure ![c]](https://azure.microsoft.com/en-us/)**
Microsoft's cloud infrastructure. -> **[OpenShift ![c]](https://www.openshift.com)** -> -> Provides additionally an on-premise solution. +> **[OpenShift ![c]](https://www.openshift.com)**
Provides additionally an on-premise solution.
- -
-Pathfinding 1 project +
+Pathfinding 1 project _Algorithms and libraries for finding routes in graphs and spatial environments._ -> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 373 Last push 2026-07-23 -> -> A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. +> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 373 23/07/2026
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance.
- -
-PDF 13 projects +
+PDF 13 projects _Tools to help with PDF files._ -> **[Apache FOP](https://xmlgraphics.apache.org/fop/)** -> -> Creates PDFs from XSL-FO. +> **[Apache FOP](https://xmlgraphics.apache.org/fop/)**
Creates PDFs from XSL-FO. -> **[Apache PDFBox](https://pdfbox.apache.org)** -> -> Toolbox for creating and manipulating PDFs. +> **[Apache PDFBox](https://pdfbox.apache.org)**
Toolbox for creating and manipulating PDFs. -> **[Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/)** -> -> Abstraction layer to JasperReports. (LGPL-3.0-only) +> **[Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/)**
Abstraction layer to JasperReports. (LGPL-3.0-only) -> **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 Last push 2026-06-19 -> -> Simplifies JasperReports. (LGPL-3.0-only) +> **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 19/06/2026
Simplifies JasperReports. (LGPL-3.0-only) -> **[Eclipse BIRT](https://www.eclipse.org/birt)** -> -> Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +> **[Eclipse BIRT](https://www.eclipse.org/birt)**
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. -> **[flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer)** ★ 2.2k Last push 2026-07-23 -> -> XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) +> **[flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer)** ★ 2.2k 23/07/2026
XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -> **[GraphCompose](https://github.com/DemchaAV/GraphCompose)** ★ 105 Last push 2026-07-26 -> -> Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. +> **[GraphCompose](https://github.com/DemchaAV/GraphCompose)** ★ 105 26/07/2026
Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. -> **[iText ![c]](https://itextpdf.com/en)** -> -> Creates PDF files programmatically. +> **[iText ![c]](https://itextpdf.com/en)**
Creates PDF files programmatically. -> **[JasperReports](https://community.jaspersoft.com/project/jasperreports-library)** -> -> Complex reporting engine. (LGPL-3.0-only) +> **[JasperReports](https://community.jaspersoft.com/project/jasperreports-library)**
Complex reporting engine. (LGPL-3.0-only) -> **[jquick-pdf](https://github.com/paohaijiao/jquick-pdf)** ★ 225 Last push 2026-07-25 -> -> Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. +> **[jquick-pdf](https://github.com/paohaijiao/jquick-pdf)** ★ 225 25/07/2026
Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. -> **[Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf)** ★ 266 Last push 2026-07-26 -> -> Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +> **[Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf)** ★ 266 26/07/2026
Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. -> **[OpenPDF](https://github.com/LibrePDF/OpenPDF)** ★ 4.3k Last push 2026-07-08 -> -> Open-source iText fork. (LGPL-3.0-only & MPL-2.0) +> **[OpenPDF](https://github.com/LibrePDF/OpenPDF)** ★ 4.3k 08/07/2026
Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -> **[Tabula](https://github.com/tabulapdf/tabula-java)** ★ 2k Last push 2025-03-19 -> -> Extracts tables from PDF files. +> **[Tabula](https://github.com/tabulapdf/tabula-java)** ★ 2k 19/03/2025
Extracts tables from PDF files.
- -
-Performance analysis 10 projects +
+Performance analysis 10 projects _Tools for performance analysis, profiling and benchmarking._ -> **[fastThread ![c]](https://fastthread.io)** -> -> Analyze and visualize thread dumps with a free cloud-based upload interface. +> **[fastThread ![c]](https://fastthread.io)**
Analyze and visualize thread dumps with a free cloud-based upload interface. -> **[GCeasy ![c]](https://gceasy.io)** -> -> Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +> **[GCeasy ![c]](https://gceasy.io)**
Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -> **[honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler)** ★ 1.3k Last push 2023-12-05 -> -> Low-overhead, bias-free sampling profiler. +> **[honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler)** ★ 1.3k 05/12/2023
Low-overhead, bias-free sampling profiler. -> **[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 Last push 2026-03-15 -> -> Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. +> **[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 15/03/2026
Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. -> **[jHiccup](https://github.com/giltene/jHiccup)** ★ 704 Last push 2026-02-05 -> -> Logs and records platform JVM stalls. +> **[jHiccup](https://github.com/giltene/jHiccup)** ★ 704 05/02/2026
Logs and records platform JVM stalls. -> **[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k Last push 2025-12-28 -> -> Analyze the JIT compiler optimisations made by the HotSpot JVM. +> **[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k 28/12/2025
Analyze the JIT compiler optimisations made by the HotSpot JVM. -> **[JMH](https://openjdk.java.net/projects/code-tools/jmh/)** -> -> Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +> **[JMH](https://openjdk.java.net/projects/code-tools/jmh/)**
Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -> **[LatencyUtils](https://github.com/LatencyUtils/LatencyUtils)** ★ 466 Last push 2024-05-05 -> -> Utilities for latency measurement and reporting. +> **[LatencyUtils](https://github.com/LatencyUtils/LatencyUtils)** ★ 466 05/05/2024
Utilities for latency measurement and reporting. -> **[JVM Hotpath](https://github.com/sfkamath/jvm-hotpath)** ★ 10 Last push 2026-03-29 -> -> Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. +> **[JVM Hotpath](https://github.com/sfkamath/jvm-hotpath)** ★ 10 29/03/2026
Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. -> **[Argus](https://github.com/rlaope/Argus)** ★ 17 Last push 2026-07-01 -> -> JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. +> **[Argus](https://github.com/rlaope/Argus)** ★ 17 01/07/2026
JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts.
- -
-Platform 54 projects +
+Platform 54 projects _Frameworks that are suites of multiple libraries encompassing several categories._ #### Apache Commons -50 projects +50 projects -> **[BCEL](https://commons.apache.org/proper/commons-bcel/)** -> -> Byte Code Engineering Library - analyze, create, and manipulate Java class files. +> **[BCEL](https://commons.apache.org/proper/commons-bcel/)**
Byte Code Engineering Library - analyze, create, and manipulate Java class files. -> **[BeanUtils](https://commons.apache.org/proper/commons-beanutils/)** -> -> Easy-to-use wrappers around the Java reflection and introspection APIs. +> **[BeanUtils](https://commons.apache.org/proper/commons-beanutils/)**
Easy-to-use wrappers around the Java reflection and introspection APIs. -> **[BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/)** -> -> Redesign of Commons BeanUtils. +> **[BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/)**
Redesign of Commons BeanUtils. -> **[BSF](https://commons.apache.org/proper/commons-bsf/)** -> -> Bean Scripting Framework - interface to scripting languages, including JSR-223. +> **[BSF](https://commons.apache.org/proper/commons-bsf/)**
Bean Scripting Framework - interface to scripting languages, including JSR-223. -> **[ClassScan](https://commons.apache.org/sandbox/commons-classscan/)** -> -> Find Class interfaces, methods, fields, and annotations without loading. +> **[ClassScan](https://commons.apache.org/sandbox/commons-classscan/)**
Find Class interfaces, methods, fields, and annotations without loading. -> **[CLI](https://commons.apache.org/proper/commons-cli/)** -> -> Command-line arguments parser. +> **[CLI](https://commons.apache.org/proper/commons-cli/)**
Command-line arguments parser. -> **[CLI2](https://commons.apache.org/sandbox/commons-cli2/)** -> -> Redesign of Commons CLI. +> **[CLI2](https://commons.apache.org/sandbox/commons-cli2/)**
Redesign of Commons CLI. -> **[Codec](https://commons.apache.org/proper/commons-codec/)** -> -> General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +> **[Codec](https://commons.apache.org/proper/commons-codec/)**
General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -> **[Collections](https://commons.apache.org/proper/commons-collections/)** -> -> Extends or augments the Java Collections Framework. +> **[Collections](https://commons.apache.org/proper/commons-collections/)**
Extends or augments the Java Collections Framework. -> **[Compress](https://commons.apache.org/proper/commons-compress/)** -> -> Defines an API for working with tar, zip and bzip2 files. +> **[Compress](https://commons.apache.org/proper/commons-compress/)**
Defines an API for working with tar, zip and bzip2 files. -> **[Configuration](https://commons.apache.org/proper/commons-configuration/)** -> -> Reading of configuration/preferences files in various formats. +> **[Configuration](https://commons.apache.org/proper/commons-configuration/)**
Reading of configuration/preferences files in various formats. -> **[Convert](https://commons.apache.org/sandbox/commons-convert/)** -> -> Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. +> **[Convert](https://commons.apache.org/sandbox/commons-convert/)**
Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -> **[CSV](https://commons.apache.org/proper/commons-csv/)** -> -> Component for reading and writing comma separated value files. +> **[CSV](https://commons.apache.org/proper/commons-csv/)**
Component for reading and writing comma separated value files. -> **[Daemon](https://commons.apache.org/proper/commons-daemon/)** -> -> Alternative invocation mechanism for unix-daemon-like java code. +> **[Daemon](https://commons.apache.org/proper/commons-daemon/)**
Alternative invocation mechanism for unix-daemon-like java code. -> **[DBCP](https://commons.apache.org/proper/commons-dbcp/)** -> -> Database connection pooling services. +> **[DBCP](https://commons.apache.org/proper/commons-dbcp/)**
Database connection pooling services. -> **[DbUtils](https://commons.apache.org/proper/commons-dbutils/)** -> -> JDBC helper library. +> **[DbUtils](https://commons.apache.org/proper/commons-dbutils/)**
JDBC helper library. -> **[Digester](https://commons.apache.org/proper/commons-digester/)** -> -> XML-to-Java-object mapping utility. +> **[Digester](https://commons.apache.org/proper/commons-digester/)**
XML-to-Java-object mapping utility. -> **[Email](https://commons.apache.org/proper/commons-email/)** -> -> Library for sending e-mail from Java. +> **[Email](https://commons.apache.org/proper/commons-email/)**
Library for sending e-mail from Java. -> **[Exec](https://commons.apache.org/proper/commons-exec/)** -> -> API for dealing with external process execution and environment management in Java. +> **[Exec](https://commons.apache.org/proper/commons-exec/)**
API for dealing with external process execution and environment management in Java. -> **[FileUpload](https://commons.apache.org/proper/commons-fileupload/)** -> -> File upload capability for your servlets and web applications. +> **[FileUpload](https://commons.apache.org/proper/commons-fileupload/)**
File upload capability for your servlets and web applications. -> **[Finder](https://commons.apache.org/sandbox/commons-finder/)** -> -> Java library inspired by the UNIX find command. +> **[Finder](https://commons.apache.org/sandbox/commons-finder/)**
Java library inspired by the UNIX find command. -> **[Flatfile](https://commons.apache.org/sandbox/commons-flatfile/)** -> -> Java library for working with flat data structures. +> **[Flatfile](https://commons.apache.org/sandbox/commons-flatfile/)**
Java library for working with flat data structures. -> **[Graph](https://commons.apache.org/sandbox/commons-graph/)** -> -> General purpose graph APIs and algorithms. +> **[Graph](https://commons.apache.org/sandbox/commons-graph/)**
General purpose graph APIs and algorithms. -> **[I18n](https://commons.apache.org/sandbox/commons-i18n/)** -> -> Adds the feature of localized message bundles that consist of one or many localized texts that belong together. +> **[I18n](https://commons.apache.org/sandbox/commons-i18n/)**
Adds the feature of localized message bundles that consist of one or many localized texts that belong together. -> **[Id](https://commons.apache.org/sandbox/commons-id/)** -> -> Id is a component used to generate identifiers. +> **[Id](https://commons.apache.org/sandbox/commons-id/)**
Id is a component used to generate identifiers. -> **[Imaging](https://commons.apache.org/proper/commons-imaging/)** -> -> Image library. +> **[Imaging](https://commons.apache.org/proper/commons-imaging/)**
Image library. -> **[IO](https://commons.apache.org/proper/commons-io/)** -> -> Collection of I/O utilities. +> **[IO](https://commons.apache.org/proper/commons-io/)**
Collection of I/O utilities. -> **[Javaflow](https://commons.apache.org/sandbox/commons-javaflow/)** -> -> Continuation implementation to capture the state of the application. +> **[Javaflow](https://commons.apache.org/sandbox/commons-javaflow/)**
Continuation implementation to capture the state of the application. -> **[JCI](https://commons.apache.org/proper/commons-jci/)** -> -> Java Compiler Interface. +> **[JCI](https://commons.apache.org/proper/commons-jci/)**
Java Compiler Interface. -> **[JCS](https://commons.apache.org/proper/commons-jcs/)** -> -> Java Caching System. +> **[JCS](https://commons.apache.org/proper/commons-jcs/)**
Java Caching System. -> **[Jelly](https://commons.apache.org/proper/commons-jelly/)** -> -> XML based scripting and processing engine. +> **[Jelly](https://commons.apache.org/proper/commons-jelly/)**
XML based scripting and processing engine. -> **[Jexl](https://commons.apache.org/proper/commons-jexl/)** -> -> Expression language which extends the Expression Language of the JSTL. +> **[Jexl](https://commons.apache.org/proper/commons-jexl/)**
Expression language which extends the Expression Language of the JSTL. -> **[JNet](https://commons.apache.org/sandbox/commons-jnet/)** -> -> JNet allows to use dynamically register url stream handlers through the java.net API. +> **[JNet](https://commons.apache.org/sandbox/commons-jnet/)**
JNet allows to use dynamically register url stream handlers through the java.net API. -> **[JXPath](https://commons.apache.org/proper/commons-jxpath/)** -> -> Utilities for manipulating Java Beans using the XPath syntax. +> **[JXPath](https://commons.apache.org/proper/commons-jxpath/)**
Utilities for manipulating Java Beans using the XPath syntax. -> **[Lang](https://commons.apache.org/proper/commons-lang/)** -> -> Provides extra functionality for classes in java.lang. +> **[Lang](https://commons.apache.org/proper/commons-lang/)**
Provides extra functionality for classes in java.lang. -> **[Logging](https://commons.apache.org/proper/commons-logging/)** -> -> Wrapper around a variety of logging API implementations. +> **[Logging](https://commons.apache.org/proper/commons-logging/)**
Wrapper around a variety of logging API implementations. -> **[Math](https://commons.apache.org/proper/commons-math/)** -> -> Lightweight, self-contained mathematics and statistics components. +> **[Math](https://commons.apache.org/proper/commons-math/)**
Lightweight, self-contained mathematics and statistics components. -> **[Monitoring](https://commons.apache.org/sandbox/commons-monitoring/)** -> -> Monitoring aims to provide a simple but extensible monitoring solution for Java applications. +> **[Monitoring](https://commons.apache.org/sandbox/commons-monitoring/)**
Monitoring aims to provide a simple but extensible monitoring solution for Java applications. -> **[Nabla](https://commons.apache.org/sandbox/commons-nabla/)** -> -> Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. +> **[Nabla](https://commons.apache.org/sandbox/commons-nabla/)**
Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -> **[Net](https://commons.apache.org/proper/commons-net/)** -> -> Collection of network utilities and protocol implementations. +> **[Net](https://commons.apache.org/proper/commons-net/)**
Collection of network utilities and protocol implementations. -> **[OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/)** -> -> Interface to signing and verifying data using OpenPGP. +> **[OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/)**
Interface to signing and verifying data using OpenPGP. -> **[Performance](https://commons.apache.org/sandbox/commons-performance/)** -> -> Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. +> **[Performance](https://commons.apache.org/sandbox/commons-performance/)**
Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. -> **[Pipeline](https://commons.apache.org/sandbox/commons-pipeline/)** -> -> Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. +> **[Pipeline](https://commons.apache.org/sandbox/commons-pipeline/)**
Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -> **[Pool](https://commons.apache.org/proper/commons-pool/)** -> -> Generic object pooling component. +> **[Pool](https://commons.apache.org/proper/commons-pool/)**
Generic object pooling component. -> **[RDF](https://commons.apache.org/proper/commons-rdf/)** -> -> Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +> **[RDF](https://commons.apache.org/proper/commons-rdf/)**
Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -> **[RNG](https://commons.apache.org/proper/commons-rng/)** -> -> Commons Rng provides implementations of pseudo-random numbers generators. +> **[RNG](https://commons.apache.org/proper/commons-rng/)**
Commons Rng provides implementations of pseudo-random numbers generators. -> **[SCXML](https://commons.apache.org/proper/commons-scxml/)** -> -> Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +> **[SCXML](https://commons.apache.org/proper/commons-scxml/)**
Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -> **[Validator](https://commons.apache.org/proper/commons-validator/)** -> -> Framework to define validators and validation rules in an xml file. +> **[Validator](https://commons.apache.org/proper/commons-validator/)**
Framework to define validators and validation rules in an xml file. -> **[VFS](https://commons.apache.org/proper/commons-vfs/)** -> -> Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +> **[VFS](https://commons.apache.org/proper/commons-vfs/)**
Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -> **[Weaver](https://commons.apache.org/proper/commons-weaver/)** -> -> Provides an easy way to enhance (weave) compiled bytecode. +> **[Weaver](https://commons.apache.org/proper/commons-weaver/)**
Provides an easy way to enhance (weave) compiled bytecode. #### Other -4 projects +4 projects -> **[CUBA Platform](https://www.cuba-platform.com/)** -> -> High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +> **[CUBA Platform](https://www.cuba-platform.com/)**
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -> **[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k Last push 2026-07-23 -> -> Fast, lightweight and productive microservices framework with built-in security. +> **[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k 23/07/2026
Fast, lightweight and productive microservices framework with built-in security. -> **[Orienteer](https://github.com/OrienteerBAP/Orienteer/)** ★ 260 Last push 2024-02-08 -> -> Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. +> **[Orienteer](https://github.com/OrienteerBAP/Orienteer/)** ★ 260 08/02/2024
Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -> **[Spring](https://spring.io/projects/)** -> -> Provides many packages for dependency injection, aspect-oriented programming, security, etc. +> **[Spring](https://spring.io/projects/)**
Provides many packages for dependency injection, aspect-oriented programming, security, etc.
- -
-Processes 3 projects +
+Processes 3 projects _Libraries that help the management of operating system processes._ -> **[ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec)** ★ 41 Last push 2026-07-22 -> -> Convenient API around Apache Commons Exec. +> **[ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec)** ★ 41 22/07/2026
Convenient API around Apache Commons Exec. -> **[zt-exec](https://github.com/zeroturnaround/zt-exec)** ★ 915 Last push 2026-07-10 -> -> Provides a unified API to Apache Commons Exec and ProcessBuilder. +> **[zt-exec](https://github.com/zeroturnaround/zt-exec)** ★ 915 10/07/2026
Provides a unified API to Apache Commons Exec and ProcessBuilder. -> **[zt-process-killer](https://github.com/zeroturnaround/zt-process-killer)** ★ 139 Last push 2026-07-10 -> -> Stops processes started from Java or the system processes via PID. +> **[zt-process-killer](https://github.com/zeroturnaround/zt-process-killer)** ★ 139 10/07/2026
Stops processes started from Java or the system processes via PID.
- -
-Reactive libraries 5 projects +
+Reactive libraries 5 projects _Libraries for developing reactive applications._ -> **[Akka](https://akka.io)** -> -> Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. +> **[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)** ★ 4.9k Last push 2024-03-13 -> -> Provides a standard for asynchronous stream processing with non-blocking backpressure. +> **[Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm)** ★ 4.9k 13/03/2024
Provides a standard for asynchronous stream processing with non-blocking backpressure. -> **[Reactor](https://github.com/reactor/reactor)** ★ 3.7k Last push 2026-07-21 -> -> A framework for building non-blocking applications on the JVM, providing support for reactive programming. +> **[Reactor](https://github.com/reactor/reactor)** ★ 3.7k 21/07/2026
A framework for building non-blocking applications on the JVM, providing support for reactive programming. -> **[RxJava](https://github.com/ReactiveX/RxJava)** ★ 48.2k Last push 2026-07-24 -> -> Allows for composing asynchronous and event-based programs using observable sequences. +> **[RxJava](https://github.com/ReactiveX/RxJava)** ★ 48.2k 24/07/2026
Allows for composing asynchronous and event-based programs using observable sequences. -> **[vert.x](https://vertx.io)** -> -> Polyglot event-driven application framework. +> **[vert.x](https://vertx.io)**
Polyglot event-driven application framework.
- -
-REST Frameworks 15 projects +
+REST Frameworks 15 projects _Frameworks specifically for creating RESTful services._ -> **[Dropwizard](https://github.com/dropwizard/dropwizard)** ★ 8.6k Last push 2026-07-23 -> -> Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +> **[Dropwizard](https://github.com/dropwizard/dropwizard)** ★ 8.6k 23/07/2026
Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -> **[Elide](https://elide.io)** -> -> Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +> **[Elide](https://elide.io)**
Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -> **[Jersey](https://jersey.github.io)** -> -> JAX-RS reference implementation. +> **[Jersey](https://jersey.github.io)**
JAX-RS reference implementation. -> **[Microserver](https://github.com/aol/micro-server)** ★ 935 Last push 2023-03-21 -> -> 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. +> **[Microserver](https://github.com/aol/micro-server)** ★ 935 21/03/2023
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. -> **[OfficeFloor](https://github.com/officefloor/OfficeFloor)** ★ 70 Last push 2026-07-23 -> -> Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. +> **[OfficeFloor](https://github.com/officefloor/OfficeFloor)** ★ 70 23/07/2026
Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. -> **[Rapidoid](https://www.rapidoid.org)** -> -> Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. +> **[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)** ★ 2.5k Last push 2026-07-22 -> -> 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)** ★ 2.5k 22/07/2026
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. +> **[RESTEasy](https://resteasy.github.io)**
Fully certified and portable implementation of the JAX-RS specification. -> **[RestExpress](https://github.com/RestExpress/RestExpress)** ★ 939 Last push 2026-02-27 -> -> Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. +> **[RestExpress](https://github.com/RestExpress/RestExpress)** ★ 939 27/02/2026
Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. -> **[Restlet Framework](https://github.com/restlet/restlet-framework-java)** ★ 667 Last push 2026-07-23 -> -> Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. +> **[Restlet Framework](https://github.com/restlet/restlet-framework-java)** ★ 667 23/07/2026
Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. -> **[Spark](https://sparkjava.com)** -> -> Sinatra inspired framework. +> **[Spark](https://sparkjava.com)**
Sinatra inspired framework. -> **[Crnk](https://github.com/crnk-project/crnk-framework)** ★ 291 Last push 2023-10-19 -> -> Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +> **[Crnk](https://github.com/crnk-project/crnk-framework)** ★ 291 19/10/2023
Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. -> **[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k Last push 2026-07-19 -> -> Automates the generation of API documentation using Spring Boot projects. +> **[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k 19/07/2026
Automates the generation of API documentation using Spring Boot projects. -> **[Swagger](https://swagger.io)** -> -> Standard, language-agnostic interface to REST APIs. +> **[Swagger](https://swagger.io)**
Standard, language-agnostic interface to REST APIs. -> **[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** ★ 26.6k Last push 2026-07-26 -> -> Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. +> **[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** ★ 26.6k 26/07/2026
Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec.
- -
-Science 16 projects +
+Science 16 projects _Libraries for scientific computing, analysis and visualization._ -> **[BioJava](https://biojava.org/)** -> -> Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +> **[BioJava](https://biojava.org/)**
Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -> **[Chart-FX](https://github.com/GSI-CS-CO/chart-fx)** ★ 611 Last push 2026-03-17 -> -> Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +> **[Chart-FX](https://github.com/GSI-CS-CO/chart-fx)** ★ 611 17/03/2026
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. -> **[DataMelt](https://datamelt.org/)** -> -> Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) +> **[DataMelt](https://datamelt.org/)**
Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) -> **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 Last push 2023-08-27 -> -> Modular, light and easy graph framework for theoretic algorithms. +> **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 27/08/2023
Modular, light and easy graph framework for theoretic algorithms. -> **[GraphStream](https://graphstream-project.org)** -> -> Library for modeling and analyzing dynamic graphs. +> **[GraphStream](https://graphstream-project.org)**
Library for modeling and analyzing dynamic graphs. -> **[JFreeChart](https://www.jfree.org/jfreechart/)** -> -> 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +> **[JFreeChart](https://www.jfree.org/jfreechart/)**
2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) -> **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k Last push 2026-07-20 -> -> Graph library that provides mathematical graph-theory objects and algorithms. +> **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k 20/07/2026
Graph library that provides mathematical graph-theory objects and algorithms. -> **[JGraphX](https://github.com/jgraph/jgraphx)** ★ 692 Last push 2020-11-13 -> -> Library for visualizing (mainly Swing) and interacting with node-edge graphs. +> **[JGraphX](https://github.com/jgraph/jgraphx)** ★ 692 13/11/2020
Library for visualizing (mainly Swing) and interacting with node-edge graphs. -> **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 Last push 2026-06-21 -> -> jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. +> **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 21/06/2026
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. -> **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 Last push 2026-07-17 -> -> Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. +> **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 17/07/2026
Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. -> **[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 Last push 2021-03-25 -> -> Library for geophysical scientific computation, visualization and digital signal analysis. +> **[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 25/03/2021
Library for geophysical scientific computation, visualization and digital signal analysis. -> **[Morpheus](https://github.com/zavtech/morpheus-core)** ★ 245 Last push 2023-12-06 -> -> Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +> **[Morpheus](https://github.com/zavtech/morpheus-core)** ★ 245 06/12/2023
Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -> **[Orekit](https://www.orekit.org/)** -> -> A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +> **[Orekit](https://www.orekit.org/)**
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 Last push 2025-06-12 -> -> Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 12/06/2025
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) -> **[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k Last push 2026-07-24 -> -> Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +> **[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k 24/07/2026
Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -> **[XChart](https://github.com/knowm/XChart)** ★ 1.6k Last push 2026-07-23 -> -> Light-weight library for plotting data. Many customizable chart types are available. +> **[XChart](https://github.com/knowm/XChart)** ★ 1.6k 23/07/2026
Light-weight library for plotting data. Many customizable chart types are available.
- -
-Search 5 projects + - -
-Security 25 projects +
+Security 25 projects _Libraries that handle security, authentication, authorization or session management._ -> **[Apache Shiro](https://shiro.apache.org)** -> -> Performs authentication, authorization, cryptography and session management. +> **[Apache Shiro](https://shiro.apache.org)**
Performs authentication, authorization, cryptography and session management. -> **[Ayza](https://github.com/Hakky54/ayza)** ★ 578 Last push 2026-07-13 -> -> High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. +> **[Ayza](https://github.com/Hakky54/ayza)** ★ 578 13/07/2026
High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -> **[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. +> **[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. -> **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 Last push 2026-07-13 -> -> CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. +> **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 13/07/2026
CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. -> **[DependencyCheck](https://github.com/jeremylong/DependencyCheck)** ★ 54 Last push 2025-09-27 -> -> Detects publicly disclosed vulnerabilities contained within a project's dependencies. +> **[DependencyCheck](https://github.com/jeremylong/DependencyCheck)** ★ 54 27/09/2025
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) +> **[Cryptomator](https://cryptomator.org)**
Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) -> **[Hdiv](https://github.com/hdiv/hdiv)** ★ 219 Last push 2024-12-06 -> -> 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)** ★ 219 06/12/2024
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)** ★ 11.1k Last push 2026-07-24 -> -> JSON web token for Java and Android. +> **[jjwt](https://github.com/jwtk/jjwt)** ★ 11.1k 24/07/2026
JSON web token for Java and Android. -> **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 Last push 2025-07-17 -> -> Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. +> **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 17/07/2025
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)** ★ 206 Last push 2026-07-20 -> -> JSON Web Key Set parser. +> **[Jwks RSA](https://github.com/auth0/jwks-rsa-java)** ★ 206 20/07/2026
JSON Web Key Set parser. -> **[Kalium](https://github.com/abstractj/kalium)** ★ 219 Last push 2023-09-12 -> -> Binding for the Networking and Cryptography (NaCl) library. +> **[Kalium](https://github.com/abstractj/kalium)** ★ 219 12/09/2023
Binding for the Networking and Cryptography (NaCl) library. -> **[Keycloak](https://www.keycloak.org)** -> -> Integrated SSO and IDM for browser apps and RESTful web services. +> **[Keycloak](https://www.keycloak.org)**
Integrated SSO and IDM for browser apps and RESTful web services. -> **[Keywhiz](https://github.com/square/keywhiz)** ★ 2.6k Last push 2023-09-18 -> -> System for distributing and managing secrets. +> **[Keywhiz](https://github.com/square/keywhiz)** ★ 2.6k 18/09/2023
System for distributing and managing secrets. -> **[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 Last push 2025-09-05 -> -> Advanced password strength estimation. +> **[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 05/09/2025
Advanced password strength estimation. -> **[OACC](http://oaccframework.org)** -> -> Provides permission-based authorization services. +> **[OACC](http://oaccframework.org)**
Provides permission-based authorization services. -> **[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 879 Last push 2026-07-24 -> -> Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. +> **[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 879 24/07/2026
Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. -> **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 Last push 2026-07-03 -> -> One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +> **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 03/07/2026
One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). -> **[pac4j](https://github.com/pac4j/pac4j)** ★ 2.5k Last push 2026-07-25 -> -> Security engine. +> **[pac4j](https://github.com/pac4j/pac4j)** ★ 2.5k 25/07/2026
Security engine. -> **[Passay](https://www.passay.org/)** -> -> Enforce password policy by validating candidate passwords against a configurable rule set. +> **[Passay](https://www.passay.org/)**
Enforce password policy by validating candidate passwords against a configurable rule set. -> **[Password4j](https://github.com/Password4j/password4j)** ★ 428 Last push 2026-04-16 -> -> User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. +> **[Password4j](https://github.com/Password4j/password4j)** ★ 428 16/04/2026
User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. -> **[SecurityBuilder](https://github.com/tersesystems/securitybuilder)** ★ 48 Last push 2021-06-26 -> -> Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. +> **[SecurityBuilder](https://github.com/tersesystems/securitybuilder)** ★ 48 26/06/2021
Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. -> **[Themis](https://github.com/cossacklabs/themis)** ★ 2k Last push 2026-04-24 -> -> 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)** ★ 2k 24/04/2026
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)** ★ 13.5k Last push 2024-04-17 -> -> Provides a simple and misuse-proof API for common cryptographic tasks. +> **[Tink](https://github.com/google/tink)** ★ 13.5k 17/04/2024
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. +> **[Topaz](https://www.topaz.sh)**
Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. -> **[MOSS](https://central.sonatype.com/artifact/com.mosscomputing/moss-sdk)** -> -> Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. +> **[MOSS](https://central.sonatype.com/artifact/com.mosscomputing/moss-sdk)**
Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance.
- -
-Serialization 6 projects +
+Serialization 6 projects _Libraries that handle serialization with high efficiency._ -> **[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k Last push 2026-06-22 -> -> Memory-efficient serialization library that can access serialized data without unpacking and parsing it. +> **[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k 22/06/2026
Memory-efficient serialization library that can access serialized data without unpacking and parsing it. -> **[FST](https://github.com/RuedigerMoeller/fast-serialization)** ★ 1.6k Last push 2023-06-30 -> -> JDK-compatible, high-performance object graph serialization. +> **[FST](https://github.com/RuedigerMoeller/fast-serialization)** ★ 1.6k 30/06/2023
JDK-compatible, high-performance object graph serialization. -> **[Fury](https://github.com/alipay/fury)** ★ 4.4k Last push 2026-07-24 -> -> Blazing fast object graph serialization framework powered by JIT and zero-copy. +> **[Fury](https://github.com/alipay/fury)** ★ 4.4k 24/07/2026
Blazing fast object graph serialization framework powered by JIT and zero-copy. -> **[Kryo](https://github.com/EsotericSoftware/kryo)** ★ 6.5k Last push 2026-07-20 -> -> Fast and efficient object graph serialization framework. +> **[Kryo](https://github.com/EsotericSoftware/kryo)** ★ 6.5k 20/07/2026
Fast and efficient object graph serialization framework. -> **[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k Last push 2026-07-18 -> -> Efficient binary serialization format. +> **[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k 18/07/2026
Efficient binary serialization format. -> **[PHP Serializer](https://github.com/marcospassos/java-php-serializer)** ★ 19 Last push 2018-02-28 -> -> Serializing objects in the PHP serialization format. +> **[PHP Serializer](https://github.com/marcospassos/java-php-serializer)** ★ 19 28/02/2018
Serializing objects in the PHP serialization format.
- -
-Server 5 projects +
+Server 5 projects _Servers specifically used to deploy applications._ -> **[Apache Tomcat](https://tomcat.apache.org)** -> -> Robust, all-round server for Servlet and JSP. +> **[Apache Tomcat](https://tomcat.apache.org)**
Robust, all-round server for Servlet and JSP. -> **[Apache TomEE](https://tomee.apache.org)** -> -> Tomcat plus Java EE. +> **[Apache TomEE](https://tomee.apache.org)**
Tomcat plus Java EE. -> **[Jetty](https://www.eclipse.org/jetty/)** -> -> Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +> **[Jetty](https://www.eclipse.org/jetty/)**
Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -> **[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k Last push 2023-07-25 -> -> Tiny, easily embeddable HTTP server. +> **[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k 25/07/2023
Tiny, easily embeddable HTTP server. -> **[WildFly](https://www.wildfly.org)** -> -> Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +> **[WildFly](https://www.wildfly.org)**
Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)
- -
-Template Engine 11 projects +
+Template Engine 11 projects _Tools that substitute expressions in a template._ -> **[Freemarker](https://freemarker.apache.org)** -> -> Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +> **[Freemarker](https://freemarker.apache.org)**
Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. -> **[Handlebars.java](https://jknack.github.io/handlebars.java/)** -> -> Logicless and semantic Mustache templates. +> **[Handlebars.java](https://jknack.github.io/handlebars.java/)**
Logicless and semantic Mustache templates. -> **[Jade4J](https://github.com/neuland/jade4j)** ★ 706 Last push 2022-05-20 -> -> Implementation of Pug (formerly known as Jade). +> **[Jade4J](https://github.com/neuland/jade4j)** ★ 706 20/05/2022
Implementation of Pug (formerly known as Jade). -> **[Jamal](https://github.com/verhas/jamal)** ★ 69 Last push 2025-04-22 -> -> Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +> **[Jamal](https://github.com/verhas/jamal)** ★ 69 22/04/2025
Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. -> **[jstachio](https://github.com/jstachio/jstachio)** ★ 330 Last push 2025-04-15 -> -> Typesafe Mustache templating engine. +> **[jstachio](https://github.com/jstachio/jstachio)** ★ 330 15/04/2025
Typesafe Mustache templating engine. -> **[jte](https://github.com/casid/jte)** ★ 1.1k Last push 2026-07-20 -> -> Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. +> **[jte](https://github.com/casid/jte)** ★ 1.1k 20/07/2026
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)** ★ 299 Last push 2018-04-14 -> -> Modular, configurable and fully tested template engine. +> **[Jtwig](https://github.com/jtwig/jtwig)** ★ 299 14/04/2018
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)** ★ 781 Last push 2026-01-21 -> -> Optimized, memory efficient and speedy template engine producing statically typed, plain objects. +> **[Rocker](https://github.com/fizzed/rocker)** ★ 781 21/01/2026
Optimized, memory efficient and speedy template engine producing statically typed, plain objects. -> **[StringTemplate](https://github.com/antlr/stringtemplate4)** ★ 1k Last push 2025-05-14 -> -> Template engine for generating source code, web pages, emails, or any other formatted text output. +> **[StringTemplate](https://github.com/antlr/stringtemplate4)** ★ 1k 14/05/2025
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. +> **[Thymeleaf](https://www.thymeleaf.org)**
Aims to be a substitute for JSP and works for XML files.
- -
-Testing 66 projects +
+Testing 66 projects _Tools that test from model to the view._ #### Asynchronous -7 projects +7 projects _Tools that simplify testing asynchronous services._ -> **[Awaitility](https://github.com/awaitility/awaitility)** ★ 4k Last push 2026-04-17 -> -> DSL for synchronizing asynchronous operations. +> **[Awaitility](https://github.com/awaitility/awaitility)** ★ 4k 17/04/2026
DSL for synchronizing asynchronous operations. -> **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 Last push 2024-04-05 -> -> Toolkit for testing multi-threaded and asynchronous applications. +> **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 05/04/2024
Toolkit for testing multi-threaded and asynchronous applications. -> **[GreenMail](https://greenmail-mail-test.github.io/greenmail/)** -> -> In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +> **[GreenMail](https://greenmail-mail-test.github.io/greenmail/)**
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) -> **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 Last push 2026-05-20 -> -> Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +> **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 20/05/2026
Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -> **[Karate](https://github.com/intuit/karate)** ★ 8.9k Last push 2026-07-26 -> -> DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +> **[Karate](https://github.com/intuit/karate)** ★ 8.9k 26/07/2026
DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -> **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k Last push 2026-07-22 -> -> DSL for easy testing of REST/HTTP services. +> **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k 22/07/2026
DSL for easy testing of REST/HTTP services. -> **[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 Last push 2026-04-10 -> -> Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. +> **[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 10/04/2026
Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. #### BDD -8 projects +8 projects _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ -> **[Cucumber](https://github.com/cucumber/cucumber-jvm)** ★ 2.8k Last push 2026-07-24 -> -> Provides a way to describe features in a plain language which customers can understand. +> **[Cucumber](https://github.com/cucumber/cucumber-jvm)** ★ 2.8k 24/07/2026
Provides a way to describe features in a plain language which customers can understand. -> **[Cukes-REST](https://github.com/ctco/cukes)** ★ 111 Last push 2025-06-02 -> -> Collection of Gherkin steps for REST-service testing using Cucumber. +> **[Cukes-REST](https://github.com/ctco/cukes)** ★ 111 02/06/2025
Collection of Gherkin steps for REST-service testing using Cucumber. -> **[J8Spec](https://github.com/j8spec/j8spec)** ★ 49 Last push 2022-02-25 -> -> Follows a Jasmine-like syntax. +> **[J8Spec](https://github.com/j8spec/j8spec)** ★ 49 25/02/2022
Follows a Jasmine-like syntax. -> **[JBehave](https://jbehave.org)** -> -> Extensively configurable framework that describes stories. +> **[JBehave](https://jbehave.org)**
Extensively configurable framework that describes stories. -> **[JGiven](https://jgiven.org)** -> -> Provides a fluent API which allows for simpler composition. +> **[JGiven](https://jgiven.org)**
Provides a fluent API which allows for simpler composition. -> **[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 Last push 2026-07-24 -> -> Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. +> **[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 24/07/2026
Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. -> **[Lamdba Behave](https://github.com/RichardWarburton/lambda-behave)** ★ 252 Last push 2022-02-22 -> -> Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. +> **[Lamdba Behave](https://github.com/RichardWarburton/lambda-behave)** ★ 252 22/02/2022
Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. -> **[Serenity BDD](https://github.com/serenity-bdd/serenity-core)** ★ 755 Last push 2026-07-16 -> -> Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. +> **[Serenity BDD](https://github.com/serenity-bdd/serenity-core)** ★ 755 16/07/2026
Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. #### Fixtures -10 projects +10 projects _Everything related to the creation and handling of random data._ -> **[AutoParams](https://github.com/AutoParams/AutoParams)** ★ 368 Last push 2026-04-09 -> -> Supports generating test data or combining scenarios for parameterized tests. +> **[AutoParams](https://github.com/AutoParams/AutoParams)** ★ 368 09/04/2026
Supports generating test data or combining scenarios for parameterized tests. -> **[Beanmother](https://github.com/keepcosmos/beanmother)** ★ 122 Last push 2022-12-14 -> -> Sets up beans from YAML fixtures. +> **[Beanmother](https://github.com/keepcosmos/beanmother)** ★ 122 14/12/2022
Sets up beans from YAML fixtures. -> **[Datafaker](https://github.com/datafaker-net/datafaker)** ★ 1.8k Last push 2026-07-23 -> -> Modern fake data generator forked from Java Faker. +> **[Datafaker](https://github.com/datafaker-net/datafaker)** ★ 1.8k 23/07/2026
Modern fake data generator forked from Java Faker. -> **[Fixture Factory](https://github.com/six2six/fixture-factory)** ★ 443 Last push 2023-04-14 -> -> Generates fake objects from a template. +> **[Fixture Factory](https://github.com/six2six/fixture-factory)** ★ 443 14/04/2023
Generates fake objects from a template. -> **[jFairy](https://github.com/Devskiller/jfairy)** ★ 742 Last push 2026-05-30 -> -> Fake data generator. +> **[jFairy](https://github.com/Devskiller/jfairy)** ★ 742 30/05/2026
Fake data generator. -> **[Instancio](https://github.com/instancio/instancio)** ★ 1.2k Last push 2026-07-25 -> -> Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. +> **[Instancio](https://github.com/instancio/instancio)** ★ 1.2k 25/07/2026
Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. -> **[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 Last push 2026-05-29 -> -> JUnit test runner and plugins for running JUnit tests with pseudo-randomness. +> **[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 29/05/2026
JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -> **[Java Faker](https://github.com/DiUS/java-faker)** ★ 4.9k Last push 2024-06-12 -> -> Port of Ruby's fake data generator. +> **[Java Faker](https://github.com/DiUS/java-faker)** ★ 4.9k 12/06/2024
Port of Ruby's fake data generator. -> **[Mockneat](https://github.com/nomemory/mockneat)** ★ 534 Last push 2023-03-27 -> -> Another fake data generator. +> **[Mockneat](https://github.com/nomemory/mockneat)** ★ 534 27/03/2023
Another fake data generator. -> **[JMock](https://github.com/xcancloud/JMock)** ★ 212 Last push 2026-05-19 -> -> JMock is a high-performance data generation and simulation component library implemented in Java. +> **[JMock](https://github.com/xcancloud/JMock)** ★ 212 19/05/2026
JMock is a high-performance data generation and simulation component library implemented in Java. #### Frameworks -14 projects +14 projects _Provide environments to run tests for a specific use case._ -> **[Apache JMeter](https://jmeter.apache.org)** -> -> Functional testing and performance measurements. +> **[Apache JMeter](https://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. +> **[JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/)**
Load tests with JMeter as simple as a JUnit test. -> **[Arquillian](https://arquillian.org)** -> -> Integration and functional testing platform for Java EE containers. +> **[Arquillian](https://arquillian.org)**
Integration and functional testing platform for Java EE containers. -> **[BitDive ![c]](https://bitdive.io)** -> -> Zero-code integration testing platform that generates tests from runtime application behavior. +> **[BitDive ![c]](https://bitdive.io)**
Zero-code integration testing platform that generates tests from runtime application behavior. -> **[cdi-test](https://github.com/guhilling/cdi-test)** ★ 31 Last push 2026-07-25 -> -> JUnit extension for easy and efficient testing of CDI components. +> **[cdi-test](https://github.com/guhilling/cdi-test)** ★ 31 25/07/2026
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. +> **[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. +> **[Gatling](https://gatling.io)**
Load testing tool designed for ease of use, maintainability and high performance. -> **[JUnit](https://junit.org/junit5/)** -> -> Common testing framework. +> **[JUnit](https://junit.org/junit5/)**
Common testing framework. -> **[jqwik](https://jqwik.net)** -> -> Engine for property-based testing built on JUnit 5. +> **[jqwik](https://jqwik.net)**
Engine for property-based testing built on JUnit 5. -> **[Pact JVM](https://github.com/DiUS/pact-jvm)** ★ 1.1k Last push 2026-07-22 -> -> Consumer-driven contract testing. +> **[Pact JVM](https://github.com/DiUS/pact-jvm)** ★ 1.1k 22/07/2026
Consumer-driven contract testing. -> **[PIT](https://pitest.org)** -> -> Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. +> **[PIT](https://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)** ★ 116 Last push 2026-07-14 -> -> Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. +> **[weld-testing](https://github.com/weld/weld-testing)** ★ 116 14/07/2026
Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. -> **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k Last push 2026-07-26 -> -> Browser automation framework and ecosystem. +> **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k 26/07/2026
Browser automation framework and ecosystem. -> **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 10 Last push 2026-07-23 -> -> Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. +> **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 10 23/07/2026
Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. #### Matchers -6 projects +6 projects _Libraries that provide custom matchers._ -> **[AssertJ](https://joel-costigliola.github.io/assertj/)** -> -> Fluent assertions that improve readability. +> **[AssertJ](https://joel-costigliola.github.io/assertj/)**
Fluent assertions that improve readability. -> **[Hamcrest](https://hamcrest.org/JavaHamcrest/)** -> -> Matchers that can be combined to create flexible expressions of intent. +> **[Hamcrest](https://hamcrest.org/JavaHamcrest/)**
Matchers that can be combined to create flexible expressions of intent. -> **[JSONAssert](https://jsonassert.skyscreamer.org)** -> -> Simplifies testing JSON strings. +> **[JSONAssert](https://jsonassert.skyscreamer.org)**
Simplifies testing JSON strings. -> **[JsonUnit](https://github.com/lukas-krecan/JsonUnit)** ★ 1k Last push 2026-07-24 -> -> Library that simplifies JSON comparison in tests. +> **[JsonUnit](https://github.com/lukas-krecan/JsonUnit)** ★ 1k 24/07/2026
Library that simplifies JSON comparison in tests. -> **[Truth](https://truth.dev)** -> -> Google's fluent assertion and proposition framework. +> **[Truth](https://truth.dev)**
Google's fluent assertion and proposition framework. -> **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 318 Last push 2026-07-08 -> -> Simplifies testing for XML output. +> **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 318 08/07/2026
Simplifies testing for XML output. #### Miscellaneous -14 projects +14 projects _Other stuff related to testing._ -> **[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 Last push 2026-06-08 -> -> Captures console output for unit testing purposes. +> **[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 08/06/2026
Captures console output for unit testing purposes. -> **[junit-dataprovider](https://github.com/TNG/junit-dataprovider)** ★ 249 Last push 2026-02-07 -> -> TestNG-like data provider/runner for JUnit. +> **[junit-dataprovider](https://github.com/TNG/junit-dataprovider)** ★ 249 07/02/2026
TestNG-like data provider/runner for JUnit. -> **[junit-pioneer](https://junit-pioneer.org/)** -> -> JUnit 5 extension pack, pushing the frontiers on Jupiter. +> **[junit-pioneer](https://junit-pioneer.org/)**
JUnit 5 extension pack, pushing the frontiers on Jupiter. -> **[LogCaptor](https://github.com/Hakky54/log-captor)** ★ 432 Last push 2026-07-02 -> -> Captures log entries for unit testing purposes. +> **[LogCaptor](https://github.com/Hakky54/log-captor)** ★ 432 02/07/2026
Captures log entries for unit testing purposes. -> **[log-capture](https://github.com/dm-drogeriemarkt/log-capture)** ★ 16 Last push 2026-05-05 -> -> Captures log entries and provides assertions for unit and integration testing. +> **[log-capture](https://github.com/dm-drogeriemarkt/log-capture)** ★ 16 05/05/2026
Captures log entries and provides assertions for unit and integration testing. -> **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Last push 2025-10-11 -> -> Reports whether instances of a given class are immutable. +> **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 11/10/2025
Reports whether instances of a given class are immutable. -> **[pojo-tester](https://www.pojo.pl)** -> -> Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +> **[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)** ★ 74 Last push 2019-02-13 -> -> Tests if a request/response matches a given RAML definition. +> **[raml-tester](https://github.com/nidi3/raml-tester)** ★ 74 13/02/2019
Tests if a request/response matches a given RAML definition. -> **[Selfie](https://github.com/diffplug/selfie)** ★ 100 Last push 2026-07-01 -> -> Snapshot testing (inline and on disk). +> **[Selfie](https://github.com/diffplug/selfie)** ★ 100 01/07/2026
Snapshot testing (inline and on disk). -> **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 Last push 2026-04-20 -> -> Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. +> **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 20/04/2026
Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. -> **[Stebz](https://github.com/stebz/stebz)** ★ 20 Last push 2026-07-24 -> -> Multi-approach framework for test steps managing. +> **[Stebz](https://github.com/stebz/stebz)** ★ 20 24/07/2026
Multi-approach framework for test steps managing. -> **[Testcontainers](https://github.com/testcontainers/testcontainers-java)** ★ 8.7k Last push 2026-07-23 -> -> 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)** ★ 8.7k 23/07/2026
Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. -> **[Java Evolved](https://javaevolved.github.io/)** -> -> Side-by-side comparisons of legacy and modern Java patterns. +> **[Java Evolved](https://javaevolved.github.io/)**
Side-by-side comparisons of legacy and modern Java patterns. -> **[test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin)** ★ 1 Last push 2026-06-06 -> -> Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. +> **[test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin)** ★ 1 06/06/2026
Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. #### Mocking -7 projects +7 projects _Tools which mock collaborators to help testing single, isolated units._ -> **[JMockit](https://jmockit.github.io)** -> -> Integration testing, API mocking and faking, and code coverage. +> **[JMockit](https://jmockit.github.io)**
Integration testing, API mocking and faking, and code coverage. -> **[Mockito](https://github.com/mockito/mockito)** ★ 15.4k Last push 2026-07-15 -> -> Mocking framework that lets you write tests with a clean and simple API. +> **[Mockito](https://github.com/mockito/mockito)** ★ 15.4k 15/07/2026
Mocking framework that lets you write tests with a clean and simple API. -> **[MockServer](https://www.mock-server.com)** -> -> Allows mocking of systems integrated with HTTPS. +> **[MockServer](https://www.mock-server.com)**
Allows mocking of systems integrated with HTTPS. -> **[Moco](https://github.com/dreamhead/moco)** ★ 4.4k Last push 2026-05-10 -> -> Concise web services for stubs and mocks. +> **[Moco](https://github.com/dreamhead/moco)** ★ 4.4k 10/05/2026
Concise web services for stubs and mocks. -> **[PowerMock](https://github.com/powermock/powermock)** ★ 4.2k Last push 2024-01-03 -> -> Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. +> **[PowerMock](https://github.com/powermock/powermock)** ★ 4.2k 03/01/2024
Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -> **[WireMock](https://wiremock.org)** -> -> Stubs and mocks web services. +> **[WireMock](https://wiremock.org)**
Stubs and mocks web services. -> **[EasyMock](https://github.com/easymock/easymock)** ★ 832 Last push 2026-07-22 -> -> EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. +> **[EasyMock](https://github.com/easymock/easymock)** ★ 832 22/07/2026
EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.
- -
-Utility 25 projects +
+Utility 25 projects _Libraries which provide general utility functions._ -> **[Arthas](https://github.com/alibaba/arthas)** ★ 37.5k Last push 2026-07-24 -> -> Allows to troubleshoot production issues for applications without modifying code or restarting servers. +> **[Arthas](https://github.com/alibaba/arthas)** ★ 37.5k 24/07/2026
Allows to troubleshoot production issues for applications without modifying code or restarting servers. -> **[bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j)** ★ 2.8k Last push 2026-07-23 -> -> Rate limiting library based on token-bucket algorithm. +> **[bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j)** ★ 2.8k 23/07/2026
Rate limiting library based on token-bucket algorithm. -> **[cactoos](https://github.com/yegor256/cactoos)** ★ 777 Last push 2026-07-24 -> -> Collection of object-oriented primitives. +> **[cactoos](https://github.com/yegor256/cactoos)** ★ 777 24/07/2026
Collection of object-oriented primitives. -> **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 Last push 2023-01-20 -> -> Generates postman collection, environment and integration tests from java code. +> **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 20/01/2023
Generates postman collection, environment and integration tests from java code. -> **[CRaSH](https://www.crashub.org)** -> -> Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +> **[CRaSH](https://www.crashub.org)**
Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) -> **[Dex](https://github.com/PatMartin/Dex)** ★ 1.3k Last push 2019-02-12 -> -> Java/JavaFX tool capable of powerful ETL and data visualization. +> **[Dex](https://github.com/PatMartin/Dex)** ★ 1.3k 12/02/2019
Java/JavaFX tool capable of powerful ETL and data visualization. -> **[dregex](https://github.com/marianobarrios/dregex)** ★ 55 Last push 2026-04-13 -> -> Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. +> **[dregex](https://github.com/marianobarrios/dregex)** ★ 55 13/04/2026
Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. -> **[Embulk](https://github.com/embulk/embulk)** ★ 1.8k Last push 2026-06-19 -> -> Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +> **[Embulk](https://github.com/embulk/embulk)** ★ 1.8k 19/06/2026
Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -> **[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 Last push 2026-07-01 -> -> Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. +> **[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 01/07/2026
Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k Last push 2026-06-28 -> -> Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k 28/06/2026
Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) -> **[Guava](https://github.com/google/guava)** ★ 51.5k Last push 2026-07-24 -> -> Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. +> **[Guava](https://github.com/google/guava)** ★ 51.5k 24/07/2026
Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -> **[JADE](https://jade.tilab.com)** -> -> Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +> **[JADE](https://jade.tilab.com)**
Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -> **[Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml)** ★ 57 Last push 2025-12-08 -> -> Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. +> **[Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml)** ★ 57 08/12/2025
Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. -> **[Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/)** -> -> Utilities for text or data comparison and patching. +> **[Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/)**
Utilities for text or data comparison and patching. -> **[java-util](https://github.com/jdereg/java-util)** ★ 440 Last push 2026-07-12 -> -> Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. +> **[java-util](https://github.com/jdereg/java-util)** ★ 440 12/07/2026
Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. -> **[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k Last push 2026-07-01 -> -> Library that helps with constructing difficult regular expressions. +> **[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k 01/07/2026
Library that helps with constructing difficult regular expressions. -> **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 Last push 2026-04-22 -> -> Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. +> **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 22/04/2026
Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. -> **[JGit](https://www.eclipse.org/jgit/)** -> -> Lightweight, pure Java library implementing the Git version control system. +> **[JGit](https://www.eclipse.org/jgit/)**
Lightweight, pure Java library implementing the Git version control system. -> **[JKScope](https://github.com/evpl/jkscope)** ★ 23 Last push 2025-01-25 -> -> Java scope functions inspired by Kotlin. +> **[JKScope](https://github.com/evpl/jkscope)** ★ 23 25/01/2025
Java scope functions inspired by Kotlin. -> **[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 Last push 2026-04-01 -> -> Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. +> **[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 01/04/2026
Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. -> **[minio-java](https://github.com/minio/minio-java)** ★ 1.3k Last push 2026-06-18 -> -> Provides simple APIs to access any Amazon S3-compatible object storage server. +> **[minio-java](https://github.com/minio/minio-java)** ★ 1.3k 18/06/2026
Provides simple APIs to access any Amazon S3-compatible object storage server. -> **[Protégé](https://protege.stanford.edu)** -> -> Provides an ontology editor and a framework to build knowledge-based systems. +> **[Protégé](https://protege.stanford.edu)**
Provides an ontology editor and a framework to build knowledge-based systems. -> **[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 Last push 2026-07-22 -> -> Lightweight library that helps you handling semantic versioning with different modes. +> **[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 22/07/2026
Lightweight library that helps you handling semantic versioning with different modes. -> **[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 Last push 2026-07-16 -> -> Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. +> **[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 16/07/2026
Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. -> **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 Last push 2026-07-25 -> -> Port of Underscore.js functions. +> **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 25/07/2026
Port of Underscore.js functions.
- -
-Version Managers 3 projects +
+Version Managers 3 projects _Utilities that help create the development shell environment and switch between different Java versions._ -> **[jabba](https://github.com/shyiko/jabba)** ★ 3.4k Last push 2026-05-04 -> -> Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +> **[jabba](https://github.com/shyiko/jabba)** ★ 3.4k 04/05/2026
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. -> **[jenv](https://github.com/jenv/jenv)** ★ 6.6k Last push 2026-02-22 -> -> Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. +> **[jenv](https://github.com/jenv/jenv)** ★ 6.6k 22/02/2026
Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. -> **[SDKMan](https://github.com/sdkman/sdkman-cli)** ★ 6.8k Last push 2026-06-25 -> -> Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. +> **[SDKMan](https://github.com/sdkman/sdkman-cli)** ★ 6.8k 25/06/2026
Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.
- -
-Web Crawling 6 projects +
+Web Crawling 6 projects _Libraries that analyze the content of websites._ -> **[Apache Nutch](https://nutch.apache.org)** -> -> Highly extensible, highly scalable web crawler for production environments. +> **[Apache Nutch](https://nutch.apache.org)**
Highly extensible, highly scalable web crawler for production environments. -> **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 144 Last push 2026-07-22 -> -> Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. +> **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 144 22/07/2026
Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. -> **[Crawler4j](https://github.com/yasserg/crawler4j)** ★ 4.6k Last push 2021-11-04 -> -> Simple and lightweight web crawler. +> **[Crawler4j](https://github.com/yasserg/crawler4j)** ★ 4.6k 04/11/2021
Simple and lightweight web crawler. -> **[jsoup](https://jsoup.org)** -> -> Scrapes, parses, manipulates and cleans HTML. +> **[jsoup](https://jsoup.org)**
Scrapes, parses, manipulates and cleans HTML. -> **[StormCrawler](https://stormcrawler.net)** -> -> SDK for building low-latency and scalable web crawlers. +> **[StormCrawler](https://stormcrawler.net)**
SDK for building low-latency and scalable web crawlers. -> **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k Last push 2025-12-20 -> -> Scalable crawler with downloading, url management, content extraction and persistent. +> **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k 20/12/2025
Scalable crawler with downloading, url management, content extraction and persistent.
- -
-Web Frameworks 18 projects +
+Web Frameworks 18 projects _Frameworks that handle the communication between the layers of a web application._ -> **[ActiveJ](https://activej.io)** -> -> Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +> **[ActiveJ](https://activej.io)**
Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -> **[Apache Tapestry](https://tapestry.apache.org)** -> -> Component-oriented framework for creating dynamic, robust, highly scalable web applications. +> **[Apache Tapestry](https://tapestry.apache.org)**
Component-oriented framework for creating dynamic, robust, highly scalable web applications. -> **[Apache Wicket](https://wicket.apache.org)** -> -> Component-based web application framework similar to Tapestry, with a stateful GUI. +> **[Apache Wicket](https://wicket.apache.org)**
Component-based web application framework similar to Tapestry, with a stateful GUI. -> **[Blade](https://github.com/lets-blade/blade)** ★ 5.9k Last push 2026-05-15 -> -> Lightweight, modular framework that aims to be elegant and simple. +> **[Blade](https://github.com/lets-blade/blade)** ★ 5.9k 15/05/2026
Lightweight, modular framework that aims to be elegant and simple. -> **[Bootique](https://bootique.io)** -> -> Minimally opinionated framework for runnable apps. +> **[Bootique](https://bootique.io)**
Minimally opinionated framework for runnable apps. -> **[Firefly](https://www.fireflysource.com)** -> -> Asynchronous framework for rapid development of high-performance web application. +> **[Firefly](https://www.fireflysource.com)**
Asynchronous framework for rapid development of high-performance web application. -> **[Javalin](https://javalin.io/)** -> -> Microframework for web applications. +> **[Javalin](https://javalin.io/)**
Microframework for web applications. -> **[Jooby](https://www.jooby.org)** -> -> Scalable, fast and modular micro-framework that offers multiple programming models. +> **[Jooby](https://www.jooby.org)**
Scalable, fast and modular micro-framework that offers multiple programming models. -> **[Ninja](https://www.ninjaframework.org)** -> -> Full-stack web framework. +> **[Ninja](https://www.ninjaframework.org)**
Full-stack web framework. -> **[Pippo](https://github.com/pippo-java/pippo)** ★ 786 Last push 2025-12-22 -> -> Small, highly modularized, Sinatra-like framework. +> **[Pippo](https://github.com/pippo-java/pippo)** ★ 786 22/12/2025
Small, highly modularized, Sinatra-like framework. -> **[Play](https://www.playframework.com)** -> -> Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +> **[Play](https://www.playframework.com)**
Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -> **[PrimeFaces](https://www.primefaces.org)** -> -> JSF framework with both free and commercial/support versions and frontend components. +> **[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. +> **[Ratpack](https://ratpack.io)**
Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. -> **[Takes](https://github.com/yegor256/takes)** ★ 877 Last push 2026-07-26 -> -> Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. +> **[Takes](https://github.com/yegor256/takes)** ★ 877 26/07/2026
Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. -> **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 Last push 2026-07-25 -> -> Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. +> **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 25/07/2026
Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. -> **[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. +> **[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. -> **[WebForms Core](https://github.com/webforms-core)** -> -> A technology for managing HTML tags from the server. +> **[WebForms Core](https://github.com/webforms-core)**
A technology for managing HTML tags from the server. -> **[Erupt](https://github.com/erupts/erupt)** ★ 2.8k Last push 2026-07-26 -> -> Annotation-Driven Low-Code & JPA Visualization +> **[Erupt](https://github.com/erupts/erupt)** ★ 2.8k 26/07/2026
Annotation-Driven Low-Code & JPA Visualization
- -
-Workflow Orchestration Engines 3 projects +
+Workflow Orchestration Engines 3 projects -> **[Cadence](https://cadenceworkflow.io)** -> -> Stateful code platform from Uber. +> **[Cadence](https://cadenceworkflow.io)**
Stateful code platform from Uber. -> **[flowable](https://github.com/flowable/flowable-engine)** ★ 9.4k Last push 2026-07-26 -> -> Compact and efficient workflow and business process management platform. +> **[flowable](https://github.com/flowable/flowable-engine)** ★ 9.4k 26/07/2026
Compact and efficient workflow and business process management platform. -> **[Temporal](https://temporal.io)** -> -> Microservice orchestration platform, forked from Cadence but gRPC based. +> **[Temporal](https://temporal.io)**
Microservice orchestration platform, forked from Cadence but gRPC based.
From dc1135b3ac91fb7ae5616b3e16119e5d10db1c91 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 26 Jul 2026 17:17:20 +0200 Subject: [PATCH 508/533] Update README cache action --- .github/workflows/update-readme.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index b0353d50..d8d4efec 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -56,7 +56,7 @@ jobs: distribution: temurin java-version: "25" - name: Restore statistics cache - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .cache/github-stats.tsv key: readme-stats-${{ github.ref_name }}-${{ github.run_id }} From edca32efa643908d49f2c99e58e0055ebfbda8ff Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 26 Jul 2026 19:26:19 +0200 Subject: [PATCH 509/533] Improve catalog readability and maintenance --- .github/pull_request_template.md | 3 +- .github/workflows/update-readme.yml | 22 +- .tool-versions | 2 +- CONTRIBUTING.md | 83 +- README.md | 714 ++++++++---------- README_SOURCE.md | 629 ++++++++------- ...nerate_readme.java => GenerateReadme.java} | 240 +++++- 7 files changed, 875 insertions(+), 818 deletions(-) rename scripts/{generate_readme.java => GenerateReadme.java} (74%) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 6c1c1e91..dca2a733 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,5 +1,6 @@ - [ ] I changed `README_SOURCE.md`, not the generated `README.md`. - [ ] This pull request contains one suggestion. - [ ] Java is a primary API, runtime, target or first-class integration. -- [ ] The description explains the distinguishing value and ends with a period. +- [ ] I used the canonical GitHub repository when one exists. +- [ ] The concise, neutral description explains the distinguishing value and ends with punctuation. - [ ] Commercial or restrictive licensing is disclosed where applicable. diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index d8d4efec..b0439652 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -7,6 +7,7 @@ on: - "CONTRIBUTING.md" - ".github/pull_request_template.md" - ".github/workflows/update-readme.yml" + - ".tool-versions" - "scripts/**" push: branches: @@ -15,6 +16,7 @@ on: paths: - "README_SOURCE.md" - ".github/workflows/update-readme.yml" + - ".tool-versions" - "scripts/**" schedule: - cron: "0 0 * * 1" @@ -36,11 +38,11 @@ jobs: - uses: actions/setup-java@v5 with: distribution: temurin - java-version: "25" + java-version-file: ".tool-versions" - name: Validate source and generator run: | - java scripts/generate_readme.java self-test - java scripts/generate_readme.java check README_SOURCE.md + java scripts/GenerateReadme.java self-test + java scripts/GenerateReadme.java check README_SOURCE.md update: if: github.event_name != 'pull_request' @@ -54,27 +56,27 @@ jobs: - uses: actions/setup-java@v5 with: distribution: temurin - java-version: "25" + java-version-file: ".tool-versions" - name: Restore statistics cache uses: actions/cache@v5 with: path: .cache/github-stats.tsv - key: readme-stats-${{ github.ref_name }}-${{ github.run_id }} + key: readme-stats-v2-${{ github.ref_name }}-${{ github.run_id }} restore-keys: | - readme-stats-${{ github.ref_name }}- + readme-stats-v2-${{ github.ref_name }}- - name: Validate source and generator run: | - java scripts/generate_readme.java self-test - java scripts/generate_readme.java check README_SOURCE.md + java scripts/GenerateReadme.java self-test + java scripts/GenerateReadme.java check README_SOURCE.md - name: Generate README env: - PAT: ${{ secrets.PAT }} + GITHUB_TOKEN: ${{ github.token }} run: | args=() if [ "${{ github.event_name }}" = "schedule" ] || [ "${{ github.event_name }}" = "workflow_dispatch" ]; then args+=(--refresh-all) fi - java scripts/generate_readme.java generate README_SOURCE.md README.md .cache/github-stats.tsv "${args[@]}" --branch "$GITHUB_REF_NAME" + java scripts/GenerateReadme.java generate README_SOURCE.md README.md .cache/github-stats.tsv "${args[@]}" --branch "$GITHUB_REF_NAME" - name: Commit README run: | git config --local user.email "action@github.com" diff --git a/.tool-versions b/.tool-versions index 99874193..10b10f0b 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -java temurin-25.0.0+36.0.LTS +java temurin-26.0.1+8 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f3bd95ba..74692d46 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,66 +1,47 @@ # Contribution Guidelines -## Adding or Updating an Entry +## Suggest a Project -Edit [`README_SOURCE.md`](README_SOURCE.md), not the generated `README.md`. - -Add one entry under the appropriate category: +Edit [`README_SOURCE.md`](README_SOURCE.md), add one line under the best category, +and open one pull request: ```markdown -- [Project Name](https://example.com) - A concise description ending with a period. +- [Project Name](https://github.com/owner/repository) - A concise, neutral description ending with a period. ``` -Open one pull request per suggestion. The generated README handles alphabetical -ordering, category counts, GitHub stars and repository activity automatically. -Contributors do not need to run the generator. - -Unfortunately, not every library/tool/framework can be considered. This list aims to provide a concise list of noteworthy modern software. This means that suggested software is: - -(a) widely recommended, regardless of personal opinion - -(b) highly discussed in the community due to its innovative nature - -(c) absolutely unique in its approach and function - -(d) a niche product that fills a gap - -Suggested software must be focused on the Java ecosystem. Java should be a primary API, runtime, implementation target or substantial first-class integration. Incidental Java support in an otherwise language-agnostic project is not sufficient. - -Suggested software must also be developer-friendly, which means it meets the following criteria: - -(i) If source code is available, its license is clearly documented. +Use the canonical GitHub repository when one exists. The generated `README.md` +handles ordering, counts, stars and activity; contributors do not need to run +the generator. -(ii) Any license is acceptable when it is clearly disclosed. Restrictive, noncommercial and source-available licenses must be named in the entry. +A project should: -(iii) If commercial, it has clear pricing and at least one free tier. +- make Java a primary API, runtime, implementation target or substantial + first-class integration; +- be noteworthy because it is widely recommended, innovative, unique or fills + a useful niche; +- provide English documentation and clearly disclose its license; +- disclose restrictive, noncommercial or source-available terms in the entry; +- have clear pricing and a free tier when commercial. -(iv) It has a documentation in the English language. +Add `![c]` after the project name for commercial products. Keep descriptions +short, factual and distinctive from similar entries. Use `Miscellaneous` only +when no focused category fits. -## Pull Requests +Search existing entries and issues before submitting. Self-promotion is +reviewed carefully but is welcome when the project meets the same criteria. +Use one pull request per project. -There are four required criteria for a pull request: +## Maintainer Notes -1. If an entry has a similar scope as other entries in the same category, the description must state the unique features that distinguishes it from the other entries. +Most entries point directly to one GitHub repository. For an umbrella project +whose Java offering genuinely spans several repositories, keep its public +homepage and append maintainer-only metadata: -2. If an entry does not meet conditions _(a)_ to _(d)_ there has to be an explanation either in the description or the pull request why it should be added to the list. - -3. If an entry doesn't fit any of the pre-existing specialized sections, it should go under Miscellaneous. - -4. If two or more entries in Miscellaneous are in the same domain, then they can be moved to a new specialized section. - -Self-promotion is frowned upon and viewed critically, but your suggestion will of course be approved if the criteria match. - -If your entry isn't accepted, please check the [Issues](https://github.com/akullpp/awesome-java/issues) for items marked with the "question" tag to see if it had been previously discussed. If nothing comes up, feel free to create a new issue, adding the "question" tag. - -Furthermore, please ensure your pull request follows the following guidelines: - -- Please search previous suggestions before making a new one, as yours may be a duplicate. -- Please make an individual pull request for each suggestion. -- Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. -- New categories or improvements to the existing categorization are welcome. -- Keep descriptions short, simple and unbiased. -- End all descriptions with a full stop/period. -- Check your spelling and grammar. -- Make sure your text editor is set to remove trailing whitespace. +```markdown +- [Project](https://example.com) - Description. +``` -Thank you for your suggestions! +Use at least two canonical repositories. A repository may belong to only one +entry. The generator sums their stars, uses their most recent push for activity +and rejects malformed metadata, duplicate repository use and archived +repositories. diff --git a/README.md b/README.md index bdad6bdb..f5a41ea4 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,15 @@ - + # Awesome Java [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) -A curated list of awesome Java frameworks, libraries and software. +A curated list of noteworthy Java frameworks, libraries, tools and resources. -840 projects · 75 categories · GitHub statistics refreshed 26/07/2026 +812 projects · 75 categories · 26/07/2026 Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months +Entries spanning several repositories combine their stars and use the most recent push for activity. + Browse a category below, or use your browser's find command to locate a project. ## Projects @@ -44,7 +46,7 @@ _Frameworks that help you to leverage LLMs and AI._ > **[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 🟠
Library to use the OpenAI API (and compatible ones) in the simplest possible way. -> **[Spring AI](https://spring.io/projects/spring-ai)**
Application framework for AI engineering for Spring. +> **[Spring AI](https://github.com/spring-projects/spring-ai)** ★ 9.2k 🟢
Application framework for AI engineering for Spring.
@@ -76,32 +78,32 @@ _Frameworks that ease bean mapping._ _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://github.com/apache/maven)** ★ 5.3k 🟢
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. +> **[Bazel](https://github.com/bazelbuild/bazel)** ★ 25.7k 🟢
Tool from Google that builds code quickly and reliably. > **[Buck2](https://github.com/facebook/buck2)** ★ 4.4k 🟢
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. +> **[Gradle](https://github.com/gradle/gradle)** ★ 18.7k 🟢
Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. > **[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 🟢
A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. -> **[ReleaseRun](https://releaserun.com)**
Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. +> **[ReleaseRun](https://github.com/Releaserun/releaserun-cli)** ★ 1 🟠
Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages.
-Bytecode Manipulation 10 projects +Bytecode Manipulation 9 projects _Libraries to manipulate bytecode programmatically._ > **[ASM](https://asm.ow2.io)**
All-purpose, low-level bytecode manipulation and analysis. -> **[Byte Buddy](https://bytebuddy.net)**
Further simplifies bytecode generation with a fluent API. +> **[Byte Buddy](https://github.com/raphw/byte-buddy)** ★ 6.9k 🟢
Further simplifies bytecode generation with a fluent API. > **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k 🟢
Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) -> **[Byteman](https://byteman.jboss.org)**
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +> **[Byteman](https://github.com/bytemanproject/byteman)** ★ 513 🟢
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) > **[cglib](https://github.com/cglib/cglib)** ★ 4.9k 🔴
Bytecode generation library. @@ -111,9 +113,7 @@ _Libraries to manipulate bytecode programmatically._ > **[Mixin](https://github.com/SpongePowered/Mixin)** ★ 1.7k 🔴
Manipulate bytecode at runtime using real Java code. -> **[Perses](https://github.com/nicolasmanic/perses)** ★ 70 🔴
Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. - -> **[Recaf](https://www.coley.software/Recaf/)**
JVM reverse engineering toolkit, essentially an IDE for Java bytecode. +> **[Recaf](https://github.com/Col-E/Recaf)** ★ 7.3k 🟢
JVM reverse engineering toolkit, essentially an IDE for Java bytecode.
@@ -122,13 +122,13 @@ _Libraries to manipulate bytecode programmatically._ _Libraries that provide caching facilities._ -> **[cache2k](https://cache2k.org)**
In-memory high performance caching library. +> **[cache2k](https://github.com/cache2k/cache2k)** ★ 743 🔴
In-memory high performance caching library. > **[Caffeine](https://github.com/ben-manes/caffeine)** ★ 17.8k 🟢
High-performance, near-optimal caching library. -> **[Ehcache](https://www.ehcache.org)**
Distributed general-purpose cache. +> **[Ehcache](https://github.com/ehcache/ehcache3)** ★ 2.1k 🟢
Distributed general-purpose cache. -> **[Infinispan](https://infinispan.org)**
Highly concurrent key/value datastore used for caching. +> **[Infinispan](https://github.com/infinispan/infinispan)** ★ 1.3k 🟢
Highly concurrent key/value datastore used for caching.
@@ -141,15 +141,15 @@ _Libraries for everything related to the CLI._ _Libraries to assist with parsing command line arguments._ -> **[Airline](https://rvesse.github.io/airline/)**
Annotation-based framework for parsing Git-like command-line arguments. +> **[Airline](https://github.com/rvesse/airline)** ★ 145 🟢
Annotation-based framework for parsing Git-like command-line arguments. > **[jbock](https://github.com/jbock-java/jbock)** ★ 92 🟠
Reflectionless command line parser. -> **[JCommander](https://jcommander.org)**
Command-line argument-parsing framework with custom types and validation via implementing interfaces. +> **[JCommander](https://github.com/cbeust/jcommander)** ★ 2.0k 🟠
Command-line argument-parsing framework with custom types and validation via implementing interfaces. > **[JLine](https://github.com/jline/jline3)** ★ 1.8k 🟢
Includes features from modern shells like completion or history. -> **[picocli](https://picocli.info)**
ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +> **[picocli](https://github.com/remkop/picocli)** ★ 5.4k 🟢
ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. #### Text-Based User Interfaces 5 projects @@ -191,9 +191,9 @@ _Tools that provide metrics and quality measurements._ > **[Infer](https://github.com/facebook/infer)** ★ 15.7k 🟢
Modern static analysis tool for verifying the correctness of code. -> **[jQAssistant](https://jqassistant.org)**
Static code analysis with Neo4J-based query language. (GPL-3.0-only) +> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 🟢
Static code analysis with Neo4J-based query language. (GPL-3.0-only) -> **[JSpecify](https://jspecify.dev/)**
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. +> **[JSpecify](https://github.com/jspecify/jspecify)** ★ 1.1k 🟢
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. > **[NullAway](https://github.com/uber/NullAway)** ★ 4.1k 🟢
Eliminates NullPointerExceptions with low build-time overhead. @@ -209,7 +209,7 @@ _Tools that provide metrics and quality measurements._ > **[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k 🟢
Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) -> **[ToolsHref](https://toolshref.com)**
Online Java code analyzer and JSON-to-Mermaid visualization tool. +> **[ToolsHref](https://github.com/toolshref-tools/toolshref-tools)** ★ 0 🟠
Online Java code analyzer and JSON-to-Mermaid visualization tool.
@@ -218,13 +218,13 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ -> **[Clover](https://www.atlassian.com/software/clover)**
Relies on source-code instrumentation instead of bytecode instrumentation. - -> **[Cobertura](https://cobertura.github.io/cobertura/)**
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +> **[Cobertura](https://github.com/cobertura/cobertura)** ★ 1.1k 🔴
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) > **[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 🟢
Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. -> **[JaCoCo](https://www.eclemma.org/jacoco/)**
Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. +> **[JaCoCo](https://github.com/jacoco/jacoco)** ★ 4.6k 🟢
Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. + +> **[OpenClover](https://github.com/openclover/clover)** ★ 70 🟢
Measures Java code coverage through source-code instrumentation, with build-tool and IDE integrations.
@@ -244,7 +244,7 @@ _Tools that format or restructure Java source code._
-Code Generators 18 projects +Code Generators 16 projects _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ @@ -252,7 +252,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a > **[Auto](https://github.com/google/auto)** ★ 10.6k 🟢
Generates factory, service, and value classes. -> **[Avaje Http Server](https://avaje.io/http/)**
Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +> **[Avaje Http Server](https://github.com/avaje/avaje-http)** ★ 96 🟢
Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. > **[Bootify ![c]](https://bootify.io)**
Browser-based Spring Boot app generation with JPA model and REST API. @@ -260,29 +260,25 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a > **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 🟠
Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -> **[FreeBuilder](https://github.com/inferred/FreeBuilder)** ★ 829 🔴
Automatically generates the Builder pattern. - > **[Geci](https://github.com/verhas/javageci)** ★ 138 🟠
Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -> **[Immutables](https://immutables.github.io)**
Annotation processors to generate simple, safe and consistent value objects. - -> **[JavaPoet](https://github.com/square/javapoet)** ★ 10.9k 🔴
API to generate source files. +> **[Immutables](https://github.com/immutables/immutables)** ★ 3.6k 🟢
Annotation processors to generate simple, safe and consistent value objects. > **[JHipster](https://github.com/jhipster/generator-jhipster)** ★ 22.4k 🟢
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. +> **[Joda-Beans](https://github.com/JodaOrg/joda-beans)** ★ 150 🟠
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. > **[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 🟠
Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -> **[Lombok](https://projectlombok.org)**
Code generator that aims to reduce verbosity. +> **[Lombok](https://github.com/projectlombok/lombok)** ★ 13.5k 🟢
Code generator that aims to reduce verbosity. > **[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 924 🟢
Companion builder class, withers and templates for Java records. > **[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 37 🟢
Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. -> **[Telosys](https://www.telosys.org/)**
Simple and light code generator available as an Eclipse Plugin and also as a CLI. +> **[Telosys](https://www.telosys.org/)** ★ 212 🟠
Java code-generation toolkit with a CLI and model-driven template engine.
@@ -291,11 +287,11 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a _Frameworks that help to create parsers, interpreters or compilers._ -> **[ANTLR](https://www.antlr.org)**
Complex full-featured framework for top-down parsing. +> **[ANTLR](https://github.com/antlr/antlr4)** ★ 19.0k 🟠
Complex full-featured framework for top-down parsing. -> **[JavaCC](https://javacc.github.io/javacc/)**
Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +> **[JavaCC](https://github.com/javacc/javacc)** ★ 1.3k 🔴
Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -> **[JFlex](https://jflex.de)**
Lexical analyzer generator. +> **[JFlex](https://github.com/jflex-de/jflex)** ★ 630 🔴
Lexical analyzer generator.
@@ -304,9 +300,9 @@ _Frameworks that help to create parsers, interpreters or compilers._ _Libraries which seek to gain high level information from images and videos._ -> **[BoofCV](https://boofcv.org)**
Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +> **[BoofCV](https://github.com/lessthanoptimal/BoofCV)** ★ 1.2k 🟢
Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -> **[ImageJ](https://imagej.net/ImageJ)**
Medical image processing application with an API. +> **[ImageJ](https://github.com/imagej/ImageJ)** ★ 776 🟢
Medical image processing application with an API. > **[JavaCV](https://github.com/bytedeco/javacv)** ★ 8.3k 🟢
Java interface to OpenCV, FFmpeg, and much more. @@ -317,7 +313,7 @@ _Libraries which seek to gain high level information from images and videos._ _Libraries that provide external configuration._ -> **[avaje config](https://avaje.io/config/)**
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +> **[avaje config](https://github.com/avaje/avaje-config)** ★ 107 🟢
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. > **[centraldogma](https://github.com/line/centraldogma)** ★ 663 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. @@ -327,7 +323,7 @@ _Libraries that provide external configuration._ > **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 467 🟢
Configuration library with support for various configuration formats and transformations. -> **[Curator Framework](https://curator.apache.org/)**
High-level API for Apache ZooKeeper. +> **[Curator Framework](https://github.com/apache/curator)** ★ 3.2k 🟢
High-level API for Apache ZooKeeper. > **[dotenv](https://github.com/shyiko/dotenv)** ★ 51 🔴
Twelve-factor configuration library which uses environment-specific files. @@ -339,7 +335,7 @@ _Libraries that provide external configuration._ > **[KAConf](https://github.com/mariomac/kaconf)** ★ 63 🔴
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 distributed. +> **[microconfig](https://github.com/microconfig/microconfig)** ★ 320 🔴
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)** ★ 939 🟢
Reduces boilerplate of properties. @@ -348,17 +344,15 @@ _Libraries that provide external configuration._
-Constraint Satisfaction Problem Solver 4 projects +Constraint Satisfaction Problem Solver 3 projects _Libraries that help with implementing optimization and satisfiability problems._ -> **[Choco](https://choco-solver.org)**
Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +> **[Choco](https://github.com/chocoteam/choco-solver)** ★ 771 🟢
Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. > **[JaCoP](https://github.com/radsz/jacop)** ★ 235 🟠
Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -> **[OptaPlanner](https://www.optaplanner.org)**
Business planning and resource scheduling optimization solver. - -> **[Timefold](https://timefold.ai/docs)**
Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. +> **[Timefold](https://github.com/TimefoldAI/timefold-solver)** ★ 1.7k 🟢
Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.
@@ -369,28 +363,28 @@ _Frameworks and libraries that simplify reading/writing CSV data._ > **[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 689 🟢
Performance-optimized, dependency-free and RFC 4180 compliant. -> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv)** ★ 194 🔴
Jackson extension for reading and writing CSV. +> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformats-text)** ★ 453 🟢
Jackson extension for reading and writing CSV. > **[opencsv](https://opencsv.sourceforge.net)**
Simple CSV parser. -> **[Super CSV](https://super-csv.github.io/super-csv/)**
Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +> **[Super CSV](https://github.com/super-csv/super-csv)** ★ 528 🔴
Powerful CSV parser with support for Dozer, Joda-Time and Java 8. > **[uniVocity-parsers](https://github.com/uniVocity/univocity-parsers)** ★ 935 🔴
One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.
-Data Structures 13 projects +Data Structures 12 projects _Efficient and specific data structures._ -> **[Apache Avro](https://avro.apache.org)**
Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +> **[Apache Avro](https://github.com/apache/avro)** ★ 3.3k 🟢
Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -> **[Apache Orc](https://orc.apache.org)**
Fast and efficient columnar storage format for Hadoop-based workloads. +> **[Apache Orc](https://github.com/apache/orc)** ★ 769 🟢
Fast and efficient columnar storage format for Hadoop-based workloads. -> **[Apache Parquet](https://parquet.apache.org)**
Columnar storage format based on assembly algorithms from Google's paper on Dremel. +> **[Apache Parquet](https://github.com/apache/parquet-java)** ★ 3.1k 🟢
Columnar storage format based on assembly algorithms from Google's paper on Dremel. -> **[Apache Thrift](https://thrift.apache.org)**
Data interchange format that originated at Facebook. +> **[Apache Thrift](https://github.com/apache/thrift)** ★ 10.9k 🟢
Data interchange format that originated at Facebook. > **[Big Queue](https://github.com/bulldog2011/bigqueue)** ★ 567 🔴
Fast and persistent queue based on memory-mapped files. @@ -398,14 +392,12 @@ _Efficient and specific data structures._ > **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 🔴
Persistent and immutable analogue of the Java Collections Framework. -> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.7k 🟢
Google's data interchange format. +> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.6k 🟢
Google's data interchange format. > **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k 🟢
Fast and efficient compressed bitmap. > **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k 🟢
Simple Binary Encoding, one of the fastest message formats around. -> **[Tape](https://github.com/square/tape)** ★ 2.5k 🔴
Lightning-fast, transactional, file-based FIFO. - > **[Wire](https://github.com/square/wire)** ★ 4.4k 🟢
Clean, lightweight protocol buffers. > **[Wormhole4j](https://github.com/komamitsu/wormhole4j)** ★ 8 🟢
High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. @@ -413,63 +405,61 @@ _Efficient and specific data structures._
-Database 44 projects +Database 43 projects _Everything that simplifies interactions with the database._ > **[Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin)** ★ 18 🟢
Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. -> **[Apache Calcite](https://calcite.apache.org)**
Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +> **[Apache Calcite](https://github.com/apache/calcite)** ★ 5.2k 🟢
Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -> **[Apache Drill](https://drill.apache.org)**
Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +> **[Apache Drill](https://github.com/apache/drill)** ★ 2.0k 🟢
Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -> **[Apache Phoenix](https://phoenix.apache.org)**
High-performance relational database layer over HBase for low-latency applications. +> **[Apache Phoenix](https://github.com/apache/phoenix)** ★ 1.1k 🟢
High-performance relational database layer over HBase for low-latency applications. > **[Apache ShardingSphere](https://github.com/apache/shardingsphere)** ★ 20.8k 🟢
Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. > **[ArangoDB](https://github.com/arangodb/arangodb-java-driver)** ★ 209 🟢
ArangoDB Java driver. -> **[ArcadeDB](https://arcadedb.com)**
Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. +> **[ArcadeDB](https://github.com/ArcadeData/arcadedb)** ★ 1.0k 🟢
Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. > **[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3.0k 🟢
Efficient, in-memory (opt. persisted to disk), off-heap key-value store. > **[CosId](https://github.com/Ahoo-Wang/CosId)** ★ 640 🟢
Universal, flexible, high-performance distributed ID generator. -> **[Debezium](https://debezium.io/)**
Low latency data streaming platform for change data capture. +> **[Debezium](https://github.com/debezium/debezium)** ★ 13.0k 🟢
Low latency data streaming platform for change data capture. -> **[druid](https://druid.apache.org)**
High-performance, column-oriented, distributed data store. +> **[druid](https://github.com/apache/druid)** ★ 14.0k 🟢
High-performance, column-oriented, distributed data store. > **[eXist](https://github.com/eXist-db/exist)** ★ 466 🟢
NoSQL document database and application platform. (LGPL-2.1-only) > **[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k 🟠
Brings metrics and failover strategies to the most common connection pooling solutions. -> **[Flyway](https://flywaydb.org)**
Simple database migration tool. +> **[Flyway](https://github.com/flyway/flyway)** ★ 9.9k 🟢
Simple database migration tool. -> **[H2](https://h2database.com)**
Small SQL database notable for its in-memory functionality. +> **[H2](https://github.com/h2database/h2database)** ★ 4.6k 🟢
Small SQL database notable for its in-memory functionality. > **[HikariCP](https://github.com/brettwooldridge/HikariCP)** ★ 21.2k 🟢
High-performance JDBC connection pool. > **[HSQLDB](https://hsqldb.org/)**
HyperSQL 100% Java database. -> **[JDBI](https://jdbi.org)**
Convenient abstraction of JDBC. +> **[JDBI](https://github.com/jdbi/jdbi)** ★ 2.1k 🟢
Convenient abstraction of JDBC. > **[Jedis](https://github.com/xetorthio/jedis)** ★ 12.3k 🟢
Small client for interaction with Redis, with methods for commands. -> **[Jest](https://github.com/searchbox-io/Jest)** ★ 2.1k 🔴
Client for the Elasticsearch REST API. - > **[jetcd](https://github.com/justinsb/jetcd)** ★ 143 🔴
Client library for etcd. > **[Jinq](https://github.com/my2iu/Jinq)** ★ 662 🔴
Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). -> **[jOOQ](https://www.jooq.org)**
Generates typesafe code based on SQL schema. +> **[jOOQ](https://github.com/jOOQ/jOOQ)** ★ 6.8k 🟢
Generates typesafe code based on SQL schema. > **[Leaf](https://github.com/Meituan-Dianping/Leaf)** ★ 6.8k 🔴
Distributed ID generate service. -> **[Lettuce](https://lettuce.io/)**
Lettuce is a scalable Redis client for building non-blocking Reactive applications. +> **[Lettuce](https://github.com/redis/lettuce)** ★ 5.8k 🟢
Lettuce is a scalable Redis client for building non-blocking Reactive applications. -> **[Liquibase](https://www.liquibase.org)**
Database-independent library for tracking, managing and applying database schema changes. +> **[Liquibase](https://github.com/liquibase/liquibase)** ★ 5.6k 🟢
Database-independent library for tracking, managing and applying database schema changes. -> **[MapDB](https://www.mapdb.org)**
Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +> **[MapDB](https://github.com/jankotek/mapdb)** ★ 5.1k 🟢
Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. > **[MariaDB4j](https://github.com/vorburger/MariaDB4j)** ★ 16 🟠
Launcher for MariaDB that requires no installation or external dependencies. @@ -479,7 +469,7 @@ _Everything that simplifies interactions with the database._ > **[OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ)** ★ 435 🟢
LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -> **[Querydsl](http://www.querydsl.com)**
Typesafe unified queries. +> **[Querydsl](https://github.com/querydsl/querydsl)** ★ 5.0k 🟢
Typesafe unified queries. > **[QueryStream](https://github.com/querystream/querystream)** ★ 21 🔴
Build JPA Criteria queries using a Stream-like API. @@ -491,7 +481,7 @@ _Everything that simplifies interactions with the database._ > **[requery](https://github.com/requery/requery)** ★ 3.1k 🟠
Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. -> **[SchemaCrawler](https://www.schemacrawler.com)**
Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. +> **[SchemaCrawler](https://github.com/schemacrawler/SchemaCrawler)** ★ 1.8k 🟢
Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. > **[Speedment](https://github.com/speedment/speedment)** ★ 2.1k 🔴
Database access library that utilizes Java 8's Stream API for querying. @@ -499,9 +489,9 @@ _Everything that simplifies interactions with the database._ > **[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 🟠
Allows you to use MongoDB query language to query your relational database. -> **[Trino](https://trino.io)**
Distributed SQL query engine for big data. +> **[Trino](https://github.com/trinodb/trino)** ★ 13.1k 🟢
Distributed SQL query engine for big data. -> **[Vibur DBCP](https://www.vibur.org)**
JDBC connection pool library with advanced performance monitoring capabilities. +> **[Vibur DBCP](https://github.com/vibur/vibur-dbcp)** ★ 124 🔴
JDBC connection pool library with advanced performance monitoring capabilities. > **[Xodus](https://github.com/JetBrains/xodus)** ★ 1.3k 🟢
Highly concurrent transactional schema-less and ACID-compliant embedded database. @@ -555,11 +545,11 @@ _Libraries for decompiling JVM bytecode._ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ -> **[Apache DeltaSpike](https://deltaspike.apache.org)**
CDI extension framework. +> **[Apache DeltaSpike](https://github.com/apache/deltaspike)** ★ 154 🟢
CDI extension framework. -> **[Avaje Inject](https://avaje.io/inject/)**
Microservice-focused compile-time injection framework without reflection. +> **[Avaje Inject](https://github.com/avaje/avaje-inject)** ★ 314 🟢
Microservice-focused compile-time injection framework without reflection. -> **[Dagger](https://dagger.dev/)**
Compile-time injection framework without reflection. +> **[Dagger](https://github.com/google/dagger)** ★ 17.7k 🟢
Compile-time injection framework without reflection. > **[Dimension-DI](https://github.com/akardapolov/dimension-di)** ★ 19 🟢
JSR-330 runtime dependency injection using the JDK Class-File API. @@ -569,20 +559,20 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. > **[Guice](https://github.com/google/guice)** ★ 12.7k 🟢
Lightweight and opinionated framework that completes Dagger. -> **[HK2](https://eclipse-ee4j.github.io/glassfish-hk2/)**
Lightweight and dynamic dependency injection framework. +> **[HK2](https://github.com/eclipse-ee4j/glassfish-hk2)** ★ 95 🟢
Lightweight and dynamic dependency injection framework. > **[JayWire](https://github.com/vanillasource/jaywire)** ★ 64 🔴
Lightweight dependency injection framework. (LGPL-3.0-only)
-Development 10 projects +Development 9 projects _Augmentation of the development process at a fundamental level._ -> **[AspectJ](https://www.eclipse.org/aspectj/)**
Seamless aspect-oriented programming extension. +> **[AspectJ](https://github.com/eclipse-aspectj/aspectj)** ★ 392 🟠
Seamless aspect-oriented programming extension. -> **[DCEVM](https://dcevm.github.io)**
JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) +> **[DCEVM](https://github.com/dcevm/dcevm)** ★ 1.9k 🔴
JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) > **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 🔴
Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. @@ -590,15 +580,13 @@ _Augmentation of the development process at a fundamental level._ > **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k 🟢
Parse, modify and generate Java code. -> **[JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver)** ★ 296 🔴
Symbol solver. - > **[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k 🟢
Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -> **[NoException](https://noexception.machinezoo.com)**
Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +> **[NoException](https://github.com/robertvazan/noexception)** ★ 130 🔴
Allows checked exceptions in functional interfaces and converts exceptions to Optional return. > **[SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow)** ★ 81 🔴
Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -> **[Tail](https://nrktkt.github.io/tail/)**
Enable infinite recursion using tail call optimization. +> **[Tail](https://github.com/nrktkt/tail)** ★ 30 🔴
Enable infinite recursion using tail call optimization.
@@ -607,15 +595,15 @@ _Augmentation of the development process at a fundamental level._ _Libraries and frameworks for writing distributed and fault-tolerant applications._ -> **[Apache Geode](https://geode.apache.org)**
In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +> **[Apache Geode](https://github.com/apache/geode)** ★ 2.4k 🟢
In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -> **[Apache Storm](https://storm.apache.org)**
Realtime computation system. +> **[Apache Storm](https://github.com/apache/storm)** ★ 6.7k 🟢
Realtime computation system. -> **[Apache ZooKeeper](https://zookeeper.apache.org)**
Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +> **[Apache ZooKeeper](https://github.com/apache/zookeeper)** ★ 12.8k 🟢
Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -> **[Atomix](https://atomix.io)**
Fault-tolerant distributed coordination framework. +> **[Atomix](https://github.com/atomix/atomix)** ★ 2.4k 🔴
Fault-tolerant distributed coordination framework. -> **[Axon](https://axoniq.io)**
Framework for creating CQRS applications. +> **[Axon](https://github.com/AxonIQ/AxonFramework)** ★ 3.6k 🟢
Framework for creating CQRS applications. > **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 🟠
Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) @@ -623,11 +611,11 @@ _Libraries and frameworks for writing distributed and fault-tolerant application > **[Hazelcast](https://github.com/hazelcast/hazelcast)** ★ 6.6k 🟢
Highly scalable in-memory datagrid with a free open-source version. -> **[JGroups](http://www.jgroups.org)**
Toolkit for reliable messaging and cluster creation. +> **[JGroups](https://github.com/belaban/JGroups)** ★ 1.1k 🟢
Toolkit for reliable messaging and cluster creation. > **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 🟢
High-performance reverse proxy server with specialized session management and credential replay functionality. -> **[Quasar](https://docs.paralleluniverse.co/quasar/)**
Lightweight threads and actors for the JVM. +> **[Quasar](https://github.com/puniverse/quasar)** ★ 4.6k 🔴
Lightweight threads and actors for the JVM. > **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k 🟢
Functional fault tolerance library. @@ -642,11 +630,11 @@ _Libraries and frameworks for writing distributed and fault-tolerant application _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ -> **[Atomikos](https://www.atomikos.com)**
Provides transactions for REST, SOA and microservices with support for JTA and XA. +> **[Atomikos](https://github.com/atomikos/transactions-essentials)** ★ 484 🟢
Provides transactions for REST, SOA and microservices with support for JTA and XA. > **[Bitronix](https://github.com/bitronix/btm)** ★ 431 🟠
Simple but complete implementation of the JTA 1.1 API. -> **[Narayana](https://narayana.io)**
Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +> **[Narayana](https://github.com/jbosstm/narayana)** ★ 265 🟢
Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) > **[Seata](https://github.com/seata/seata)** ★ 26.0k 🟢
Delivers high performance and easy to use distributed transaction services under a microservices architecture. @@ -669,15 +657,15 @@ _Tools that handle the distribution of applications in native formats._ > **[Getdown](https://github.com/threerings/getdown)** ★ 530 🟢
System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -> **[IzPack](https://izpack.org)**
Setup authoring tool for cross-platform deployments. +> **[IzPack](https://github.com/izpack/izpack)** ★ 352 🟢
Setup authoring tool for cross-platform deployments. > **[JavaPackager](https://github.com/fvarrui/JavaPackager)** ★ 1.2k 🟠
Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -> **[jDeploy](https://www.jdeploy.com)**
Deploy desktop apps as native Mac, Windows or Linux bundles. +> **[jDeploy](https://github.com/shannah/jdeploy)** ★ 414 🟢
Deploy desktop apps as native Mac, Windows or Linux bundles. > **[jlink.online](https://github.com/AdoptOpenJDK/jlink.online)** ★ 51 🟢
Builds optimized runtimes over HTTP. -> **[Nexus ![c]](https://www.sonatype.com)**
Binary management with proxy and caching capabilities. +> **[Nexus ![c]](https://github.com/sonatype/nexus-public)** ★ 2.6k 🟢
Binary management with proxy and caching capabilities. > **[Nuts](https://github.com/thevpc/nuts)** ★ 157 🟢
Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. @@ -692,11 +680,11 @@ _Tools that handle the distribution of applications in native formats._ _Libraries that assist with processing office document formats._ -> **[Apache POI](https://poi.apache.org)**
Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +> **[Apache POI](https://github.com/apache/poi)** ★ 2.3k 🟢
Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -> **[documents4j](https://documents4j.com/#/)**
API for document format conversion using third-party converters such as MS Word. +> **[documents4j](https://github.com/documents4j/documents4j)** ★ 585 🟠
API for document format conversion using third-party converters such as MS Word. -> **[docx4j](https://www.docx4java.org/trac/docx4j)**
Create and manipulate Microsoft Open XML files. +> **[docx4j](https://github.com/plutext/docx4j)** ★ 2.4k 🟢
Create and manipulate Microsoft Open XML files. > **[fastexcel](https://github.com/dhatim/fastexcel)** ★ 908 🟢
High performance library to read and write large Excel (XLSX) worksheets. @@ -713,18 +701,14 @@ _Libraries that assist with processing office document formats._
-Financial 7 projects +Financial 5 projects _Libraries related to the financial domain._ > **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 🔴
Trading bot framework. -> **[Parity](https://github.com/paritytrading/parity)** ★ 502 🔴
Platform for trading venues. - > **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 🟢
Low-latency financial information exchange. -> **[Square](https://github.com/square/connect-java-sdk)** ★ 42 🔴
Integration with the Square API. - > **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 🟢
Integration with the Stripe API. > **[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k 🟢
Library for technical analysis. @@ -753,17 +737,17 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc > **[CATG](https://github.com/ksen007/janala2)** ★ 106 🔴
Concolic unit testing engine. Automatically generates unit tests using formal methods. -> **[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) +> **[Checker Framework](https://github.com/typetools/checker-framework)** ★ 1.1k 🟢
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. +> **[Daikon](https://github.com/codespecs/daikon)** ★ 256 🟢
Detects likely program invariants and generates JML specs based on those invariants. > **[Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core)** ★ 614 🟢
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) +> **[KeY](https://github.com/KeYProject/key)** ★ 87 🟢
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](https://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) +> **[OpenJML](https://github.com/OpenJML/OpenJML)** ★ 182 🟢
Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only)
@@ -790,7 +774,7 @@ _Libraries that facilitate functional programming._ > **[StreamEx](https://github.com/amaembo/streamex)** ★ 2.3k 🟢
Enhances Java 8 Streams. -> **[Vavr](https://www.vavr.io)**
Functional component library that provides persistent data types and functional control structures. +> **[Vavr](https://github.com/vavr-io/vavr)** ★ 6.2k 🟢
Functional component library that provides persistent data types and functional control structures.
@@ -799,21 +783,21 @@ _Libraries that facilitate functional programming._ _Frameworks that support the development of games._ -> **[FXGL](https://almasb.github.io/FXGL/)**
JavaFX Game Development Framework. +> **[FXGL](https://github.com/AlmasB/FXGL)** ★ 4.8k 🟢
JavaFX Game Development Framework. -> **[input4j](https://gurkenlabs.github.io/input4j/)**
Lightweight, cross-platform library for gamepad and joystick input handling. +> **[input4j](https://github.com/gurkenlabs/input4j)** ★ 25 🟢
Lightweight, cross-platform library for gamepad and joystick input handling. -> **[JBox2D](https://www.jbox2d.org/)**
Port of the renowned C++ 2D physics engine. +> **[JBox2D](https://github.com/jbox2d/jbox2d)** ★ 1.1k 🔴
Port of the renowned C++ 2D physics engine. -> **[jMonkeyEngine](https://jmonkeyengine.org)**
Game engine for modern 3D development. +> **[jMonkeyEngine](https://github.com/jMonkeyEngine/jmonkeyengine)** ★ 4.3k 🟢
Game engine for modern 3D development. -> **[libGDX](https://libgdx.com)**
All-round cross-platform, high-level framework. +> **[libGDX](https://github.com/libgdx/libgdx)** ★ 25.3k 🟢
All-round cross-platform, high-level framework. -> **[Litiengine](https://litiengine.com/)**
AWT-based, lightweight 2D game engine. +> **[Litiengine](https://github.com/gurkenlabs/litiengine)** ★ 834 🟢
AWT-based, lightweight 2D game engine. -> **[LWJGL](https://www.lwjgl.org)**
Robust framework that abstracts libraries like OpenGL/CL/AL. +> **[LWJGL](https://github.com/LWJGL/lwjgl3)** ★ 5.4k 🟢
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. +> **[Mini2Dx](https://github.com/mini2Dx/mini2Dx)** ★ 505 🔴
Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. > **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 🟠
Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. @@ -824,19 +808,19 @@ _Frameworks that support the development of games._ _Libraries for working with geospatial data and algorithms._ -> **[Apache SIS](https://sis.apache.org)**
Library for developing geospatial applications. +> **[Apache SIS](https://github.com/apache/sis)** ★ 124 🟢
Library for developing geospatial applications. > **[ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/)** ★ 131 🟠
JavaFX library for adding mapping and GIS functionality to desktop apps. > **[Geo](https://github.com/davidmoten/geo)** ★ 434 🟢
GeoHash utilities in Java. -> **[GeoTools](https://geotools.org)**
Library that provides tools for geospatial data. (LGPL-2.1-only) +> **[GeoTools](https://github.com/geotools/geotools)** ★ 1.9k 🟢
Library that provides tools for geospatial data. (LGPL-2.1-only) > **[GraphHopper](https://github.com/graphhopper/graphhopper)** ★ 6.6k 🟢
Road-routing engine. Used as a Java library or standalone web service. -> **[H2GIS](https://h2gis.org/)**
Spatial extension of the H2 database. (LGPL-3.0-only) +> **[H2GIS](https://github.com/orbisgis/h2gis)** ★ 220 🟢
Spatial extension of the H2 database. (LGPL-3.0-only) -> **[Jgeohash](https://astrapi69.github.io/jgeohash/)**
Library for using the GeoHash algorithm. +> **[Jgeohash](https://github.com/astrapi69/jgeohash)** ★ 68 🔴
Library for using the GeoHash algorithm. > **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k 🟢
Map rendering based on OpenStreetMap data. (LGPL-3.0-only) @@ -851,15 +835,15 @@ _Libraries to create modern graphical user interfaces._ > **[FlatLaf](https://github.com/JFormDesigner/FlatLaf)** ★ 4.2k 🟢
Modern Swing Look and Feel with Darcula and IntelliJ themes. -> **[JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main)**
Successor of Swing. +> **[JavaFX](https://github.com/openjdk/jfx)** ★ 3.3k 🟢
Successor of Swing. -> **[Scene Builder](https://gluonhq.com/products/scene-builder/)**
Visual layout tool for JavaFX applications. +> **[Scene Builder](https://github.com/gluonhq/scenebuilder)** ★ 818 🟠
Visual layout tool for JavaFX applications. > **[Sierra](https://github.com/HTTP-RPC/Sierra)** ★ 150 🟢
Lightwieght declarative DSL for rapid development of Swing applications. > **[SnapKit](https://github.com/reportmill/SnapKit)** ★ 332 🟢
Modern Java UI library for both desktop and web. -> **[SWT](https://www.eclipse.org/swt/)**
Graphical widget toolkit. +> **[SWT](https://github.com/eclipse-platform/eclipse.platform.swt)** ★ 199 🟢
Graphical widget toolkit.
@@ -870,13 +854,13 @@ _Everything about high-performance computation, from collections to specific lib > **[Agrona](https://github.com/real-logic/Agrona)** ★ 3.2k 🟢
Data structures and utility methods that are common in high-performance applications. -> **[Disruptor](https://lmax-exchange.github.io/disruptor/)**
Inter-thread messaging library. +> **[Disruptor](https://github.com/LMAX-Exchange/disruptor)** ★ 18.4k 🔴
Inter-thread messaging library. > **[Eclipse Collections](https://github.com/eclipse/eclipse-collections)** ★ 2.6k 🟢
Collections framework inspired by Smalltalk. -> **[fastutil](https://fastutil.di.unimi.it)**
Fast and compact type-specific collections. +> **[fastutil](https://github.com/vigna/fastutil)** ★ 2.2k 🟢
Fast and compact type-specific collections. -> **[HPPC](https://labs.carrotsearch.com/hppc.html)**
Primitive collections. +> **[HPPC](https://github.com/carrotsearch/hppc)** ★ 1.0k 🟢
Primitive collections. > **[JCTools](https://github.com/JCTools/JCTools)** ★ 3.9k 🟢
Concurrency tools currently missing from the JDK. @@ -889,11 +873,11 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ -> **[Apache HttpComponents](https://hc.apache.org/)**
Toolset of low-level Java components focused on HTTP and associated protocols. +> **[Apache HttpComponents](https://hc.apache.org/)** ★ 2.0k 🟢
Toolset of low-level Java components focused on HTTP and related protocols. > **[Async Http Client](https://github.com/AsyncHttpClient/async-http-client)** ★ 6.4k 🟢
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. +> **[Avaje Http Client](https://github.com/avaje/avaje-http-client)** ★ 26 🔴
Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. > **[Feign](https://github.com/OpenFeign/feign)** ★ 9.8k 🟢
HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. @@ -903,7 +887,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ > **[methanol](https://github.com/mizosoft/methanol)** ★ 298 🟠
HTTP client extensions library. -> **[Retrofit](https://square.github.io/retrofit/)**
Typesafe REST client. +> **[Retrofit](https://github.com/lysine-dev/retrofit)** ★ 43.9k 🟢
Typesafe REST client. > **[Ribbon](https://github.com/Netflix/ribbon)** ★ 4.6k 🟠
Client-side IPC library that is battle-tested in the cloud. @@ -933,17 +917,17 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ -> **[Eclipse](https://www.eclipse.org)**
Established open-source project with support for lots of plugins and languages. +> **[Eclipse Java IDE](https://www.eclipse.org)** ★ 643 🟢
Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. -> **[IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/)**
Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +> **[IntelliJ IDEA ![c]](https://github.com/JetBrains/intellij-community)** ★ 20.4k 🟢
Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. > **[jGRASP](https://www.jgrasp.org)**
Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -> **[NetBeans](https://netbeans.apache.org)**
Provides integration for several Java SE and EE features, from database access to HTML5. +> **[NetBeans](https://github.com/apache/netbeans)** ★ 3.1k 🟢
Provides integration for several Java SE and EE features, from database access to HTML5. -> **[SnapCode](https://reportmill.com/SnapCode/)**
Modern IDE for Java running in the browser, focused on education. +> **[SnapCode](https://github.com/reportmill/SnapCode)** ★ 43 🟢
Modern IDE for Java running in the browser, focused on education. -> **[Visual Studio Code](https://code.visualstudio.com/docs/languages/java)**
Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. +> **[Visual Studio Code Java](https://code.visualstudio.com/docs/languages/java)** ★ 3.8k 🟢
Extension suite providing Java language support, debugging, testing, Maven, Gradle and project management in Visual Studio Code.
@@ -958,7 +942,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica > **[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k 🔴
Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -> **[scrimage](https://sksamuel.github.io/scrimage)**
Immutable, functional, and performant JVM library for manipulation of images. +> **[scrimage](https://github.com/sksamuel/scrimage)** ★ 1.2k 🟢
Immutable, functional, and performant JVM library for manipulation of images. > **[Tess4J](https://github.com/nguyenq/tess4j)** ★ 1.8k 🟢
JNA wrapper for Tesseract OCR API. @@ -981,9 +965,9 @@ _Libraries that help make the Java introspection and reflection API easier and f > **[jOOR](https://github.com/jOOQ/jOOR)** ★ 2.8k 🔴
jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -> **[Mirror](http://projetos.vidageek.net/mirror/mirror/)**
Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +> **[Mirror](https://github.com/vidageek/mirror)** ★ 109 🔴
Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -> **[Objenesis](https://objenesis.org)**
Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +> **[Objenesis](https://github.com/easymock/objenesis)** ★ 631 🟢
Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. > **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k 🔴
ReflectASM is a very small Java library that provides high performance reflection by using code generation. @@ -1013,17 +997,15 @@ _Libraries for scheduling background jobs._
-JSON 17 projects +JSON 15 projects _Libraries for serializing and deserializing JSON to and from Java objects._ -> **[Avaje Jsonb](https://avaje.io/jsonb/)**
Reflection-free Json binding via source code generation with Jackson-like annotations. +> **[Avaje Jsonb](https://github.com/avaje/avaje-jsonb)** ★ 93 🟢
Reflection-free Json binding via source code generation with Jackson-like annotations. > **[DSL-JSON](https://github.com/ngs-doo/dsl-json)** ★ 1.1k 🟢
JSON library with advanced compile time databinding. -> **[fastjson](https://github.com/alibaba/fastjson)** ★ 25.6k 🔴
Very fast processor with no additional dependencies and full data binding. - -> **[Genson](http://genson.io)**
Powerful and easy-to-use Java-to-JSON conversion library. +> **[Genson](https://github.com/owlike/genson)** ★ 224 🔴
Powerful and easy-to-use Java-to-JSON conversion library. > **[Gson](https://github.com/google/gson)** ★ 24.2k 🟢
Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. @@ -1031,15 +1013,13 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ > **[Jackson](https://github.com/FasterXML/jackson)** ★ 9.8k 🟢
Similar to GSON, but offers performance gains if you need to instantiate the library more often. -> **[Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money)** ★ 262 🔴
Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - > **[jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8)** ★ 423 🟢
Set of Jackson modules for Java 8 datatypes and features. > **[Jolt](https://github.com/bazaarvoice/jolt)** ★ 1.7k 🟢
JSON to JSON transformation tool. > **[JSON-io](https://github.com/jdereg/json-io)** ★ 390 🟢
Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. -> **[jsoniter](https://jsoniter.com)**
Fast and flexible library with iterator and lazy parsing API. +> **[jsoniter](https://github.com/json-iterator/java)** ★ 1.6k 🔴
Fast and flexible library with iterator and lazy parsing API. > **[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k 🟠
Extract data from JSON using XPATH-like syntax. @@ -1054,7 +1034,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._
-JVM and JDK 13 projects +JVM and JDK 12 projects _Current implementations of the JVM/JDK._ @@ -1070,69 +1050,65 @@ _Current implementations of the JVM/JDK._ > **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 🟢
Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! -> **[Open JDK](https://openjdk.java.net)**
Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[Open JDK](https://github.com/openjdk/jdk)** ★ 23.2k 🟢
Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) > **[OpenJ9](https://github.com/eclipse/openj9)** ★ 3.5k 🟢
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. -> **[ParparVM](https://github.com/codenameone/CodenameOne/tree/master/vm)** ★ 1.9k 🟢
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) -> **[SAP Machine](https://sap.github.io/SapMachine/)**
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 616 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[Which JDK](https://whichjdk.com/)**
Overview of common JVMs with pros and cons. +> **[Which JDK](https://github.com/whichjdk/whichjdk.com)** ★ 160 🟠
Overview of common JVMs with pros and cons. > **[Zulu](https://www.azul.com/products/zulu-community/)**
OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)
-Logging 12 projects +Logging 11 projects _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. +> **[Apache Log4j 2](https://github.com/apache/logging-log4j2)** ★ 3.6k 🟢
Complete rewrite with a powerful plugin and configuration architecture. > **[Echopraxia](https://github.com/tersesystems/echopraxia)** ★ 59 🔴
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. -> **[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. +> **[Flogger](https://github.com/google/flogger)** ★ 1.5k 🟢
Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. -> **[Graylog](https://www.graylog.org)**
Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) +> **[Graylog](https://github.com/Graylog2/graylog2-server)** ★ 8.1k 🟢
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. +> **[Kibana](https://github.com/elastic/kibana)** ★ 21.2k 🟢
Analyzes and visualizes log files. Some features require payment. -> **[Logback](https://logback.qos.ch)**
Robust logging library with interesting configuration options via Groovy. +> **[Logback](https://github.com/qos-ch/logback)** ★ 3.2k 🟢
Robust logging library with interesting configuration options via Groovy. > **[Logbook](https://github.com/zalando/logbook)** ★ 2.1k 🟢
Extensible, open-source library for HTTP request and response logging. -> **[Logstash](https://www.elastic.co/logstash)**
Tool for managing log files. - -> **[OpenTracing Toolbox](https://github.com/zalando/opentracing-toolbox)** ★ 180 🔴
Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations. +> **[Logstash](https://github.com/elastic/logstash)** ★ 14.9k 🟢
Tool for managing log files. > **[p6spy](https://github.com/p6spy/p6spy)** ★ 2.2k 🔴
Enables logging for all JDBC transactions without changes to the code. -> **[SLF4J](https://www.slf4j.org)**
Abstraction layer/simple logging facade. +> **[SLF4J](https://github.com/qos-ch/slf4j)** ★ 2.5k 🟢
Abstraction layer/simple logging facade. -> **[tinylog](https://tinylog.org/v2/)**
Lightweight logging framework with static logger class. +> **[tinylog](https://github.com/tinylog-org/tinylog)** ★ 770 🟢
Lightweight logging framework with static logger class.
-Machine Learning 17 projects +Machine Learning 16 projects _Tools that provide specific statistical algorithms for learning from data._ -> **[Apache Flink](https://flink.apache.org)**
Fast, reliable, large-scale data processing engine. +> **[Apache Flink](https://github.com/apache/flink)** ★ 26.2k 🟢
Fast, reliable, large-scale data processing engine. -> **[Apache Mahout](https://mahout.apache.org)**
Scalable algorithms focused on collaborative filtering, clustering and classification. +> **[Apache Mahout](https://github.com/apache/mahout)** ★ 2.3k 🟢
Scalable algorithms focused on collaborative filtering, clustering and classification. -> **[DatumBox](https://www.datumbox.com)**
Provides several algorithms and pre-trained models for natural language processing. +> **[DatumBox](https://github.com/datumbox/datumbox-framework)** ★ 1.1k 🔴
Provides several algorithms and pre-trained models for natural language processing. -> **[Deeplearning4j](https://deeplearning4j.org)**
Distributed and multi-threaded deep learning library. +> **[Deeplearning4j](https://github.com/deeplearning4j/deeplearning4j)** ★ 14.2k 🟢
Distributed and multi-threaded deep learning library. -> **[DJL](https://djl.ai)**
High-level and engine-agnostic framework for deep learning. +> **[DJL](https://github.com/deepjavalibrary/djl)** ★ 4.8k 🟢
High-level and engine-agnostic framework for deep learning. -> **[H2O ![c]](https://www.h2o.ai)**
Analytics engine for statistics over big data. +> **[H2O ![c]](https://github.com/h2oai/h2o-3)** ★ 7.5k 🟢
Analytics engine for statistics over big data. > **[Intelligent java](https://github.com/Barqawiz/IntelliJava)** ★ 64 🔴
Seamlessly integrate with remote deep learning and language models programmatically. @@ -1142,9 +1118,7 @@ _Tools that provide specific statistical algorithms for learning from data._ > **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 🟠
A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -> **[oj! Algorithms](https://www.ojalgo.org/)**
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - -> **[Oryx 2](https://github.com/OryxProject/oryx)** ★ 1.8k 🔴
Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +> **[oj! Algorithms](https://github.com/optimatika/ojAlgo)** ★ 502 🟢
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. > **[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k 🟢
Cloud native streaming and complex event processing engine. @@ -1152,30 +1126,30 @@ _Tools that provide specific statistical algorithms for learning from data._ > **[Smile](https://github.com/haifengl/smile)** ★ 6.4k 🟢
Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -> **[Tribuo](https://tribuo.org/)**
Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +> **[Tribuo](https://github.com/oracle/tribuo)** ★ 1.4k 🟢
Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -> **[Weka](https://www.cs.waikato.ac.nz/ml/weka/)**
Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +> **[Weka](https://github.com/Waikato/weka)** ★ 34 🔴
Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)
-Messaging 16 projects +Messaging 15 projects _Tools that help send messages between clients to ensure protocol independency._ > **[Aeron](https://github.com/real-logic/Aeron)** ★ 8.8k 🟢
Efficient, reliable, unicast and multicast message transport. -> **[Apache ActiveMQ](https://activemq.apache.org)**
Message broker that implements JMS and converts synchronous to asynchronous communication. +> **[Apache ActiveMQ](https://github.com/apache/activemq)** ★ 2.4k 🟢
Message broker that implements JMS and converts synchronous to asynchronous communication. -> **[Apache Camel](https://camel.apache.org)**
Glues together different transport APIs via Enterprise Integration Patterns. +> **[Apache Camel](https://github.com/apache/camel)** ★ 6.3k 🟢
Glues together different transport APIs via Enterprise Integration Patterns. -> **[Apache Kafka](https://kafka.apache.org)**
High-throughput distributed messaging system. +> **[Apache Kafka](https://github.com/apache/kafka)** ★ 33.3k 🟢
High-throughput distributed messaging system. -> **[Apache Pulsar](https://pulsar.apache.org)**
Distributed pub/sub-messaging system. +> **[Apache Pulsar](https://github.com/apache/pulsar)** ★ 15.3k 🟢
Distributed pub/sub-messaging system. -> **[Apache Qpid](https://qpid.apache.org)**
Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +> **[Apache Qpid for Java](https://qpid.apache.org)** ★ 212 🟢
Java messaging clients and brokers implementing AMQP. -> **[Apache RocketMQ](https://rocketmq.apache.org)**
Fast, reliable, and scalable distributed messaging platform. +> **[Apache RocketMQ](https://github.com/apache/rocketmq)** ★ 22.5k 🟢
Fast, reliable, and scalable distributed messaging platform. > **[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k 🟢
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. @@ -1183,12 +1157,10 @@ _Tools that help send messages between clients to ensure protocol independency._ > **[EventBus](https://github.com/greenrobot/EventBus)** ★ 24.7k 🔴
Simple publish/subscribe event bus. -> **[Hermes](https://hermes.allegro.tech)**
Fast and reliable message broker built on top of Kafka. +> **[Hermes](https://github.com/allegro/hermes)** ★ 863 🟢
Fast and reliable message broker built on top of Kafka. > **[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k 🟠
Implementation of ZeroMQ. -> **[Nakadi](https://github.com/zalando/nakadi)** ★ 966 🔴
Provides a RESTful API on top of Kafka. - > **[NATS client](https://github.com/nats-io/nats.java)** ★ 670 🟢
NATS client. > **[RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client)** ★ 1.3k 🟢
RabbitMQ client. @@ -1198,31 +1170,27 @@ _Tools that help send messages between clients to ensure protocol independency._
-Microservice 12 projects +Microservice 10 projects _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. - > **[Armeria](https://github.com/line/armeria)** ★ 5.1k 🟢
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)** ★ 421 🔴
Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. > **[Eureka](https://github.com/Netflix/eureka)** ★ 12.7k 🟠
REST-based service registry for resilient load balancing and failover. -> **[Helidon](https://helidon.io)**
Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +> **[Helidon](https://github.com/helidon-io/helidon)** ★ 3.8k 🟢
Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. > **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k 🟢
Wrapping of the Discord REST API and its WebSocket events. > **[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k 🟢
Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -> **[Micronaut](https://micronaut.io)**
Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +> **[Micronaut](https://github.com/micronaut-projects/micronaut-core)** ★ 6.4k 🟢
Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -> **[Nacos](https://nacos.io)**
Dynamic service discovery, configuration and service management platform for building cloud native applications. +> **[Nacos](https://github.com/alibaba/nacos)** ★ 33.2k 🟢
Dynamic service discovery, configuration and service management platform for building cloud native applications. -> **[OpenAI-Java](https://github.com/TheoKanning/openai-java)** ★ 4.7k 🔴
Java libraries for using OpenAI's GPT-3 API. - -> **[Quarkus](https://quarkus.io)**
Kubernetes stack tailored for the HotSpot and Graal VM. +> **[Quarkus](https://github.com/quarkusio/quarkus)** ★ 15.8k 🟢
Kubernetes stack tailored for the HotSpot and Graal VM. > **[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k 🟢
Flow control component enabling reliability, resilience and monitoring for microservices. @@ -1251,13 +1219,13 @@ _Everything else._ > **[J2ObjC](https://github.com/google/j2objc)** ★ 6.0k 🟢
Java-to-Objective-C translator for porting Android libraries to iOS. -> **[JBake](https://jbake.org)**
Static website generator. +> **[JBake](https://github.com/jbake-org/jbake)** ★ 1.2k 🟠
Static website generator. -> **[JBang](https://www.jbang.dev/)**
JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. +> **[JBang](https://github.com/jbangdev/jbang)** ★ 1.8k 🟢
JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. > **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k 🟠
Framework for building chatbots. (GPL-3.0-only) -> **[JCuda](https://javagl.de/jcuda.org/)**
JCuda offers Java bindings for CUDA and CUDA-related libraries. +> **[JCuda](https://github.com/jcuda/jcuda)** ★ 266 🔴
JCuda offers Java bindings for CUDA and CUDA-related libraries. > **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 🟢
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. @@ -1265,7 +1233,7 @@ _Everything else._ > **[JObfuscator![c]](https://www.pelock.com/products/jobfuscator)**
Source code obfuscator. -> **[Joda-Money](https://www.joda.org/joda-money/)**
Basic currency and money classes and algorithms not provided by the JDK. +> **[Joda-Money](https://github.com/JodaOrg/joda-money)** ★ 679 🟠
Basic currency and money classes and algorithms not provided by the JDK. > **[jOOX](https://github.com/jooq/joox)** ★ 506 🔴
Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. @@ -1277,7 +1245,7 @@ _Everything else._ > **[LittleProxy](https://github.com/adamfisk/LittleProxy)** ★ 2.1k 🔴
High performance HTTP proxy atop Netty's event-based networking library. -> **[Maven Wrapper](https://github.com/takari/maven-wrapper)** ★ 1.6k 🔴
Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. +> **[Maven Wrapper](https://github.com/apache/maven-wrapper)** ★ 252 🟢
Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. > **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 🟢
Open-source, reverse-proxy framework. @@ -1291,13 +1259,13 @@ _Everything else._ > **[OctoLinker](https://github.com/OctoLinker/OctoLinker)** ★ 5.4k 🔴
Browser extension which allows to navigate through code on GitHub more efficiently. -> **[OpenRefine](https://openrefine.org)**
Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +> **[OpenRefine](https://github.com/OpenRefine/OpenRefine)** ★ 11.9k 🟢
Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. > **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 🟠
Small utility library for using handlers and commands with pipelines. > **[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 🟢
Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -> **[Rollgate](https://rollgate.io)**
Cloud-managed feature flag platform with a Java SDK, supporting gradual rollouts, A/B testing, and real-time updates. +> **[Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java)** ★ 3 🟢
Java SDK for evaluating Rollgate feature flags with real-time configuration updates. > **[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 🔴
RR4J is a tool that records java bytecode execution and later allows developers to replay locally. @@ -1307,7 +1275,7 @@ _Everything else._ > **[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k 🟢
Library for the Svix API to send webhooks and verify signatures. -> **[Togglz](https://www.togglz.org)**
Implementation of the Feature Toggles pattern. +> **[Togglz](https://github.com/togglz/togglz)** ★ 1.0k 🟢
Implementation of the Feature Toggles pattern. > **[TypeTools](https://github.com/jhalterman/typetools)** ★ 629 🔴
Tools for resolving generic types. @@ -1324,16 +1292,16 @@ _Everything else._ _Tools for creating or managing mobile applications._ -> **[Codename One](https://www.codenameone.com)**
Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[Codename One](https://github.com/codenameone/CodenameOne)** ★ 1.9k 🟢
Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[MobileUI](https://mobileui.dev)**
Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +> **[MobileUI](https://github.com/MobileUI/mobileui)** ★ 13 🔴
Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -> **[Multi-OS Engine](https://multi-os-engine.org)**
Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +> **[Multi-OS Engine](https://github.com/multi-os-engine/multi-os-engine)** ★ 596 🟢
Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.
-Monitoring 26 projects +Monitoring 21 projects _Tools that observe/monitor applications in production by providing telemetry._ @@ -1347,25 +1315,19 @@ _Tools that observe/monitor applications in production by providing telemetry._ > **[Dropwizard Metrics](https://github.com/dropwizard/metrics)** ★ 7.8k 🟢
Expose metrics via JMX or HTTP and send them to a database. -> **[Failsafe Actuator](https://github.com/zalando/failsafe-actuator)** ★ 54 🔴
Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. - -> **[Glowroot](https://glowroot.org)**
Open-source Java APM. +> **[Glowroot](https://github.com/glowroot/glowroot)** ★ 1.4k 🟢
Open-source Java APM. > **[HertzBeat](https://github.com/dromara/hertzbeat)** ★ 7.3k 🟢
Real-time monitoring system with custom-monitor and agentless. > **[hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md)** ★ 6.0k 🟠
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. - -> **[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)** ★ 489 🔴
Jaeger client. +> **[inspectIT Ocelot](https://github.com/inspectIT/inspectit-ocelot)** ★ 220 🟠
Java agent that collects application performance, tracing and behavioral data. > **[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3.0k 🟢
Performance monitoring and profiling. > **[jmxtrans](https://github.com/jmxtrans/jmxtrans)** ★ 1.7k 🔴
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. +> **[Jolokia](https://github.com/jolokia/jolokia)** ★ 848 🟢
JMX over REST. > **[Micrometer](https://github.com/micrometer-metrics/micrometer)** ★ 4.9k 🟢
Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. @@ -1383,11 +1345,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ > **[SPM ![c]](https://github.com/sematext/sematext-agent-java)** ★ 25 🟢
Performance monitor with distributing transaction tracing for JVM apps. -> **[Stagemonitor](https://github.com/stagemonitor/stagemonitor)** ★ 1.7k 🔴
Open-source performance monitoring and transaction tracing for JVM apps. - -> **[Sysmon](https://github.com/palantir/Sysmon)** ★ 161 🔴
Lightweight platform monitoring tool for Java VMs. - -> **[zipkin](https://zipkin.io)**
Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +> **[zipkin](https://github.com/openzipkin/zipkin)** ★ 17.4k 🟠
Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.
@@ -1415,9 +1373,9 @@ _Libraries that specialize in processing text._ > **[CogCompNLP](https://github.com/CogComp/cogcomp-nlp)** ★ 479 🔴
Provides common annotators for plain text input. (Research and Academic Use License) -> **[CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml)**
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +> **[CoreNLP](https://github.com/stanfordnlp/CoreNLP)** ★ 10.1k 🟢
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) -> **[DKPro](https://dkpro.github.io)**
Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +> **[DKPro](https://github.com/dkpro/dkpro-core)** ★ 204 🟢
Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. > **[Hypherator](https://github.com/ejossev/hypherator-java)** ★ 4 🔴
Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. @@ -1440,7 +1398,7 @@ _Libraries for building network servers._ > **[Fluency](https://github.com/komamitsu/fluency)** ★ 167 🟢
High throughput data ingestion logger to Fluentd and Fluent Bit. -> **[Grizzly](https://javaee.github.io/grizzly/)**
NIO framework. Used as a network layer in Glassfish. +> **[Grizzly](https://github.com/eclipse-ee4j/grizzly)** ★ 180 🟢
NIO framework. Used as a network layer in Glassfish. > **[gRPC-java](https://github.com/grpc/grpc-java)** ★ 12.1k 🟢
RPC framework based on protobuf and HTTP/2. @@ -1448,9 +1406,9 @@ _Libraries for building network servers._ > **[KryoNet](https://github.com/EsotericSoftware/kryonet)** ★ 1.9k 🔴
Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -> **[MINA](https://mina.apache.org)**
Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +> **[MINA](https://github.com/apache/mina)** ★ 925 🟢
Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -> **[Netty](https://netty.io)**
Framework for building high-performance network applications. +> **[Netty](https://github.com/netty/netty)** ★ 35.0k 🟢
Framework for building high-performance network applications. > **[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1.0k 🟢
Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. @@ -1458,7 +1416,7 @@ _Libraries for building network servers._ > **[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 🟠
Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -> **[Undertow](https://undertow.io)**
Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +> **[Undertow](https://github.com/undertow-io/undertow)** ★ 3.8k 🟢
Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) > **[urnlib](https://github.com/slub/urnlib)** ★ 36 🟠
Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) @@ -1469,15 +1427,15 @@ _Libraries for building network servers._ _APIs that handle the persistence of objects._ -> **[Apache Cayenne](https://cayenne.apache.org)**
Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +> **[Apache Cayenne](https://github.com/apache/cayenne)** ★ 345 🟢
Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. > **[Doma](https://github.com/domaframework/doma)** ★ 504 🟢
Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -> **[Ebean](https://ebean.io)**
Provides simple and fast data access. +> **[Ebean](https://github.com/ebean-orm/ebean)** ★ 1.5k 🟢
Provides simple and fast data access. -> **[EclipseLink](https://www.eclipse.org/eclipselink/)**
Supports a number of persistence standards: JPA, JAXB, JCA and SDO. +> **[EclipseLink](https://github.com/eclipse-ee4j/eclipselink)** ★ 242 🟢
Supports a number of persistence standards: JPA, JAXB, JCA and SDO. -> **[Hibernate](https://hibernate.org/orm/)**
Robust and widely used, with an active community. (LGPL-2.1-only) +> **[Hibernate](https://github.com/hibernate/hibernate-orm)** ★ 6.5k 🟢
Robust and widely used, with an active community. (LGPL-2.1-only) > **[MyBatis](https://github.com/mybatis/mybatis-3)** ★ 20.4k 🟢
Couples objects with stored procedures or SQL statements. @@ -1526,23 +1484,23 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. _Tools to help with PDF files._ -> **[Apache FOP](https://xmlgraphics.apache.org/fop/)**
Creates PDFs from XSL-FO. +> **[Apache FOP](https://github.com/apache/xmlgraphics-fop)** ★ 225 🟢
Creates PDFs from XSL-FO. -> **[Apache PDFBox](https://pdfbox.apache.org)**
Toolbox for creating and manipulating PDFs. +> **[Apache PDFBox](https://github.com/apache/pdfbox)** ★ 3.1k 🟢
Toolbox for creating and manipulating PDFs. -> **[Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/)**
Abstraction layer to JasperReports. (LGPL-3.0-only) +> **[Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper)** ★ 258 🔴
Abstraction layer to JasperReports. (LGPL-3.0-only) > **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 🟢
Simplifies JasperReports. (LGPL-3.0-only) -> **[Eclipse BIRT](https://www.eclipse.org/birt)**
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +> **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 540 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. > **[flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer)** ★ 2.2k 🟢
XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -> **[GraphCompose](https://github.com/DemchaAV/GraphCompose)** ★ 105 🟢
Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. +> **[GraphCompose](https://github.com/DemchaAV/GraphCompose)** ★ 106 🟢
Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. -> **[iText ![c]](https://itextpdf.com/en)**
Creates PDF files programmatically. +> **[iText ![c]](https://github.com/itext/itext-java)** ★ 2.3k 🟢
Creates PDF files programmatically. -> **[JasperReports](https://community.jaspersoft.com/project/jasperreports-library)**
Complex reporting engine. (LGPL-3.0-only) +> **[JasperReports](https://github.com/Jaspersoft/jasperreports)** ★ 1.4k 🟢
Complex reporting engine. (LGPL-3.0-only) > **[jquick-pdf](https://github.com/paohaijiao/jquick-pdf)** ★ 225 🟢
Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. @@ -1573,7 +1531,7 @@ _Tools for performance analysis, profiling and benchmarking._ > **[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k 🟠
Analyze the JIT compiler optimisations made by the HotSpot JVM. -> **[JMH](https://openjdk.java.net/projects/code-tools/jmh/)**
Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +> **[JMH](https://github.com/openjdk/jmh)** ★ 2.7k 🟢
Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) > **[JVM Hotpath](https://github.com/sfkamath/jvm-hotpath)** ★ 10 🟠
Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. @@ -1588,85 +1546,85 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons 50 projects -> **[BCEL](https://commons.apache.org/proper/commons-bcel/)**
Byte Code Engineering Library - analyze, create, and manipulate Java class files. +> **[BCEL](https://github.com/apache/commons-bcel)** ★ 273 🟢
Byte Code Engineering Library - analyze, create, and manipulate Java class files. -> **[BeanUtils](https://commons.apache.org/proper/commons-beanutils/)**
Easy-to-use wrappers around the Java reflection and introspection APIs. +> **[BeanUtils](https://github.com/apache/commons-beanutils)** ★ 321 🟢
Easy-to-use wrappers around the Java reflection and introspection APIs. > **[BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/)**
Redesign of Commons BeanUtils. -> **[BSF](https://commons.apache.org/proper/commons-bsf/)**
Bean Scripting Framework - interface to scripting languages, including JSR-223. +> **[BSF](https://github.com/apache/commons-bsf)** ★ 32 🟢
Bean Scripting Framework - interface to scripting languages, including JSR-223. > **[ClassScan](https://commons.apache.org/sandbox/commons-classscan/)**
Find Class interfaces, methods, fields, and annotations without loading. -> **[CLI](https://commons.apache.org/proper/commons-cli/)**
Command-line arguments parser. +> **[CLI](https://github.com/apache/commons-cli)** ★ 393 🟢
Command-line arguments parser. > **[CLI2](https://commons.apache.org/sandbox/commons-cli2/)**
Redesign of Commons CLI. -> **[Codec](https://commons.apache.org/proper/commons-codec/)**
General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +> **[Codec](https://github.com/apache/commons-codec)** ★ 490 🟢
General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -> **[Collections](https://commons.apache.org/proper/commons-collections/)**
Extends or augments the Java Collections Framework. +> **[Collections](https://github.com/apache/commons-collections)** ★ 724 🟢
Extends or augments the Java Collections Framework. -> **[Compress](https://commons.apache.org/proper/commons-compress/)**
Defines an API for working with tar, zip and bzip2 files. +> **[Compress](https://github.com/apache/commons-compress)** ★ 402 🟢
Defines an API for working with tar, zip and bzip2 files. -> **[Configuration](https://commons.apache.org/proper/commons-configuration/)**
Reading of configuration/preferences files in various formats. +> **[Configuration](https://github.com/apache/commons-configuration)** ★ 214 🟢
Reading of configuration/preferences files in various formats. > **[Convert](https://commons.apache.org/sandbox/commons-convert/)**
Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -> **[CSV](https://commons.apache.org/proper/commons-csv/)**
Component for reading and writing comma separated value files. +> **[CSV](https://github.com/apache/commons-csv)** ★ 413 🟢
Component for reading and writing comma separated value files. -> **[Daemon](https://commons.apache.org/proper/commons-daemon/)**
Alternative invocation mechanism for unix-daemon-like java code. +> **[Daemon](https://github.com/apache/commons-daemon)** ★ 107 🟢
Alternative invocation mechanism for unix-daemon-like java code. -> **[DBCP](https://commons.apache.org/proper/commons-dbcp/)**
Database connection pooling services. +> **[DBCP](https://github.com/apache/commons-dbcp)** ★ 369 🟢
Database connection pooling services. -> **[DbUtils](https://commons.apache.org/proper/commons-dbutils/)**
JDBC helper library. +> **[DbUtils](https://github.com/apache/commons-dbutils)** ★ 392 🟢
JDBC helper library. -> **[Digester](https://commons.apache.org/proper/commons-digester/)**
XML-to-Java-object mapping utility. +> **[Digester](https://github.com/apache/commons-digester)** ★ 62 🟢
XML-to-Java-object mapping utility. -> **[Email](https://commons.apache.org/proper/commons-email/)**
Library for sending e-mail from Java. +> **[Email](https://github.com/apache/commons-email)** ★ 176 🟢
Library for sending e-mail from Java. -> **[Exec](https://commons.apache.org/proper/commons-exec/)**
API for dealing with external process execution and environment management in Java. +> **[Exec](https://github.com/apache/commons-exec)** ★ 162 🟢
API for dealing with external process execution and environment management in Java. -> **[FileUpload](https://commons.apache.org/proper/commons-fileupload/)**
File upload capability for your servlets and web applications. +> **[FileUpload](https://github.com/apache/commons-fileupload)** ★ 260 🟢
File upload capability for your servlets and web applications. > **[Finder](https://commons.apache.org/sandbox/commons-finder/)**
Java library inspired by the UNIX find command. > **[Flatfile](https://commons.apache.org/sandbox/commons-flatfile/)**
Java library for working with flat data structures. -> **[Graph](https://commons.apache.org/sandbox/commons-graph/)**
General purpose graph APIs and algorithms. +> **[Graph](https://github.com/apache/commons-graph)** ★ 44 🟢
General purpose graph APIs and algorithms. > **[I18n](https://commons.apache.org/sandbox/commons-i18n/)**
Adds the feature of localized message bundles that consist of one or many localized texts that belong together. > **[Id](https://commons.apache.org/sandbox/commons-id/)**
Id is a component used to generate identifiers. -> **[Imaging](https://commons.apache.org/proper/commons-imaging/)**
Image library. +> **[Imaging](https://github.com/apache/commons-imaging)** ★ 487 🟢
Image library. -> **[IO](https://commons.apache.org/proper/commons-io/)**
Collection of I/O utilities. +> **[IO](https://github.com/apache/commons-io)** ★ 1.1k 🟢
Collection of I/O utilities. > **[Javaflow](https://commons.apache.org/sandbox/commons-javaflow/)**
Continuation implementation to capture the state of the application. -> **[JCI](https://commons.apache.org/proper/commons-jci/)**
Java Compiler Interface. +> **[JCI](https://github.com/apache/commons-jci)** ★ 22 🟢
Java Compiler Interface. -> **[JCS](https://commons.apache.org/proper/commons-jcs/)**
Java Caching System. +> **[JCS](https://github.com/apache/commons-jcs)** ★ 108 🟢
Java Caching System. -> **[Jelly](https://commons.apache.org/proper/commons-jelly/)**
XML based scripting and processing engine. +> **[Jelly](https://github.com/apache/commons-jelly)** ★ 26 🟢
XML based scripting and processing engine. -> **[Jexl](https://commons.apache.org/proper/commons-jexl/)**
Expression language which extends the Expression Language of the JSTL. +> **[Jexl](https://github.com/apache/commons-jexl)** ★ 242 🟢
Expression language which extends the Expression Language of the JSTL. > **[JNet](https://commons.apache.org/sandbox/commons-jnet/)**
JNet allows to use dynamically register url stream handlers through the java.net API. -> **[JXPath](https://commons.apache.org/proper/commons-jxpath/)**
Utilities for manipulating Java Beans using the XPath syntax. +> **[JXPath](https://github.com/apache/commons-jxpath)** ★ 43 🟢
Utilities for manipulating Java Beans using the XPath syntax. -> **[Lang](https://commons.apache.org/proper/commons-lang/)**
Provides extra functionality for classes in java.lang. +> **[Lang](https://github.com/apache/commons-lang)** ★ 3.0k 🟢
Provides extra functionality for classes in java.lang. -> **[Logging](https://commons.apache.org/proper/commons-logging/)**
Wrapper around a variety of logging API implementations. +> **[Logging](https://github.com/apache/commons-logging)** ★ 167 🟢
Wrapper around a variety of logging API implementations. -> **[Math](https://commons.apache.org/proper/commons-math/)**
Lightweight, self-contained mathematics and statistics components. +> **[Math](https://github.com/apache/commons-math)** ★ 651 🟢
Lightweight, self-contained mathematics and statistics components. > **[Monitoring](https://commons.apache.org/sandbox/commons-monitoring/)**
Monitoring aims to provide a simple but extensible monitoring solution for Java applications. > **[Nabla](https://commons.apache.org/sandbox/commons-nabla/)**
Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -> **[Net](https://commons.apache.org/proper/commons-net/)**
Collection of network utilities and protocol implementations. +> **[Net](https://github.com/apache/commons-net)** ★ 295 🟢
Collection of network utilities and protocol implementations. > **[OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/)**
Interface to signing and verifying data using OpenPGP. @@ -1674,29 +1632,29 @@ _Frameworks that are suites of multiple libraries encompassing several categorie > **[Pipeline](https://commons.apache.org/sandbox/commons-pipeline/)**
Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -> **[Pool](https://commons.apache.org/proper/commons-pool/)**
Generic object pooling component. +> **[Pool](https://github.com/apache/commons-pool)** ★ 552 🟢
Generic object pooling component. -> **[RDF](https://commons.apache.org/proper/commons-rdf/)**
Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +> **[RDF](https://github.com/apache/commons-rdf)** ★ 58 🟢
Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -> **[RNG](https://commons.apache.org/proper/commons-rng/)**
Commons Rng provides implementations of pseudo-random numbers generators. +> **[RNG](https://github.com/apache/commons-rng)** ★ 66 🟢
Commons Rng provides implementations of pseudo-random numbers generators. -> **[SCXML](https://commons.apache.org/proper/commons-scxml/)**
Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +> **[SCXML](https://github.com/apache/commons-scxml)** ★ 67 🟢
Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -> **[Validator](https://commons.apache.org/proper/commons-validator/)**
Framework to define validators and validation rules in an xml file. +> **[Validator](https://github.com/apache/commons-validator)** ★ 230 🟢
Framework to define validators and validation rules in an xml file. -> **[VFS](https://commons.apache.org/proper/commons-vfs/)**
Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +> **[VFS](https://github.com/apache/commons-vfs)** ★ 251 🟢
Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -> **[Weaver](https://commons.apache.org/proper/commons-weaver/)**
Provides an easy way to enhance (weave) compiled bytecode. +> **[Weaver](https://github.com/apache/commons-weaver)** ★ 29 🟢
Provides an easy way to enhance (weave) compiled bytecode. #### Other 4 projects -> **[CUBA Platform](https://www.cuba-platform.com/)**
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +> **[CUBA Platform](https://github.com/jmix-framework/jmix)** ★ 693 🟢
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. > **[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k 🟢
Fast, lightweight and productive microservices framework with built-in security. > **[Orienteer](https://github.com/OrienteerBAP/Orienteer/)** ★ 260 🔴
Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -> **[Spring](https://spring.io/projects/)**
Provides many packages for dependency injection, aspect-oriented programming, security, etc. +> **[Spring Framework](https://github.com/spring-projects/spring-framework)** ★ 60.1k 🟢
Comprehensive application framework for building Java applications.
@@ -1718,7 +1676,7 @@ _Libraries that help the management of operating system processes._ _Libraries for developing reactive applications._ -> **[Akka](https://akka.io)**
Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. +> **[Akka](https://github.com/akka/akka)** ★ 13.3k 🟢
Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. > **[Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm)** ★ 4.9k 🔴
Provides a standard for asynchronous stream processing with non-blocking backpressure. @@ -1726,12 +1684,12 @@ _Libraries for developing reactive applications._ > **[RxJava](https://github.com/ReactiveX/RxJava)** ★ 48.2k 🟢
Allows for composing asynchronous and event-based programs using observable sequences. -> **[vert.x](https://vertx.io)**
Polyglot event-driven application framework. +> **[vert.x](https://github.com/eclipse-vertx/vert.x)** ★ 14.7k 🟢
Polyglot event-driven application framework.
-REST Frameworks 15 projects +REST Frameworks 14 projects _Frameworks specifically for creating RESTful services._ @@ -1739,9 +1697,9 @@ _Frameworks specifically for creating RESTful services._ > **[Dropwizard](https://github.com/dropwizard/dropwizard)** ★ 8.6k 🟢
Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -> **[Elide](https://elide.io)**
Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +> **[Elide](https://github.com/yahoo/elide)** ★ 1.0k 🟢
Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -> **[Jersey](https://jersey.github.io)**
JAX-RS reference implementation. +> **[Jersey](https://github.com/eclipse-ee4j/jersey)** ★ 729 🟢
JAX-RS reference implementation. > **[Microserver](https://github.com/aol/micro-server)** ★ 935 🔴
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. @@ -1749,30 +1707,28 @@ _Frameworks specifically for creating RESTful services._ > **[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** ★ 26.6k 🟢
Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. -> **[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)** ★ 2.5k 🟢
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. +> **[Rapidoid](https://github.com/rapidoid/rapidoid)** ★ 1.6k 🔴
Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. -> **[RESTEasy](https://resteasy.github.io)**
Fully certified and portable implementation of the JAX-RS specification. +> **[RESTEasy](https://github.com/resteasy/resteasy)** ★ 1.1k 🟢
Fully certified and portable implementation of the JAX-RS specification. > **[RestExpress](https://github.com/RestExpress/RestExpress)** ★ 939 🟠
Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. > **[Restlet Framework](https://github.com/restlet/restlet-framework-java)** ★ 667 🟢
Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. -> **[Spark](https://sparkjava.com)**
Sinatra inspired framework. +> **[Spark](https://github.com/perwendel/spark)** ★ 9.7k 🔴
Sinatra inspired framework. > **[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k 🟢
Automates the generation of API documentation using Spring Boot projects. -> **[Swagger](https://swagger.io)**
Standard, language-agnostic interface to REST APIs. +> **[Swagger Java](https://swagger.io)** ★ 8.6k 🟢
Java libraries for generating, parsing and serving OpenAPI definitions.
-Science 16 projects +Science 15 projects _Libraries for scientific computing, analysis and visualization._ -> **[BioJava](https://biojava.org/)**
Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +> **[BioJava](https://github.com/biojava/biojava)** ★ 627 🟢
Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. > **[Chart-FX](https://github.com/GSI-CS-CO/chart-fx)** ★ 611 🟠
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. @@ -1780,14 +1736,12 @@ _Libraries for scientific computing, analysis and visualization._ > **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 🔴
Modular, light and easy graph framework for theoretic algorithms. -> **[GraphStream](https://graphstream-project.org)**
Library for modeling and analyzing dynamic graphs. +> **[GraphStream](https://github.com/graphstream/gs-core)** ★ 425 🔴
Library for modeling and analyzing dynamic graphs. -> **[JFreeChart](https://www.jfree.org/jfreechart/)**
2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +> **[JFreeChart](https://github.com/jfree/jfreechart)** ★ 1.4k 🟠
2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) > **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k 🟢
Graph library that provides mathematical graph-theory objects and algorithms. -> **[JGraphX](https://github.com/jgraph/jgraphx)** ★ 692 🔴
Library for visualizing (mainly Swing) and interacting with node-edge graphs. - > **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 🟢
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. > **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 🟢
Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. @@ -1796,7 +1750,7 @@ _Libraries for scientific computing, analysis and visualization._ > **[Morpheus](https://github.com/zavtech/morpheus-core)** ★ 245 🔴
Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -> **[Orekit](https://www.orekit.org/)**
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +> **[Orekit](https://github.com/CS-SI/Orekit)** ★ 285 🟢
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. > **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) @@ -1811,11 +1765,11 @@ _Libraries for scientific computing, analysis and visualization._ _Engines that index documents for search and analysis._ -> **[Apache Lucene](https://lucene.apache.org)**
High-performance, full-featured, cross-platform, text search engine library. +> **[Apache Lucene](https://github.com/apache/lucene)** ★ 3.5k 🟢
High-performance, full-featured, cross-platform, text search engine library. -> **[Apache Solr](https://lucene.apache.org/solr/)**
Enterprise search engine optimized for high-volume traffic. +> **[Apache Solr](https://github.com/apache/solr)** ★ 1.6k 🟢
Enterprise search engine optimized for high-volume traffic. -> **[Elasticsearch](https://www.elastic.co)**
Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. +> **[Elasticsearch](https://github.com/elastic/elasticsearch)** ★ 77.6k 🟢
Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. > **[Indexer4j](https://github.com/haeungun/indexer4j)** ★ 57 🔴
Simple and light full text indexing and searching library. @@ -1824,21 +1778,19 @@ _Engines that index documents for search and analysis._
-Security 25 projects +Security 23 projects _Libraries that handle security, authentication, authorization or session management._ -> **[Apache Shiro](https://shiro.apache.org)**
Performs authentication, authorization, cryptography and session management. +> **[Apache Shiro](https://github.com/apache/shiro)** ★ 4.4k 🟢
Performs authentication, authorization, cryptography and session management. > **[Ayza](https://github.com/Hakky54/ayza)** ★ 579 🟢
High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -> **[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. +> **[Bouncy Castle](https://github.com/bcgit/bc-java)** ★ 2.7k 🟢
All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. > **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 🟢
CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. -> **[Cryptomator](https://cryptomator.org)**
Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) - -> **[DependencyCheck](https://github.com/jeremylong/DependencyCheck)** ★ 54 🟠
Detects publicly disclosed vulnerabilities contained within a project's dependencies. +> **[Cryptomator](https://github.com/cryptomator/cryptomator)** ★ 15.8k 🟢
Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) > **[Hdiv](https://github.com/hdiv/hdiv)** ★ 219 🔴
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. @@ -1848,25 +1800,23 @@ _Libraries that handle security, authentication, authorization or session manage > **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 🔴
Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. -> **[Kalium](https://github.com/abstractj/kalium)** ★ 219 🔴
Binding for the Networking and Cryptography (NaCl) library. +> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 35.8k 🟢
Integrated SSO and IDM for browser apps and RESTful web services. -> **[Keycloak](https://www.keycloak.org)**
Integrated SSO and IDM for browser apps and RESTful web services. - -> **[Keywhiz](https://github.com/square/keywhiz)** ★ 2.6k 🔴
System for distributing and managing secrets. - -> **[MOSS](https://central.sonatype.com/artifact/com.mosscomputing/moss-sdk)**
Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. +> **[MOSS](https://github.com/mosscomputing/moss-java)** ★ 0 🟢
Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. > **[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 🟠
Advanced password strength estimation. -> **[OACC](http://oaccframework.org)**
Provides permission-based authorization services. +> **[OACC](https://github.com/acciente/oacc-core)** ★ 110 🔴
Provides permission-based authorization services. > **[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 879 🟢
Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. > **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 🟢
One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +> **[OWASP Dependency-Check](https://github.com/dependency-check/DependencyCheck)** ★ 7.6k 🟢
Detects publicly disclosed vulnerabilities contained within a project's dependencies. + > **[pac4j](https://github.com/pac4j/pac4j)** ★ 2.5k 🟢
Security engine. -> **[Passay](https://www.passay.org/)**
Enforce password policy by validating candidate passwords against a configurable rule set. +> **[Passay](https://github.com/vt-middleware/passay)** ★ 313 🟠
Enforce password policy by validating candidate passwords against a configurable rule set. > **[Password4j](https://github.com/Password4j/password4j)** ★ 428 🟠
User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. @@ -1874,14 +1824,14 @@ _Libraries that handle security, authentication, authorization or session manage > **[Themis](https://github.com/cossacklabs/themis)** ★ 2.0k 🟠
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)** ★ 13.5k 🔴
Provides a simple and misuse-proof API for common cryptographic tasks. +> **[Tink](https://github.com/tink-crypto/tink-java)** ★ 295 🟢
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. +> **[Topaz](https://github.com/aserto-dev/topaz)** ★ 1.4k 🟢
Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.
-Serialization 6 projects +Serialization 5 projects _Libraries that handle serialization with high efficiency._ @@ -1895,8 +1845,6 @@ _Libraries that handle serialization with high efficiency._ > **[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k 🟢
Efficient binary serialization format. -> **[PHP Serializer](https://github.com/marcospassos/java-php-serializer)** ★ 19 🔴
Serializing objects in the PHP serialization format. -
@@ -1904,15 +1852,15 @@ _Libraries that handle serialization with high efficiency._ _Servers specifically used to deploy applications._ -> **[Apache Tomcat](https://tomcat.apache.org)**
Robust, all-round server for Servlet and JSP. +> **[Apache Tomcat](https://github.com/apache/tomcat)** ★ 8.2k 🟢
Robust, all-round server for Servlet and JSP. -> **[Apache TomEE](https://tomee.apache.org)**
Tomcat plus Java EE. +> **[Apache TomEE](https://github.com/apache/tomee)** ★ 476 🟢
Tomcat plus Java EE. -> **[Jetty](https://www.eclipse.org/jetty/)**
Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +> **[Jetty](https://github.com/jetty/jetty.project)** ★ 4.1k 🟢
Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. > **[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k 🔴
Tiny, easily embeddable HTTP server. -> **[WildFly](https://www.wildfly.org)**
Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +> **[WildFly](https://github.com/wildfly/wildfly)** ★ 3.2k 🟢
Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)
@@ -1921,9 +1869,9 @@ _Servers specifically used to deploy applications._ _Tools that substitute expressions in a template._ -> **[Freemarker](https://freemarker.apache.org)**
Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +> **[Freemarker](https://github.com/apache/freemarker)** ★ 1.1k 🟢
Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. -> **[Handlebars.java](https://jknack.github.io/handlebars.java/)**
Logicless and semantic Mustache templates. +> **[Handlebars.java](https://github.com/jknack/handlebars.java)** ★ 1.6k 🟢
Logicless and semantic Mustache templates. > **[Jade4J](https://github.com/neuland/jade4j)** ★ 706 🔴
Implementation of Pug (formerly known as Jade). @@ -1935,13 +1883,13 @@ _Tools that substitute expressions in a template._ > **[Jtwig](https://github.com/jtwig/jtwig)** ★ 299 🔴
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://github.com/PebbleTemplates/pebble)** ★ 1.2k 🟢
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)** ★ 781 🟠
Optimized, memory efficient and speedy template engine producing statically typed, plain objects. > **[StringTemplate](https://github.com/antlr/stringtemplate4)** ★ 1.0k 🔴
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. +> **[Thymeleaf](https://github.com/thymeleaf/thymeleaf)** ★ 3.0k 🟢
Aims to be a substitute for JSP and works for XML files.
@@ -1958,7 +1906,7 @@ _Tools that simplify testing asynchronous services._ > **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 🔴
Toolkit for testing multi-threaded and asynchronous applications. -> **[GreenMail](https://greenmail-mail-test.github.io/greenmail/)**
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +> **[GreenMail](https://github.com/greenmail-mail-test/greenmail)** ★ 740 🟢
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) > **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 🟢
Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. @@ -1978,9 +1926,9 @@ _Testing for the software development process that emerged from TDD and was heav > **[J8Spec](https://github.com/j8spec/j8spec)** ★ 49 🔴
Follows a Jasmine-like syntax. -> **[JBehave](https://jbehave.org)**
Extensively configurable framework that describes stories. +> **[JBehave](https://github.com/jbehave/jbehave-core)** ★ 39 🟠
Extensively configurable framework that describes stories. -> **[JGiven](https://jgiven.org)**
Provides a fluent API which allows for simpler composition. +> **[JGiven](https://github.com/TNG/JGiven)** ★ 464 🟢
Provides a fluent API which allows for simpler composition. > **[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 🟢
Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. @@ -2016,31 +1964,31 @@ _Everything related to the creation and handling of random data._ _Provide environments to run tests for a specific use case._ -> **[Apache JMeter](https://jmeter.apache.org)**
Functional testing and performance measurements. +> **[Apache JMeter](https://github.com/apache/jmeter)** ★ 9.5k 🟢
Functional testing and performance measurements. -> **[Arquillian](https://arquillian.org)**
Integration and functional testing platform for Java EE containers. +> **[Arquillian](https://github.com/arquillian/arquillian-core)** ★ 388 🟢
Integration and functional testing platform for Java EE containers. -> **[BitDive ![c]](https://bitdive.io)**
Zero-code integration testing platform that generates tests from runtime application behavior. +> **[BitDive Java Agent ![c]](https://github.com/bitDive/java-producer)** ★ 87 🟢
Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. > **[cdi-test](https://github.com/guhilling/cdi-test)** ★ 31 🟢
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. +> **[Citrus](https://github.com/citrusframework/citrus)** ★ 485 🟢
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. +> **[Gatling](https://github.com/gatling/gatling)** ★ 6.9k 🟢
Load testing tool designed for ease of use, maintainability and high performance. -> **[JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/)**
Load tests with JMeter as simple as a JUnit test. +> **[JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl)** ★ 535 🟢
Load tests with JMeter as simple as a JUnit test. -> **[jqwik](https://jqwik.net)**
Engine for property-based testing built on JUnit 5. +> **[jqwik](https://github.com/jqwik-team/jqwik)** ★ 837 🟢
Engine for property-based testing built on JUnit 5. -> **[JUnit](https://junit.org/junit5/)**
Common testing framework. +> **[JUnit](https://github.com/junit-team/junit-framework)** ★ 7.1k 🟢
Common testing framework. > **[Pact JVM](https://github.com/DiUS/pact-jvm)** ★ 1.1k 🟢
Consumer-driven contract testing. -> **[PIT](https://pitest.org)**
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. +> **[PIT](https://github.com/hcoles/pitest)** ★ 1.8k 🟢
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. > **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k 🟢
Browser automation framework and ecosystem. -> **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 10 🟢
Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. +> **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 11 🟢
Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. > **[weld-testing](https://github.com/weld/weld-testing)** ★ 116 🟢
Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. @@ -2048,15 +1996,15 @@ _Provide environments to run tests for a specific use case._ _Libraries that provide custom matchers._ -> **[AssertJ](https://joel-costigliola.github.io/assertj/)**
Fluent assertions that improve readability. +> **[AssertJ](https://github.com/assertj/assertj)** ★ 2.8k 🟢
Fluent assertions that improve readability. -> **[Hamcrest](https://hamcrest.org/JavaHamcrest/)**
Matchers that can be combined to create flexible expressions of intent. +> **[Hamcrest](https://github.com/hamcrest/JavaHamcrest)** ★ 2.2k 🔴
Matchers that can be combined to create flexible expressions of intent. -> **[JSONAssert](https://jsonassert.skyscreamer.org)**
Simplifies testing JSON strings. +> **[JSONAssert](https://github.com/skyscreamer/JSONassert)** ★ 1.1k 🔴
Simplifies testing JSON strings. > **[JsonUnit](https://github.com/lukas-krecan/JsonUnit)** ★ 1.0k 🟢
Library that simplifies JSON comparison in tests. -> **[Truth](https://truth.dev)**
Google's fluent assertion and proposition framework. +> **[Truth](https://github.com/google/truth)** ★ 2.8k 🟢
Google's fluent assertion and proposition framework. > **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 318 🟢
Simplifies testing for XML output. @@ -2066,11 +2014,11 @@ _Other stuff related to testing._ > **[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 🟢
Captures console output for unit testing purposes. -> **[Java Evolved](https://javaevolved.github.io/)**
Side-by-side comparisons of legacy and modern Java patterns. +> **[Java Evolved](https://github.com/javaevolved/javaevolved.github.io)** ★ 374 🟢
Side-by-side comparisons of legacy and modern Java patterns. > **[junit-dataprovider](https://github.com/TNG/junit-dataprovider)** ★ 249 🟠
TestNG-like data provider/runner for JUnit. -> **[junit-pioneer](https://junit-pioneer.org/)**
JUnit 5 extension pack, pushing the frontiers on Jupiter. +> **[junit-pioneer](https://github.com/junit-pioneer/junit-pioneer)** ★ 617 🟢
JUnit 5 extension pack, pushing the frontiers on Jupiter. > **[log-capture](https://github.com/dm-drogeriemarkt/log-capture)** ★ 16 🟢
Captures log entries and provides assertions for unit and integration testing. @@ -2078,7 +2026,7 @@ _Other stuff related to testing._ > **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 🟠
Reports whether instances of a given class are immutable. -> **[pojo-tester](https://www.pojo.pl)**
Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +> **[pojo-tester](https://github.com/sta-szek/pojo-tester)** ★ 52 🔴
Automatically performs tests on basic POJO methods. (LGPL-3.0-only) > **[raml-tester](https://github.com/nidi3/raml-tester)** ★ 74 🔴
Tests if a request/response matches a given RAML definition. @@ -2098,17 +2046,17 @@ _Tools which mock collaborators to help testing single, isolated units._ > **[EasyMock](https://github.com/easymock/easymock)** ★ 832 🟢
EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. -> **[JMockit](https://jmockit.github.io)**
Integration testing, API mocking and faking, and code coverage. +> **[JMockit](https://github.com/jmockit/jmockit1)** ★ 472 🔴
Integration testing, API mocking and faking, and code coverage. > **[Mockito](https://github.com/mockito/mockito)** ★ 15.4k 🟢
Mocking framework that lets you write tests with a clean and simple API. -> **[MockServer](https://www.mock-server.com)**
Allows mocking of systems integrated with HTTPS. +> **[MockServer](https://github.com/mock-server/mockserver)** ★ 4.9k 🟢
Allows mocking of systems integrated with HTTPS. > **[Moco](https://github.com/dreamhead/moco)** ★ 4.4k 🟢
Concise web services for stubs and mocks. > **[PowerMock](https://github.com/powermock/powermock)** ★ 4.2k 🔴
Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -> **[WireMock](https://wiremock.org)**
Stubs and mocks web services. +> **[WireMock](https://github.com/wiremock/wiremock)** ★ 7.3k 🟢
Stubs and mocks web services.
@@ -2125,7 +2073,7 @@ _Libraries which provide general utility functions._ > **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 🔴
Generates postman collection, environment and integration tests from java code. -> **[CRaSH](https://www.crashub.org)**
Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +> **[CRaSH](https://github.com/crashub/crash)** ★ 941 🔴
Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) > **[Dex](https://github.com/PatMartin/Dex)** ★ 1.3k 🔴
Java/JavaFX tool capable of powerful ETL and data visualization. @@ -2141,7 +2089,7 @@ _Libraries which provide general utility functions._ > **[JADE](https://jade.tilab.com)**
Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -> **[Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/)**
Utilities for text or data comparison and patching. +> **[Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils)** ★ 1.5k 🟢
Utilities for text or data comparison and patching. > **[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 🟠
Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. @@ -2153,13 +2101,13 @@ _Libraries which provide general utility functions._ > **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 🟠
Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. -> **[JGit](https://www.eclipse.org/jgit/)**
Lightweight, pure Java library implementing the Git version control system. +> **[JGit](https://github.com/eclipse-jgit/jgit)** ★ 413 🟢
Lightweight, pure Java library implementing the Git version control system. > **[JKScope](https://github.com/evpl/jkscope)** ★ 23 🔴
Java scope functions inspired by Kotlin. > **[minio-java](https://github.com/minio/minio-java)** ★ 1.3k 🟢
Provides simple APIs to access any Amazon S3-compatible object storage server. -> **[Protégé](https://protege.stanford.edu)**
Provides an ontology editor and a framework to build knowledge-based systems. +> **[Protégé](https://github.com/protegeproject/protege)** ★ 1.4k 🟠
Provides an ontology editor and a framework to build knowledge-based systems. > **[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 🟢
Lightweight library that helps you handling semantic versioning with different modes. @@ -2174,7 +2122,7 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ -> **[jabba](https://github.com/shyiko/jabba)** ★ 3.4k 🟢
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +> **[jabba](https://github.com/Jabba-Team/jabba)** ★ 305 🟠
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. > **[jenv](https://github.com/jenv/jenv)** ★ 6.6k 🟠
Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. @@ -2187,58 +2135,56 @@ _Utilities that help create the development shell environment and switch between _Libraries that analyze the content of websites._ -> **[Apache Nutch](https://nutch.apache.org)**
Highly extensible, highly scalable web crawler for production environments. +> **[Apache Nutch](https://github.com/apache/nutch)** ★ 3.3k 🟢
Highly extensible, highly scalable web crawler for production environments. > **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 145 🟢
Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. > **[Crawler4j](https://github.com/yasserg/crawler4j)** ★ 4.6k 🔴
Simple and lightweight web crawler. -> **[jsoup](https://jsoup.org)**
Scrapes, parses, manipulates and cleans HTML. +> **[jsoup](https://github.com/jhy/jsoup)** ★ 11.4k 🟢
Scrapes, parses, manipulates and cleans HTML. -> **[StormCrawler](https://stormcrawler.net)**
SDK for building low-latency and scalable web crawlers. +> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 987 🟢
SDK for building low-latency and scalable web crawlers. > **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k 🟠
Scalable crawler with downloading, url management, content extraction and persistent.
-Web Frameworks 18 projects +Web Frameworks 17 projects _Frameworks that handle the communication between the layers of a web application._ -> **[ActiveJ](https://activej.io)**
Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +> **[ActiveJ](https://github.com/activej/activej)** ★ 995 🟠
Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -> **[Apache Tapestry](https://tapestry.apache.org)**
Component-oriented framework for creating dynamic, robust, highly scalable web applications. +> **[Apache Tapestry](https://github.com/apache/tapestry-5)** ★ 136 🟢
Component-oriented framework for creating dynamic, robust, highly scalable web applications. -> **[Apache Wicket](https://wicket.apache.org)**
Component-based web application framework similar to Tapestry, with a stateful GUI. +> **[Apache Wicket](https://github.com/apache/wicket)** ★ 794 🟢
Component-based web application framework similar to Tapestry, with a stateful GUI. > **[Blade](https://github.com/lets-blade/blade)** ★ 5.9k 🟢
Lightweight, modular framework that aims to be elegant and simple. -> **[Bootique](https://bootique.io)**
Minimally opinionated framework for runnable apps. +> **[Bootique](https://github.com/bootique/bootique)** ★ 1.4k 🟢
Minimally opinionated framework for runnable apps. > **[Erupt](https://github.com/erupts/erupt)** ★ 2.8k 🟢
Annotation-Driven Low-Code & JPA Visualization. -> **[Firefly](https://www.fireflysource.com)**
Asynchronous framework for rapid development of high-performance web application. - -> **[Javalin](https://javalin.io/)**
Microframework for web applications. +> **[Javalin](https://github.com/javalin/javalin)** ★ 8.3k 🟢
Microframework for web applications. -> **[Jooby](https://www.jooby.org)**
Scalable, fast and modular micro-framework that offers multiple programming models. +> **[Jooby](https://github.com/jooby-project/jooby)** ★ 1.8k 🟢
Scalable, fast and modular micro-framework that offers multiple programming models. -> **[Ninja](https://www.ninjaframework.org)**
Full-stack web framework. +> **[Ninja](https://github.com/ninjaframework/ninja)** ★ 1.9k 🟠
Full-stack web framework. > **[Pippo](https://github.com/pippo-java/pippo)** ★ 786 🟠
Small, highly modularized, Sinatra-like framework. -> **[Play](https://www.playframework.com)**
Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +> **[Play](https://github.com/playframework/playframework)** ★ 12.6k 🟢
Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -> **[PrimeFaces](https://www.primefaces.org)**
JSF framework with both free and commercial/support versions and frontend components. +> **[PrimeFaces](https://github.com/primefaces/primefaces)** ★ 1.9k 🟢
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. +> **[Ratpack](https://github.com/ratpack/ratpack)** ★ 1.9k 🟢
Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. > **[Takes](https://github.com/yegor256/takes)** ★ 877 🟢
Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. > **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 🟢
Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. -> **[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. +> **[Vaadin](https://vaadin.com)** ★ 1.7k 🟢
Full-stack Java platform for building browser applications with server-side components. > **[WebForms Core](https://github.com/webforms-core)**
A technology for managing HTML tags from the server. @@ -2249,11 +2195,11 @@ _Frameworks that handle the communication between the layers of a web applicatio _Engines for orchestrating long-running workflows and business processes._ -> **[Cadence](https://cadenceworkflow.io)**
Stateful code platform from Uber. +> **[Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client)** ★ 150 🟢
Java client and workflow framework for the Cadence orchestration service. > **[flowable](https://github.com/flowable/flowable-engine)** ★ 9.4k 🟢
Compact and efficient workflow and business process management platform. -> **[Temporal](https://temporal.io)**
Microservice orchestration platform, forked from Cadence but gRPC based. +> **[Temporal Java SDK](https://github.com/temporalio/sdk-java)** ★ 421 🟢
Java SDK for writing durable workflows and activities on Temporal.
@@ -2338,7 +2284,7 @@ _Books that made a big impact and are still worth reading._
-Podcasts and Screencasts 6 links +Podcasts and Screencasts 5 links _Something to look at or listen to while programming._ @@ -2352,8 +2298,6 @@ _Something to look at or listen to while programming._ > **[Java Off Heap](https://www.javaoffheap.com)** -> **[The Java Posse](http://www.javaposse.com)**
Discontinued as of 02/2015. -
@@ -2434,7 +2378,7 @@ _Active accounts to follow. Descriptions from their socials._
-Websites 18 links +Websites 15 links _Sites to read._ @@ -2450,8 +2394,6 @@ _Sites to read._ > **[Java Algorithms and Clients](https://algs4.cs.princeton.edu/code)** -> **[Java Weekly](https://discu.eu/weekly/java/)** - > **[Java, SQL, and jOOQ](https://blog.jooq.org)** > **[Java.net](https://community.oracle.com/community/java)** @@ -2462,8 +2404,6 @@ _Sites to read._ > **[JAXenter](https://jaxenter.com)** -> **[OverOps Blog](https://blog.overops.com)** - > **[RebelLabs](https://zeroturnaround.com/rebellabs)** > **[TheCodeForge Java Tutorials](https://thecodeforge.io/java/)** @@ -2472,13 +2412,11 @@ _Sites to read._ > **[Vanilla Java](https://vanilla-java.github.io)** -> **[Voxxed](https://www.voxxed.com)** -
## Contributing -> **[Add a library](https://github.com/akullpp/awesome-java/edit/test/README_SOURCE.md)** · [Contribution guidelines](CONTRIBUTING.md) +> **[Suggest a project](https://github.com/akullpp/awesome-java/edit/test/README_SOURCE.md)** · [Contribution guidelines](CONTRIBUTING.md) > > Add one Markdown entry under the appropriate category and open one pull request. Ordering, counts and GitHub statistics are generated automatically. diff --git a/README_SOURCE.md b/README_SOURCE.md index 38718d8b..d60ad8f0 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -1,8 +1,11 @@ # Awesome Java [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) -A curated list of awesome Java frameworks, libraries and software. +A curated list of noteworthy Java frameworks, libraries, tools and resources. - + ## Projects @@ -25,7 +28,7 @@ _Frameworks that help you to leverage LLMs and AI._ - [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. - [Regulus](https://github.com/neul-labs/regulus) - Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. - [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. -- [Spring AI](https://spring.io/projects/spring-ai) - Application framework for AI engineering for Spring. +- [Spring AI](https://github.com/spring-projects/spring-ai) - Application framework for AI engineering for Spring. ### Bean Mapping @@ -44,35 +47,35 @@ _Frameworks that ease bean mapping._ _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. -- [Bazel](https://bazel.build) - Tool from Google that builds code quickly and reliably. +- [Apache Maven](https://github.com/apache/maven) - 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://github.com/bazelbuild/bazel) - Tool from Google that builds code quickly and reliably. - [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. +- [Gradle](https://github.com/gradle/gradle) - Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. - [jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart) - A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. -- [ReleaseRun](https://releaserun.com) - Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. +- [ReleaseRun](https://github.com/Releaserun/releaserun-cli) - Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. + ### Bytecode Manipulation _Libraries to manipulate bytecode programmatically._ - [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. -- [Byte Buddy](https://bytebuddy.net) - Further simplifies bytecode generation with a fluent API. +- [Byte Buddy](https://github.com/raphw/byte-buddy) - Further simplifies bytecode generation with a fluent API. - [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) -- [Byteman](https://byteman.jboss.org) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +- [Byteman](https://github.com/bytemanproject/byteman) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) - [cglib](https://github.com/cglib/cglib) - Bytecode generation library. - [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. - [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. - [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. -- [Perses](https://github.com/nicolasmanic/perses) - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering. -- [Recaf](https://www.coley.software/Recaf/) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. +- [Recaf](https://github.com/Col-E/Recaf) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. ### Caching _Libraries that provide caching facilities._ -- [cache2k](https://cache2k.org) - In-memory high performance caching library. +- [cache2k](https://github.com/cache2k/cache2k) - In-memory high performance caching library. - [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. -- [Ehcache](https://www.ehcache.org) - Distributed general-purpose cache. -- [Infinispan](https://infinispan.org) - Highly concurrent key/value datastore used for caching. +- [Ehcache](https://github.com/ehcache/ehcache3) - Distributed general-purpose cache. +- [Infinispan](https://github.com/infinispan/infinispan) - Highly concurrent key/value datastore used for caching. ### CLI @@ -82,11 +85,11 @@ _Libraries for everything related to the CLI._ _Libraries to assist with parsing command line arguments._ -- [Airline](https://rvesse.github.io/airline/) - Annotation-based framework for parsing Git-like command-line arguments. -- [JCommander](https://jcommander.org) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. +- [Airline](https://github.com/rvesse/airline) - Annotation-based framework for parsing Git-like command-line arguments. +- [JCommander](https://github.com/cbeust/jcommander) - Command-line argument-parsing framework with custom types and validation via implementing interfaces. - [jbock](https://github.com/jbock-java/jbock) - Reflectionless command line parser. - [JLine](https://github.com/jline/jline3) - Includes features from modern shells like completion or history. -- [picocli](https://picocli.info) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +- [picocli](https://github.com/remkop/picocli) - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. #### Text-Based User Interfaces @@ -113,8 +116,8 @@ _Tools that provide metrics and quality measurements._ - [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. - [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. -- [jQAssistant](https://jqassistant.org) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) -- [JSpecify](https://jspecify.dev/) - Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. +- [jQAssistant](https://github.com/jQAssistant/jqassistant) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) +- [JSpecify](https://github.com/jspecify/jspecify) - Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. - [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. @@ -122,16 +125,16 @@ _Tools that provide metrics and quality measurements._ - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. - [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) -- [ToolsHref](https://toolshref.com) - Online Java code analyzer and JSON-to-Mermaid visualization tool. +- [ToolsHref](https://github.com/toolshref-tools/toolshref-tools) - Online Java code analyzer and JSON-to-Mermaid visualization tool. ### Code Coverage _Frameworks and tools that enable code coverage metrics collection for test suites._ -- [Clover](https://www.atlassian.com/software/clover) - Relies on source-code instrumentation instead of bytecode instrumentation. -- [Cobertura](https://cobertura.github.io/cobertura/) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +- [OpenClover](https://github.com/openclover/clover) - Measures Java code coverage through source-code instrumentation, with build-tool and IDE integrations. +- [Cobertura](https://github.com/cobertura/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) - [Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin) - Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. -- [JaCoCo](https://www.eclemma.org/jacoco/) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. +- [JaCoCo](https://github.com/jacoco/jacoco) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. ### Code Formatting @@ -148,55 +151,53 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. -- [Avaje Http Server](https://avaje.io/http/) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +- [Avaje Http Server](https://github.com/avaje/avaje-http) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. - [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. - [CRUDGen](https://github.com/bariskokulu/CRUDGen) - Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. - [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -- [FreeBuilder](https://github.com/inferred/FreeBuilder) - Automatically generates the Builder pattern. - [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -- [Immutables](https://immutables.github.io) - Annotation processors to generate simple, safe and consistent value objects. -- [JavaPoet](https://github.com/square/javapoet) - API to generate source files. +- [Immutables](https://github.com/immutables/immutables) - Annotation processors to generate simple, safe and consistent value objects. - [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. +- [Joda-Beans](https://github.com/JodaOrg/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. - [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. -- [Lombok](https://projectlombok.org) - Code generator that aims to reduce verbosity. +- [Lombok](https://github.com/projectlombok/lombok) - Code generator that aims to reduce verbosity. - [Record-Builder](https://github.com/Randgalt/record-builder) - Companion builder class, withers and templates for Java records. - [Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator) - Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. -- [Telosys](https://www.telosys.org/) - Simple and light code generator available as an Eclipse Plugin and also as a CLI. +- [Telosys](https://www.telosys.org/) - Java code-generation toolkit with a CLI and model-driven template engine. ### Compiler-compiler _Frameworks that help to create parsers, interpreters or compilers._ -- [ANTLR](https://www.antlr.org) - Complex full-featured framework for top-down parsing. -- [JavaCC](https://javacc.github.io/javacc/) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. -- [JFlex](https://jflex.de) - Lexical analyzer generator. +- [ANTLR](https://github.com/antlr/antlr4) - Complex full-featured framework for top-down parsing. +- [JavaCC](https://github.com/javacc/javacc) - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +- [JFlex](https://github.com/jflex-de/jflex) - Lexical analyzer generator. ### Computer Vision _Libraries which seek to gain high level information from images and videos._ -- [BoofCV](https://boofcv.org) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -- [ImageJ](https://imagej.net/ImageJ) - Medical image processing application with an API. +- [BoofCV](https://github.com/lessthanoptimal/BoofCV) - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. +- [ImageJ](https://github.com/imagej/ImageJ) - Medical image processing application with an API. - [JavaCV](https://github.com/bytedeco/javacv) - Java interface to OpenCV, FFmpeg, and much more. ### Configuration _Libraries that provide external configuration._ -- [avaje config](https://avaje.io/config/) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +- [avaje config](https://github.com/avaje/avaje-config) - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. - [centraldogma](https://github.com/line/centraldogma) - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. - [ClearConfig](https://github.com/japgolly/clear-config-java) - Type-safe, composable configuration library with a focus on runtime clarity. - [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - [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. +- [Curator Framework](https://github.com/apache/curator) - 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) - Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. - [Gestalt](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](https://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 distributed. +- [microconfig](https://github.com/microconfig/microconfig) - 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. - [sealed-env](https://github.com/davidalmeidac/sealed-env) - Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. @@ -204,36 +205,34 @@ _Libraries that provide external configuration._ _Libraries that help with implementing optimization and satisfiability problems._ -- [Choco](https://choco-solver.org) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +- [Choco](https://github.com/chocoteam/choco-solver) - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. - [JaCoP](https://github.com/radsz/jacop) - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -- [OptaPlanner](https://www.optaplanner.org) - Business planning and resource scheduling optimization solver. -- [Timefold](https://timefold.ai/docs) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. +- [Timefold](https://github.com/TimefoldAI/timefold-solver) - Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. ### CSV _Frameworks and libraries that simplify reading/writing CSV data._ - [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. -- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. +- [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformats-text) - Jackson extension for reading and writing CSV. - [opencsv](https://opencsv.sourceforge.net) - Simple CSV parser. -- [Super CSV](https://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +- [Super CSV](https://github.com/super-csv/super-csv) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. - [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. ### Data Structures _Efficient and specific data structures._ -- [Apache Avro](https://avro.apache.org) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -- [Apache Orc](https://orc.apache.org) - Fast and efficient columnar storage format for Hadoop-based workloads. -- [Apache Parquet](https://parquet.apache.org) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. -- [Apache Thrift](https://thrift.apache.org) - Data interchange format that originated at Facebook. +- [Apache Avro](https://github.com/apache/avro) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +- [Apache Orc](https://github.com/apache/orc) - Fast and efficient columnar storage format for Hadoop-based workloads. +- [Apache Parquet](https://github.com/apache/parquet-java) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. +- [Apache Thrift](https://github.com/apache/thrift) - Data interchange format that originated at Facebook. - [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. - [HashSmith](https://github.com/bluuewhale/hash-smith) - Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. - [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. - [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. - [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. - [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. -- [Tape](https://github.com/square/tape) - Lightning-fast, transactional, file-based FIFO. - [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. - [Wormhole4j](https://github.com/komamitsu/wormhole4j) - High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. @@ -242,46 +241,45 @@ _Efficient and specific data structures._ _Everything that simplifies interactions with the database._ - [Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin) - Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. -- [Apache Calcite](https://calcite.apache.org) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -- [Apache Drill](https://drill.apache.org) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -- [Apache Phoenix](https://phoenix.apache.org) - High-performance relational database layer over HBase for low-latency applications. -- [ArcadeDB](https://arcadedb.com) - Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. +- [Apache Calcite](https://github.com/apache/calcite) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +- [Apache Drill](https://github.com/apache/drill) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +- [Apache Phoenix](https://github.com/apache/phoenix) - High-performance relational database layer over HBase for low-latency applications. +- [ArcadeDB](https://github.com/ArcadeData/arcadedb) - Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. - [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -- [Debezium](https://debezium.io/) - Low latency data streaming platform for change data capture. -- [druid](https://druid.apache.org) - High-performance, column-oriented, distributed data store. +- [Debezium](https://github.com/debezium/debezium) - Low latency data streaming platform for change data capture. +- [druid](https://github.com/apache/druid) - High-performance, column-oriented, distributed data store. - [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) - [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. -- [Flyway](https://flywaydb.org) - Simple database migration tool. -- [H2](https://h2database.com) - Small SQL database notable for its in-memory functionality. +- [Flyway](https://github.com/flyway/flyway) - Simple database migration tool. +- [H2](https://github.com/h2database/h2database) - Small SQL database notable for its in-memory functionality. - [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. - [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. -- [JDBI](https://jdbi.org) - Convenient abstraction of JDBC. +- [JDBI](https://github.com/jdbi/jdbi) - Convenient abstraction of JDBC. - [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. -- [Jest](https://github.com/searchbox-io/Jest) - Client for the Elasticsearch REST API. - [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. - [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). -- [jOOQ](https://www.jooq.org) - Generates typesafe code based on SQL schema. +- [jOOQ](https://github.com/jOOQ/jOOQ) - Generates typesafe code based on SQL schema. - [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. -- [Lettuce](https://lettuce.io/) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. -- [Liquibase](https://www.liquibase.org) - Database-independent library for tracking, managing and applying database schema changes. -- [MapDB](https://www.mapdb.org) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +- [Lettuce](https://github.com/redis/lettuce) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. +- [Liquibase](https://github.com/liquibase/liquibase) - Database-independent library for tracking, managing and applying database schema changes. +- [MapDB](https://github.com/jankotek/mapdb) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. - [Open J Proxy](https://github.com/Open-J-Proxy/ojp) - Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. - [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -- [Querydsl](http://www.querydsl.com) - Typesafe unified queries. +- [Querydsl](https://github.com/querydsl/querydsl) - Typesafe unified queries. - [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. - [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. - [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. - [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. -- [SchemaCrawler](https://www.schemacrawler.com) - Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. +- [SchemaCrawler](https://github.com/schemacrawler/SchemaCrawler) - Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. - [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. - [Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query) - Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. - [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. -- [Trino](https://trino.io) - Distributed SQL query engine for big data. -- [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. +- [Trino](https://github.com/trinodb/trino) - Distributed SQL query engine for big data. +- [Vibur DBCP](https://github.com/vibur/vibur-dbcp) - JDBC connection pool library with advanced performance monitoring capabilities. - [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. - [CosId](https://github.com/Ahoo-Wang/CosId) - Universal, flexible, high-performance distributed ID generator. - [Apache ShardingSphere](https://github.com/apache/shardingsphere) - Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. @@ -316,45 +314,44 @@ _Libraries for decompiling JVM bytecode._ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ -- [Apache DeltaSpike](https://deltaspike.apache.org) - CDI extension framework. -- [Avaje Inject](https://avaje.io/inject/) - Microservice-focused compile-time injection framework without reflection. -- [Dagger](https://dagger.dev/) - Compile-time injection framework without reflection. +- [Apache DeltaSpike](https://github.com/apache/deltaspike) - CDI extension framework. +- [Avaje Inject](https://github.com/avaje/avaje-inject) - Microservice-focused compile-time injection framework without reflection. +- [Dagger](https://github.com/google/dagger) - Compile-time injection framework without reflection. - [Dimension-DI](https://github.com/akardapolov/dimension-di) - JSR-330 runtime dependency injection using the JDK Class-File API. - [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://eclipse-ee4j.github.io/glassfish-hk2/) - Lightweight and dynamic dependency injection framework. +- [HK2](https://github.com/eclipse-ee4j/glassfish-hk2) - Lightweight and dynamic dependency injection framework. - [JayWire](https://github.com/vanillasource/jaywire) - Lightweight dependency injection framework. (LGPL-3.0-only) ### Development _Augmentation of the development process at a fundamental level._ -- [AspectJ](https://www.eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. -- [DCEVM](https://dcevm.github.io) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) +- [AspectJ](https://github.com/eclipse-aspectj/aspectj) - Seamless aspect-oriented programming extension. +- [DCEVM](https://github.com/dcevm/dcevm) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. - [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. -- [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver) - Symbol solver. - [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -- [NoException](https://noexception.machinezoo.com) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +- [NoException](https://github.com/robertvazan/noexception) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. - [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -- [Tail](https://nrktkt.github.io/tail/) - Enable infinite recursion using tail call optimization. +- [Tail](https://github.com/nrktkt/tail) - Enable infinite recursion using tail call optimization. ### Distributed Applications _Libraries and frameworks for writing distributed and fault-tolerant applications._ -- [Apache Geode](https://geode.apache.org) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -- [Apache Storm](https://storm.apache.org) - Realtime computation system. -- [Apache ZooKeeper](https://zookeeper.apache.org) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](https://atomix.io) - Fault-tolerant distributed coordination framework. -- [Axon](https://axoniq.io) - Framework for creating CQRS applications. +- [Apache Geode](https://github.com/apache/geode) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +- [Apache Storm](https://github.com/apache/storm) - Realtime computation system. +- [Apache ZooKeeper](https://github.com/apache/zookeeper) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +- [Atomix](https://github.com/atomix/atomix) - Fault-tolerant distributed coordination framework. +- [Axon](https://github.com/AxonIQ/AxonFramework) - Framework for creating CQRS applications. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. -- [JGroups](http://www.jgroups.org) - Toolkit for reliable messaging and cluster creation. -- [Quasar](https://docs.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +- [JGroups](https://github.com/belaban/JGroups) - Toolkit for reliable messaging and cluster creation. +- [Quasar](https://github.com/puniverse/quasar) - Lightweight threads and actors for the JVM. - [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. - [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. - [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. @@ -364,9 +361,9 @@ _Libraries and frameworks for writing distributed and fault-tolerant application _Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures._ -- [Atomikos](https://www.atomikos.com) - Provides transactions for REST, SOA and microservices with support for JTA and XA. +- [Atomikos](https://github.com/atomikos/transactions-essentials) - Provides transactions for REST, SOA and microservices with support for JTA and XA. - [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. -- [Narayana](https://narayana.io) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +- [Narayana](https://github.com/jbosstm/narayana) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) - [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. ### Distribution @@ -379,12 +376,12 @@ _Tools that handle the distribution of applications in native formats._ - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. - [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -- [IzPack](https://izpack.org) - Setup authoring tool for cross-platform deployments. +- [IzPack](https://github.com/izpack/izpack) - Setup authoring tool for cross-platform deployments. - [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -- [jDeploy](https://www.jdeploy.com) - Deploy desktop apps as native Mac, Windows or Linux bundles. +- [jDeploy](https://github.com/shannah/jdeploy) - Deploy desktop apps as native Mac, Windows or Linux bundles. - [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. - [Nuts](https://github.com/thevpc/nuts) - Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. -- [Nexus ![c]](https://www.sonatype.com) - Binary management with proxy and caching capabilities. +- [Nexus ![c]](https://github.com/sonatype/nexus-public) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. @@ -392,9 +389,9 @@ _Tools that handle the distribution of applications in native formats._ _Libraries that assist with processing office document formats._ -- [Apache POI](https://poi.apache.org) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- [documents4j](https://documents4j.com/#/) - API for document format conversion using third-party converters such as MS Word. -- [docx4j](https://www.docx4java.org/trac/docx4j) - Create and manipulate Microsoft Open XML files. +- [Apache POI](https://github.com/apache/poi) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +- [documents4j](https://github.com/documents4j/documents4j) - API for document format conversion using third-party converters such as MS Word. +- [docx4j](https://github.com/plutext/docx4j) - Create and manipulate Microsoft Open XML files. - [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. - [html-to-markdown](https://github.com/xberg-io/html-to-markdown) - Converts HTML to CommonMark-compatible Markdown through a Java binding. - [jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet) - Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. @@ -407,9 +404,7 @@ _Libraries that assist with processing office document formats._ _Libraries related to the financial domain._ - [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. -- [Parity](https://github.com/paritytrading/parity) - Platform for trading venues. - [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. -- [Square](https://github.com/square/connect-java-sdk) - Integration with the Square API. - [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. - [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. - [Wickra](https://github.com/wickra-lib/wickra) - Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. @@ -427,12 +422,12 @@ _Frameworks and libraries for reading and writing fixed-length and delimited fla _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ - [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. -- [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. +- [Checker Framework](https://github.com/typetools/checker-framework) - Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Daikon](https://github.com/codespecs/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) -- [OpenJML](https://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) +- [KeY](https://github.com/KeYProject/key) - 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](https://github.com/OpenJML/OpenJML) - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) ### Functional Programming @@ -447,33 +442,33 @@ _Libraries that facilitate functional programming._ - [Parallel Collectors](https://github.com/pivovarit/parallel-collectors) - Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. - [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. +- [Vavr](https://github.com/vavr-io/vavr) - Functional component library that provides persistent data types and functional control structures. ### Game Development _Frameworks that support the development of games._ -- [FXGL](https://almasb.github.io/FXGL/) - JavaFX Game Development Framework. -- [input4j](https://gurkenlabs.github.io/input4j/) - Lightweight, cross-platform library for gamepad and joystick input handling. -- [JBox2D](https://www.jbox2d.org/) - Port of the renowned C++ 2D physics engine. -- [jMonkeyEngine](https://jmonkeyengine.org) - Game engine for modern 3D development. -- [libGDX](https://libgdx.com) - All-round cross-platform, high-level framework. -- [Litiengine](https://litiengine.com/) - AWT-based, lightweight 2D game engine. -- [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. +- [FXGL](https://github.com/AlmasB/FXGL) - JavaFX Game Development Framework. +- [input4j](https://github.com/gurkenlabs/input4j) - Lightweight, cross-platform library for gamepad and joystick input handling. +- [JBox2D](https://github.com/jbox2d/jbox2d) - Port of the renowned C++ 2D physics engine. +- [jMonkeyEngine](https://github.com/jMonkeyEngine/jmonkeyengine) - Game engine for modern 3D development. +- [libGDX](https://github.com/libgdx/libgdx) - All-round cross-platform, high-level framework. +- [Litiengine](https://github.com/gurkenlabs/litiengine) - AWT-based, lightweight 2D game engine. +- [LWJGL](https://github.com/LWJGL/lwjgl3) - Robust framework that abstracts libraries like OpenGL/CL/AL. +- [Mini2Dx](https://github.com/mini2Dx/mini2Dx) - Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. - [vulkan4j](https://github.com/chuigda/vulkan4j) - Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. ### Geospatial _Libraries for working with geospatial data and algorithms._ -- [Apache SIS](https://sis.apache.org) - Library for developing geospatial applications. +- [Apache SIS](https://github.com/apache/sis) - Library for developing geospatial applications. - [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [GeoTools](https://geotools.org) - Library that provides tools for geospatial data. (LGPL-2.1-only) +- [GeoTools](https://github.com/geotools/geotools) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](https://h2gis.org/) - Spatial extension of the H2 database. (LGPL-3.0-only) -- [Jgeohash](https://astrapi69.github.io/jgeohash/) - Library for using the GeoHash algorithm. +- [H2GIS](https://github.com/orbisgis/h2gis) - Spatial extension of the H2 database. (LGPL-3.0-only) +- [Jgeohash](https://github.com/astrapi69/jgeohash) - Library for using the GeoHash algorithm. - [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) - [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. @@ -482,21 +477,21 @@ _Libraries for working with geospatial data and algorithms._ _Libraries to create modern graphical user interfaces._ - [FlatLaf](https://github.com/JFormDesigner/FlatLaf) - Modern Swing Look and Feel with Darcula and IntelliJ themes. -- [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. -- [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. +- [JavaFX](https://github.com/openjdk/jfx) - Successor of Swing. +- [Scene Builder](https://github.com/gluonhq/scenebuilder) - Visual layout tool for JavaFX applications. - [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. - [Sierra](https://github.com/HTTP-RPC/Sierra) - Lightwieght declarative DSL for rapid development of Swing applications. -- [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. +- [SWT](https://github.com/eclipse-platform/eclipse.platform.swt) - Graphical widget toolkit. ### High Performance _Everything about high-performance computation, from collections to specific libraries._ - [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. -- [Disruptor](https://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. +- [Disruptor](https://github.com/LMAX-Exchange/disruptor) - Inter-thread messaging library. - [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. -- [fastutil](https://fastutil.di.unimi.it) - Fast and compact type-specific collections. -- [HPPC](https://labs.carrotsearch.com/hppc.html) - Primitive collections. +- [fastutil](https://github.com/vigna/fastutil) - Fast and compact type-specific collections. +- [HPPC](https://github.com/carrotsearch/hppc) - Primitive collections. - [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. - [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. @@ -504,17 +499,18 @@ _Everything about high-performance computation, from collections to specific lib _Libraries that assist with creating HTTP requests and/or binding responses._ -- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and associated protocols. +- [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and related protocols. - [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. +- [Avaje Http Client](https://github.com/avaje/avaje-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. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. -- [Retrofit](https://square.github.io/retrofit/) - Typesafe REST client. +- [Retrofit](https://github.com/lysine-dev/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in the cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. - [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. - [JQuickCurl](https://github.com/paohaijiao/jquick-curl) - Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. + ### Hypermedia Types _Libraries that handle serialization to hypermedia types._ @@ -528,12 +524,12 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ -- [Eclipse](https://www.eclipse.org) - Established open-source project with support for lots of plugins and languages. -- [IntelliJ IDEA ![c]](https://www.jetbrains.com/idea/) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [Eclipse Java IDE](https://www.eclipse.org) - Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. +- [IntelliJ IDEA ![c]](https://github.com/JetBrains/intellij-community) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -- [NetBeans](https://netbeans.apache.org) - Provides integration for several Java SE and EE features, from database access to HTML5. -- [SnapCode](https://reportmill.com/SnapCode/) - Modern IDE for Java running in the browser, focused on education. -- [Visual Studio Code](https://code.visualstudio.com/docs/languages/java) - Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace. +- [NetBeans](https://github.com/apache/netbeans) - Provides integration for several Java SE and EE features, from database access to HTML5. +- [SnapCode](https://github.com/reportmill/SnapCode) - Modern IDE for Java running in the browser, focused on education. +- [Visual Studio Code Java](https://code.visualstudio.com/docs/languages/java) - Extension suite providing Java language support, debugging, testing, Maven, Gradle and project management in Visual Studio Code. ### Imagery @@ -547,7 +543,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica - [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. - [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. +- [scrimage](https://github.com/sksamuel/scrimage) - Immutable, functional, and performant JVM library for manipulation of images. ### Introspection @@ -555,8 +551,8 @@ _Libraries that help make the Java introspection and reflection API easier and f - [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -- [Mirror](http://projetos.vidageek.net/mirror/mirror/) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -- [Objenesis](https://objenesis.org) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +- [Mirror](https://github.com/vidageek/mirror) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +- [Objenesis](https://github.com/easymock/objenesis) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. - [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. @@ -576,20 +572,18 @@ _Libraries for scheduling background jobs._ _Libraries for serializing and deserializing JSON to and from Java objects._ -- [Avaje Jsonb](https://avaje.io/jsonb/) - Reflection-free Json binding via source code generation with Jackson-like annotations. +- [Avaje Jsonb](https://github.com/avaje/avaje-jsonb) - Reflection-free Json binding via source code generation with Jackson-like annotations. - [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. -- [Genson](http://genson.io) - Powerful and easy-to-use Java-to-JSON conversion library. +- [Genson](https://github.com/owlike/genson) - Powerful and easy-to-use Java-to-JSON conversion library. - [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. - [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. - [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. -- [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. - [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. -- [jsoniter](https://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. +- [jsoniter](https://github.com/json-iterator/java) - Fast and flexible library with iterator and lazy parsing API. - [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. - [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. -- [fastjson](https://github.com/alibaba/fastjson) - Very fast processor with no additional dependencies and full data binding. - [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. - [JsonPath](https://github.com/json-path/JsonPath) - Extract data from JSON using XPATH-like syntax. - [JsonSurfer](https://github.com/jsurfer/JsonSurfer) - Streaming JsonPath processor dedicated to processing big and complicated JSON data. @@ -598,17 +592,16 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ _Current implementations of the JVM/JDK._ -- [Which JDK](https://whichjdk.com/) - Overview of common JVMs with pros and cons. +- [Which JDK](https://github.com/whichjdk/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. - [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. -- [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) +- [Open JDK](https://github.com/openjdk/jdk) - Open JDK community home. (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) -- [SAP Machine](https://sap.github.io/SapMachine/) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +- [SAP Machine](https://github.com/SAP/SapMachine) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) - [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) - [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! @@ -616,58 +609,55 @@ _Current implementations of the JVM/JDK._ _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. +- [Apache Log4j 2](https://github.com/apache/logging-log4j2) - 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. -- [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](https://logback.qos.ch) - Robust logging library with interesting configuration options via Groovy. +- [Graylog](https://github.com/Graylog2/graylog2-server) - Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) +- [Kibana](https://github.com/elastic/kibana) - Analyzes and visualizes log files. Some features require payment. +- [Logback](https://github.com/qos-ch/logback) - Robust logging library with interesting configuration options via Groovy. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. -- [Logstash](https://www.elastic.co/logstash) - Tool for managing log files. +- [Logstash](https://github.com/elastic/logstash) - Tool for managing log files. - [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. -- [SLF4J](https://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. +- [SLF4J](https://github.com/qos-ch/slf4j) - Abstraction layer/simple logging facade. +- [tinylog](https://github.com/tinylog-org/tinylog) - Lightweight logging framework with static logger class. +- [Flogger](https://github.com/google/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 _Tools that provide specific statistical algorithms for learning from data._ -- [Apache Flink](https://flink.apache.org) - Fast, reliable, large-scale data processing engine. -- [Apache Mahout](https://mahout.apache.org) - Scalable algorithms focused on collaborative filtering, clustering and classification. -- [DatumBox](https://www.datumbox.com) - Provides several algorithms and pre-trained models for natural language processing. -- [Deeplearning4j](https://deeplearning4j.org) - Distributed and multi-threaded deep learning library. -- [DJL](https://djl.ai) - High-level and engine-agnostic framework for deep learning. -- [H2O ![c]](https://www.h2o.ai) - Analytics engine for statistics over big data. +- [Apache Flink](https://github.com/apache/flink) - Fast, reliable, large-scale data processing engine. +- [Apache Mahout](https://github.com/apache/mahout) - Scalable algorithms focused on collaborative filtering, clustering and classification. +- [DatumBox](https://github.com/datumbox/datumbox-framework) - Provides several algorithms and pre-trained models for natural language processing. +- [Deeplearning4j](https://github.com/deeplearning4j/deeplearning4j) - Distributed and multi-threaded deep learning library. +- [DJL](https://github.com/deepjavalibrary/djl) - High-level and engine-agnostic framework for deep learning. +- [H2O ![c]](https://github.com/h2oai/h2o-3) - Analytics engine for statistics over big data. - [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. - [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -- [oj! Algorithms](https://www.ojalgo.org/) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -- [Oryx 2](https://github.com/OryxProject/oryx) - Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering. +- [oj! Algorithms](https://github.com/optimatika/ojAlgo) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. - [sklearn-java](https://github.com/kVeyra/sklearn-java) - Implements scikit-learn-style machine learning algorithms in pure Java. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -- [Tribuo](https://tribuo.org/) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- [Weka](https://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +- [Tribuo](https://github.com/oracle/tribuo) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +- [Weka](https://github.com/Waikato/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) ### Messaging _Tools that help send messages between clients to ensure protocol independency._ - [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. -- [Apache ActiveMQ](https://activemq.apache.org) - Message broker that implements JMS and converts synchronous to asynchronous communication. -- [Apache Camel](https://camel.apache.org) - Glues together different transport APIs via Enterprise Integration Patterns. -- [Apache Kafka](https://kafka.apache.org) - High-throughput distributed messaging system. -- [Apache Pulsar](https://pulsar.apache.org) - Distributed pub/sub-messaging system. -- [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. -- [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. +- [Apache ActiveMQ](https://github.com/apache/activemq) - Message broker that implements JMS and converts synchronous to asynchronous communication. +- [Apache Camel](https://github.com/apache/camel) - Glues together different transport APIs via Enterprise Integration Patterns. +- [Apache Kafka](https://github.com/apache/kafka) - High-throughput distributed messaging system. +- [Apache Pulsar](https://github.com/apache/pulsar) - Distributed pub/sub-messaging system. +- [Apache RocketMQ](https://github.com/apache/rocketmq) - Fast, reliable, and scalable distributed messaging platform. +- [Apache Qpid for Java](https://qpid.apache.org) - Java messaging clients and brokers implementing AMQP. - [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. - [Emissary](https://github.com/joel-jeremy/emissary) - Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. -- [Hermes](https://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. +- [Hermes](https://github.com/allegro/hermes) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. -- [Nakadi](https://github.com/zalando/nakadi) - Provides a RESTful API on top of Kafka. - [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. - [NATS client](https://github.com/nats-io/nats.java) - NATS client. @@ -676,17 +666,15 @@ _Tools that help send messages between clients to ensure protocol independency._ _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. - [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. -- [Helidon](https://helidon.io) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +- [Helidon](https://github.com/helidon-io/helidon) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. - [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. - [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -- [Micronaut](https://micronaut.io) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -- [Nacos](https://nacos.io) - Dynamic service discovery, configuration and service management platform for building cloud native applications. -- [OpenAI-Java](https://github.com/TheoKanning/openai-java) - Java libraries for using OpenAI's GPT-3 API. -- [Quarkus](https://quarkus.io) - Kubernetes stack tailored for the HotSpot and Graal VM. +- [Micronaut](https://github.com/micronaut-projects/micronaut-core) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +- [Nacos](https://github.com/alibaba/nacos) - Dynamic service discovery, configuration and service management platform for building cloud native applications. +- [Quarkus](https://github.com/quarkusio/quarkus) - Kubernetes stack tailored for the HotSpot and Graal VM. - [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. ### Miscellaneous @@ -702,19 +690,19 @@ _Everything else._ - [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. -- [JBang](https://www.jbang.dev/) - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. +- [JBake](https://github.com/jbake-org/jbake) - Static website generator. +- [JBang](https://github.com/jbangdev/jbang) - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) -- [JCuda](https://javagl.de/jcuda.org/) - JCuda offers Java bindings for CUDA and CUDA-related libraries. +- [JCuda](https://github.com/jcuda/jcuda) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. -- [Joda-Money](https://www.joda.org/joda-money/) - Basic currency and money classes and algorithms not provided by the JDK. +- [Joda-Money](https://github.com/JodaOrg/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - [JPad](https://jpad.io) - Snippet runner. - [JQuick Java](https://github.com/paohaijiao/jquick-java) - Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. - [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. -- [Maven Wrapper](https://github.com/takari/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allows building projects without installing maven. +- [Maven Wrapper](https://github.com/apache/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. - [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. - [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. @@ -722,15 +710,15 @@ _Everything else._ - [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. - [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. - [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. -- [OpenRefine](https://openrefine.org) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +- [OpenRefine](https://github.com/OpenRefine/OpenRefine) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -- [Rollgate](https://rollgate.io) - Cloud-managed feature flag platform with a Java SDK, supporting gradual rollouts, A/B testing, and real-time updates. +- [Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java) - Java SDK for evaluating Rollgate feature flags with real-time configuration updates. - [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. - [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) - [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. +- [Togglz](https://github.com/togglz/togglz) - 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. @@ -740,9 +728,9 @@ _Everything else._ _Tools for creating or managing mobile applications._ -- [Codename One](https://www.codenameone.com) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -- [MobileUI](https://mobileui.dev) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -- [Multi-OS Engine](https://multi-os-engine.org) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +- [Codename One](https://github.com/codenameone/CodenameOne) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +- [MobileUI](https://github.com/MobileUI/mobileui) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +- [Multi-OS Engine](https://github.com/multi-os-engine/multi-os-engine) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. ### Monitoring @@ -753,16 +741,13 @@ _Tools that observe/monitor applications in production by providing telemetry._ - [Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage) - Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. - [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. -- [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. -- [Glowroot](https://glowroot.org) - Open-source Java APM. +- [Glowroot](https://github.com/glowroot/glowroot) - 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. -- [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. +- [inspectIT Ocelot](https://github.com/inspectIT/inspectit-ocelot) - Java agent that collects application performance, tracing and behavioral data. - [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. -- [Jolokia](https://jolokia.org) - JMX over REST. +- [Jolokia](https://github.com/jolokia/jolokia) - 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. @@ -771,9 +756,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ - [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. - [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. -- [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open-source performance monitoring and transaction tracing for JVM apps. -- [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. -- [zipkin](https://zipkin.io) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +- [zipkin](https://github.com/openzipkin/zipkin) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. ### Native @@ -790,8 +773,8 @@ _For working with platform-specific native libraries._ _Libraries that specialize in processing text._ - [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) -- [CoreNLP](https://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) -- [DKPro](https://dkpro.github.io) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. +- [CoreNLP](https://github.com/stanfordnlp/CoreNLP) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +- [DKPro](https://github.com/dkpro/dkpro-core) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. - [LingPipe](https://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. @@ -802,17 +785,17 @@ _Libraries for building network servers._ - [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). - [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. - [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. -- [Grizzly](https://javaee.github.io/grizzly/) - NIO framework. Used as a network layer in Glassfish. +- [Grizzly](https://github.com/eclipse-ee4j/grizzly) - NIO framework. Used as a network layer in Glassfish. - [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. - [java-ngrok](https://github.com/alexdlaird/java-ngrok) - Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. - [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -- [MINA](https://mina.apache.org) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -- [Netty](https://netty.io) - Framework for building high-performance network applications. +- [MINA](https://github.com/apache/mina) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +- [Netty](https://github.com/netty/netty) - Framework for building high-performance network applications. - [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. - [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -- [Undertow](https://undertow.io) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +- [Undertow](https://github.com/undertow-io/undertow) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) - [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) - [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. @@ -820,11 +803,11 @@ _Libraries for building network servers._ _APIs that handle the persistence of objects._ -- [Apache Cayenne](https://cayenne.apache.org) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +- [Apache Cayenne](https://github.com/apache/cayenne) - Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. - [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -- [Ebean](https://ebean.io) - Provides simple and fast data access. -- [EclipseLink](https://www.eclipse.org/eclipselink/) - Supports a number of persistence standards: JPA, JAXB, JCA and SDO. -- [Hibernate](https://hibernate.org/orm/) - Robust and widely used, with an active community. (LGPL-2.1-only) +- [Ebean](https://github.com/ebean-orm/ebean) - Provides simple and fast data access. +- [EclipseLink](https://github.com/eclipse-ee4j/eclipselink) - Supports a number of persistence standards: JPA, JAXB, JCA and SDO. +- [Hibernate](https://github.com/hibernate/hibernate-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-dynamic](https://github.com/myacelw/mybatis-dynamic) - Code-first dynamic ORM for MyBatis with runtime schema modification. - [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) - A powerful enhanced toolkit of MyBatis for simplifying development. @@ -853,15 +836,15 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. _Tools to help with PDF files._ -- [Apache FOP](https://xmlgraphics.apache.org/fop/) - Creates PDFs from XSL-FO. -- [Apache PDFBox](https://pdfbox.apache.org) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](https://intive-fdv.github.io/DynamicJasper/) - Abstraction layer to JasperReports. (LGPL-3.0-only) +- [Apache FOP](https://github.com/apache/xmlgraphics-fop) - Creates PDFs from XSL-FO. +- [Apache PDFBox](https://github.com/apache/pdfbox) - Toolbox for creating and manipulating PDFs. +- [Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper) - Abstraction layer to JasperReports. (LGPL-3.0-only) - [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) -- [Eclipse BIRT](https://www.eclipse.org/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +- [Eclipse BIRT](https://github.com/eclipse-birt/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - [GraphCompose](https://github.com/DemchaAV/GraphCompose) - Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. -- [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. -- [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) +- [iText ![c]](https://github.com/itext/itext-java) - Creates PDF files programmatically. +- [JasperReports](https://github.com/Jaspersoft/jasperreports) - Complex reporting engine. (LGPL-3.0-only) - [jquick-pdf](https://github.com/paohaijiao/jquick-pdf) - Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. - [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) @@ -877,7 +860,7 @@ _Tools for performance analysis, profiling and benchmarking._ - [Heap Seance](https://github.com/SegfaultSorcerer/heap-seance) - Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](https://openjdk.java.net/projects/code-tools/jmh/) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [JMH](https://github.com/openjdk/jmh) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. - [JVM Hotpath](https://github.com/sfkamath/jvm-hotpath) - Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. - [Argus](https://github.com/rlaope/Argus) - JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. @@ -888,63 +871,63 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons -- [BCEL](https://commons.apache.org/proper/commons-bcel/) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. -- [BeanUtils](https://commons.apache.org/proper/commons-beanutils/) - Easy-to-use wrappers around the Java reflection and introspection APIs. +- [BCEL](https://github.com/apache/commons-bcel) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. +- [BeanUtils](https://github.com/apache/commons-beanutils) - Easy-to-use wrappers around the Java reflection and introspection APIs. - [BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. -- [BSF](https://commons.apache.org/proper/commons-bsf/) - Bean Scripting Framework - interface to scripting languages, including JSR-223. +- [BSF](https://github.com/apache/commons-bsf) - Bean Scripting Framework - interface to scripting languages, including JSR-223. - [ClassScan](https://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. -- [CLI](https://commons.apache.org/proper/commons-cli/) - Command-line arguments parser. +- [CLI](https://github.com/apache/commons-cli) - Command-line arguments parser. - [CLI2](https://commons.apache.org/sandbox/commons-cli2/) - Redesign of Commons CLI. -- [Codec](https://commons.apache.org/proper/commons-codec/) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -- [Collections](https://commons.apache.org/proper/commons-collections/) - Extends or augments the Java Collections Framework. -- [Compress](https://commons.apache.org/proper/commons-compress/) - Defines an API for working with tar, zip and bzip2 files. -- [Configuration](https://commons.apache.org/proper/commons-configuration/) - Reading of configuration/preferences files in various formats. +- [Codec](https://github.com/apache/commons-codec) - General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +- [Collections](https://github.com/apache/commons-collections) - Extends or augments the Java Collections Framework. +- [Compress](https://github.com/apache/commons-compress) - Defines an API for working with tar, zip and bzip2 files. +- [Configuration](https://github.com/apache/commons-configuration) - Reading of configuration/preferences files in various formats. - [Convert](https://commons.apache.org/sandbox/commons-convert/) - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -- [CSV](https://commons.apache.org/proper/commons-csv/) - Component for reading and writing comma separated value files. -- [Daemon](https://commons.apache.org/proper/commons-daemon/) - Alternative invocation mechanism for unix-daemon-like java code. -- [DBCP](https://commons.apache.org/proper/commons-dbcp/) - Database connection pooling services. -- [DbUtils](https://commons.apache.org/proper/commons-dbutils/) - JDBC helper library. -- [Digester](https://commons.apache.org/proper/commons-digester/) - XML-to-Java-object mapping utility. -- [Email](https://commons.apache.org/proper/commons-email/) - Library for sending e-mail from Java. -- [Exec](https://commons.apache.org/proper/commons-exec/) - API for dealing with external process execution and environment management in Java. -- [FileUpload](https://commons.apache.org/proper/commons-fileupload/) - File upload capability for your servlets and web applications. +- [CSV](https://github.com/apache/commons-csv) - Component for reading and writing comma separated value files. +- [Daemon](https://github.com/apache/commons-daemon) - Alternative invocation mechanism for unix-daemon-like java code. +- [DBCP](https://github.com/apache/commons-dbcp) - Database connection pooling services. +- [DbUtils](https://github.com/apache/commons-dbutils) - JDBC helper library. +- [Digester](https://github.com/apache/commons-digester) - XML-to-Java-object mapping utility. +- [Email](https://github.com/apache/commons-email) - Library for sending e-mail from Java. +- [Exec](https://github.com/apache/commons-exec) - API for dealing with external process execution and environment management in Java. +- [FileUpload](https://github.com/apache/commons-fileupload) - File upload capability for your servlets and web applications. - [Finder](https://commons.apache.org/sandbox/commons-finder/) - Java library inspired by the UNIX find command. - [Flatfile](https://commons.apache.org/sandbox/commons-flatfile/) - Java library for working with flat data structures. -- [Graph](https://commons.apache.org/sandbox/commons-graph/) - General purpose graph APIs and algorithms. +- [Graph](https://github.com/apache/commons-graph) - General purpose graph APIs and algorithms. - [I18n](https://commons.apache.org/sandbox/commons-i18n/) - Adds the feature of localized message bundles that consist of one or many localized texts that belong together. - [Id](https://commons.apache.org/sandbox/commons-id/) - Id is a component used to generate identifiers. -- [Imaging](https://commons.apache.org/proper/commons-imaging/) - Image library. -- [IO](https://commons.apache.org/proper/commons-io/) - Collection of I/O utilities. +- [Imaging](https://github.com/apache/commons-imaging) - Image library. +- [IO](https://github.com/apache/commons-io) - Collection of I/O utilities. - [Javaflow](https://commons.apache.org/sandbox/commons-javaflow/) - Continuation implementation to capture the state of the application. -- [JCI](https://commons.apache.org/proper/commons-jci/) - Java Compiler Interface. -- [JCS](https://commons.apache.org/proper/commons-jcs/) - Java Caching System. -- [Jelly](https://commons.apache.org/proper/commons-jelly/) - XML based scripting and processing engine. -- [Jexl](https://commons.apache.org/proper/commons-jexl/) - Expression language which extends the Expression Language of the JSTL. +- [JCI](https://github.com/apache/commons-jci) - Java Compiler Interface. +- [JCS](https://github.com/apache/commons-jcs) - Java Caching System. +- [Jelly](https://github.com/apache/commons-jelly) - XML based scripting and processing engine. +- [Jexl](https://github.com/apache/commons-jexl) - Expression language which extends the Expression Language of the JSTL. - [JNet](https://commons.apache.org/sandbox/commons-jnet/) - JNet allows to use dynamically register url stream handlers through the java.net API. -- [JXPath](https://commons.apache.org/proper/commons-jxpath/) - Utilities for manipulating Java Beans using the XPath syntax. -- [Lang](https://commons.apache.org/proper/commons-lang/) - Provides extra functionality for classes in java.lang. -- [Logging](https://commons.apache.org/proper/commons-logging/) - Wrapper around a variety of logging API implementations. -- [Math](https://commons.apache.org/proper/commons-math/) - Lightweight, self-contained mathematics and statistics components. +- [JXPath](https://github.com/apache/commons-jxpath) - Utilities for manipulating Java Beans using the XPath syntax. +- [Lang](https://github.com/apache/commons-lang) - Provides extra functionality for classes in java.lang. +- [Logging](https://github.com/apache/commons-logging) - Wrapper around a variety of logging API implementations. +- [Math](https://github.com/apache/commons-math) - Lightweight, self-contained mathematics and statistics components. - [Monitoring](https://commons.apache.org/sandbox/commons-monitoring/) - Monitoring aims to provide a simple but extensible monitoring solution for Java applications. - [Nabla](https://commons.apache.org/sandbox/commons-nabla/) - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -- [Net](https://commons.apache.org/proper/commons-net/) - Collection of network utilities and protocol implementations. +- [Net](https://github.com/apache/commons-net) - Collection of network utilities and protocol implementations. - [OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/) - Interface to signing and verifying data using OpenPGP. - [Performance](https://commons.apache.org/sandbox/commons-performance/) - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool. - [Pipeline](https://commons.apache.org/sandbox/commons-pipeline/) - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -- [Pool](https://commons.apache.org/proper/commons-pool/) - Generic object pooling component. -- [RDF](https://commons.apache.org/proper/commons-rdf/) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -- [RNG](https://commons.apache.org/proper/commons-rng/) - Commons Rng provides implementations of pseudo-random numbers generators. -- [SCXML](https://commons.apache.org/proper/commons-scxml/) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -- [Validator](https://commons.apache.org/proper/commons-validator/) - Framework to define validators and validation rules in an xml file. -- [VFS](https://commons.apache.org/proper/commons-vfs/) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -- [Weaver](https://commons.apache.org/proper/commons-weaver/) - Provides an easy way to enhance (weave) compiled bytecode. +- [Pool](https://github.com/apache/commons-pool) - Generic object pooling component. +- [RDF](https://github.com/apache/commons-rdf) - Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +- [RNG](https://github.com/apache/commons-rng) - Commons Rng provides implementations of pseudo-random numbers generators. +- [SCXML](https://github.com/apache/commons-scxml) - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +- [Validator](https://github.com/apache/commons-validator) - Framework to define validators and validation rules in an xml file. +- [VFS](https://github.com/apache/commons-vfs) - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +- [Weaver](https://github.com/apache/commons-weaver) - Provides an easy way to enhance (weave) compiled bytecode. #### Other -- [CUBA Platform](https://www.cuba-platform.com/) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +- [CUBA Platform](https://github.com/jmix-framework/jmix) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. - [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in security. - [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -- [Spring](https://spring.io/projects/) - Provides many packages for dependency injection, aspect-oriented programming, security, etc. +- [Spring Framework](https://github.com/spring-projects/spring-framework) - Comprehensive application framework for building Java applications. ### Processes @@ -958,49 +941,47 @@ _Libraries that help the management of operating system processes._ _Libraries for developing reactive applications._ -- [Akka](https://akka.io) - Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. +- [Akka](https://github.com/akka/akka) - 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) - 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. +- [vert.x](https://github.com/eclipse-vertx/vert.x) - Polyglot event-driven application framework. ### REST Frameworks _Frameworks specifically for creating RESTful services._ - [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. -- [Elide](https://elide.io) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. -- [Jersey](https://jersey.github.io) - JAX-RS reference implementation. +- [Elide](https://github.com/yahoo/elide) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +- [Jersey](https://github.com/eclipse-ee4j/jersey) - 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. - [OfficeFloor](https://github.com/officefloor/OfficeFloor) - Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. -- [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. -- [RESTEasy](https://resteasy.github.io) - Fully certified and portable implementation of the JAX-RS specification. +- [Rapidoid](https://github.com/rapidoid/rapidoid) - Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. +- [RESTEasy](https://github.com/resteasy/resteasy) - 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. -- [Spark](https://sparkjava.com) - Sinatra inspired framework. +- [Spark](https://github.com/perwendel/spark) - Sinatra inspired framework. - [Crnk](https://github.com/crnk-project/crnk-framework) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. -- [Swagger](https://swagger.io) - Standard, language-agnostic interface to REST APIs. +- [Swagger Java](https://swagger.io) - Java libraries for generating, parsing and serving OpenAPI definitions. - [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. ### Science _Libraries for scientific computing, analysis and visualization._ -- [BioJava](https://biojava.org/) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +- [BioJava](https://github.com/biojava/biojava) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. - [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. -- [GraphStream](https://graphstream-project.org) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](https://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +- [GraphStream](https://github.com/graphstream/gs-core) - Library for modeling and analyzing dynamic graphs. +- [JFreeChart](https://github.com/jfree/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. -- [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. - [jSciPy](https://github.com/hissain/jscipy) - jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. - [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -- [Orekit](https://www.orekit.org/) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +- [Orekit](https://github.com/CS-SI/Orekit) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. - [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) - [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. @@ -1009,9 +990,9 @@ _Libraries for scientific computing, analysis and visualization._ _Engines that index documents for search and analysis._ -- [Apache Lucene](https://lucene.apache.org) - High-performance, full-featured, cross-platform, text search engine library. -- [Apache Solr](https://lucene.apache.org/solr/) - Enterprise search engine optimized for high-volume traffic. -- [Elasticsearch](https://www.elastic.co) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. +- [Apache Lucene](https://github.com/apache/lucene) - High-performance, full-featured, cross-platform, text search engine library. +- [Apache Solr](https://github.com/apache/solr) - Enterprise search engine optimized for high-volume traffic. +- [Elasticsearch](https://github.com/elastic/elasticsearch) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. - [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. - [Viglet Turing ES](https://github.com/openviglet/turing-ce) - Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends. @@ -1019,31 +1000,29 @@ _Engines that index documents for search and analysis._ _Libraries that handle security, authentication, authorization or session management._ -- [Apache Shiro](https://shiro.apache.org) - Performs authentication, authorization, cryptography and session management. +- [Apache Shiro](https://github.com/apache/shiro) - Performs authentication, authorization, cryptography and session management. - [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -- [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. +- [Bouncy Castle](https://github.com/bcgit/bc-java) - All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. - [Certificate Ripper](https://github.com/Hakky54/certificate-ripper) - CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. -- [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) +- [OWASP Dependency-Check](https://github.com/dependency-check/DependencyCheck) - Detects publicly disclosed vulnerabilities contained within a project's dependencies. +- [Cryptomator](https://github.com/cryptomator/cryptomator) - 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. - [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. -- [Kalium](https://github.com/abstractj/kalium) - Binding for the Networking and Cryptography (NaCl) library. -- [Keycloak](https://www.keycloak.org) - Integrated SSO and IDM for browser apps and RESTful web services. -- [Keywhiz](https://github.com/square/keywhiz) - System for distributing and managing secrets. +- [Keycloak](https://github.com/keycloak/keycloak) - Integrated SSO and IDM for browser apps and RESTful web services. - [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. -- [OACC](http://oaccframework.org) - Provides permission-based authorization services. +- [OACC](https://github.com/acciente/oacc-core) - Provides permission-based authorization services. - [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. - [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - [pac4j](https://github.com/pac4j/pac4j) - Security engine. -- [Passay](https://www.passay.org/) - Enforce password policy by validating candidate passwords against a configurable rule set. +- [Passay](https://github.com/vt-middleware/passay) - Enforce password policy by validating candidate passwords against a configurable rule set. - [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. - [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. -- [MOSS](https://central.sonatype.com/artifact/com.mosscomputing/moss-sdk) - Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. +- [Tink](https://github.com/tink-crypto/tink-java) - Provides a simple and misuse-proof API for common cryptographic tasks. +- [Topaz](https://github.com/aserto-dev/topaz) - Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. +- [MOSS](https://github.com/mosscomputing/moss-java) - Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. ### Serialization @@ -1054,33 +1033,32 @@ _Libraries that handle serialization with high efficiency._ - [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. - [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. - [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. -- [PHP Serializer](https://github.com/marcospassos/java-php-serializer) - Serializing objects in the PHP serialization format. ### Server _Servers specifically used to deploy applications._ -- [Apache Tomcat](https://tomcat.apache.org) - Robust, all-round server for Servlet and JSP. -- [Apache TomEE](https://tomee.apache.org) - Tomcat plus Java EE. -- [Jetty](https://www.eclipse.org/jetty/) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. +- [Apache Tomcat](https://github.com/apache/tomcat) - Robust, all-round server for Servlet and JSP. +- [Apache TomEE](https://github.com/apache/tomee) - Tomcat plus Java EE. +- [Jetty](https://github.com/jetty/jetty.project) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WildFly](https://www.wildfly.org) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +- [WildFly](https://github.com/wildfly/wildfly) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) ### Template Engine _Tools that substitute expressions in a template._ -- [Freemarker](https://freemarker.apache.org) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. -- [Handlebars.java](https://jknack.github.io/handlebars.java/) - Logicless and semantic Mustache templates. +- [Freemarker](https://github.com/apache/freemarker) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +- [Handlebars.java](https://github.com/jknack/handlebars.java) - Logicless and semantic Mustache templates. - [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. - [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://github.com/PebbleTemplates/pebble) - 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. +- [Thymeleaf](https://github.com/thymeleaf/thymeleaf) - Aims to be a substitute for JSP and works for XML files. ### Testing @@ -1092,7 +1070,7 @@ _Tools that simplify testing asynchronous services._ - [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. - [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](https://greenmail-mail-test.github.io/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +- [GreenMail](https://github.com/greenmail-mail-test/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. @@ -1105,8 +1083,8 @@ _Testing for the software development process that emerged from TDD and was heav - [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. - [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. - [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. -- [JBehave](https://jbehave.org) - Extensively configurable framework that describes stories. -- [JGiven](https://jgiven.org) - Provides a fluent API which allows for simpler composition. +- [JBehave](https://github.com/jbehave/jbehave-core) - Extensively configurable framework that describes stories. +- [JGiven](https://github.com/TNG/JGiven) - Provides a fluent API which allows for simpler composition. - [Kensa](https://github.com/kensa-dev/kensa) - Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. - [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. @@ -1130,17 +1108,17 @@ _Everything related to the creation and handling of random data._ _Provide environments to run tests for a specific use case._ -- [Apache JMeter](https://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](https://arquillian.org) - Integration and functional testing platform for Java EE containers. -- [BitDive ![c]](https://bitdive.io) - Zero-code integration testing platform that generates tests from runtime application behavior. +- [Apache JMeter](https://github.com/apache/jmeter) - Functional testing and performance measurements. +- [JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl) - Load tests with JMeter as simple as a JUnit test. +- [Arquillian](https://github.com/arquillian/arquillian-core) - Integration and functional testing platform for Java EE containers. +- [BitDive Java Agent ![c]](https://github.com/bitDive/java-producer) - Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. - [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. +- [Citrus](https://github.com/citrusframework/citrus) - Integration testing framework that focuses on both client- and server-side messaging. +- [Gatling](https://github.com/gatling/gatling) - Load testing tool designed for ease of use, maintainability and high performance. +- [JUnit](https://github.com/junit-team/junit-framework) - Common testing framework. +- [jqwik](https://github.com/jqwik-team/jqwik) - Engine for property-based testing built on JUnit 5. - [Pact JVM](https://github.com/DiUS/pact-jvm) - Consumer-driven contract testing. -- [PIT](https://pitest.org) - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. +- [PIT](https://github.com/hcoles/pitest) - 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. - [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. - [Selenium Boot](https://github.com/seleniumboot/selenium-boot) - Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. @@ -1149,11 +1127,11 @@ _Provide environments to run tests for a specific use case._ _Libraries that provide custom matchers._ -- [AssertJ](https://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. -- [Hamcrest](https://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. -- [JSONAssert](https://jsonassert.skyscreamer.org) - Simplifies testing JSON strings. +- [AssertJ](https://github.com/assertj/assertj) - Fluent assertions that improve readability. +- [Hamcrest](https://github.com/hamcrest/JavaHamcrest) - Matchers that can be combined to create flexible expressions of intent. +- [JSONAssert](https://github.com/skyscreamer/JSONassert) - Simplifies testing JSON strings. - [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. -- [Truth](https://truth.dev) - Google's fluent assertion and proposition framework. +- [Truth](https://github.com/google/truth) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. #### Miscellaneous @@ -1162,29 +1140,29 @@ _Other stuff related to testing._ - [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. -- [junit-pioneer](https://junit-pioneer.org/) - JUnit 5 extension pack, pushing the frontiers on Jupiter. +- [junit-pioneer](https://github.com/junit-pioneer/junit-pioneer) - JUnit 5 extension pack, pushing the frontiers on Jupiter. - [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. - [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. -- [pojo-tester](https://www.pojo.pl) - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +- [pojo-tester](https://github.com/sta-szek/pojo-tester) - 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). - [skipper-java](https://github.com/get-skipper/skipper-java) - Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. - [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. - [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. -- [Java Evolved](https://javaevolved.github.io/) - Side-by-side comparisons of legacy and modern Java patterns. +- [Java Evolved](https://github.com/javaevolved/javaevolved.github.io) - Side-by-side comparisons of legacy and modern Java patterns. - [test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin) - Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. #### Mocking _Tools which mock collaborators to help testing single, isolated units._ -- [JMockit](https://jmockit.github.io) - Integration testing, API mocking and faking, and code coverage. +- [JMockit](https://github.com/jmockit/jmockit1) - Integration testing, API mocking and faking, and code coverage. - [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. -- [MockServer](https://www.mock-server.com) - Allows mocking of systems integrated with HTTPS. +- [MockServer](https://github.com/mock-server/mockserver) - Allows mocking of systems integrated with HTTPS. - [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. - [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -- [WireMock](https://wiremock.org) - Stubs and mocks web services. +- [WireMock](https://github.com/wiremock/wiremock) - Stubs and mocks web services. - [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. ### Utility @@ -1195,7 +1173,7 @@ _Libraries which provide general utility functions._ - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. - [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. -- [CRaSH](https://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) +- [CRaSH](https://github.com/crashub/crash) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. - [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. @@ -1204,15 +1182,15 @@ _Libraries which provide general utility functions._ - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. -- [Java Diff Utils](https://java-diff-utils.github.io/java-diff-utils/) - Utilities for text or data comparison and patching. +- [Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils) - Utilities for text or data comparison and patching. - [java-util](https://github.com/jdereg/java-util) - Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [Jctx](https://github.com/Shashwat-Gupta57/jctx) - Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. -- [JGit](https://www.eclipse.org/jgit/) - Lightweight, pure Java library implementing the Git version control system. +- [JGit](https://github.com/eclipse-jgit/jgit) - Lightweight, pure Java library implementing the Git version control system. - [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. - [java-refined](https://github.com/JunggiKim/java-refined) - Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. - [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. -- [Protégé](https://protege.stanford.edu) - Provides an ontology editor and a framework to build knowledge-based systems. +- [Protégé](https://github.com/protegeproject/protege) - Provides an ontology editor and a framework to build knowledge-based systems. - [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. - [Sift](https://github.com/Mirkoddd/Sift) - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. - [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. @@ -1221,7 +1199,7 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ -- [jabba](https://github.com/shyiko/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +- [jabba](https://github.com/Jabba-Team/jabba) - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. - [jenv](https://github.com/jenv/jenv) - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. - [SDKMan](https://github.com/sdkman/sdkman-cli) - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. @@ -1229,33 +1207,32 @@ _Utilities that help create the development shell environment and switch between _Libraries that analyze the content of websites._ -- [Apache Nutch](https://nutch.apache.org) - Highly extensible, highly scalable web crawler for production environments. +- [Apache Nutch](https://github.com/apache/nutch) - Highly extensible, highly scalable web crawler for production environments. - [crawlberg](https://github.com/xberg-io/crawlberg) - Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. - [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. -- [jsoup](https://jsoup.org) - Scrapes, parses, manipulates and cleans HTML. -- [StormCrawler](https://stormcrawler.net) - SDK for building low-latency and scalable web crawlers. +- [jsoup](https://github.com/jhy/jsoup) - Scrapes, parses, manipulates and cleans HTML. +- [StormCrawler](https://github.com/apache/stormcrawler) - SDK for building low-latency and scalable web crawlers. - [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. ### Web Frameworks _Frameworks that handle the communication between the layers of a web application._ -- [ActiveJ](https://activej.io) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -- [Apache Tapestry](https://tapestry.apache.org) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. -- [Apache Wicket](https://wicket.apache.org) - Component-based web application framework similar to Tapestry, with a stateful GUI. +- [ActiveJ](https://github.com/activej/activej) - Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +- [Apache Tapestry](https://github.com/apache/tapestry-5) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. +- [Apache Wicket](https://github.com/apache/wicket) - Component-based web application framework similar to Tapestry, with a stateful GUI. - [Blade](https://github.com/lets-blade/blade) - Lightweight, modular framework that aims to be elegant and simple. -- [Bootique](https://bootique.io) - Minimally opinionated framework for runnable apps. -- [Firefly](https://www.fireflysource.com) - Asynchronous framework for rapid development of high-performance web application. -- [Javalin](https://javalin.io/) - Microframework for web applications. -- [Jooby](https://www.jooby.org) - Scalable, fast and modular micro-framework that offers multiple programming models. -- [Ninja](https://www.ninjaframework.org) - Full-stack web framework. +- [Bootique](https://github.com/bootique/bootique) - Minimally opinionated framework for runnable apps. +- [Javalin](https://github.com/javalin/javalin) - Microframework for web applications. +- [Jooby](https://github.com/jooby-project/jooby) - Scalable, fast and modular micro-framework that offers multiple programming models. +- [Ninja](https://github.com/ninjaframework/ninja) - Full-stack web framework. - [Pippo](https://github.com/pippo-java/pippo) - Small, highly modularized, Sinatra-like framework. -- [Play](https://www.playframework.com) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -- [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. +- [Play](https://github.com/playframework/playframework) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +- [PrimeFaces](https://github.com/primefaces/primefaces) - JSF framework with both free and commercial/support versions and frontend components. +- [Ratpack](https://github.com/ratpack/ratpack) - 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. - [tinystruct](https://github.com/tinystruct/tinystruct) - Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. -- [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. +- [Vaadin](https://vaadin.com) - Full-stack Java platform for building browser applications with server-side components. - [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. - [Erupt](https://github.com/erupts/erupt) - Annotation-Driven Low-Code & JPA Visualization. @@ -1263,9 +1240,9 @@ _Frameworks that handle the communication between the layers of a web applicatio _Engines for orchestrating long-running workflows and business processes._ -- [Cadence](https://cadenceworkflow.io) - Stateful code platform from Uber. +- [Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client) - Java client and workflow framework for the Cadence orchestration service. - [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. -- [Temporal](https://temporal.io) - Microservice orchestration platform, forked from Cadence but gRPC based. +- [Temporal Java SDK](https://github.com/temporalio/sdk-java) - Java SDK for writing durable workflows and activities on Temporal. ## Resources @@ -1323,7 +1300,6 @@ _Something to look at or listen to while programming._ - [Foojay Podcast](https://foojay.io/today/category/podcast/) - [Inside Java](https://inside.java/podcast) (Official) - [Java Off Heap](https://www.javaoffheap.com) -- [The Java Posse](http://www.javaposse.com) - Discontinued as of 02/2015. ### People @@ -1384,10 +1360,7 @@ _Sites to read._ - [JavaWorld](https://www.javaworld.com) - [JAXenter](https://jaxenter.com) - [RebelLabs](https://zeroturnaround.com/rebellabs) -- [OverOps Blog](https://blog.overops.com) - [TheServerSide.com](https://www.theserverside.com) - [Vanilla Java](https://vanilla-java.github.io) -- [Voxxed](https://www.voxxed.com) -- [Java Weekly](https://discu.eu/weekly/java/) [c]: https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg diff --git a/scripts/generate_readme.java b/scripts/GenerateReadme.java similarity index 74% rename from scripts/generate_readme.java rename to scripts/GenerateReadme.java index b778c408..478457aa 100644 --- a/scripts/generate_readme.java +++ b/scripts/GenerateReadme.java @@ -7,11 +7,13 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardCopyOption; +import java.time.Duration; import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; @@ -19,13 +21,20 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.Set; +import java.util.Optional; import java.util.TreeMap; +import java.util.TreeSet; import java.util.regex.Pattern; +import java.util.stream.Collectors; -class generate_readme { +final class GenerateReadme { private static final Pattern STARS = Pattern.compile("\"stargazers_count\"\\s*:\\s*(\\d+)"); private static final Pattern PUSHED_AT = Pattern.compile("\"pushed_at\"\\s*:\\s*(?:\"([^\"]+)\"|null)"); + private static final Pattern ARCHIVED = Pattern.compile("\"archived\"\\s*:\\s*(true|false)"); + private static final Pattern GITHUB_METADATA = + Pattern.compile("\\s*\\s*$"); + private static final Pattern REPOSITORY = + Pattern.compile("[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+"); private static final Comparator TEXT_ORDER = Comparator.comparing((String value) -> value.toLowerCase(Locale.ROOT)) .thenComparing(Comparator.naturalOrder()); @@ -59,9 +68,9 @@ public static void main(String[] args) throws Exception { private static void usage() { System.err.println(""" Usage: - java scripts/generate_readme.java check [source] - java scripts/generate_readme.java self-test - java scripts/generate_readme.java generate [source] [output] [cache] [--refresh-all] [--branch name] + java scripts/GenerateReadme.java check [source] + java scripts/GenerateReadme.java self-test + java scripts/GenerateReadme.java generate [source] [output] [cache] [--refresh-all] [--branch name] """); } @@ -89,10 +98,8 @@ private static void generate(String[] args) throws Exception { validateSource(source); var repositories = source.projects().stream() - .map(Item::url) - .map(generate_readme::githubRepository) - .flatMap(java.util.Optional::stream) - .collect(java.util.stream.Collectors.toCollection(() -> new java.util.TreeSet<>(TEXT_ORDER))); + .flatMap(item -> item.repositories().stream()) + .collect(Collectors.toCollection(() -> new TreeSet<>(TEXT_ORDER))); var cache = readCache(cachePath); var missing = repositories.stream().filter(repo -> !cache.stats().containsKey(repo)).toList(); @@ -101,11 +108,12 @@ private static void generate(String[] args) throws Exception { var today = LocalDate.now(ZoneOffset.UTC); if (!targets.isEmpty()) { - var token = System.getenv("PAT"); + var token = System.getenv("GITHUB_TOKEN"); if (token == null || token.isBlank()) { - throw new IllegalStateException("PAT is required to fetch GitHub statistics"); + throw new IllegalStateException("GITHUB_TOKEN is required to fetch GitHub statistics"); } var client = HttpClient.newBuilder() + .connectTimeout(Duration.ofSeconds(20)) .followRedirects(HttpClient.Redirect.NORMAL) .build(); @@ -121,6 +129,7 @@ private static void generate(String[] args) throws Exception { stats.keySet().retainAll(repositories); var refreshed = refreshAll || cache.refreshed() == null ? today : cache.refreshed(); var updatedCache = new StatsCache(refreshed, stats); + rejectArchivedProjects(source, updatedCache); var rendered = render(source, updatedCache, today, branch); validateRendered(source, updatedCache, rendered, today); @@ -218,6 +227,23 @@ private static Catalog parseSource(Path path) throws IOException { } private static Item parseItem(String line, int lineNumber, boolean descriptionRequired) { + var metadata = GITHUB_METADATA.matcher(line); + var repositories = new ArrayList(); + if (metadata.find()) { + require(descriptionRequired, lineNumber, "GitHub metadata is only valid for projects"); + for (var value : metadata.group(1).split(",")) { + var repository = value.trim(); + require(REPOSITORY.matcher(repository).matches(), lineNumber, + "Invalid GitHub repository: " + repository); + require(!repositories.contains(repository), lineNumber, + "Duplicate GitHub repository: " + repository); + repositories.add(repository); + } + require(repositories.size() >= 2, lineNumber, + "GitHub metadata must contain at least two repositories"); + line = line.substring(0, metadata.start()); + } + var linkClose = line.indexOf("]("); var urlClose = linkClose < 0 ? -1 : line.indexOf(')', linkClose + 2); require(linkClose > 3 && urlClose > linkClose + 2, lineNumber, "Invalid entry syntax"); @@ -230,7 +256,11 @@ private static Item parseItem(String line, int lineNumber, boolean descriptionRe require(!name.isEmpty(), lineNumber, "Missing entry name"); require(!url.isEmpty(), lineNumber, "Missing entry URL"); require(!descriptionRequired || !description.isEmpty(), lineNumber, "Missing project description"); - return new Item(name, url, description, lineNumber); + var directRepository = githubRepository(url); + require(repositories.isEmpty() || directRepository.isEmpty(), lineNumber, + "GitHub metadata is not allowed on a direct repository link"); + directRepository.ifPresent(repositories::add); + return new Item(name, url, description, lineNumber, List.copyOf(repositories)); } private static void validateSource(Catalog source) { @@ -240,13 +270,14 @@ private static void validateSource(Catalog source) { var anchors = new HashSet(); var names = new HashMap(); var urls = new HashMap(); + var repositories = new HashMap(); for (var category : source.categories()) { require(!category.description.isBlank(), 0, "Missing category description: " + category.name); require(anchors.add(slug(category.name)), 0, "Duplicate anchor: " + slug(category.name)); - validateItems(category.items, names, urls); + validateItems(category.items, names, urls, repositories); for (var nested : category.subcategories.values()) { - validateItems(nested.items, names, urls); + validateItems(nested.items, names, urls, repositories); } } @@ -259,7 +290,8 @@ private static void validateSource(Catalog source) { private static void validateItems( List items, Map names, - Map urls + Map urls, + Map repositories ) { for (var item : items) { var plainName = sortName(item.name()); @@ -274,6 +306,14 @@ private static void validateItems( var end = item.description().charAt(item.description().length() - 1); require(".!?)".indexOf(end) >= 0, item.lineNumber(), "Description must end with punctuation: " + plainName); + for (var repository : item.repositories()) { + var duplicateRepository = repositories.putIfAbsent( + repository.toLowerCase(Locale.ROOT), item); + if (duplicateRepository != null) { + fail(item.lineNumber(), "GitHub repository is already used by " + + sortName(duplicateRepository.name()) + ": " + repository); + } + } } } @@ -287,7 +327,9 @@ private static RepoStats fetchStats(HttpClient client, String repository, String .uri(URI.create("https://api.github.com/repos/" + repository)) .header("Accept", "application/vnd.github+json") .header("Authorization", "Bearer " + token) - .header("X-GitHub-Api-Version", "2022-11-28") + .header("User-Agent", "awesome-java-readme-generator") + .header("X-GitHub-Api-Version", "2026-03-10") + .timeout(Duration.ofSeconds(30)) .GET() .build(); var response = client.send(request, HttpResponse.BodyHandlers.ofString()); @@ -297,13 +339,15 @@ private static RepoStats fetchStats(HttpClient client, String repository, String var stars = STARS.matcher(response.body()); var pushedAt = PUSHED_AT.matcher(response.body()); - if (!stars.find() || !pushedAt.find()) { + var archived = ARCHIVED.matcher(response.body()); + if (!stars.find() || !pushedAt.find() || !archived.find()) { throw new IOException("Incomplete GitHub response for " + repository); } var pushed = pushedAt.group(1) == null ? null : OffsetDateTime.parse(pushedAt.group(1)).withOffsetSameInstant(ZoneOffset.UTC).toLocalDate(); - return new RepoStats(Long.parseLong(stars.group(1)), pushed); + return new RepoStats(Long.parseLong(stars.group(1)), pushed, + Boolean.parseBoolean(archived.group(1))); } private static StatsCache readCache(Path path) throws IOException { @@ -318,12 +362,16 @@ private static StatsCache readCache(Path path) throws IOException { refreshed = LocalDate.parse(line.substring("# refreshed=".length())); } else if (!line.isBlank() && !line.startsWith("#")) { var parts = line.split("\\t", -1); - if (parts.length != 3) { + if (parts.length != 4) { throw new IOException("Invalid statistics cache line: " + line); } + if (!parts[3].equals("true") && !parts[3].equals("false")) { + throw new IOException("Invalid archived value in statistics cache line: " + line); + } stats.put(parts[0], new RepoStats( Long.parseLong(parts[1]), - parts[2].isBlank() ? null : LocalDate.parse(parts[2]) + parts[2].isBlank() ? null : LocalDate.parse(parts[2]), + Boolean.parseBoolean(parts[3]) )); } } @@ -338,21 +386,24 @@ private static void writeCache(Path path, StatsCache cache) throws IOException { .append(entry.getKey()).append('\t') .append(entry.getValue().stars()).append('\t') .append(entry.getValue().pushed() == null ? "" : entry.getValue().pushed()) + .append('\t').append(entry.getValue().archived()) .append('\n')); writeAtomically(path, content.toString()); } private static String render(Catalog source, StatsCache cache, LocalDate today, String branch) { var out = new StringBuilder(); - out.append("\n\n") .append(source.title()).append("\n\n") .append(source.tagline()).append("\n\n") .append("").append(projectCount(source)).append(" projects · ") - .append(source.categories().size()).append(" categories · GitHub statistics refreshed ") + .append(source.categories().size()).append(" categories · ") .append(DISPLAY_DATE.format(cache.refreshed())).append("\n\n") .append("Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · ") .append("🔴 no push for over 12 months\n\n") + .append("Entries spanning several repositories combine their stars and use the ") + .append("most recent push for activity.\n\n") .append("Browse a category below, or use your browser's find command to locate a project.\n\n") .append("## Projects\n\n"); @@ -367,7 +418,7 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, var editUrl = "https://github.com/akullpp/awesome-java/edit/" + branch + "/README_SOURCE.md"; out.append("## Contributing\n\n") - .append("> **[Add a library](").append(editUrl).append(")** · ") + .append("> **[Suggest a project](").append(editUrl).append(")** · ") .append("[Contribution guidelines](CONTRIBUTING.md)\n") .append(">\n") .append("> Add one Markdown entry under the appropriate category and open one pull request. ") @@ -417,7 +468,7 @@ private static void renderProject( LocalDate today ) { out.append("> **[").append(item.name()).append("](").append(item.url()).append(")**"); - githubRepository(item.url()).map(cache.stats()::get).ifPresent(stats -> { + aggregateStats(item, cache).ifPresent(stats -> { out.append(" ★ ").append(formatStars(stats.stars())).append(""); if (stats.pushed() != null) { out.append(' ').append(activityDot(stats.pushed(), today)); @@ -445,6 +496,37 @@ private static void renderResource(StringBuilder out, ResourceGroup resource) { out.append("
\n\n"); } + private static Optional aggregateStats(Item item, StatsCache cache) { + if (item.repositories().isEmpty()) { + return Optional.empty(); + } + + long stars = 0; + LocalDate pushed = null; + for (var repository : item.repositories()) { + var stats = cache.stats().get(repository); + require(stats != null, item.lineNumber(), + "Missing GitHub statistics for " + repository); + stars += stats.stars(); + if (stats.pushed() != null && (pushed == null || stats.pushed().isAfter(pushed))) { + pushed = stats.pushed(); + } + } + return Optional.of(new RepoStats(stars, pushed, false)); + } + + private static void rejectArchivedProjects(Catalog source, StatsCache cache) { + for (var item : source.projects()) { + for (var repository : item.repositories()) { + var stats = cache.stats().get(repository); + require(stats != null, item.lineNumber(), + "Missing GitHub statistics for " + repository); + require(!stats.archived(), item.lineNumber(), + "Archived GitHub repository: " + repository); + } + } + } + private static void validateRendered( Catalog source, StatsCache cache, @@ -467,7 +549,11 @@ private static void validateRendered( } } - var expectedDots = cache.stats().values().stream().filter(stats -> stats.pushed() != null).count(); + var expectedDots = source.projects().stream() + .map(item -> aggregateStats(item, cache)) + .flatMap(Optional::stream) + .filter(stats -> stats.pushed() != null) + .count(); var actualDots = rendered.codePoints() .filter(codePoint -> codePoint == "🟢".codePointAt(0) || codePoint == "🟠".codePointAt(0) @@ -494,17 +580,21 @@ private static void printGeneratedSummary( LocalDate today, Path output ) { - var green = cache.stats().values().stream() + var projectStats = source.projects().stream() + .map(item -> aggregateStats(item, cache)) + .flatMap(Optional::stream) + .toList(); + var green = projectStats.stream() .filter(stats -> stats.pushed() != null && activityDot(stats.pushed(), today).equals("🟢")).count(); - var orange = cache.stats().values().stream() + var orange = projectStats.stream() .filter(stats -> stats.pushed() != null && activityDot(stats.pushed(), today).equals("🟠")).count(); - var red = cache.stats().values().stream() + var red = projectStats.stream() .filter(stats -> stats.pushed() != null && activityDot(stats.pushed(), today).equals("🔴")).count(); printSourceSummary(source); System.out.printf( - "Generated %s with %d repositories: 🟢 %d, 🟠 %d, 🔴 %d%n", + "Generated %s with %d scored projects: 🟢 %d, 🟠 %d, 🔴 %d%n", output, - cache.stats().size(), + projectStats.size(), green, orange, red @@ -536,22 +626,22 @@ private static String formatStars(long stars) { return stars < 1_000 ? Long.toString(stars) : String.format(Locale.ROOT, "%.1fk", stars / 1_000.0); } - private static java.util.Optional githubRepository(String url) { + private static Optional githubRepository(String url) { try { var uri = URI.create(url); if (!"github.com".equalsIgnoreCase(uri.getHost())) { - return java.util.Optional.empty(); + return Optional.empty(); } - var parts = java.util.Arrays.stream(uri.getPath().split("/")) + var parts = Arrays.stream(uri.getPath().split("/")) .filter(part -> !part.isBlank()) .toList(); if (parts.size() < 2) { - return java.util.Optional.empty(); + return Optional.empty(); } var repository = parts.get(1).replaceFirst("\\.git$", ""); - return java.util.Optional.of(parts.get(0) + "/" + repository); + return Optional.of(parts.get(0) + "/" + repository); } catch (IllegalArgumentException ignored) { - return java.util.Optional.empty(); + return Optional.empty(); } } @@ -602,7 +692,7 @@ private static void writeAtomically(Path path, String content) throws IOExceptio } } - private static void selfTest() { + private static void selfTest() throws Exception { var today = LocalDate.of(2026, 7, 26); require(activityDot(LocalDate.of(2026, 4, 26), today).equals("🟢"), 0, "Green boundary"); require(activityDot(LocalDate.of(2026, 4, 25), today).equals("🟠"), 0, "Orange start"); @@ -621,16 +711,88 @@ private static void selfTest() { true ); require(commercial.name().equals("Bootify ![c]"), 0, "Commercial marker parsing"); + var umbrella = parseItem( + "- [Umbrella](https://example.com) - Several modules. " + + "", + 2, + true + ); + require(umbrella.repositories().equals(List.of("acme/one", "acme/two")), 0, + "Umbrella repository parsing"); + var aggregate = aggregateStats(umbrella, new StatsCache(today, Map.of( + "acme/one", new RepoStats(10, LocalDate.of(2026, 1, 1), false), + "acme/two", new RepoStats(20, LocalDate.of(2026, 7, 1), false) + ))).orElseThrow(); + require(aggregate.stars() == 30, 0, "Umbrella star aggregation"); + require(aggregate.pushed().equals(LocalDate.of(2026, 7, 1)), 0, + "Umbrella activity aggregation"); + var category = new Category("Test"); + category.description = "Test projects."; + category.items.add(umbrella); + var catalog = new Catalog("# Test", "Test.", List.of(category), List.of()); + expectFailure( + () -> rejectArchivedProjects(catalog, new StatsCache(today, Map.of( + "acme/one", new RepoStats(10, today, false), + "acme/two", new RepoStats(20, today, true) + ))), + "Archived GitHub repository" + ); + expectFailure( + () -> parseItem( + "- [Bad](https://github.com/acme/one) - Direct link. " + + "", + 3, + true + ), + "direct repository link" + ); + expectFailure( + () -> parseItem( + "- [Bad](https://example.com) - One repository. ", + 4, + true + ), + "at least two" + ); + var oldCache = Files.createTempFile("awesome-java-old-cache", ".tsv"); + try { + Files.writeString(oldCache, "# refreshed=2026-07-26\nacme/one\t10\t2026-07-25\n"); + expectFailure(() -> readCache(oldCache), "Invalid statistics cache line"); + } finally { + Files.deleteIfExists(oldCache); + } System.out.println("Self-test passed"); } + private static void expectFailure(CheckedRunnable action, String message) { + try { + action.run(); + } catch (Exception exception) { + require(exception.getMessage().contains(message), 0, + "Unexpected failure: " + exception.getMessage()); + return; + } + fail(0, "Expected failure containing: " + message); + } + + @FunctionalInterface + private interface CheckedRunnable { + void run() throws Exception; + } + private enum Section { NONE, PROJECTS, RESOURCES } - private record Item(String name, String url, String description, int lineNumber) {} + private record Item( + String name, + String url, + String description, + int lineNumber, + List repositories + ) {} private static final class Category { private final String name; @@ -679,7 +841,7 @@ private List projects() { } } - private record RepoStats(long stars, LocalDate pushed) {} + private record RepoStats(long stars, LocalDate pushed, boolean archived) {} private record StatsCache(LocalDate refreshed, Map stats) {} } From daa03da6fd62f05a7510b41457c978e4852dcbc9 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 26 Jul 2026 19:41:56 +0200 Subject: [PATCH 510/533] Add generated license chips --- .github/workflows/update-readme.yml | 4 +- CONTRIBUTING.md | 6 +- README.md | 1298 +++++++++++++-------------- README_SOURCE.md | 48 +- scripts/GenerateReadme.java | 100 ++- 5 files changed, 742 insertions(+), 714 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index b0439652..c2e2bde2 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -61,9 +61,9 @@ jobs: uses: actions/cache@v5 with: path: .cache/github-stats.tsv - key: readme-stats-v2-${{ github.ref_name }}-${{ github.run_id }} + key: readme-stats-v3-${{ github.ref_name }}-${{ github.run_id }} restore-keys: | - readme-stats-v2-${{ github.ref_name }}- + readme-stats-v3-${{ github.ref_name }}- - name: Validate source and generator run: | java scripts/GenerateReadme.java self-test diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 74692d46..67e93899 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,9 +23,9 @@ A project should: - disclose restrictive, noncommercial or source-available terms in the entry; - have clear pricing and a free tier when commercial. -Add `![c]` after the project name for commercial products. Keep descriptions -short, factual and distinctive from similar entries. Use `Miscellaneous` only -when no focused category fits. +Known GitHub SPDX licenses appear automatically; do not add license or +commercial badges manually. Keep descriptions short, factual and distinctive +from similar entries. Use `Miscellaneous` only when no focused category fits. Search existing entries and issues before submitting. Self-promotion is reviewed carefully but is welcome when the project meets the same criteria. diff --git a/README.md b/README.md index f5a41ea4..34f3e03f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months -Entries spanning several repositories combine their stars and use the most recent push for activity. +License chips use GitHub SPDX metadata when available. Entries spanning several repositories combine their stars, use the most recent push for activity and show a license only when all repositories agree. Browse a category below, or use your browser's find command to locate a project. @@ -19,9 +19,9 @@ Browse a category below, or use your browser's find command to locate a project. _Frameworks and libraries that help implementing and verifying design and architecture concepts._ -> **[ArchUnit](https://github.com/TNG/ArchUnit)** ★ 3.8k 🟢
Test library for specifying and asserting architecture rules. +> **[ArchUnit](https://github.com/TNG/ArchUnit)** ★ 3.8k Apache-2.0 🟢
Test library for specifying and asserting architecture rules. -> **[jMolecules](https://github.com/xmolecules/jmolecules)** ★ 1.5k 🟠
Annotations and interfaces to express design and architecture concepts in code. +> **[jMolecules](https://github.com/xmolecules/jmolecules)** ★ 1.5k Apache-2.0 🟠
Annotations and interfaces to express design and architecture concepts in code.
@@ -30,23 +30,23 @@ _Frameworks and libraries that help implementing and verifying design and archit _Frameworks that help you to leverage LLMs and AI._ -> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. +> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 Apache-2.0 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. -> **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 🟢
Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. +> **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 MIT 🟢
Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. -> **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 🟢
Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. +> **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 Apache-2.0 🟢
Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. -> **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k 🟢
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. +> **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k Apache-2.0 🟢
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. -> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 239 🟢
Provides a Java binding for a unified LLM API client across multiple providers. +> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 239 MIT 🟢
Provides a Java binding for a unified LLM API client across multiple providers. -> **[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k 🟢
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. +> **[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k MIT 🟢
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. -> **[Regulus](https://github.com/neul-labs/regulus)** ★ 7 🟢
Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. +> **[Regulus](https://github.com/neul-labs/regulus)** ★ 7 MIT 🟢
Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. -> **[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 🟠
Library to use the OpenAI API (and compatible ones) in the simplest possible way. +> **[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 MIT 🟠
Library to use the OpenAI API (and compatible ones) in the simplest possible way. -> **[Spring AI](https://github.com/spring-projects/spring-ai)** ★ 9.2k 🟢
Application framework for AI engineering for Spring. +> **[Spring AI](https://github.com/spring-projects/spring-ai)** ★ 9.2k Apache-2.0 🟢
Application framework for AI engineering for Spring.
@@ -55,21 +55,21 @@ _Frameworks that help you to leverage LLMs and AI._ _Frameworks that ease bean mapping._ -> **[dOOv](https://github.com/doov-io/doov)** ★ 103 🔴
Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. +> **[dOOv](https://github.com/doov-io/doov)** ★ 103 Apache-2.0 🔴
Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. > **[Immuto](https://github.com/karunarathnad/immuto)** ★ 6 🟢
Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection. -> **[JMapper](https://github.com/jmapper-framework/jmapper-core)** ★ 245 🔴
Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. +> **[JMapper](https://github.com/jmapper-framework/jmapper-core)** ★ 245 Apache-2.0 🔴
Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. > **[MapStruct](https://github.com/mapstruct/mapstruct)** ★ 7.7k 🟢
Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. -> **[ModelMapper](https://github.com/modelmapper/modelmapper)** ★ 2.4k 🟠
Intelligent object mapping library that automatically maps objects to each other. +> **[ModelMapper](https://github.com/modelmapper/modelmapper)** ★ 2.4k Apache-2.0 🟠
Intelligent object mapping library that automatically maps objects to each other. -> **[Orika](https://github.com/orika-mapper/orika)** ★ 1.3k 🔴
JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. +> **[Orika](https://github.com/orika-mapper/orika)** ★ 1.3k Apache-2.0 🔴
JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. -> **[reMap](https://github.com/remondis-it/remap)** ★ 128 🟢
Lambda and method handle-based mapping which requires code and not annotations if objects have different names. +> **[reMap](https://github.com/remondis-it/remap)** ★ 128 Apache-2.0 🟢
Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -> **[Selma](https://github.com/xebia-france/selma)** ★ 213 🔴
Annotation processor-based bean mapper. +> **[Selma](https://github.com/xebia-france/selma)** ★ 213 Apache-2.0 🔴
Annotation processor-based bean mapper.
@@ -78,17 +78,17 @@ _Frameworks that ease bean mapping._ _Tools that handle the build cycle and dependencies of an application._ -> **[Apache Maven](https://github.com/apache/maven)** ★ 5.3k 🟢
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://github.com/apache/maven)** ★ 5.3k Apache-2.0 🟢
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://github.com/bazelbuild/bazel)** ★ 25.7k 🟢
Tool from Google that builds code quickly and reliably. +> **[Bazel](https://github.com/bazelbuild/bazel)** ★ 25.7k Apache-2.0 🟢
Tool from Google that builds code quickly and reliably. -> **[Buck2](https://github.com/facebook/buck2)** ★ 4.4k 🟢
Encourages the creation of small, reusable modules consisting of code and resources. +> **[Buck2](https://github.com/facebook/buck2)** ★ 4.4k Apache-2.0 🟢
Encourages the creation of small, reusable modules consisting of code and resources. -> **[Gradle](https://github.com/gradle/gradle)** ★ 18.7k 🟢
Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. +> **[Gradle](https://github.com/gradle/gradle)** ★ 18.7k Apache-2.0 🟢
Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. -> **[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 🟢
A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. +> **[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 MIT 🟢
A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. -> **[ReleaseRun](https://github.com/Releaserun/releaserun-cli)** ★ 1 🟠
Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. +> **[ReleaseRun](https://github.com/Releaserun/releaserun-cli)** ★ 1 MIT 🟠
Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages.
@@ -99,21 +99,21 @@ _Libraries to manipulate bytecode programmatically._ > **[ASM](https://asm.ow2.io)**
All-purpose, low-level bytecode manipulation and analysis. -> **[Byte Buddy](https://github.com/raphw/byte-buddy)** ★ 6.9k 🟢
Further simplifies bytecode generation with a fluent API. +> **[Byte Buddy](https://github.com/raphw/byte-buddy)** ★ 6.9k Apache-2.0 🟢
Further simplifies bytecode generation with a fluent API. -> **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k 🟢
Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +> **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k GPL-3.0 🟢
Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) > **[Byteman](https://github.com/bytemanproject/byteman)** ★ 513 🟢
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -> **[cglib](https://github.com/cglib/cglib)** ★ 4.9k 🔴
Bytecode generation library. +> **[cglib](https://github.com/cglib/cglib)** ★ 4.9k Apache-2.0 🔴
Bytecode generation library. > **[Javassist](https://github.com/jboss-javassist/javassist)** ★ 4.2k 🟢
Tries to simplify bytecode editing. -> **[Maker](https://github.com/cojen/maker)** ★ 70 🟢
Provides low level bytecode generation. +> **[Maker](https://github.com/cojen/maker)** ★ 70 Apache-2.0 🟢
Provides low level bytecode generation. -> **[Mixin](https://github.com/SpongePowered/Mixin)** ★ 1.7k 🔴
Manipulate bytecode at runtime using real Java code. +> **[Mixin](https://github.com/SpongePowered/Mixin)** ★ 1.7k MIT 🔴
Manipulate bytecode at runtime using real Java code. -> **[Recaf](https://github.com/Col-E/Recaf)** ★ 7.3k 🟢
JVM reverse engineering toolkit, essentially an IDE for Java bytecode. +> **[Recaf](https://github.com/Col-E/Recaf)** ★ 7.3k MIT 🟢
JVM reverse engineering toolkit, essentially an IDE for Java bytecode.
@@ -122,13 +122,13 @@ _Libraries to manipulate bytecode programmatically._ _Libraries that provide caching facilities._ -> **[cache2k](https://github.com/cache2k/cache2k)** ★ 743 🔴
In-memory high performance caching library. +> **[cache2k](https://github.com/cache2k/cache2k)** ★ 743 Apache-2.0 🔴
In-memory high performance caching library. -> **[Caffeine](https://github.com/ben-manes/caffeine)** ★ 17.8k 🟢
High-performance, near-optimal caching library. +> **[Caffeine](https://github.com/ben-manes/caffeine)** ★ 17.8k Apache-2.0 🟢
High-performance, near-optimal caching library. -> **[Ehcache](https://github.com/ehcache/ehcache3)** ★ 2.1k 🟢
Distributed general-purpose cache. +> **[Ehcache](https://github.com/ehcache/ehcache3)** ★ 2.1k Apache-2.0 🟢
Distributed general-purpose cache. -> **[Infinispan](https://github.com/infinispan/infinispan)** ★ 1.3k 🟢
Highly concurrent key/value datastore used for caching. +> **[Infinispan](https://github.com/infinispan/infinispan)** ★ 1.3k Apache-2.0 🟢
Highly concurrent key/value datastore used for caching.
@@ -141,15 +141,15 @@ _Libraries for everything related to the CLI._ _Libraries to assist with parsing command line arguments._ -> **[Airline](https://github.com/rvesse/airline)** ★ 145 🟢
Annotation-based framework for parsing Git-like command-line arguments. +> **[Airline](https://github.com/rvesse/airline)** ★ 145 Apache-2.0 🟢
Annotation-based framework for parsing Git-like command-line arguments. -> **[jbock](https://github.com/jbock-java/jbock)** ★ 92 🟠
Reflectionless command line parser. +> **[jbock](https://github.com/jbock-java/jbock)** ★ 92 MIT 🟠
Reflectionless command line parser. -> **[JCommander](https://github.com/cbeust/jcommander)** ★ 2.0k 🟠
Command-line argument-parsing framework with custom types and validation via implementing interfaces. +> **[JCommander](https://github.com/cbeust/jcommander)** ★ 2.0k Apache-2.0 🟠
Command-line argument-parsing framework with custom types and validation via implementing interfaces. > **[JLine](https://github.com/jline/jline3)** ★ 1.8k 🟢
Includes features from modern shells like completion or history. -> **[picocli](https://github.com/remkop/picocli)** ★ 5.4k 🟢
ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. +> **[picocli](https://github.com/remkop/picocli)** ★ 5.4k Apache-2.0 🟢
ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. #### Text-Based User Interfaces 5 projects @@ -157,13 +157,13 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ > **[AliveJTUI](https://github.com/yehorsyrin/alivejTUI)** ★ 9 🟠
Declarative, React-style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes. -> **[Jansi](https://github.com/fusesource/jansi)** ★ 1.2k 🟠
ANSI escape codes to format console output. +> **[Jansi](https://github.com/fusesource/jansi)** ★ 1.2k Apache-2.0 🟠
ANSI escape codes to format console output. > **[Jexer](https://gitlab.com/AutumnMeowMeow/jexer)**
Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -> **[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k 🟢
Easy console text-GUI library, similar to curses. (LGPL-3.0-only) +> **[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k LGPL-3.0 🟢
Easy console text-GUI library, similar to curses. (LGPL-3.0-only) -> **[Text-IO](https://github.com/beryx/text-io)** ★ 353 🔴
Aids the creation of full console-based applications. +> **[Text-IO](https://github.com/beryx/text-io)** ★ 353 Apache-2.0 🔴
Aids the creation of full console-based applications.
@@ -172,9 +172,9 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ _Libraries to integrate or use cloud-specific features._ -> **[AWS SDK for Java](https://github.com/aws/aws-sdk-java)** ★ 4.2k 🟠
Provides Java APIs for interacting with Amazon Web Services. +> **[AWS SDK for Java](https://github.com/aws/aws-sdk-java)** ★ 4.2k Apache-2.0 🟠
Provides Java APIs for interacting with Amazon Web Services. -> **[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k 🟢
Client libraries for accessing Google Cloud services from Java applications. +> **[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k Apache-2.0 🟢
Client libraries for accessing Google Cloud services from Java applications.
@@ -183,31 +183,31 @@ _Libraries to integrate or use cloud-specific features._ _Tools that provide metrics and quality measurements._ -> **[Checkstyle](https://github.com/checkstyle/checkstyle)** ★ 9.0k 🟢
Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +> **[Checkstyle](https://github.com/checkstyle/checkstyle)** ★ 9.0k LGPL-2.1 🟢
Static analysis of coding conventions and standards. (LGPL-2.1-or-later) -> **[Error Prone](https://github.com/google/error-prone)** ★ 7.2k 🟢
Catches common programming mistakes as compile-time errors. +> **[Error Prone](https://github.com/google/error-prone)** ★ 7.2k Apache-2.0 🟢
Catches common programming mistakes as compile-time errors. -> **[Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support)** ★ 37 🟢
Error Prone extensions: extra bug checkers and a large battery of Refaster templates. +> **[Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support)** ★ 37 MIT 🟢
Error Prone extensions: extra bug checkers and a large battery of Refaster templates. -> **[Infer](https://github.com/facebook/infer)** ★ 15.7k 🟢
Modern static analysis tool for verifying the correctness of code. +> **[Infer](https://github.com/facebook/infer)** ★ 15.7k MIT 🟢
Modern static analysis tool for verifying the correctness of code. -> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 🟢
Static code analysis with Neo4J-based query language. (GPL-3.0-only) +> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 GPL-3.0 🟢
Static code analysis with Neo4J-based query language. (GPL-3.0-only) -> **[JSpecify](https://github.com/jspecify/jspecify)** ★ 1.1k 🟢
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. +> **[JSpecify](https://github.com/jspecify/jspecify)** ★ 1.1k Apache-2.0 🟢
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. -> **[NullAway](https://github.com/uber/NullAway)** ★ 4.1k 🟢
Eliminates NullPointerExceptions with low build-time overhead. +> **[NullAway](https://github.com/uber/NullAway)** ★ 4.1k MIT 🟢
Eliminates NullPointerExceptions with low build-time overhead. -> **[p3c](https://github.com/alibaba/p3c)** ★ 30.8k 🔴
Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +> **[p3c](https://github.com/alibaba/p3c)** ★ 30.8k Apache-2.0 🔴
Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. > **[PMD](https://github.com/pmd/pmd)** ★ 5.5k 🟢
Source code analysis for finding bad coding practices. -> **[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 538 🟢
Identifies and prioritizes God Classes and Highly Coupled classes. +> **[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 538 Apache-2.0 🟢
Identifies and prioritizes God Classes and Highly Coupled classes. > **[SonarJava](https://github.com/SonarSource/sonar-java)** ★ 1.2k 🟢
Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) > **[Spoon](https://github.com/INRIA/spoon)** ★ 1.9k 🟢
Library for analyzing and transforming Java source code. -> **[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k 🟢
Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +> **[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k LGPL-2.1 🟢
Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) > **[ToolsHref](https://github.com/toolshref-tools/toolshref-tools)** ★ 0 🟠
Online Java code analyzer and JSON-to-Mermaid visualization tool. @@ -218,9 +218,9 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ -> **[Cobertura](https://github.com/cobertura/cobertura)** ★ 1.1k 🔴
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +> **[Cobertura](https://github.com/cobertura/cobertura)** ★ 1.1k GPL-2.0 🔴
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) -> **[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 🟢
Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. +> **[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 MIT 🟢
Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. > **[JaCoCo](https://github.com/jacoco/jacoco)** ★ 4.6k 🟢
Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. @@ -237,9 +237,9 @@ _Tools that format or restructure Java source code._ > **[JHarmonizer](https://github.com/lemon-ant/JHarmonizer)** ★ 26 🟢
Safely reorders Java source code with configurable rules and Palantir Java Format. -> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 846 🟢
Formatter based on google-java-format with wider lines and lambda-friendly output. +> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 846 Apache-2.0 🟢
Formatter based on google-java-format with wider lines and lambda-friendly output. -> **[Spotless](https://github.com/diffplug/spotless)** ★ 5.6k 🟢
A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages. +> **[Spotless](https://github.com/diffplug/spotless)** ★ 5.6k Apache-2.0 🟢
A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages.
@@ -248,37 +248,37 @@ _Tools that format or restructure Java source code._ _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ -> **[ADT4J](https://github.com/sviperll/adt4j)** ★ 150 🔴
JSR-269 code generator for algebraic data types. +> **[ADT4J](https://github.com/sviperll/adt4j)** ★ 150 BSD-3-Clause 🔴
JSR-269 code generator for algebraic data types. -> **[Auto](https://github.com/google/auto)** ★ 10.6k 🟢
Generates factory, service, and value classes. +> **[Auto](https://github.com/google/auto)** ★ 10.6k Apache-2.0 🟢
Generates factory, service, and value classes. -> **[Avaje Http Server](https://github.com/avaje/avaje-http)** ★ 96 🟢
Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +> **[Avaje Http Server](https://github.com/avaje/avaje-http)** ★ 96 Apache-2.0 🟢
Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -> **[Bootify ![c]](https://bootify.io)**
Browser-based Spring Boot app generation with JPA model and REST API. +> **[Bootify](https://bootify.io)**
Browser-based Spring Boot app generation with JPA model and REST API. -> **[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 10 🟢
Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. +> **[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 10 Apache-2.0 🟢
Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. -> **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 🟠
Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +> **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 MIT 🟠
Annotation processor for automatic DTO and Mapper generation with zero boilerplate. -> **[Geci](https://github.com/verhas/javageci)** ★ 138 🟠
Discovers files that need generated code, updates automatically and writes to the source with a convenient API. +> **[Geci](https://github.com/verhas/javageci)** ★ 138 Apache-2.0 🟠
Discovers files that need generated code, updates automatically and writes to the source with a convenient API. -> **[Immutables](https://github.com/immutables/immutables)** ★ 3.6k 🟢
Annotation processors to generate simple, safe and consistent value objects. +> **[Immutables](https://github.com/immutables/immutables)** ★ 3.6k Apache-2.0 🟢
Annotation processors to generate simple, safe and consistent value objects. -> **[JHipster](https://github.com/jhipster/generator-jhipster)** ★ 22.4k 🟢
Yeoman source code generator for Spring Boot and AngularJS. +> **[JHipster](https://github.com/jhipster/generator-jhipster)** ★ 22.4k Apache-2.0 🟢
Yeoman source code generator for Spring Boot and AngularJS. -> **[Joda-Beans](https://github.com/JodaOrg/joda-beans)** ★ 150 🟠
Small framework that adds queryable properties to Java, enhancing JavaBeans. +> **[Joda-Beans](https://github.com/JodaOrg/joda-beans)** ★ 150 Apache-2.0 🟠
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](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. -> **[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 🟠
Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. +> **[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 Apache-2.0 🟠
Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. > **[Lombok](https://github.com/projectlombok/lombok)** ★ 13.5k 🟢
Code generator that aims to reduce verbosity. -> **[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 924 🟢
Companion builder class, withers and templates for Java records. +> **[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 924 Apache-2.0 🟢
Companion builder class, withers and templates for Java records. -> **[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 37 🟢
Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. +> **[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 37 Apache-2.0 🟢
Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. -> **[Telosys](https://www.telosys.org/)** ★ 212 🟠
Java code-generation toolkit with a CLI and model-driven template engine. +> **[Telosys](https://www.telosys.org/)** ★ 212 LGPL-3.0 🟠
Java code-generation toolkit with a CLI and model-driven template engine.
@@ -287,9 +287,9 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a _Frameworks that help to create parsers, interpreters or compilers._ -> **[ANTLR](https://github.com/antlr/antlr4)** ★ 19.0k 🟠
Complex full-featured framework for top-down parsing. +> **[ANTLR](https://github.com/antlr/antlr4)** ★ 19.0k BSD-3-Clause 🟠
Complex full-featured framework for top-down parsing. -> **[JavaCC](https://github.com/javacc/javacc)** ★ 1.3k 🔴
Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. +> **[JavaCC](https://github.com/javacc/javacc)** ★ 1.3k BSD-3-Clause 🔴
Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications. > **[JFlex](https://github.com/jflex-de/jflex)** ★ 630 🔴
Lexical analyzer generator. @@ -313,33 +313,33 @@ _Libraries which seek to gain high level information from images and videos._ _Libraries that provide external configuration._ -> **[avaje config](https://github.com/avaje/avaje-config)** ★ 107 🟢
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +> **[avaje config](https://github.com/avaje/avaje-config)** ★ 107 Apache-2.0 🟢
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -> **[centraldogma](https://github.com/line/centraldogma)** ★ 663 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +> **[centraldogma](https://github.com/line/centraldogma)** ★ 663 Apache-2.0 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. -> **[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 🟢
Type-safe, composable configuration library with a focus on runtime clarity. +> **[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 Apache-2.0 🟢
Type-safe, composable configuration library with a focus on runtime clarity. > **[config](https://github.com/lightbend/config)** ★ 6.3k 🟢
Configuration library supporting Java properties, JSON or its human optimized superset HOCON. -> **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 467 🟢
Configuration library with support for various configuration formats and transformations. +> **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 467 Apache-2.0 🟢
Configuration library with support for various configuration formats and transformations. -> **[Curator Framework](https://github.com/apache/curator)** ★ 3.2k 🟢
High-level API for Apache ZooKeeper. +> **[Curator Framework](https://github.com/apache/curator)** ★ 3.2k Apache-2.0 🟢
High-level API for Apache ZooKeeper. > **[dotenv](https://github.com/shyiko/dotenv)** ★ 51 🔴
Twelve-factor configuration library which uses environment-specific files. -> **[Externalized Properties](https://github.com/joel-jeremy/externalized-properties)** ★ 47 🟠
Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. +> **[Externalized Properties](https://github.com/joel-jeremy/externalized-properties)** ★ 47 Apache-2.0 🟠
Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. -> **[Gestalt](https://github.com/gestalt-config/gestalt)** ★ 102 🟢
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. +> **[Gestalt](https://github.com/gestalt-config/gestalt)** ★ 102 Apache-2.0 🟢
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](https://ini4j.sourceforge.net)**
Provides an API for handling Windows' INI files. -> **[KAConf](https://github.com/mariomac/kaconf)** ★ 63 🔴
Annotation-based configuration system for Java and Kotlin. +> **[KAConf](https://github.com/mariomac/kaconf)** ★ 63 Apache-2.0 🔴
Annotation-based configuration system for Java and Kotlin. -> **[microconfig](https://github.com/microconfig/microconfig)** ★ 320 🔴
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. +> **[microconfig](https://github.com/microconfig/microconfig)** ★ 320 Apache-2.0 🔴
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)** ★ 939 🟢
Reduces boilerplate of properties. +> **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing.
@@ -348,11 +348,11 @@ _Libraries that provide external configuration._ _Libraries that help with implementing optimization and satisfiability problems._ -> **[Choco](https://github.com/chocoteam/choco-solver)** ★ 771 🟢
Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. +> **[Choco](https://github.com/chocoteam/choco-solver)** ★ 771 BSD-3-Clause 🟢
Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques. > **[JaCoP](https://github.com/radsz/jacop)** ★ 235 🟠
Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) -> **[Timefold](https://github.com/TimefoldAI/timefold-solver)** ★ 1.7k 🟢
Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more. +> **[Timefold](https://github.com/TimefoldAI/timefold-solver)** ★ 1.7k Apache-2.0 🟢
Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.
@@ -361,13 +361,13 @@ _Libraries that help with implementing optimization and satisfiability problems. _Frameworks and libraries that simplify reading/writing CSV data._ -> **[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 689 🟢
Performance-optimized, dependency-free and RFC 4180 compliant. +> **[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 689 MIT 🟢
Performance-optimized, dependency-free and RFC 4180 compliant. -> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformats-text)** ★ 453 🟢
Jackson extension for reading and writing CSV. +> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformats-text)** ★ 453 Apache-2.0 🟢
Jackson extension for reading and writing CSV. > **[opencsv](https://opencsv.sourceforge.net)**
Simple CSV parser. -> **[Super CSV](https://github.com/super-csv/super-csv)** ★ 528 🔴
Powerful CSV parser with support for Dozer, Joda-Time and Java 8. +> **[Super CSV](https://github.com/super-csv/super-csv)** ★ 528 Apache-2.0 🔴
Powerful CSV parser with support for Dozer, Joda-Time and Java 8. > **[uniVocity-parsers](https://github.com/uniVocity/univocity-parsers)** ★ 935 🔴
One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. @@ -378,29 +378,29 @@ _Frameworks and libraries that simplify reading/writing CSV data._ _Efficient and specific data structures._ -> **[Apache Avro](https://github.com/apache/avro)** ★ 3.3k 🟢
Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +> **[Apache Avro](https://github.com/apache/avro)** ★ 3.3k Apache-2.0 🟢
Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -> **[Apache Orc](https://github.com/apache/orc)** ★ 769 🟢
Fast and efficient columnar storage format for Hadoop-based workloads. +> **[Apache Orc](https://github.com/apache/orc)** ★ 769 Apache-2.0 🟢
Fast and efficient columnar storage format for Hadoop-based workloads. -> **[Apache Parquet](https://github.com/apache/parquet-java)** ★ 3.1k 🟢
Columnar storage format based on assembly algorithms from Google's paper on Dremel. +> **[Apache Parquet](https://github.com/apache/parquet-java)** ★ 3.1k Apache-2.0 🟢
Columnar storage format based on assembly algorithms from Google's paper on Dremel. -> **[Apache Thrift](https://github.com/apache/thrift)** ★ 10.9k 🟢
Data interchange format that originated at Facebook. +> **[Apache Thrift](https://github.com/apache/thrift)** ★ 10.9k Apache-2.0 🟢
Data interchange format that originated at Facebook. -> **[Big Queue](https://github.com/bulldog2011/bigqueue)** ★ 567 🔴
Fast and persistent queue based on memory-mapped files. +> **[Big Queue](https://github.com/bulldog2011/bigqueue)** ★ 567 Apache-2.0 🔴
Fast and persistent queue based on memory-mapped files. -> **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 🟠
Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. +> **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 MIT 🟠
Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. > **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 🔴
Persistent and immutable analogue of the Java Collections Framework. > **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.6k 🟢
Google's data interchange format. -> **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k 🟢
Fast and efficient compressed bitmap. +> **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k Apache-2.0 🟢
Fast and efficient compressed bitmap. -> **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k 🟢
Simple Binary Encoding, one of the fastest message formats around. +> **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k Apache-2.0 🟢
Simple Binary Encoding, one of the fastest message formats around. -> **[Wire](https://github.com/square/wire)** ★ 4.4k 🟢
Clean, lightweight protocol buffers. +> **[Wire](https://github.com/square/wire)** ★ 4.4k Apache-2.0 🟢
Clean, lightweight protocol buffers. -> **[Wormhole4j](https://github.com/komamitsu/wormhole4j)** ★ 8 🟢
High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. +> **[Wormhole4j](https://github.com/komamitsu/wormhole4j)** ★ 8 Apache-2.0 🟢
High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure.
@@ -409,91 +409,91 @@ _Efficient and specific data structures._ _Everything that simplifies interactions with the database._ -> **[Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin)** ★ 18 🟢
Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. +> **[Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin)** ★ 18 Apache-2.0 🟢
Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. -> **[Apache Calcite](https://github.com/apache/calcite)** ★ 5.2k 🟢
Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +> **[Apache Calcite](https://github.com/apache/calcite)** ★ 5.2k Apache-2.0 🟢
Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. -> **[Apache Drill](https://github.com/apache/drill)** ★ 2.0k 🟢
Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. +> **[Apache Drill](https://github.com/apache/drill)** ★ 2.0k Apache-2.0 🟢
Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. -> **[Apache Phoenix](https://github.com/apache/phoenix)** ★ 1.1k 🟢
High-performance relational database layer over HBase for low-latency applications. +> **[Apache Phoenix](https://github.com/apache/phoenix)** ★ 1.1k Apache-2.0 🟢
High-performance relational database layer over HBase for low-latency applications. -> **[Apache ShardingSphere](https://github.com/apache/shardingsphere)** ★ 20.8k 🟢
Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. +> **[Apache ShardingSphere](https://github.com/apache/shardingsphere)** ★ 20.8k Apache-2.0 🟢
Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database. -> **[ArangoDB](https://github.com/arangodb/arangodb-java-driver)** ★ 209 🟢
ArangoDB Java driver. +> **[ArangoDB](https://github.com/arangodb/arangodb-java-driver)** ★ 209 Apache-2.0 🟢
ArangoDB Java driver. -> **[ArcadeDB](https://github.com/ArcadeData/arcadedb)** ★ 1.0k 🟢
Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. +> **[ArcadeDB](https://github.com/ArcadeData/arcadedb)** ★ 1.0k Apache-2.0 🟢
Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. -> **[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3.0k 🟢
Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +> **[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3.0k Apache-2.0 🟢
Efficient, in-memory (opt. persisted to disk), off-heap key-value store. -> **[CosId](https://github.com/Ahoo-Wang/CosId)** ★ 640 🟢
Universal, flexible, high-performance distributed ID generator. +> **[CosId](https://github.com/Ahoo-Wang/CosId)** ★ 640 Apache-2.0 🟢
Universal, flexible, high-performance distributed ID generator. -> **[Debezium](https://github.com/debezium/debezium)** ★ 13.0k 🟢
Low latency data streaming platform for change data capture. +> **[Debezium](https://github.com/debezium/debezium)** ★ 13.0k Apache-2.0 🟢
Low latency data streaming platform for change data capture. -> **[druid](https://github.com/apache/druid)** ★ 14.0k 🟢
High-performance, column-oriented, distributed data store. +> **[druid](https://github.com/apache/druid)** ★ 14.0k Apache-2.0 🟢
High-performance, column-oriented, distributed data store. -> **[eXist](https://github.com/eXist-db/exist)** ★ 466 🟢
NoSQL document database and application platform. (LGPL-2.1-only) +> **[eXist](https://github.com/eXist-db/exist)** ★ 466 LGPL-2.1 🟢
NoSQL document database and application platform. (LGPL-2.1-only) -> **[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k 🟠
Brings metrics and failover strategies to the most common connection pooling solutions. +> **[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k Apache-2.0 🟠
Brings metrics and failover strategies to the most common connection pooling solutions. -> **[Flyway](https://github.com/flyway/flyway)** ★ 9.9k 🟢
Simple database migration tool. +> **[Flyway](https://github.com/flyway/flyway)** ★ 9.9k Apache-2.0 🟢
Simple database migration tool. > **[H2](https://github.com/h2database/h2database)** ★ 4.6k 🟢
Small SQL database notable for its in-memory functionality. -> **[HikariCP](https://github.com/brettwooldridge/HikariCP)** ★ 21.2k 🟢
High-performance JDBC connection pool. +> **[HikariCP](https://github.com/brettwooldridge/HikariCP)** ★ 21.2k Apache-2.0 🟢
High-performance JDBC connection pool. > **[HSQLDB](https://hsqldb.org/)**
HyperSQL 100% Java database. -> **[JDBI](https://github.com/jdbi/jdbi)** ★ 2.1k 🟢
Convenient abstraction of JDBC. +> **[JDBI](https://github.com/jdbi/jdbi)** ★ 2.1k Apache-2.0 🟢
Convenient abstraction of JDBC. -> **[Jedis](https://github.com/xetorthio/jedis)** ★ 12.3k 🟢
Small client for interaction with Redis, with methods for commands. +> **[Jedis](https://github.com/xetorthio/jedis)** ★ 12.3k MIT 🟢
Small client for interaction with Redis, with methods for commands. -> **[jetcd](https://github.com/justinsb/jetcd)** ★ 143 🔴
Client library for etcd. +> **[jetcd](https://github.com/justinsb/jetcd)** ★ 143 Apache-2.0 🔴
Client library for etcd. > **[Jinq](https://github.com/my2iu/Jinq)** ★ 662 🔴
Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). > **[jOOQ](https://github.com/jOOQ/jOOQ)** ★ 6.8k 🟢
Generates typesafe code based on SQL schema. -> **[Leaf](https://github.com/Meituan-Dianping/Leaf)** ★ 6.8k 🔴
Distributed ID generate service. +> **[Leaf](https://github.com/Meituan-Dianping/Leaf)** ★ 6.8k Apache-2.0 🔴
Distributed ID generate service. -> **[Lettuce](https://github.com/redis/lettuce)** ★ 5.8k 🟢
Lettuce is a scalable Redis client for building non-blocking Reactive applications. +> **[Lettuce](https://github.com/redis/lettuce)** ★ 5.8k MIT 🟢
Lettuce is a scalable Redis client for building non-blocking Reactive applications. > **[Liquibase](https://github.com/liquibase/liquibase)** ★ 5.6k 🟢
Database-independent library for tracking, managing and applying database schema changes. -> **[MapDB](https://github.com/jankotek/mapdb)** ★ 5.1k 🟢
Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. +> **[MapDB](https://github.com/jankotek/mapdb)** ★ 5.1k Apache-2.0 🟢
Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. -> **[MariaDB4j](https://github.com/vorburger/MariaDB4j)** ★ 16 🟠
Launcher for MariaDB that requires no installation or external dependencies. +> **[MariaDB4j](https://github.com/vorburger/MariaDB4j)** ★ 16 Apache-2.0 🟠
Launcher for MariaDB that requires no installation or external dependencies. -> **[Modality](https://github.com/arkanovicz/modality)** ★ 16 🟢
Lightweight ORM with database reverse engineering features. +> **[Modality](https://github.com/arkanovicz/modality)** ★ 16 Apache-2.0 🟢
Lightweight ORM with database reverse engineering features. -> **[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 218 🟢
Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. +> **[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 218 Apache-2.0 🟢
Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. > **[OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ)** ★ 435 🟢
LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. -> **[Querydsl](https://github.com/querydsl/querydsl)** ★ 5.0k 🟢
Typesafe unified queries. +> **[Querydsl](https://github.com/querydsl/querydsl)** ★ 5.0k Apache-2.0 🟢
Typesafe unified queries. -> **[QueryStream](https://github.com/querystream/querystream)** ★ 21 🔴
Build JPA Criteria queries using a Stream-like API. +> **[QueryStream](https://github.com/querystream/querystream)** ★ 21 Apache-2.0 🔴
Build JPA Criteria queries using a Stream-like API. -> **[QuestDB](https://github.com/questdb/questdb)** ★ 17.2k 🟢
High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. +> **[QuestDB](https://github.com/questdb/questdb)** ★ 17.2k Apache-2.0 🟢
High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. -> **[Realm](https://github.com/realm/realm-java)** ★ 11.5k 🟠
Mobile database to run directly inside phones, tablets or wearables. +> **[Realm](https://github.com/realm/realm-java)** ★ 11.5k Apache-2.0 🟠
Mobile database to run directly inside phones, tablets or wearables. -> **[Redisson](https://github.com/redisson/redisson)** ★ 24.4k 🟢
Allows for distributed and scalable data structures on top of a Redis server. +> **[Redisson](https://github.com/redisson/redisson)** ★ 24.4k Apache-2.0 🟢
Allows for distributed and scalable data structures on top of a Redis server. -> **[requery](https://github.com/requery/requery)** ★ 3.1k 🟠
Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. +> **[requery](https://github.com/requery/requery)** ★ 3.1k Apache-2.0 🟠
Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. > **[SchemaCrawler](https://github.com/schemacrawler/SchemaCrawler)** ★ 1.8k 🟢
Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. -> **[Speedment](https://github.com/speedment/speedment)** ★ 2.1k 🔴
Database access library that utilizes Java 8's Stream API for querying. +> **[Speedment](https://github.com/speedment/speedment)** ★ 2.1k Apache-2.0 🔴
Database access library that utilizes Java 8's Stream API for querying. -> **[Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query)** ★ 40 🟠
Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. +> **[Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query)** ★ 40 Apache-2.0 🟠
Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. -> **[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 🟠
Allows you to use MongoDB query language to query your relational database. +> **[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 Apache-2.0 🟠
Allows you to use MongoDB query language to query your relational database. -> **[Trino](https://github.com/trinodb/trino)** ★ 13.1k 🟢
Distributed SQL query engine for big data. +> **[Trino](https://github.com/trinodb/trino)** ★ 13.1k Apache-2.0 🟢
Distributed SQL query engine for big data. -> **[Vibur DBCP](https://github.com/vibur/vibur-dbcp)** ★ 124 🔴
JDBC connection pool library with advanced performance monitoring capabilities. +> **[Vibur DBCP](https://github.com/vibur/vibur-dbcp)** ★ 124 Apache-2.0 🔴
JDBC connection pool library with advanced performance monitoring capabilities. -> **[Xodus](https://github.com/JetBrains/xodus)** ★ 1.3k 🟢
Highly concurrent transactional schema-less and ACID-compliant embedded database. +> **[Xodus](https://github.com/JetBrains/xodus)** ★ 1.3k Apache-2.0 🟢
Highly concurrent transactional schema-less and ACID-compliant embedded database.
@@ -502,13 +502,13 @@ _Everything that simplifies interactions with the database._ _Libraries related to handling date and time._ -> **[iCal4j](https://github.com/ical4j/ical4j)** ★ 836 🟢
Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. +> **[iCal4j](https://github.com/ical4j/ical4j)** ★ 836 BSD-3-Clause 🟢
Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. -> **[Jollyday](https://github.com/focus-shift/jollyday)** ★ 134 🟢
Determines the holidays for a given year, country/name and eventually state/region. +> **[Jollyday](https://github.com/focus-shift/jollyday)** ★ 134 Apache-2.0 🟢
Determines the holidays for a given year, country/name and eventually state/region. -> **[ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra)** ★ 423 🟢
Additional date-time classes that complement those in JDK 8. +> **[ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra)** ★ 423 BSD-3-Clause 🟢
Additional date-time classes that complement those in JDK 8. -> **[Time4J](https://github.com/MenoData/Time4J)** ★ 470 🔴
Advanced date and time library. (LGPL-2.1-only) +> **[Time4J](https://github.com/MenoData/Time4J)** ★ 470 LGPL-2.1 🔴
Advanced date and time library. (LGPL-2.1-only)
@@ -517,7 +517,7 @@ _Libraries related to handling date and time._ _Libraries that handle decentralization tasks._ -> **[java-tron](https://github.com/tronprotocol/java-tron)** ★ 4.1k 🟢
Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. +> **[java-tron](https://github.com/tronprotocol/java-tron)** ★ 4.1k LGPL-3.0 🟢
Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications.
@@ -526,17 +526,17 @@ _Libraries that handle decentralization tasks._ _Libraries for decompiling JVM bytecode._ -> **[CFR](https://github.com/leibnitz27/cfr)** ★ 2.6k 🟢
Java decompiler focused on modern language features. +> **[CFR](https://github.com/leibnitz27/cfr)** ★ 2.6k MIT 🟢
Java decompiler focused on modern language features. -> **[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.3k 🟢
Java decompiler with broad JVM bytecode support. +> **[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.3k Apache-2.0 🟢
Java decompiler with broad JVM bytecode support. -> **[JD-Core](https://github.com/java-decompiler/jd-core)** ★ 587 🔴
Core Java decompiler library. +> **[JD-Core](https://github.com/java-decompiler/jd-core)** ★ 587 GPL-3.0 🔴
Core Java decompiler library. > **[Procyon](https://github.com/mstrobel/procyon)** ★ 1.2k 🔴
Java decompiler and metadata toolkit. -> **[transformer-api](https://github.com/nbauma109/transformer-api)** ★ 3 🟢
Unified API that exposes multiple decompilers through one in-memory transformation interface. +> **[transformer-api](https://github.com/nbauma109/transformer-api)** ★ 3 Apache-2.0 🟢
Unified API that exposes multiple decompilers through one in-memory transformation interface. -> **[Vineflower](https://github.com/Vineflower/vineflower)** ★ 2.3k 🟢
Modern maintained fork of Fernflower. +> **[Vineflower](https://github.com/Vineflower/vineflower)** ★ 2.3k Apache-2.0 🟢
Modern maintained fork of Fernflower.
@@ -545,19 +545,19 @@ _Libraries for decompiling JVM bytecode._ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ -> **[Apache DeltaSpike](https://github.com/apache/deltaspike)** ★ 154 🟢
CDI extension framework. +> **[Apache DeltaSpike](https://github.com/apache/deltaspike)** ★ 154 Apache-2.0 🟢
CDI extension framework. -> **[Avaje Inject](https://github.com/avaje/avaje-inject)** ★ 314 🟢
Microservice-focused compile-time injection framework without reflection. +> **[Avaje Inject](https://github.com/avaje/avaje-inject)** ★ 314 Apache-2.0 🟢
Microservice-focused compile-time injection framework without reflection. -> **[Dagger](https://github.com/google/dagger)** ★ 17.7k 🟢
Compile-time injection framework without reflection. +> **[Dagger](https://github.com/google/dagger)** ★ 17.7k Apache-2.0 🟢
Compile-time injection framework without reflection. -> **[Dimension-DI](https://github.com/akardapolov/dimension-di)** ★ 19 🟢
JSR-330 runtime dependency injection using the JDK Class-File API. +> **[Dimension-DI](https://github.com/akardapolov/dimension-di)** ★ 19 Apache-2.0 🟢
JSR-330 runtime dependency injection using the JDK Class-File API. > **[Feather](https://github.com/zsoltherpai/feather)** ★ 365 🔴
Ultra-lightweight, JSR-330-compliant dependency injection library. -> **[Governator](https://github.com/Netflix/governator)** ★ 829 🟠
Extensions and utilities that enhance Google Guice. +> **[Governator](https://github.com/Netflix/governator)** ★ 829 Apache-2.0 🟠
Extensions and utilities that enhance Google Guice. -> **[Guice](https://github.com/google/guice)** ★ 12.7k 🟢
Lightweight and opinionated framework that completes Dagger. +> **[Guice](https://github.com/google/guice)** ★ 12.7k Apache-2.0 🟢
Lightweight and opinionated framework that completes Dagger. > **[HK2](https://github.com/eclipse-ee4j/glassfish-hk2)** ★ 95 🟢
Lightweight and dynamic dependency injection framework. @@ -574,19 +574,19 @@ _Augmentation of the development process at a fundamental level._ > **[DCEVM](https://github.com/dcevm/dcevm)** ★ 1.9k 🔴
JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) -> **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 🔴
Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +> **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 MIT 🔴
Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k 🟠
Unlimited runtime class and resource redefinition. (GPL-2.0-only) +> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k GPL-2.0 🟠
Unlimited runtime class and resource redefinition. (GPL-2.0-only) > **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k 🟢
Parse, modify and generate Java code. -> **[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k 🟢
Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. +> **[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k Apache-2.0 🟢
Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. -> **[NoException](https://github.com/robertvazan/noexception)** ★ 130 🔴
Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +> **[NoException](https://github.com/robertvazan/noexception)** ★ 130 Apache-2.0 🔴
Allows checked exceptions in functional interfaces and converts exceptions to Optional return. -> **[SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow)** ★ 81 🔴
Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. +> **[SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow)** ★ 81 MIT 🔴
Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. -> **[Tail](https://github.com/nrktkt/tail)** ★ 30 🔴
Enable infinite recursion using tail call optimization. +> **[Tail](https://github.com/nrktkt/tail)** ★ 30 Unlicense 🔴
Enable infinite recursion using tail call optimization.
@@ -595,33 +595,33 @@ _Augmentation of the development process at a fundamental level._ _Libraries and frameworks for writing distributed and fault-tolerant applications._ -> **[Apache Geode](https://github.com/apache/geode)** ★ 2.4k 🟢
In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. +> **[Apache Geode](https://github.com/apache/geode)** ★ 2.4k Apache-2.0 🟢
In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -> **[Apache Storm](https://github.com/apache/storm)** ★ 6.7k 🟢
Realtime computation system. +> **[Apache Storm](https://github.com/apache/storm)** ★ 6.7k Apache-2.0 🟢
Realtime computation system. -> **[Apache ZooKeeper](https://github.com/apache/zookeeper)** ★ 12.8k 🟢
Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. +> **[Apache ZooKeeper](https://github.com/apache/zookeeper)** ★ 12.8k Apache-2.0 🟢
Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -> **[Atomix](https://github.com/atomix/atomix)** ★ 2.4k 🔴
Fault-tolerant distributed coordination framework. +> **[Atomix](https://github.com/atomix/atomix)** ★ 2.4k Apache-2.0 🔴
Fault-tolerant distributed coordination framework. -> **[Axon](https://github.com/AxonIQ/AxonFramework)** ★ 3.6k 🟢
Framework for creating CQRS applications. +> **[Axon](https://github.com/AxonIQ/AxonFramework)** ★ 3.6k Apache-2.0 🟢
Framework for creating CQRS applications. -> **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 🟠
Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +> **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 GPL-2.0 🟠
Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) -> **[Failsafe](https://github.com/jhalterman/failsafe)** ★ 4.3k 🟠
Simple failure handling with retries and circuit breakers. +> **[Failsafe](https://github.com/jhalterman/failsafe)** ★ 4.3k Apache-2.0 🟠
Simple failure handling with retries and circuit breakers. > **[Hazelcast](https://github.com/hazelcast/hazelcast)** ★ 6.6k 🟢
Highly scalable in-memory datagrid with a free open-source version. -> **[JGroups](https://github.com/belaban/JGroups)** ★ 1.1k 🟢
Toolkit for reliable messaging and cluster creation. +> **[JGroups](https://github.com/belaban/JGroups)** ★ 1.1k Apache-2.0 🟢
Toolkit for reliable messaging and cluster creation. > **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 🟢
High-performance reverse proxy server with specialized session management and credential replay functionality. > **[Quasar](https://github.com/puniverse/quasar)** ★ 4.6k 🔴
Lightweight threads and actors for the JVM. -> **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k 🟢
Functional fault tolerance library. +> **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k Apache-2.0 🟢
Functional fault tolerance library. -> **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 🟢
Embeddable Cluster-Membership library based on SWIM and gossip protocol. +> **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 Apache-2.0 🟢
Embeddable Cluster-Membership library based on SWIM and gossip protocol. -> **[Zuul](https://github.com/Netflix/zuul)** ★ 14.1k 🟢
Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. +> **[Zuul](https://github.com/Netflix/zuul)** ★ 14.1k Apache-2.0 🟢
Gateway service that provides dynamic routing, monitoring, resiliency, security, and more.
@@ -632,11 +632,11 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u > **[Atomikos](https://github.com/atomikos/transactions-essentials)** ★ 484 🟢
Provides transactions for REST, SOA and microservices with support for JTA and XA. -> **[Bitronix](https://github.com/bitronix/btm)** ★ 431 🟠
Simple but complete implementation of the JTA 1.1 API. +> **[Bitronix](https://github.com/bitronix/btm)** ★ 431 Apache-2.0 🟠
Simple but complete implementation of the JTA 1.1 API. -> **[Narayana](https://github.com/jbosstm/narayana)** ★ 265 🟢
Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +> **[Narayana](https://github.com/jbosstm/narayana)** ★ 265 Apache-2.0 🟢
Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) -> **[Seata](https://github.com/seata/seata)** ★ 26.0k 🟢
Delivers high performance and easy to use distributed transaction services under a microservices architecture. +> **[Seata](https://github.com/seata/seata)** ★ 26.0k Apache-2.0 🟢
Delivers high performance and easy to use distributed transaction services under a microservices architecture.
@@ -645,33 +645,33 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ -> **[Artipie](https://github.com/artipie/artipie)** ★ 689 🟢
Binary artifact management toolkit which hosts them on the file system or S3. +> **[Artipie](https://github.com/artipie/artipie)** ★ 689 MIT 🟢
Binary artifact management toolkit which hosts them on the file system or S3. -> **[Boxfuse ![c]](https://boxfuse.com)**
Deployment of JVM applications to AWS using the principles of immutable infrastructure. +> **[Boxfuse](https://boxfuse.com)**
Deployment of JVM applications to AWS using the principles of immutable infrastructure. -> **[Capsule](https://github.com/puniverse/capsule)** ★ 1.1k 🔴
Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. +> **[Capsule](https://github.com/puniverse/capsule)** ★ 1.1k EPL-1.0 🔴
Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. > **[Central Repository](https://search.maven.org)**
Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -> **[Cloudsmith ![c]](https://cloudsmith.io)**
Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +> **[Cloudsmith](https://cloudsmith.io)**
Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. > **[Getdown](https://github.com/threerings/getdown)** ★ 530 🟢
System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -> **[IzPack](https://github.com/izpack/izpack)** ★ 352 🟢
Setup authoring tool for cross-platform deployments. +> **[IzPack](https://github.com/izpack/izpack)** ★ 352 Apache-2.0 🟢
Setup authoring tool for cross-platform deployments. -> **[JavaPackager](https://github.com/fvarrui/JavaPackager)** ★ 1.2k 🟠
Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +> **[JavaPackager](https://github.com/fvarrui/JavaPackager)** ★ 1.2k GPL-3.0 🟠
Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -> **[jDeploy](https://github.com/shannah/jdeploy)** ★ 414 🟢
Deploy desktop apps as native Mac, Windows or Linux bundles. +> **[jDeploy](https://github.com/shannah/jdeploy)** ★ 414 Apache-2.0 🟢
Deploy desktop apps as native Mac, Windows or Linux bundles. -> **[jlink.online](https://github.com/AdoptOpenJDK/jlink.online)** ★ 51 🟢
Builds optimized runtimes over HTTP. +> **[jlink.online](https://github.com/AdoptOpenJDK/jlink.online)** ★ 51 Apache-2.0 🟢
Builds optimized runtimes over HTTP. -> **[Nexus ![c]](https://github.com/sonatype/nexus-public)** ★ 2.6k 🟢
Binary management with proxy and caching capabilities. +> **[Nexus](https://github.com/sonatype/nexus-public)** ★ 2.6k EPL-1.0 🟢
Binary management with proxy and caching capabilities. > **[Nuts](https://github.com/thevpc/nuts)** ★ 157 🟢
Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. -> **[packr](https://github.com/libgdx/packr)** ★ 2.6k 🔴
Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. +> **[packr](https://github.com/libgdx/packr)** ★ 2.6k Apache-2.0 🔴
Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. -> **[really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin)** ★ 136 🟠
Maven plugin for making self-executing JARs. +> **[really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin)** ★ 136 Apache-2.0 🟠
Maven plugin for making self-executing JARs.
@@ -682,21 +682,21 @@ _Libraries that assist with processing office document formats._ > **[Apache POI](https://github.com/apache/poi)** ★ 2.3k 🟢
Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -> **[documents4j](https://github.com/documents4j/documents4j)** ★ 585 🟠
API for document format conversion using third-party converters such as MS Word. +> **[documents4j](https://github.com/documents4j/documents4j)** ★ 585 Apache-2.0 🟠
API for document format conversion using third-party converters such as MS Word. > **[docx4j](https://github.com/plutext/docx4j)** ★ 2.4k 🟢
Create and manipulate Microsoft Open XML files. > **[fastexcel](https://github.com/dhatim/fastexcel)** ★ 908 🟢
High performance library to read and write large Excel (XLSX) worksheets. -> **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 🟢
Converts HTML to CommonMark-compatible Markdown through a Java binding. +> **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 MIT 🟢
Converts HTML to CommonMark-compatible Markdown through a Java binding. -> **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 🟢
Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. +> **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Apache-2.0 🟢
Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. -> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 61 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. +> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 61 Apache-2.0 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. -> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. +> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k MIT 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. -> **[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 🔴
Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. +> **[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 Apache-2.0 🔴
Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.
@@ -705,15 +705,15 @@ _Libraries that assist with processing office document formats._ _Libraries related to the financial domain._ -> **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 🔴
Trading bot framework. +> **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 GPL-3.0 🔴
Trading bot framework. -> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 🟢
Low-latency financial information exchange. +> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Apache-2.0 🟢
Low-latency financial information exchange. -> **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 🟢
Integration with the Stripe API. +> **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 MIT 🟢
Integration with the Stripe API. > **[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k 🟢
Library for technical analysis. -> **[Wickra](https://github.com/wickra-lib/wickra)** ★ 38 🟢
Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. +> **[Wickra](https://github.com/wickra-lib/wickra)** ★ 38 Apache-2.0 🟢
Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j.
@@ -722,11 +722,11 @@ _Libraries related to the financial domain._ _Frameworks and libraries for reading and writing fixed-length and delimited flat files._ -> **[BeanIO](https://github.com/beanio/beanio)** ★ 68 🔴
Maps flat files of fixed-length or delimited records to and from Java beans using XML or annotation configuration. +> **[BeanIO](https://github.com/beanio/beanio)** ★ 68 Apache-2.0 🔴
Maps flat files of fixed-length or delimited records to and from Java beans using XML or annotation configuration. -> **[fixedformat4j](https://github.com/jeyben/fixedformat4j)** ★ 52 🟢
Annotation-driven mapping of fixed-width flat files to and from POJOs and Java records. +> **[fixedformat4j](https://github.com/jeyben/fixedformat4j)** ★ 52 Apache-2.0 🟢
Annotation-driven mapping of fixed-width flat files to and from POJOs and Java records. -> **[Flatpack](https://github.com/Appendium/flatpack)** ★ 64 🟠
Parses and writes delimited and fixed-length flat files with optional column-mapping definitions. +> **[Flatpack](https://github.com/Appendium/flatpack)** ★ 64 Apache-2.0 🟠
Parses and writes delimited and fixed-length flat files with optional column-mapping definitions.
@@ -735,7 +735,7 @@ _Frameworks and libraries for reading and writing fixed-length and delimited fla _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -> **[CATG](https://github.com/ksen007/janala2)** ★ 106 🔴
Concolic unit testing engine. Automatically generates unit tests using formal methods. +> **[CATG](https://github.com/ksen007/janala2)** ★ 106 BSD-2-Clause 🔴
Concolic unit testing engine. Automatically generates unit tests using formal methods. > **[Checker Framework](https://github.com/typetools/checker-framework)** ★ 1.1k 🟢
Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) @@ -756,7 +756,7 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc _Libraries that facilitate functional programming._ -> **[Cyclops](https://github.com/aol/cyclops)** ★ 1.3k 🔴
Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. +> **[Cyclops](https://github.com/aol/cyclops)** ★ 1.3k Apache-2.0 🔴
Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. > **[derive4j](https://github.com/derive4j/derive4j)** ★ 576 🔴
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) @@ -764,17 +764,17 @@ _Libraries that facilitate functional programming._ > **[Functional Java](https://github.com/functionaljava/functionaljava)** ★ 1.6k 🔴
Implements numerous basic and advanced programming abstractions that assist composition-oriented development. -> **[jOOλ](https://github.com/jOOQ/jOOL)** ★ 2.1k 🔴
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. +> **[jOOλ](https://github.com/jOOQ/jOOL)** ★ 2.1k Apache-2.0 🔴
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)** ★ 29 🟢
Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. +> **[Packrat](https://github.com/jhspetersson/packrat)** ★ 29 Apache-2.0 🟢
Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. -> **[Parallel Collectors](https://github.com/pivovarit/parallel-collectors)** ★ 679 🟢
Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. +> **[Parallel Collectors](https://github.com/pivovarit/parallel-collectors)** ★ 679 Apache-2.0 🟢
Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. -> **[protonpack](https://github.com/poetix/protonpack)** ★ 487 🟢
Collection of stream utilities. +> **[protonpack](https://github.com/poetix/protonpack)** ★ 487 MIT 🟢
Collection of stream utilities. -> **[StreamEx](https://github.com/amaembo/streamex)** ★ 2.3k 🟢
Enhances Java 8 Streams. +> **[StreamEx](https://github.com/amaembo/streamex)** ★ 2.3k Apache-2.0 🟢
Enhances Java 8 Streams. -> **[Vavr](https://github.com/vavr-io/vavr)** ★ 6.2k 🟢
Functional component library that provides persistent data types and functional control structures. +> **[Vavr](https://github.com/vavr-io/vavr)** ★ 6.2k Apache-2.0 🟢
Functional component library that provides persistent data types and functional control structures.
@@ -783,23 +783,23 @@ _Libraries that facilitate functional programming._ _Frameworks that support the development of games._ -> **[FXGL](https://github.com/AlmasB/FXGL)** ★ 4.8k 🟢
JavaFX Game Development Framework. +> **[FXGL](https://github.com/AlmasB/FXGL)** ★ 4.8k MIT 🟢
JavaFX Game Development Framework. -> **[input4j](https://github.com/gurkenlabs/input4j)** ★ 25 🟢
Lightweight, cross-platform library for gamepad and joystick input handling. +> **[input4j](https://github.com/gurkenlabs/input4j)** ★ 25 MIT 🟢
Lightweight, cross-platform library for gamepad and joystick input handling. -> **[JBox2D](https://github.com/jbox2d/jbox2d)** ★ 1.1k 🔴
Port of the renowned C++ 2D physics engine. +> **[JBox2D](https://github.com/jbox2d/jbox2d)** ★ 1.1k BSD-2-Clause 🔴
Port of the renowned C++ 2D physics engine. -> **[jMonkeyEngine](https://github.com/jMonkeyEngine/jmonkeyengine)** ★ 4.3k 🟢
Game engine for modern 3D development. +> **[jMonkeyEngine](https://github.com/jMonkeyEngine/jmonkeyengine)** ★ 4.3k BSD-3-Clause 🟢
Game engine for modern 3D development. -> **[libGDX](https://github.com/libgdx/libgdx)** ★ 25.3k 🟢
All-round cross-platform, high-level framework. +> **[libGDX](https://github.com/libgdx/libgdx)** ★ 25.3k Apache-2.0 🟢
All-round cross-platform, high-level framework. -> **[Litiengine](https://github.com/gurkenlabs/litiengine)** ★ 834 🟢
AWT-based, lightweight 2D game engine. +> **[Litiengine](https://github.com/gurkenlabs/litiengine)** ★ 834 MIT 🟢
AWT-based, lightweight 2D game engine. -> **[LWJGL](https://github.com/LWJGL/lwjgl3)** ★ 5.4k 🟢
Robust framework that abstracts libraries like OpenGL/CL/AL. +> **[LWJGL](https://github.com/LWJGL/lwjgl3)** ★ 5.4k BSD-3-Clause 🟢
Robust framework that abstracts libraries like OpenGL/CL/AL. -> **[Mini2Dx](https://github.com/mini2Dx/mini2Dx)** ★ 505 🔴
Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. +> **[Mini2Dx](https://github.com/mini2Dx/mini2Dx)** ★ 505 Apache-2.0 🔴
Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. -> **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 🟠
Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. +> **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 BSD-3-Clause 🟠
Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.
@@ -808,21 +808,21 @@ _Frameworks that support the development of games._ _Libraries for working with geospatial data and algorithms._ -> **[Apache SIS](https://github.com/apache/sis)** ★ 124 🟢
Library for developing geospatial applications. +> **[Apache SIS](https://github.com/apache/sis)** ★ 124 Apache-2.0 🟢
Library for developing geospatial applications. -> **[ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/)** ★ 131 🟠
JavaFX library for adding mapping and GIS functionality to desktop apps. +> **[ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/)** ★ 131 Apache-2.0 🟠
JavaFX library for adding mapping and GIS functionality to desktop apps. -> **[Geo](https://github.com/davidmoten/geo)** ★ 434 🟢
GeoHash utilities in Java. +> **[Geo](https://github.com/davidmoten/geo)** ★ 434 Apache-2.0 🟢
GeoHash utilities in Java. -> **[GeoTools](https://github.com/geotools/geotools)** ★ 1.9k 🟢
Library that provides tools for geospatial data. (LGPL-2.1-only) +> **[GeoTools](https://github.com/geotools/geotools)** ★ 1.9k LGPL-2.1 🟢
Library that provides tools for geospatial data. (LGPL-2.1-only) -> **[GraphHopper](https://github.com/graphhopper/graphhopper)** ★ 6.6k 🟢
Road-routing engine. Used as a Java library or standalone web service. +> **[GraphHopper](https://github.com/graphhopper/graphhopper)** ★ 6.6k Apache-2.0 🟢
Road-routing engine. Used as a Java library or standalone web service. -> **[H2GIS](https://github.com/orbisgis/h2gis)** ★ 220 🟢
Spatial extension of the H2 database. (LGPL-3.0-only) +> **[H2GIS](https://github.com/orbisgis/h2gis)** ★ 220 LGPL-3.0 🟢
Spatial extension of the H2 database. (LGPL-3.0-only) -> **[Jgeohash](https://github.com/astrapi69/jgeohash)** ★ 68 🔴
Library for using the GeoHash algorithm. +> **[Jgeohash](https://github.com/astrapi69/jgeohash)** ★ 68 Apache-2.0 🔴
Library for using the GeoHash algorithm. -> **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k 🟢
Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +> **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k LGPL-3.0 🟢
Map rendering based on OpenStreetMap data. (LGPL-3.0-only) > **[Spatial4j](https://github.com/locationtech/spatial4j)** ★ 962 🟢
General-purpose spatial/geospatial library. @@ -833,17 +833,17 @@ _Libraries for working with geospatial data and algorithms._ _Libraries to create modern graphical user interfaces._ -> **[FlatLaf](https://github.com/JFormDesigner/FlatLaf)** ★ 4.2k 🟢
Modern Swing Look and Feel with Darcula and IntelliJ themes. +> **[FlatLaf](https://github.com/JFormDesigner/FlatLaf)** ★ 4.2k Apache-2.0 🟢
Modern Swing Look and Feel with Darcula and IntelliJ themes. -> **[JavaFX](https://github.com/openjdk/jfx)** ★ 3.3k 🟢
Successor of Swing. +> **[JavaFX](https://github.com/openjdk/jfx)** ★ 3.3k GPL-2.0 🟢
Successor of Swing. > **[Scene Builder](https://github.com/gluonhq/scenebuilder)** ★ 818 🟠
Visual layout tool for JavaFX applications. -> **[Sierra](https://github.com/HTTP-RPC/Sierra)** ★ 150 🟢
Lightwieght declarative DSL for rapid development of Swing applications. +> **[Sierra](https://github.com/HTTP-RPC/Sierra)** ★ 150 Apache-2.0 🟢
Lightwieght declarative DSL for rapid development of Swing applications. > **[SnapKit](https://github.com/reportmill/SnapKit)** ★ 332 🟢
Modern Java UI library for both desktop and web. -> **[SWT](https://github.com/eclipse-platform/eclipse.platform.swt)** ★ 199 🟢
Graphical widget toolkit. +> **[SWT](https://github.com/eclipse-platform/eclipse.platform.swt)** ★ 199 EPL-2.0 🟢
Graphical widget toolkit.
@@ -852,17 +852,17 @@ _Libraries to create modern graphical user interfaces._ _Everything about high-performance computation, from collections to specific libraries._ -> **[Agrona](https://github.com/real-logic/Agrona)** ★ 3.2k 🟢
Data structures and utility methods that are common in high-performance applications. +> **[Agrona](https://github.com/real-logic/Agrona)** ★ 3.2k Apache-2.0 🟢
Data structures and utility methods that are common in high-performance applications. -> **[Disruptor](https://github.com/LMAX-Exchange/disruptor)** ★ 18.4k 🔴
Inter-thread messaging library. +> **[Disruptor](https://github.com/LMAX-Exchange/disruptor)** ★ 18.4k Apache-2.0 🔴
Inter-thread messaging library. > **[Eclipse Collections](https://github.com/eclipse/eclipse-collections)** ★ 2.6k 🟢
Collections framework inspired by Smalltalk. -> **[fastutil](https://github.com/vigna/fastutil)** ★ 2.2k 🟢
Fast and compact type-specific collections. +> **[fastutil](https://github.com/vigna/fastutil)** ★ 2.2k Apache-2.0 🟢
Fast and compact type-specific collections. -> **[HPPC](https://github.com/carrotsearch/hppc)** ★ 1.0k 🟢
Primitive collections. +> **[HPPC](https://github.com/carrotsearch/hppc)** ★ 1.0k Apache-2.0 🟢
Primitive collections. -> **[JCTools](https://github.com/JCTools/JCTools)** ★ 3.9k 🟢
Concurrency tools currently missing from the JDK. +> **[JCTools](https://github.com/JCTools/JCTools)** ★ 3.9k Apache-2.0 🟢
Concurrency tools currently missing from the JDK. > **[Koloboke](https://github.com/leventov/Koloboke)** ★ 1.0k 🔴
Carefully designed extension of the Java Collections Framework with primitive specializations and more. @@ -875,25 +875,25 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ > **[Apache HttpComponents](https://hc.apache.org/)** ★ 2.0k 🟢
Toolset of low-level Java components focused on HTTP and related protocols. -> **[Async Http Client](https://github.com/AsyncHttpClient/async-http-client)** ★ 6.4k 🟢
Asynchronous HTTP and WebSocket client library. +> **[Async Http Client](https://github.com/AsyncHttpClient/async-http-client)** ★ 6.4k Apache-2.0 🟢
Asynchronous HTTP and WebSocket client library. -> **[Avaje Http Client](https://github.com/avaje/avaje-http-client)** ★ 26 🔴
Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. +> **[Avaje Http Client](https://github.com/avaje/avaje-http-client)** ★ 26 Apache-2.0 🔴
Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. -> **[Feign](https://github.com/OpenFeign/feign)** ★ 9.8k 🟢
HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. +> **[Feign](https://github.com/OpenFeign/feign)** ★ 9.8k Apache-2.0 🟢
HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. -> **[Google HTTP Client](https://github.com/googleapis/google-http-java-client)** ★ 1.4k 🟢
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)** ★ 1.4k Apache-2.0 🟢
Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. > **[JQuickCurl](https://github.com/paohaijiao/jquick-curl)** ★ 1.1k 🟢
Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. -> **[methanol](https://github.com/mizosoft/methanol)** ★ 298 🟠
HTTP client extensions library. +> **[methanol](https://github.com/mizosoft/methanol)** ★ 298 MIT 🟠
HTTP client extensions library. -> **[Retrofit](https://github.com/lysine-dev/retrofit)** ★ 43.9k 🟢
Typesafe REST client. +> **[Retrofit](https://github.com/lysine-dev/retrofit)** ★ 43.9k Apache-2.0 🟢
Typesafe REST client. -> **[Ribbon](https://github.com/Netflix/ribbon)** ★ 4.6k 🟠
Client-side IPC library that is battle-tested in the cloud. +> **[Ribbon](https://github.com/Netflix/ribbon)** ★ 4.6k Apache-2.0 🟠
Client-side IPC library that is battle-tested in the cloud. -> **[Riptide](https://github.com/zalando/riptide)** ★ 340 🟢
Client-side response routing for Spring's RestTemplate. +> **[Riptide](https://github.com/zalando/riptide)** ★ 340 MIT 🟢
Client-side response routing for Spring's RestTemplate. -> **[unirest-java](https://github.com/Kong/unirest-java)** ★ 2.7k 🟢
Simplified, lightweight HTTP client library. +> **[unirest-java](https://github.com/Kong/unirest-java)** ★ 2.7k MIT 🟢
Simplified, lightweight HTTP client library.
@@ -902,13 +902,13 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ _Libraries that handle serialization to hypermedia types._ -> **[hate](https://github.com/blackdoor/hate)** ★ 25 🔴
Builds hypermedia-friendly objects according to HAL specification. +> **[hate](https://github.com/blackdoor/hate)** ★ 25 MIT 🔴
Builds hypermedia-friendly objects according to HAL specification. -> **[JSON-LD](https://github.com/jsonld-java/jsonld-java)** ★ 388 🔴
JSON-LD implementation. +> **[JSON-LD](https://github.com/jsonld-java/jsonld-java)** ★ 388 BSD-3-Clause 🔴
JSON-LD implementation. -> **[Siren4J](https://github.com/eserating-chwy/siren4j)** ★ 28 🔴
Library for the Siren specification. +> **[Siren4J](https://github.com/eserating-chwy/siren4j)** ★ 28 MIT 🔴
Library for the Siren specification. -> **[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k 🟢
Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. +> **[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k Apache-2.0 🟢
Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.
@@ -917,13 +917,13 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ -> **[Eclipse Java IDE](https://www.eclipse.org)** ★ 643 🟢
Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. +> **[Eclipse Java IDE](https://www.eclipse.org)** ★ 643 EPL-2.0 🟢
Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. -> **[IntelliJ IDEA ![c]](https://github.com/JetBrains/intellij-community)** ★ 20.4k 🟢
Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +> **[IntelliJ IDEA](https://github.com/JetBrains/intellij-community)** ★ 20.4k 🟢
Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. > **[jGRASP](https://www.jgrasp.org)**
Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. -> **[NetBeans](https://github.com/apache/netbeans)** ★ 3.1k 🟢
Provides integration for several Java SE and EE features, from database access to HTML5. +> **[NetBeans](https://github.com/apache/netbeans)** ★ 3.1k Apache-2.0 🟢
Provides integration for several Java SE and EE features, from database access to HTML5. > **[SnapCode](https://github.com/reportmill/SnapCode)** ★ 43 🟢
Modern IDE for Java running in the browser, focused on education. @@ -936,23 +936,23 @@ _Integrated development environments that try to simplify several aspects of dev _Libraries that assist with the creation, evaluation or manipulation of graphical images._ -> **[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 17 🟢
Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +> **[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 17 Apache-2.0 🟢
Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. -> **[image-comparison](https://github.com/romankh3/image-comparison)** ★ 396 🔴
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)** ★ 396 Apache-2.0 🔴
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. -> **[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k 🔴
Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. +> **[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k Apache-2.0 🔴
Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. -> **[scrimage](https://github.com/sksamuel/scrimage)** ★ 1.2k 🟢
Immutable, functional, and performant JVM library for manipulation of images. +> **[scrimage](https://github.com/sksamuel/scrimage)** ★ 1.2k Apache-2.0 🟢
Immutable, functional, and performant JVM library for manipulation of images. -> **[Tess4J](https://github.com/nguyenq/tess4j)** ★ 1.8k 🟢
JNA wrapper for Tesseract OCR API. +> **[Tess4J](https://github.com/nguyenq/tess4j)** ★ 1.8k Apache-2.0 🟢
JNA wrapper for Tesseract OCR API. -> **[Thumbnailator](https://github.com/coobird/thumbnailator)** ★ 5.4k 🟠
High-quality thumbnail generation library. +> **[Thumbnailator](https://github.com/coobird/thumbnailator)** ★ 5.4k MIT 🟠
High-quality thumbnail generation library. -> **[TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys)** ★ 2.1k 🟢
Collection of plugins that extend the number of supported image file formats. +> **[TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys)** ★ 2.1k BSD-3-Clause 🟢
Collection of plugins that extend the number of supported image file formats. -> **[vips-ffm](https://github.com/lopcode/vips-ffm)** ★ 130 🟢
Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. +> **[vips-ffm](https://github.com/lopcode/vips-ffm)** ★ 130 Apache-2.0 🟢
Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. -> **[ZXing](https://github.com/zxing/zxing)** ★ 34.0k 🟢
Multi-format 1D/2D barcode image processing library. +> **[ZXing](https://github.com/zxing/zxing)** ★ 34.0k Apache-2.0 🟢
Multi-format 1D/2D barcode image processing library.
@@ -961,17 +961,17 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica _Libraries that help make the Java introspection and reflection API easier and faster to use._ -> **[ClassGraph](https://github.com/classgraph/classgraph)** ★ 3.0k 🟢
ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. +> **[ClassGraph](https://github.com/classgraph/classgraph)** ★ 3.0k MIT 🟢
ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. -> **[jOOR](https://github.com/jOOQ/jOOR)** ★ 2.8k 🔴
jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. +> **[jOOR](https://github.com/jOOQ/jOOR)** ★ 2.8k Apache-2.0 🔴
jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -> **[Mirror](https://github.com/vidageek/mirror)** ★ 109 🔴
Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. +> **[Mirror](https://github.com/vidageek/mirror)** ★ 109 Apache-2.0 🔴
Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. -> **[Objenesis](https://github.com/easymock/objenesis)** ★ 631 🟢
Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. +> **[Objenesis](https://github.com/easymock/objenesis)** ★ 631 Apache-2.0 🟢
Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. -> **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k 🔴
ReflectASM is a very small Java library that provides high performance reflection by using code generation. +> **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k BSD-3-Clause 🔴
ReflectASM is a very small Java library that provides high performance reflection by using code generation. -> **[Reflections](https://github.com/ronmamo/reflections)** ★ 4.8k 🔴
Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. +> **[Reflections](https://github.com/ronmamo/reflections)** ★ 4.8k WTFPL 🔴
Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.
@@ -980,19 +980,19 @@ _Libraries that help make the Java introspection and reflection API easier and f _Libraries for scheduling background jobs._ -> **[db-scheduler](https://github.com/kagkarlsson/db-scheduler)** ★ 1.6k 🟢
Persistent and cluster-friendly scheduler. +> **[db-scheduler](https://github.com/kagkarlsson/db-scheduler)** ★ 1.6k Apache-2.0 🟢
Persistent and cluster-friendly scheduler. -> **[easy-batch](https://github.com/j-easy/easy-batch)** ★ 622 🔴
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. +> **[easy-batch](https://github.com/j-easy/easy-batch)** ★ 622 MIT 🔴
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. > **[JobRunr](https://github.com/jobrunr/jobrunr)** ★ 3.0k 🟢
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)** ★ 6.7k 🟢
Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. +> **[Quartz](https://github.com/quartz-scheduler/quartz)** ★ 6.7k Apache-2.0 🟢
Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. -> **[shedlock](https://github.com/lukas-krecan/ShedLock)** ★ 4.2k 🟢
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)** ★ 4.2k Apache-2.0 🟢
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. -> **[Sundial](https://github.com/knowm/Sundial)** ★ 280 🟢
Lightweight framework to simply define jobs, define triggers and start the scheduler. +> **[Sundial](https://github.com/knowm/Sundial)** ★ 280 Apache-2.0 🟢
Lightweight framework to simply define jobs, define triggers and start the scheduler. -> **[Wisp](https://github.com/Coreoz/Wisp)** ★ 148 🟠
Simple library with minimal footprint and straightforward API. +> **[Wisp](https://github.com/Coreoz/Wisp)** ★ 148 Apache-2.0 🟠
Simple library with minimal footprint and straightforward API.
@@ -1001,33 +1001,33 @@ _Libraries for scheduling background jobs._ _Libraries for serializing and deserializing JSON to and from Java objects._ -> **[Avaje Jsonb](https://github.com/avaje/avaje-jsonb)** ★ 93 🟢
Reflection-free Json binding via source code generation with Jackson-like annotations. +> **[Avaje Jsonb](https://github.com/avaje/avaje-jsonb)** ★ 93 Apache-2.0 🟢
Reflection-free Json binding via source code generation with Jackson-like annotations. -> **[DSL-JSON](https://github.com/ngs-doo/dsl-json)** ★ 1.1k 🟢
JSON library with advanced compile time databinding. +> **[DSL-JSON](https://github.com/ngs-doo/dsl-json)** ★ 1.1k BSD-3-Clause 🟢
JSON library with advanced compile time databinding. > **[Genson](https://github.com/owlike/genson)** ★ 224 🔴
Powerful and easy-to-use Java-to-JSON conversion library. -> **[Gson](https://github.com/google/gson)** ★ 24.2k 🟢
Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. +> **[Gson](https://github.com/google/gson)** ★ 24.2k Apache-2.0 🟢
Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -> **[HikariJSON](https://github.com/brettwooldridge/HikariJSON)** ★ 470 🔴
High-performance JSON parser, 2x faster than Jackson. +> **[HikariJSON](https://github.com/brettwooldridge/HikariJSON)** ★ 470 Apache-2.0 🔴
High-performance JSON parser, 2x faster than Jackson. > **[Jackson](https://github.com/FasterXML/jackson)** ★ 9.8k 🟢
Similar to GSON, but offers performance gains if you need to instantiate the library more often. -> **[jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8)** ★ 423 🟢
Set of Jackson modules for Java 8 datatypes and features. +> **[jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8)** ★ 423 Apache-2.0 🟢
Set of Jackson modules for Java 8 datatypes and features. -> **[Jolt](https://github.com/bazaarvoice/jolt)** ★ 1.7k 🟢
JSON to JSON transformation tool. +> **[Jolt](https://github.com/bazaarvoice/jolt)** ★ 1.7k Apache-2.0 🟢
JSON to JSON transformation tool. -> **[JSON-io](https://github.com/jdereg/json-io)** ★ 390 🟢
Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. +> **[JSON-io](https://github.com/jdereg/json-io)** ★ 390 Apache-2.0 🟢
Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. -> **[jsoniter](https://github.com/json-iterator/java)** ★ 1.6k 🔴
Fast and flexible library with iterator and lazy parsing API. +> **[jsoniter](https://github.com/json-iterator/java)** ★ 1.6k MIT 🔴
Fast and flexible library with iterator and lazy parsing API. -> **[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k 🟠
Extract data from JSON using XPATH-like syntax. +> **[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k Apache-2.0 🟠
Extract data from JSON using XPATH-like syntax. -> **[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 317 🔴
Streaming JsonPath processor dedicated to processing big and complicated JSON data. +> **[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 317 MIT 🔴
Streaming JsonPath processor dedicated to processing big and complicated JSON data. -> **[LoganSquare](https://github.com/bluelinelabs/LoganSquare)** ★ 3.2k 🔴
JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. +> **[LoganSquare](https://github.com/bluelinelabs/LoganSquare)** ★ 3.2k Apache-2.0 🔴
JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. -> **[Moshi](https://github.com/square/moshi)** ★ 10.1k 🟢
Modern JSON library, less opinionated and uses built-in types like List and Map. +> **[Moshi](https://github.com/square/moshi)** ★ 10.1k Apache-2.0 🟢
Modern JSON library, less opinionated and uses built-in types like List and Map. > **[Yasson](https://github.com/eclipse-ee4j/yasson)** ★ 217 🟢
Binding layer between classes and JSON documents similar to JAXB. @@ -1042,21 +1042,21 @@ _Current implementations of the JVM/JDK._ > **[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)** ★ 4.3k 🟢
Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. +> **[Dragonwell8](https://github.com/alibaba/dragonwell8)** ★ 4.3k GPL-2.0 🟢
Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. > **[Graal](https://github.com/oracle/graal)** ★ 21.7k 🟢
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) -> **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 🟢
Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! +> **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 MIT 🟢
Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! -> **[Open JDK](https://github.com/openjdk/jdk)** ★ 23.2k 🟢
Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[Open JDK](https://github.com/openjdk/jdk)** ★ 23.2k GPL-2.0 🟢
Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) > **[OpenJ9](https://github.com/eclipse/openj9)** ★ 3.5k 🟢
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. > **[RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview)**
RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 616 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 616 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) > **[Which JDK](https://github.com/whichjdk/whichjdk.com)** ★ 160 🟠
Overview of common JVMs with pros and cons. @@ -1069,11 +1069,11 @@ _Current implementations of the JVM/JDK._ _Libraries that log the behavior of an application._ -> **[Apache Log4j 2](https://github.com/apache/logging-log4j2)** ★ 3.6k 🟢
Complete rewrite with a powerful plugin and configuration architecture. +> **[Apache Log4j 2](https://github.com/apache/logging-log4j2)** ★ 3.6k Apache-2.0 🟢
Complete rewrite with a powerful plugin and configuration architecture. > **[Echopraxia](https://github.com/tersesystems/echopraxia)** ★ 59 🔴
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. -> **[Flogger](https://github.com/google/flogger)** ★ 1.5k 🟢
Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. +> **[Flogger](https://github.com/google/flogger)** ★ 1.5k Apache-2.0 🟢
Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. > **[Graylog](https://github.com/Graylog2/graylog2-server)** ★ 8.1k 🟢
Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) @@ -1081,15 +1081,15 @@ _Libraries that log the behavior of an application._ > **[Logback](https://github.com/qos-ch/logback)** ★ 3.2k 🟢
Robust logging library with interesting configuration options via Groovy. -> **[Logbook](https://github.com/zalando/logbook)** ★ 2.1k 🟢
Extensible, open-source library for HTTP request and response logging. +> **[Logbook](https://github.com/zalando/logbook)** ★ 2.1k MIT 🟢
Extensible, open-source library for HTTP request and response logging. > **[Logstash](https://github.com/elastic/logstash)** ★ 14.9k 🟢
Tool for managing log files. -> **[p6spy](https://github.com/p6spy/p6spy)** ★ 2.2k 🔴
Enables logging for all JDBC transactions without changes to the code. +> **[p6spy](https://github.com/p6spy/p6spy)** ★ 2.2k Apache-2.0 🔴
Enables logging for all JDBC transactions without changes to the code. -> **[SLF4J](https://github.com/qos-ch/slf4j)** ★ 2.5k 🟢
Abstraction layer/simple logging facade. +> **[SLF4J](https://github.com/qos-ch/slf4j)** ★ 2.5k MIT 🟢
Abstraction layer/simple logging facade. -> **[tinylog](https://github.com/tinylog-org/tinylog)** ★ 770 🟢
Lightweight logging framework with static logger class. +> **[tinylog](https://github.com/tinylog-org/tinylog)** ★ 770 Apache-2.0 🟢
Lightweight logging framework with static logger class.
@@ -1098,37 +1098,37 @@ _Libraries that log the behavior of an application._ _Tools that provide specific statistical algorithms for learning from data._ -> **[Apache Flink](https://github.com/apache/flink)** ★ 26.2k 🟢
Fast, reliable, large-scale data processing engine. +> **[Apache Flink](https://github.com/apache/flink)** ★ 26.2k Apache-2.0 🟢
Fast, reliable, large-scale data processing engine. -> **[Apache Mahout](https://github.com/apache/mahout)** ★ 2.3k 🟢
Scalable algorithms focused on collaborative filtering, clustering and classification. +> **[Apache Mahout](https://github.com/apache/mahout)** ★ 2.3k Apache-2.0 🟢
Scalable algorithms focused on collaborative filtering, clustering and classification. -> **[DatumBox](https://github.com/datumbox/datumbox-framework)** ★ 1.1k 🔴
Provides several algorithms and pre-trained models for natural language processing. +> **[DatumBox](https://github.com/datumbox/datumbox-framework)** ★ 1.1k Apache-2.0 🔴
Provides several algorithms and pre-trained models for natural language processing. -> **[Deeplearning4j](https://github.com/deeplearning4j/deeplearning4j)** ★ 14.2k 🟢
Distributed and multi-threaded deep learning library. +> **[Deeplearning4j](https://github.com/deeplearning4j/deeplearning4j)** ★ 14.2k Apache-2.0 🟢
Distributed and multi-threaded deep learning library. -> **[DJL](https://github.com/deepjavalibrary/djl)** ★ 4.8k 🟢
High-level and engine-agnostic framework for deep learning. +> **[DJL](https://github.com/deepjavalibrary/djl)** ★ 4.8k Apache-2.0 🟢
High-level and engine-agnostic framework for deep learning. -> **[H2O ![c]](https://github.com/h2oai/h2o-3)** ★ 7.5k 🟢
Analytics engine for statistics over big data. +> **[H2O](https://github.com/h2oai/h2o-3)** ★ 7.5k Apache-2.0 🟢
Analytics engine for statistics over big data. -> **[Intelligent java](https://github.com/Barqawiz/IntelliJava)** ★ 64 🔴
Seamlessly integrate with remote deep learning and language models programmatically. +> **[Intelligent java](https://github.com/Barqawiz/IntelliJava)** ★ 64 Apache-2.0 🔴
Seamlessly integrate with remote deep learning and language models programmatically. -> **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 🔴
Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +> **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 GPL-3.0 🔴
Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) -> **[m2cgen](https://github.com/BayesWitnesses/m2cgen)** ★ 3.0k 🔴
CLI tool to transpile models into native code. +> **[m2cgen](https://github.com/BayesWitnesses/m2cgen)** ★ 3.0k MIT 🔴
CLI tool to transpile models into native code. -> **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 🟠
A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. +> **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 MIT 🟠
A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -> **[oj! Algorithms](https://github.com/optimatika/ojAlgo)** ★ 502 🟢
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +> **[oj! Algorithms](https://github.com/optimatika/ojAlgo)** ★ 502 MIT 🟢
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -> **[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k 🟢
Cloud native streaming and complex event processing engine. +> **[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k Apache-2.0 🟢
Cloud native streaming and complex event processing engine. -> **[sklearn-java](https://github.com/kVeyra/sklearn-java)** ★ 3 🟢
Implements scikit-learn-style machine learning algorithms in pure Java. +> **[sklearn-java](https://github.com/kVeyra/sklearn-java)** ★ 3 Apache-2.0 🟢
Implements scikit-learn-style machine learning algorithms in pure Java. > **[Smile](https://github.com/haifengl/smile)** ★ 6.4k 🟢
Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. -> **[Tribuo](https://github.com/oracle/tribuo)** ★ 1.4k 🟢
Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. +> **[Tribuo](https://github.com/oracle/tribuo)** ★ 1.4k Apache-2.0 🟢
Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -> **[Weka](https://github.com/Waikato/weka)** ★ 34 🔴
Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +> **[Weka](https://github.com/Waikato/weka)** ★ 34 GPL-3.0 🔴
Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)
@@ -1137,35 +1137,35 @@ _Tools that provide specific statistical algorithms for learning from data._ _Tools that help send messages between clients to ensure protocol independency._ -> **[Aeron](https://github.com/real-logic/Aeron)** ★ 8.8k 🟢
Efficient, reliable, unicast and multicast message transport. +> **[Aeron](https://github.com/real-logic/Aeron)** ★ 8.8k Apache-2.0 🟢
Efficient, reliable, unicast and multicast message transport. -> **[Apache ActiveMQ](https://github.com/apache/activemq)** ★ 2.4k 🟢
Message broker that implements JMS and converts synchronous to asynchronous communication. +> **[Apache ActiveMQ](https://github.com/apache/activemq)** ★ 2.4k Apache-2.0 🟢
Message broker that implements JMS and converts synchronous to asynchronous communication. -> **[Apache Camel](https://github.com/apache/camel)** ★ 6.3k 🟢
Glues together different transport APIs via Enterprise Integration Patterns. +> **[Apache Camel](https://github.com/apache/camel)** ★ 6.3k Apache-2.0 🟢
Glues together different transport APIs via Enterprise Integration Patterns. -> **[Apache Kafka](https://github.com/apache/kafka)** ★ 33.3k 🟢
High-throughput distributed messaging system. +> **[Apache Kafka](https://github.com/apache/kafka)** ★ 33.3k Apache-2.0 🟢
High-throughput distributed messaging system. -> **[Apache Pulsar](https://github.com/apache/pulsar)** ★ 15.3k 🟢
Distributed pub/sub-messaging system. +> **[Apache Pulsar](https://github.com/apache/pulsar)** ★ 15.3k Apache-2.0 🟢
Distributed pub/sub-messaging system. -> **[Apache Qpid for Java](https://qpid.apache.org)** ★ 212 🟢
Java messaging clients and brokers implementing AMQP. +> **[Apache Qpid for Java](https://qpid.apache.org)** ★ 212 Apache-2.0 🟢
Java messaging clients and brokers implementing AMQP. -> **[Apache RocketMQ](https://github.com/apache/rocketmq)** ★ 22.5k 🟢
Fast, reliable, and scalable distributed messaging platform. +> **[Apache RocketMQ](https://github.com/apache/rocketmq)** ★ 22.5k Apache-2.0 🟢
Fast, reliable, and scalable distributed messaging platform. -> **[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k 🟢
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +> **[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k Apache-2.0 🟢
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -> **[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 🟠
Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. +> **[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 Apache-2.0 🟠
Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. -> **[EventBus](https://github.com/greenrobot/EventBus)** ★ 24.7k 🔴
Simple publish/subscribe event bus. +> **[EventBus](https://github.com/greenrobot/EventBus)** ★ 24.7k Apache-2.0 🔴
Simple publish/subscribe event bus. > **[Hermes](https://github.com/allegro/hermes)** ★ 863 🟢
Fast and reliable message broker built on top of Kafka. -> **[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k 🟠
Implementation of ZeroMQ. +> **[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k MPL-2.0 🟠
Implementation of ZeroMQ. -> **[NATS client](https://github.com/nats-io/nats.java)** ★ 670 🟢
NATS client. +> **[NATS client](https://github.com/nats-io/nats.java)** ★ 670 Apache-2.0 🟢
NATS client. > **[RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client)** ★ 1.3k 🟢
RabbitMQ client. -> **[Smack](https://github.com/igniterealtime/Smack)** ★ 2.4k 🟢
Cross-platform XMPP client library. +> **[Smack](https://github.com/igniterealtime/Smack)** ★ 2.4k Apache-2.0 🟢
Cross-platform XMPP client library.
@@ -1174,25 +1174,25 @@ _Tools that help send messages between clients to ensure protocol independency._ _Tools for creating and managing microservices._ -> **[Armeria](https://github.com/line/armeria)** ★ 5.1k 🟢
Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC. +> **[Armeria](https://github.com/line/armeria)** ★ 5.1k Apache-2.0 🟢
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)** ★ 421 🔴
Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. +> **[consul-api](https://github.com/Ecwid/consul-api)** ★ 421 Apache-2.0 🔴
Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. -> **[Eureka](https://github.com/Netflix/eureka)** ★ 12.7k 🟠
REST-based service registry for resilient load balancing and failover. +> **[Eureka](https://github.com/Netflix/eureka)** ★ 12.7k Apache-2.0 🟠
REST-based service registry for resilient load balancing and failover. -> **[Helidon](https://github.com/helidon-io/helidon)** ★ 3.8k 🟢
Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. +> **[Helidon](https://github.com/helidon-io/helidon)** ★ 3.8k Apache-2.0 🟢
Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -> **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k 🟢
Wrapping of the Discord REST API and its WebSocket events. +> **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k Apache-2.0 🟢
Wrapping of the Discord REST API and its WebSocket events. -> **[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k 🟢
Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. +> **[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k Apache-2.0 🟢
Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. -> **[Micronaut](https://github.com/micronaut-projects/micronaut-core)** ★ 6.4k 🟢
Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. +> **[Micronaut](https://github.com/micronaut-projects/micronaut-core)** ★ 6.4k Apache-2.0 🟢
Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. -> **[Nacos](https://github.com/alibaba/nacos)** ★ 33.2k 🟢
Dynamic service discovery, configuration and service management platform for building cloud native applications. +> **[Nacos](https://github.com/alibaba/nacos)** ★ 33.2k Apache-2.0 🟢
Dynamic service discovery, configuration and service management platform for building cloud native applications. -> **[Quarkus](https://github.com/quarkusio/quarkus)** ★ 15.8k 🟢
Kubernetes stack tailored for the HotSpot and Graal VM. +> **[Quarkus](https://github.com/quarkusio/quarkus)** ★ 15.8k Apache-2.0 🟢
Kubernetes stack tailored for the HotSpot and Graal VM. -> **[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k 🟢
Flow control component enabling reliability, resilience and monitoring for microservices. +> **[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k Apache-2.0 🟢
Flow control component enabling reliability, resilience and monitoring for microservices.
@@ -1203,39 +1203,39 @@ _Everything else._ > **[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 🟢
Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) -> **[CQEngine](https://github.com/npgall/cqengine)** ★ 1.8k 🔴
Ultra-fast, SQL-like queries on Java collections. +> **[CQEngine](https://github.com/npgall/cqengine)** ★ 1.8k Apache-2.0 🔴
Ultra-fast, SQL-like queries on Java collections. > **[Design Patterns](https://github.com/iluwatar/java-design-patterns)** ★ 94.2k 🟢
Implementation and explanation of the most common design patterns. -> **[Explyt ![c]](https://github.com/explyt/explyt)** ★ 22 🟢
AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. +> **[Explyt](https://github.com/explyt/explyt)** ★ 22 🟢
AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. -> **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k 🟢
Feature Flags for Java. +> **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k Apache-2.0 🟢
Feature Flags for Java. > **[FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)** ★ 23.8k 🔴
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)** ★ 10 🟠
Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. +> **[IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java)** ★ 10 MIT 🟠
Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. -> **[ISBN core](https://github.com/ladutsko/isbn-core)** ★ 5 🟢
A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. +> **[ISBN core](https://github.com/ladutsko/isbn-core)** ★ 5 MIT 🟢
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)** ★ 6.0k 🟢
Java-to-Objective-C translator for porting Android libraries to iOS. -> **[JBake](https://github.com/jbake-org/jbake)** ★ 1.2k 🟠
Static website generator. +> **[JBake](https://github.com/jbake-org/jbake)** ★ 1.2k MIT 🟠
Static website generator. -> **[JBang](https://github.com/jbangdev/jbang)** ★ 1.8k 🟢
JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. +> **[JBang](https://github.com/jbangdev/jbang)** ★ 1.8k MIT 🟢
JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. -> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k 🟠
Framework for building chatbots. (GPL-3.0-only) +> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k GPL-3.0 🟠
Framework for building chatbots. (GPL-3.0-only) -> **[JCuda](https://github.com/jcuda/jcuda)** ★ 266 🔴
JCuda offers Java bindings for CUDA and CUDA-related libraries. +> **[JCuda](https://github.com/jcuda/jcuda)** ★ 266 MIT 🔴
JCuda offers Java bindings for CUDA and CUDA-related libraries. -> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 🟢
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. +> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 Apache-2.0 🟢
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -> **[Jimfs](https://github.com/google/jimfs)** ★ 2.6k 🟢
In-memory file system. +> **[Jimfs](https://github.com/google/jimfs)** ★ 2.6k Apache-2.0 🟢
In-memory file system. -> **[JObfuscator![c]](https://www.pelock.com/products/jobfuscator)**
Source code obfuscator. +> **[JObfuscator](https://www.pelock.com/products/jobfuscator)**
Source code obfuscator. -> **[Joda-Money](https://github.com/JodaOrg/joda-money)** ★ 679 🟠
Basic currency and money classes and algorithms not provided by the JDK. +> **[Joda-Money](https://github.com/JodaOrg/joda-money)** ★ 679 Apache-2.0 🟠
Basic currency and money classes and algorithms not provided by the JDK. -> **[jOOX](https://github.com/jooq/joox)** ★ 506 🔴
Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. +> **[jOOX](https://github.com/jooq/joox)** ★ 506 Apache-2.0 🔴
Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. > **[JPad](https://jpad.io)**
Snippet runner. @@ -1243,47 +1243,47 @@ _Everything else._ > **[jsweet](https://github.com/cincheo/jsweet)** ★ 1.5k 🔴
Source transpiler to TypeScript/JavaScript. -> **[LittleProxy](https://github.com/adamfisk/LittleProxy)** ★ 2.1k 🔴
High performance HTTP proxy atop Netty's event-based networking library. +> **[LittleProxy](https://github.com/adamfisk/LittleProxy)** ★ 2.1k Apache-2.0 🔴
High performance HTTP proxy atop Netty's event-based networking library. -> **[Maven Wrapper](https://github.com/apache/maven-wrapper)** ★ 252 🟢
Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. +> **[Maven Wrapper](https://github.com/apache/maven-wrapper)** ★ 252 Apache-2.0 🟢
Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. -> **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 🟢
Open-source, reverse-proxy framework. +> **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 Apache-2.0 🟢
Open-source, reverse-proxy framework. -> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 🔴
Lightweight, small and customizable FTP server. +> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 Apache-2.0 🔴
Lightweight, small and customizable FTP server. -> **[Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial)** ★ 16.7k 🔴
Popular Java 8 guide. +> **[Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial)** ★ 16.7k MIT 🔴
Popular Java 8 guide. -> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 🟢
Detect uses of legacy Java APIs. +> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 Apache-2.0 🟢
Detect uses of legacy Java APIs. -> **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 🟢
Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. +> **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 MIT 🟢
Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. -> **[OctoLinker](https://github.com/OctoLinker/OctoLinker)** ★ 5.4k 🔴
Browser extension which allows to navigate through code on GitHub more efficiently. +> **[OctoLinker](https://github.com/OctoLinker/OctoLinker)** ★ 5.4k MIT 🔴
Browser extension which allows to navigate through code on GitHub more efficiently. -> **[OpenRefine](https://github.com/OpenRefine/OpenRefine)** ★ 11.9k 🟢
Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +> **[OpenRefine](https://github.com/OpenRefine/OpenRefine)** ★ 11.9k BSD-3-Clause 🟢
Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -> **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 🟠
Small utility library for using handlers and commands with pipelines. +> **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 MIT 🟠
Small utility library for using handlers and commands with pipelines. -> **[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 🟢
Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. +> **[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 EPL-1.0 🟢
Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -> **[Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java)** ★ 3 🟢
Java SDK for evaluating Rollgate feature flags with real-time configuration updates. +> **[Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java)** ★ 3 MIT 🟢
Java SDK for evaluating Rollgate feature flags with real-time configuration updates. -> **[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 🔴
RR4J is a tool that records java bytecode execution and later allows developers to replay locally. +> **[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 GPL-3.0 🔴
RR4J is a tool that records java bytecode execution and later allows developers to replay locally. -> **[Simple Java Mail](https://github.com/bbottema/simple-java-mail)** ★ 1.3k 🟢
Mailing with a clean and fluent API. +> **[Simple Java Mail](https://github.com/bbottema/simple-java-mail)** ★ 1.3k Apache-2.0 🟢
Mailing with a clean and fluent API. > **[Smooks](https://github.com/smooks/smooks)** ★ 417 🟠
Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -> **[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k 🟢
Library for the Svix API to send webhooks and verify signatures. +> **[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k MIT 🟢
Library for the Svix API to send webhooks and verify signatures. -> **[Togglz](https://github.com/togglz/togglz)** ★ 1.0k 🟢
Implementation of the Feature Toggles pattern. +> **[Togglz](https://github.com/togglz/togglz)** ★ 1.0k Apache-2.0 🟢
Implementation of the Feature Toggles pattern. -> **[TypeTools](https://github.com/jhalterman/typetools)** ★ 629 🔴
Tools for resolving generic types. +> **[TypeTools](https://github.com/jhalterman/typetools)** ★ 629 Apache-2.0 🔴
Tools for resolving generic types. -> **[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k 🟠
Library for using built-in and external webcams directly in Java. +> **[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k MIT 🟠
Library for using built-in and external webcams directly in Java. -> **[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 🟠
Processes XML by using annotations or XPath within code. +> **[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 Apache-2.0 🟠
Processes XML by using annotations or XPath within code. -> **[yGuard](https://github.com/yWorks/yGuard)** ★ 477 🟠
Obfuscation via renaming and shrinking. +> **[yGuard](https://github.com/yWorks/yGuard)** ★ 477 MIT 🟠
Obfuscation via renaming and shrinking.
@@ -1294,9 +1294,9 @@ _Tools for creating or managing mobile applications._ > **[Codename One](https://github.com/codenameone/CodenameOne)** ★ 1.9k 🟢
Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[MobileUI](https://github.com/MobileUI/mobileui)** ★ 13 🔴
Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. +> **[MobileUI](https://github.com/MobileUI/mobileui)** ★ 13 MIT 🔴
Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. -> **[Multi-OS Engine](https://github.com/multi-os-engine/multi-os-engine)** ★ 596 🟢
Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. +> **[Multi-OS Engine](https://github.com/multi-os-engine/multi-os-engine)** ★ 596 Apache-2.0 🟢
Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.
@@ -1305,47 +1305,47 @@ _Tools for creating or managing mobile applications._ _Tools that observe/monitor applications in production by providing telemetry._ -> **[Apitally](https://github.com/apitally/apitally-java)** ★ 6 🟢
Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. +> **[Apitally](https://github.com/apitally/apitally-java)** ★ 6 MIT 🟢
Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. -> **[Automon](https://github.com/stevensouza/automon)** ★ 571 🔴
Combines the power of AOP with monitoring and/or logging tools. +> **[Automon](https://github.com/stevensouza/automon)** ★ 571 Apache-2.0 🔴
Combines the power of AOP with monitoring and/or logging tools. -> **[Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage)** ★ 2 🟢
Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. +> **[Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage)** ★ 2 Apache-2.0 🟢
Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. -> **[Datadog ![c]](https://github.com/DataDog/dd-trace-java)** ★ 727 🟢
Modern monitoring & analytics. +> **[Datadog](https://github.com/DataDog/dd-trace-java)** ★ 727 Apache-2.0 🟢
Modern monitoring & analytics. -> **[Dropwizard Metrics](https://github.com/dropwizard/metrics)** ★ 7.8k 🟢
Expose metrics via JMX or HTTP and send them to a database. +> **[Dropwizard Metrics](https://github.com/dropwizard/metrics)** ★ 7.8k Apache-2.0 🟢
Expose metrics via JMX or HTTP and send them to a database. -> **[Glowroot](https://github.com/glowroot/glowroot)** ★ 1.4k 🟢
Open-source Java APM. +> **[Glowroot](https://github.com/glowroot/glowroot)** ★ 1.4k Apache-2.0 🟢
Open-source Java APM. -> **[HertzBeat](https://github.com/dromara/hertzbeat)** ★ 7.3k 🟢
Real-time monitoring system with custom-monitor and agentless. +> **[HertzBeat](https://github.com/dromara/hertzbeat)** ★ 7.3k Apache-2.0 🟢
Real-time monitoring system with custom-monitor and agentless. -> **[hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md)** ★ 6.0k 🟠
Dynamic and observable thread pool framework. +> **[hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md)** ★ 6.0k Apache-2.0 🟠
Dynamic and observable thread pool framework. -> **[inspectIT Ocelot](https://github.com/inspectIT/inspectit-ocelot)** ★ 220 🟠
Java agent that collects application performance, tracing and behavioral data. +> **[inspectIT Ocelot](https://github.com/inspectIT/inspectit-ocelot)** ★ 220 Apache-2.0 🟠
Java agent that collects application performance, tracing and behavioral data. -> **[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3.0k 🟢
Performance monitoring and profiling. +> **[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3.0k Apache-2.0 🟢
Performance monitoring and profiling. -> **[jmxtrans](https://github.com/jmxtrans/jmxtrans)** ★ 1.7k 🔴
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)** ★ 1.7k MIT 🔴
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://github.com/jolokia/jolokia)** ★ 848 🟢
JMX over REST. +> **[Jolokia](https://github.com/jolokia/jolokia)** ★ 848 Apache-2.0 🟢
JMX over REST. -> **[Micrometer](https://github.com/micrometer-metrics/micrometer)** ★ 4.9k 🟢
Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. +> **[Micrometer](https://github.com/micrometer-metrics/micrometer)** ★ 4.9k Apache-2.0 🟢
Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. -> **[Micrometer Tracing](https://github.com/micrometer-metrics/tracing)** ★ 296 🟢
Vendor-neutral distributed tracing facade for the most popular tracer libraries. +> **[Micrometer Tracing](https://github.com/micrometer-metrics/tracing)** ★ 296 Apache-2.0 🟢
Vendor-neutral distributed tracing facade for the most popular tracer libraries. -> **[nudge4j](https://github.com/lorenzoongithub/nudge4j)** ★ 164 🔴
Remote developer console from the browser for Java 8 via bytecode injection. +> **[nudge4j](https://github.com/lorenzoongithub/nudge4j)** ★ 164 MIT 🔴
Remote developer console from the browser for Java 8 via bytecode injection. -> **[OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java)** ★ 2.4k 🟢
Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. +> **[OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java)** ★ 2.4k Apache-2.0 🟢
Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. -> **[Pinpoint](https://github.com/naver/pinpoint)** ★ 13.8k 🟢
Open-source APM tool. +> **[Pinpoint](https://github.com/naver/pinpoint)** ★ 13.8k Apache-2.0 🟢
Open-source APM tool. -> **[Prometheus](https://github.com/prometheus/client_java)** ★ 2.3k 🟢
Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. +> **[Prometheus](https://github.com/prometheus/client_java)** ★ 2.3k Apache-2.0 🟢
Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. -> **[Sentry ![c]](https://github.com/getsentry/sentry-java)** ★ 1.3k 🟢
Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. +> **[Sentry](https://github.com/getsentry/sentry-java)** ★ 1.3k MIT 🟢
Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. -> **[SPM ![c]](https://github.com/sematext/sematext-agent-java)** ★ 25 🟢
Performance monitor with distributing transaction tracing for JVM apps. +> **[SPM](https://github.com/sematext/sematext-agent-java)** ★ 25 Apache-2.0 🟢
Performance monitor with distributing transaction tracing for JVM apps. -> **[zipkin](https://github.com/openzipkin/zipkin)** ★ 17.4k 🟠
Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +> **[zipkin](https://github.com/openzipkin/zipkin)** ★ 17.4k Apache-2.0 🟠
Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures.
@@ -1354,7 +1354,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ _For working with platform-specific native libraries._ -> **[Aparapi](https://github.com/Syncleus/aparapi)** ★ 480 🔴
Converts bytecode to OpenCL which allows execution on GPUs. +> **[Aparapi](https://github.com/Syncleus/aparapi)** ★ 480 Apache-2.0 🔴
Converts bytecode to OpenCL which allows execution on GPUs. > **[JavaCPP](https://github.com/bytedeco/javacpp)** ★ 4.7k 🟢
Provides efficient and easy access to native C++. @@ -1373,11 +1373,11 @@ _Libraries that specialize in processing text._ > **[CogCompNLP](https://github.com/CogComp/cogcomp-nlp)** ★ 479 🔴
Provides common annotators for plain text input. (Research and Academic Use License) -> **[CoreNLP](https://github.com/stanfordnlp/CoreNLP)** ★ 10.1k 🟢
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +> **[CoreNLP](https://github.com/stanfordnlp/CoreNLP)** ★ 10.1k GPL-3.0 🟢
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) > **[DKPro](https://github.com/dkpro/dkpro-core)** ★ 204 🟢
Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. -> **[Hypherator](https://github.com/ejossev/hypherator-java)** ★ 4 🔴
Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. +> **[Hypherator](https://github.com/ejossev/hypherator-java)** ★ 4 MIT 🔴
Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. > **[LingPipe](https://alias-i.com/lingpipe/)**
Toolkit for tasks ranging from POS tagging to sentiment analysis. @@ -1388,37 +1388,37 @@ _Libraries that specialize in processing text._ _Libraries for building network servers._ -> **[Commons-networking](https://github.com/CiscoSE/commons-networking)** ★ 21 🔴
Client for server-sent events (SSE). +> **[Commons-networking](https://github.com/CiscoSE/commons-networking)** ★ 21 Apache-2.0 🔴
Client for server-sent events (SSE). > **[Comsat](https://github.com/puniverse/comsat)** ★ 594 🔴
Integrates standard Java web-related APIs with Quasar fibers and actors. -> **[Drift](https://github.com/airlift/drift)** ★ 249 🟢
Easy-to-use, annotation-based library for creating Thrift clients and serializable types. +> **[Drift](https://github.com/airlift/drift)** ★ 249 Apache-2.0 🟢
Easy-to-use, annotation-based library for creating Thrift clients and serializable types. -> **[Dubbo](https://github.com/apache/dubbo)** ★ 41.5k 🟢
High-performance RPC framework. +> **[Dubbo](https://github.com/apache/dubbo)** ★ 41.5k Apache-2.0 🟢
High-performance RPC framework. -> **[Fluency](https://github.com/komamitsu/fluency)** ★ 167 🟢
High throughput data ingestion logger to Fluentd and Fluent Bit. +> **[Fluency](https://github.com/komamitsu/fluency)** ★ 167 Apache-2.0 🟢
High throughput data ingestion logger to Fluentd and Fluent Bit. > **[Grizzly](https://github.com/eclipse-ee4j/grizzly)** ★ 180 🟢
NIO framework. Used as a network layer in Glassfish. -> **[gRPC-java](https://github.com/grpc/grpc-java)** ★ 12.1k 🟢
RPC framework based on protobuf and HTTP/2. +> **[gRPC-java](https://github.com/grpc/grpc-java)** ★ 12.1k Apache-2.0 🟢
RPC framework based on protobuf and HTTP/2. -> **[java-ngrok](https://github.com/alexdlaird/java-ngrok)** ★ 60 🟢
Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. +> **[java-ngrok](https://github.com/alexdlaird/java-ngrok)** ★ 60 MIT 🟢
Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. -> **[KryoNet](https://github.com/EsotericSoftware/kryonet)** ★ 1.9k 🔴
Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +> **[KryoNet](https://github.com/EsotericSoftware/kryonet)** ★ 1.9k BSD-3-Clause 🔴
Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. -> **[MINA](https://github.com/apache/mina)** ★ 925 🟢
Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +> **[MINA](https://github.com/apache/mina)** ★ 925 Apache-2.0 🟢
Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -> **[Netty](https://github.com/netty/netty)** ★ 35.0k 🟢
Framework for building high-performance network applications. +> **[Netty](https://github.com/netty/netty)** ★ 35.0k Apache-2.0 🟢
Framework for building high-performance network applications. -> **[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1.0k 🟢
Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. +> **[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1.0k Apache-2.0 🟢
Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. -> **[sshj](https://github.com/hierynomus/sshj)** ★ 2.7k 🟢
Programmatically use SSH, SCP or SFTP. +> **[sshj](https://github.com/hierynomus/sshj)** ★ 2.7k Apache-2.0 🟢
Programmatically use SSH, SCP or SFTP. -> **[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 🟠
Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. +> **[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 MIT 🟠
Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -> **[Undertow](https://github.com/undertow-io/undertow)** ★ 3.8k 🟢
Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +> **[Undertow](https://github.com/undertow-io/undertow)** ★ 3.8k Apache-2.0 🟢
Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) -> **[urnlib](https://github.com/slub/urnlib)** ★ 36 🟠
Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +> **[urnlib](https://github.com/slub/urnlib)** ★ 36 GPL-3.0 🟠
Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only)
@@ -1429,25 +1429,25 @@ _APIs that handle the persistence of objects._ > **[Apache Cayenne](https://github.com/apache/cayenne)** ★ 345 🟢
Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. -> **[Doma](https://github.com/domaframework/doma)** ★ 504 🟢
Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. +> **[Doma](https://github.com/domaframework/doma)** ★ 504 Apache-2.0 🟢
Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. -> **[Ebean](https://github.com/ebean-orm/ebean)** ★ 1.5k 🟢
Provides simple and fast data access. +> **[Ebean](https://github.com/ebean-orm/ebean)** ★ 1.5k Apache-2.0 🟢
Provides simple and fast data access. > **[EclipseLink](https://github.com/eclipse-ee4j/eclipselink)** ★ 242 🟢
Supports a number of persistence standards: JPA, JAXB, JCA and SDO. -> **[Hibernate](https://github.com/hibernate/hibernate-orm)** ★ 6.5k 🟢
Robust and widely used, with an active community. (LGPL-2.1-only) +> **[Hibernate](https://github.com/hibernate/hibernate-orm)** ★ 6.5k Apache-2.0 🟢
Robust and widely used, with an active community. (LGPL-2.1-only) -> **[MyBatis](https://github.com/mybatis/mybatis-3)** ★ 20.4k 🟢
Couples objects with stored procedures or SQL statements. +> **[MyBatis](https://github.com/mybatis/mybatis-3)** ★ 20.4k Apache-2.0 🟢
Couples objects with stored procedures or SQL statements. > **[mybatis-dynamic](https://github.com/myacelw/mybatis-dynamic)** ★ 4 🟠
Code-first dynamic ORM for MyBatis with runtime schema modification. -> **[MyBatis-Plus](https://github.com/baomidou/mybatis-plus)** ★ 17.4k 🟢
A powerful enhanced toolkit of MyBatis for simplifying development. +> **[MyBatis-Plus](https://github.com/baomidou/mybatis-plus)** ★ 17.4k Apache-2.0 🟢
A powerful enhanced toolkit of MyBatis for simplifying development. -> **[ObjectiveSql](https://github.com/braisdom/ObjectiveSql)** ★ 1.3k 🔴
ActiveRecord ORM for rapid development and convention over configuration. +> **[ObjectiveSql](https://github.com/braisdom/ObjectiveSql)** ★ 1.3k Apache-2.0 🔴
ActiveRecord ORM for rapid development and convention over configuration. -> **[Permazen](https://github.com/permazen/permazen)** ★ 424 🟠
Language-natural persistence layer. +> **[Permazen](https://github.com/permazen/permazen)** ★ 424 Apache-2.0 🟠
Language-natural persistence layer. -> **[SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper)** ★ 458 🟠
Simple database and CSV mapper. +> **[SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper)** ★ 458 MIT 🟠
Simple database and CSV mapper.
@@ -1456,17 +1456,17 @@ _APIs that handle the persistence of objects._ _Java platform as a service._ -> **[AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/)**
AWS-based, with support for Tomcat and Jetty. +> **[AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/)**
AWS-based, with support for Tomcat and Jetty. -> **[AWS Lambda ![c]](https://aws.amazon.com/lambda/)**
Serverless computation. +> **[AWS Lambda](https://aws.amazon.com/lambda/)**
Serverless computation. -> **[Google Cloud ![c]](https://cloud.google.com)**
Google's cloud infrastructure. +> **[Google Cloud](https://cloud.google.com)**
Google's cloud infrastructure. -> **[Heroku ![c]](https://www.heroku.com)**
Abstract computing environments. +> **[Heroku](https://www.heroku.com)**
Abstract computing environments. -> **[Microsoft Azure ![c]](https://azure.microsoft.com/en-us/)**
Microsoft's cloud infrastructure. +> **[Microsoft Azure](https://azure.microsoft.com/en-us/)**
Microsoft's cloud infrastructure. -> **[OpenShift ![c]](https://www.openshift.com)**
Provides additionally an on-premise solution. +> **[OpenShift](https://www.openshift.com)**
Provides additionally an on-premise solution.
@@ -1475,7 +1475,7 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ -> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 373 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. +> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 373 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance.
@@ -1484,23 +1484,23 @@ _Algorithms and libraries for finding routes in graphs and spatial environments. _Tools to help with PDF files._ -> **[Apache FOP](https://github.com/apache/xmlgraphics-fop)** ★ 225 🟢
Creates PDFs from XSL-FO. +> **[Apache FOP](https://github.com/apache/xmlgraphics-fop)** ★ 225 Apache-2.0 🟢
Creates PDFs from XSL-FO. -> **[Apache PDFBox](https://github.com/apache/pdfbox)** ★ 3.1k 🟢
Toolbox for creating and manipulating PDFs. +> **[Apache PDFBox](https://github.com/apache/pdfbox)** ★ 3.1k Apache-2.0 🟢
Toolbox for creating and manipulating PDFs. -> **[Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper)** ★ 258 🔴
Abstraction layer to JasperReports. (LGPL-3.0-only) +> **[Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper)** ★ 258 LGPL-3.0 🔴
Abstraction layer to JasperReports. (LGPL-3.0-only) -> **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 🟢
Simplifies JasperReports. (LGPL-3.0-only) +> **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 LGPL-3.0 🟢
Simplifies JasperReports. (LGPL-3.0-only) -> **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 540 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +> **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 540 EPL-2.0 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. > **[flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer)** ★ 2.2k 🟢
XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) -> **[GraphCompose](https://github.com/DemchaAV/GraphCompose)** ★ 106 🟢
Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. +> **[GraphCompose](https://github.com/DemchaAV/GraphCompose)** ★ 106 MIT 🟢
Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. -> **[iText ![c]](https://github.com/itext/itext-java)** ★ 2.3k 🟢
Creates PDF files programmatically. +> **[iText](https://github.com/itext/itext-java)** ★ 2.3k 🟢
Creates PDF files programmatically. -> **[JasperReports](https://github.com/Jaspersoft/jasperreports)** ★ 1.4k 🟢
Complex reporting engine. (LGPL-3.0-only) +> **[JasperReports](https://github.com/Jaspersoft/jasperreports)** ★ 1.4k LGPL-3.0 🟢
Complex reporting engine. (LGPL-3.0-only) > **[jquick-pdf](https://github.com/paohaijiao/jquick-pdf)** ★ 225 🟢
Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. @@ -1508,7 +1508,7 @@ _Tools to help with PDF files._ > **[OpenPDF](https://github.com/LibrePDF/OpenPDF)** ★ 4.3k 🟢
Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -> **[Tabula](https://github.com/tabulapdf/tabula-java)** ★ 2.0k 🔴
Extracts tables from PDF files. +> **[Tabula](https://github.com/tabulapdf/tabula-java)** ★ 2.0k MIT 🔴
Extracts tables from PDF files.
@@ -1517,23 +1517,23 @@ _Tools to help with PDF files._ _Tools for performance analysis, profiling and benchmarking._ -> **[Argus](https://github.com/rlaope/Argus)** ★ 17 🟢
JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. +> **[Argus](https://github.com/rlaope/Argus)** ★ 17 MIT 🟢
JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. -> **[fastThread ![c]](https://fastthread.io)**
Analyze and visualize thread dumps with a free cloud-based upload interface. +> **[fastThread](https://fastthread.io)**
Analyze and visualize thread dumps with a free cloud-based upload interface. -> **[GCeasy ![c]](https://gceasy.io)**
Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +> **[GCeasy](https://gceasy.io)**
Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -> **[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 🟠
Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. +> **[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 Apache-2.0 🟠
Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. -> **[honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler)** ★ 1.3k 🔴
Low-overhead, bias-free sampling profiler. +> **[honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler)** ★ 1.3k MIT 🔴
Low-overhead, bias-free sampling profiler. > **[jHiccup](https://github.com/giltene/jHiccup)** ★ 704 🟠
Logs and records platform JVM stalls. > **[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k 🟠
Analyze the JIT compiler optimisations made by the HotSpot JVM. -> **[JMH](https://github.com/openjdk/jmh)** ★ 2.7k 🟢
Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +> **[JMH](https://github.com/openjdk/jmh)** ★ 2.7k GPL-2.0 🟢
Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) -> **[JVM Hotpath](https://github.com/sfkamath/jvm-hotpath)** ★ 10 🟠
Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. +> **[JVM Hotpath](https://github.com/sfkamath/jvm-hotpath)** ★ 10 MIT 🟠
Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. > **[LatencyUtils](https://github.com/LatencyUtils/LatencyUtils)** ★ 466 🔴
Utilities for latency measurement and reporting. @@ -1546,85 +1546,85 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Apache Commons 50 projects -> **[BCEL](https://github.com/apache/commons-bcel)** ★ 273 🟢
Byte Code Engineering Library - analyze, create, and manipulate Java class files. +> **[BCEL](https://github.com/apache/commons-bcel)** ★ 273 Apache-2.0 🟢
Byte Code Engineering Library - analyze, create, and manipulate Java class files. -> **[BeanUtils](https://github.com/apache/commons-beanutils)** ★ 321 🟢
Easy-to-use wrappers around the Java reflection and introspection APIs. +> **[BeanUtils](https://github.com/apache/commons-beanutils)** ★ 321 Apache-2.0 🟢
Easy-to-use wrappers around the Java reflection and introspection APIs. > **[BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/)**
Redesign of Commons BeanUtils. -> **[BSF](https://github.com/apache/commons-bsf)** ★ 32 🟢
Bean Scripting Framework - interface to scripting languages, including JSR-223. +> **[BSF](https://github.com/apache/commons-bsf)** ★ 32 Apache-2.0 🟢
Bean Scripting Framework - interface to scripting languages, including JSR-223. > **[ClassScan](https://commons.apache.org/sandbox/commons-classscan/)**
Find Class interfaces, methods, fields, and annotations without loading. -> **[CLI](https://github.com/apache/commons-cli)** ★ 393 🟢
Command-line arguments parser. +> **[CLI](https://github.com/apache/commons-cli)** ★ 393 Apache-2.0 🟢
Command-line arguments parser. > **[CLI2](https://commons.apache.org/sandbox/commons-cli2/)**
Redesign of Commons CLI. -> **[Codec](https://github.com/apache/commons-codec)** ★ 490 🟢
General encoding/decoding algorithms, e.g. phonetic, base64 or URL. +> **[Codec](https://github.com/apache/commons-codec)** ★ 490 Apache-2.0 🟢
General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -> **[Collections](https://github.com/apache/commons-collections)** ★ 724 🟢
Extends or augments the Java Collections Framework. +> **[Collections](https://github.com/apache/commons-collections)** ★ 724 Apache-2.0 🟢
Extends or augments the Java Collections Framework. -> **[Compress](https://github.com/apache/commons-compress)** ★ 402 🟢
Defines an API for working with tar, zip and bzip2 files. +> **[Compress](https://github.com/apache/commons-compress)** ★ 402 Apache-2.0 🟢
Defines an API for working with tar, zip and bzip2 files. -> **[Configuration](https://github.com/apache/commons-configuration)** ★ 214 🟢
Reading of configuration/preferences files in various formats. +> **[Configuration](https://github.com/apache/commons-configuration)** ★ 214 Apache-2.0 🟢
Reading of configuration/preferences files in various formats. > **[Convert](https://commons.apache.org/sandbox/commons-convert/)**
Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -> **[CSV](https://github.com/apache/commons-csv)** ★ 413 🟢
Component for reading and writing comma separated value files. +> **[CSV](https://github.com/apache/commons-csv)** ★ 413 Apache-2.0 🟢
Component for reading and writing comma separated value files. -> **[Daemon](https://github.com/apache/commons-daemon)** ★ 107 🟢
Alternative invocation mechanism for unix-daemon-like java code. +> **[Daemon](https://github.com/apache/commons-daemon)** ★ 107 Apache-2.0 🟢
Alternative invocation mechanism for unix-daemon-like java code. -> **[DBCP](https://github.com/apache/commons-dbcp)** ★ 369 🟢
Database connection pooling services. +> **[DBCP](https://github.com/apache/commons-dbcp)** ★ 369 Apache-2.0 🟢
Database connection pooling services. -> **[DbUtils](https://github.com/apache/commons-dbutils)** ★ 392 🟢
JDBC helper library. +> **[DbUtils](https://github.com/apache/commons-dbutils)** ★ 392 Apache-2.0 🟢
JDBC helper library. -> **[Digester](https://github.com/apache/commons-digester)** ★ 62 🟢
XML-to-Java-object mapping utility. +> **[Digester](https://github.com/apache/commons-digester)** ★ 62 Apache-2.0 🟢
XML-to-Java-object mapping utility. -> **[Email](https://github.com/apache/commons-email)** ★ 176 🟢
Library for sending e-mail from Java. +> **[Email](https://github.com/apache/commons-email)** ★ 176 Apache-2.0 🟢
Library for sending e-mail from Java. -> **[Exec](https://github.com/apache/commons-exec)** ★ 162 🟢
API for dealing with external process execution and environment management in Java. +> **[Exec](https://github.com/apache/commons-exec)** ★ 162 Apache-2.0 🟢
API for dealing with external process execution and environment management in Java. -> **[FileUpload](https://github.com/apache/commons-fileupload)** ★ 260 🟢
File upload capability for your servlets and web applications. +> **[FileUpload](https://github.com/apache/commons-fileupload)** ★ 260 Apache-2.0 🟢
File upload capability for your servlets and web applications. > **[Finder](https://commons.apache.org/sandbox/commons-finder/)**
Java library inspired by the UNIX find command. > **[Flatfile](https://commons.apache.org/sandbox/commons-flatfile/)**
Java library for working with flat data structures. -> **[Graph](https://github.com/apache/commons-graph)** ★ 44 🟢
General purpose graph APIs and algorithms. +> **[Graph](https://github.com/apache/commons-graph)** ★ 44 Apache-2.0 🟢
General purpose graph APIs and algorithms. > **[I18n](https://commons.apache.org/sandbox/commons-i18n/)**
Adds the feature of localized message bundles that consist of one or many localized texts that belong together. > **[Id](https://commons.apache.org/sandbox/commons-id/)**
Id is a component used to generate identifiers. -> **[Imaging](https://github.com/apache/commons-imaging)** ★ 487 🟢
Image library. +> **[Imaging](https://github.com/apache/commons-imaging)** ★ 487 Apache-2.0 🟢
Image library. -> **[IO](https://github.com/apache/commons-io)** ★ 1.1k 🟢
Collection of I/O utilities. +> **[IO](https://github.com/apache/commons-io)** ★ 1.1k Apache-2.0 🟢
Collection of I/O utilities. > **[Javaflow](https://commons.apache.org/sandbox/commons-javaflow/)**
Continuation implementation to capture the state of the application. -> **[JCI](https://github.com/apache/commons-jci)** ★ 22 🟢
Java Compiler Interface. +> **[JCI](https://github.com/apache/commons-jci)** ★ 22 Apache-2.0 🟢
Java Compiler Interface. -> **[JCS](https://github.com/apache/commons-jcs)** ★ 108 🟢
Java Caching System. +> **[JCS](https://github.com/apache/commons-jcs)** ★ 108 Apache-2.0 🟢
Java Caching System. -> **[Jelly](https://github.com/apache/commons-jelly)** ★ 26 🟢
XML based scripting and processing engine. +> **[Jelly](https://github.com/apache/commons-jelly)** ★ 26 Apache-2.0 🟢
XML based scripting and processing engine. -> **[Jexl](https://github.com/apache/commons-jexl)** ★ 242 🟢
Expression language which extends the Expression Language of the JSTL. +> **[Jexl](https://github.com/apache/commons-jexl)** ★ 242 Apache-2.0 🟢
Expression language which extends the Expression Language of the JSTL. > **[JNet](https://commons.apache.org/sandbox/commons-jnet/)**
JNet allows to use dynamically register url stream handlers through the java.net API. -> **[JXPath](https://github.com/apache/commons-jxpath)** ★ 43 🟢
Utilities for manipulating Java Beans using the XPath syntax. +> **[JXPath](https://github.com/apache/commons-jxpath)** ★ 43 Apache-2.0 🟢
Utilities for manipulating Java Beans using the XPath syntax. -> **[Lang](https://github.com/apache/commons-lang)** ★ 3.0k 🟢
Provides extra functionality for classes in java.lang. +> **[Lang](https://github.com/apache/commons-lang)** ★ 3.0k Apache-2.0 🟢
Provides extra functionality for classes in java.lang. -> **[Logging](https://github.com/apache/commons-logging)** ★ 167 🟢
Wrapper around a variety of logging API implementations. +> **[Logging](https://github.com/apache/commons-logging)** ★ 167 Apache-2.0 🟢
Wrapper around a variety of logging API implementations. -> **[Math](https://github.com/apache/commons-math)** ★ 651 🟢
Lightweight, self-contained mathematics and statistics components. +> **[Math](https://github.com/apache/commons-math)** ★ 651 Apache-2.0 🟢
Lightweight, self-contained mathematics and statistics components. > **[Monitoring](https://commons.apache.org/sandbox/commons-monitoring/)**
Monitoring aims to provide a simple but extensible monitoring solution for Java applications. > **[Nabla](https://commons.apache.org/sandbox/commons-nabla/)**
Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -> **[Net](https://github.com/apache/commons-net)** ★ 295 🟢
Collection of network utilities and protocol implementations. +> **[Net](https://github.com/apache/commons-net)** ★ 295 Apache-2.0 🟢
Collection of network utilities and protocol implementations. > **[OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/)**
Interface to signing and verifying data using OpenPGP. @@ -1632,29 +1632,29 @@ _Frameworks that are suites of multiple libraries encompassing several categorie > **[Pipeline](https://commons.apache.org/sandbox/commons-pipeline/)**
Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -> **[Pool](https://github.com/apache/commons-pool)** ★ 552 🟢
Generic object pooling component. +> **[Pool](https://github.com/apache/commons-pool)** ★ 552 Apache-2.0 🟢
Generic object pooling component. -> **[RDF](https://github.com/apache/commons-rdf)** ★ 58 🟢
Common implementation of RDF 1.1 that could be implemented by systems on the JVM. +> **[RDF](https://github.com/apache/commons-rdf)** ★ 58 Apache-2.0 🟢
Common implementation of RDF 1.1 that could be implemented by systems on the JVM. -> **[RNG](https://github.com/apache/commons-rng)** ★ 66 🟢
Commons Rng provides implementations of pseudo-random numbers generators. +> **[RNG](https://github.com/apache/commons-rng)** ★ 66 Apache-2.0 🟢
Commons Rng provides implementations of pseudo-random numbers generators. -> **[SCXML](https://github.com/apache/commons-scxml)** ★ 67 🟢
Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. +> **[SCXML](https://github.com/apache/commons-scxml)** ★ 67 Apache-2.0 🟢
Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. -> **[Validator](https://github.com/apache/commons-validator)** ★ 230 🟢
Framework to define validators and validation rules in an xml file. +> **[Validator](https://github.com/apache/commons-validator)** ★ 230 Apache-2.0 🟢
Framework to define validators and validation rules in an xml file. -> **[VFS](https://github.com/apache/commons-vfs)** ★ 251 🟢
Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. +> **[VFS](https://github.com/apache/commons-vfs)** ★ 251 Apache-2.0 🟢
Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. -> **[Weaver](https://github.com/apache/commons-weaver)** ★ 29 🟢
Provides an easy way to enhance (weave) compiled bytecode. +> **[Weaver](https://github.com/apache/commons-weaver)** ★ 29 Apache-2.0 🟢
Provides an easy way to enhance (weave) compiled bytecode. #### Other 4 projects -> **[CUBA Platform](https://github.com/jmix-framework/jmix)** ★ 693 🟢
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +> **[CUBA Platform](https://github.com/jmix-framework/jmix)** ★ 693 Apache-2.0 🟢
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. -> **[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k 🟢
Fast, lightweight and productive microservices framework with built-in security. +> **[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k Apache-2.0 🟢
Fast, lightweight and productive microservices framework with built-in security. -> **[Orienteer](https://github.com/OrienteerBAP/Orienteer/)** ★ 260 🔴
Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. +> **[Orienteer](https://github.com/OrienteerBAP/Orienteer/)** ★ 260 Apache-2.0 🔴
Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. -> **[Spring Framework](https://github.com/spring-projects/spring-framework)** ★ 60.1k 🟢
Comprehensive application framework for building Java applications. +> **[Spring Framework](https://github.com/spring-projects/spring-framework)** ★ 60.1k Apache-2.0 🟢
Comprehensive application framework for building Java applications.
@@ -1663,11 +1663,11 @@ _Frameworks that are suites of multiple libraries encompassing several categorie _Libraries that help the management of operating system processes._ -> **[ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec)** ★ 41 🟢
Convenient API around Apache Commons Exec. +> **[ch.vorburger.exec](https://github.com/vorburger/ch.vorburger.exec)** ★ 41 Apache-2.0 🟢
Convenient API around Apache Commons Exec. -> **[zt-exec](https://github.com/zeroturnaround/zt-exec)** ★ 915 🟢
Provides a unified API to Apache Commons Exec and ProcessBuilder. +> **[zt-exec](https://github.com/zeroturnaround/zt-exec)** ★ 915 Apache-2.0 🟢
Provides a unified API to Apache Commons Exec and ProcessBuilder. -> **[zt-process-killer](https://github.com/zeroturnaround/zt-process-killer)** ★ 139 🟢
Stops processes started from Java or the system processes via PID. +> **[zt-process-killer](https://github.com/zeroturnaround/zt-process-killer)** ★ 139 Apache-2.0 🟢
Stops processes started from Java or the system processes via PID.
@@ -1678,11 +1678,11 @@ _Libraries for developing reactive applications._ > **[Akka](https://github.com/akka/akka)** ★ 13.3k 🟢
Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications. -> **[Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm)** ★ 4.9k 🔴
Provides a standard for asynchronous stream processing with non-blocking backpressure. +> **[Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm)** ★ 4.9k MIT-0 🔴
Provides a standard for asynchronous stream processing with non-blocking backpressure. -> **[Reactor](https://github.com/reactor/reactor)** ★ 3.7k 🟢
A framework for building non-blocking applications on the JVM, providing support for reactive programming. +> **[Reactor](https://github.com/reactor/reactor)** ★ 3.7k Apache-2.0 🟢
A framework for building non-blocking applications on the JVM, providing support for reactive programming. -> **[RxJava](https://github.com/ReactiveX/RxJava)** ★ 48.2k 🟢
Allows for composing asynchronous and event-based programs using observable sequences. +> **[RxJava](https://github.com/ReactiveX/RxJava)** ★ 48.2k Apache-2.0 🟢
Allows for composing asynchronous and event-based programs using observable sequences. > **[vert.x](https://github.com/eclipse-vertx/vert.x)** ★ 14.7k 🟢
Polyglot event-driven application framework. @@ -1693,33 +1693,33 @@ _Libraries for developing reactive applications._ _Frameworks specifically for creating RESTful services._ -> **[Crnk](https://github.com/crnk-project/crnk-framework)** ★ 291 🔴
Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +> **[Crnk](https://github.com/crnk-project/crnk-framework)** ★ 291 Apache-2.0 🔴
Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. -> **[Dropwizard](https://github.com/dropwizard/dropwizard)** ★ 8.6k 🟢
Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. +> **[Dropwizard](https://github.com/dropwizard/dropwizard)** ★ 8.6k Apache-2.0 🟢
Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. > **[Elide](https://github.com/yahoo/elide)** ★ 1.0k 🟢
Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. > **[Jersey](https://github.com/eclipse-ee4j/jersey)** ★ 729 🟢
JAX-RS reference implementation. -> **[Microserver](https://github.com/aol/micro-server)** ★ 935 🔴
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. +> **[Microserver](https://github.com/aol/micro-server)** ★ 935 Apache-2.0 🔴
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. -> **[OfficeFloor](https://github.com/officefloor/OfficeFloor)** ★ 70 🟢
Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. +> **[OfficeFloor](https://github.com/officefloor/OfficeFloor)** ★ 70 Apache-2.0 🟢
Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. -> **[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** ★ 26.6k 🟢
Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. +> **[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** ★ 26.6k Apache-2.0 🟢
Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. -> **[Rapidoid](https://github.com/rapidoid/rapidoid)** ★ 1.6k 🔴
Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. +> **[Rapidoid](https://github.com/rapidoid/rapidoid)** ★ 1.6k Apache-2.0 🔴
Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. -> **[RESTEasy](https://github.com/resteasy/resteasy)** ★ 1.1k 🟢
Fully certified and portable implementation of the JAX-RS specification. +> **[RESTEasy](https://github.com/resteasy/resteasy)** ★ 1.1k Apache-2.0 🟢
Fully certified and portable implementation of the JAX-RS specification. -> **[RestExpress](https://github.com/RestExpress/RestExpress)** ★ 939 🟠
Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. +> **[RestExpress](https://github.com/RestExpress/RestExpress)** ★ 939 Apache-2.0 🟠
Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. > **[Restlet Framework](https://github.com/restlet/restlet-framework-java)** ★ 667 🟢
Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. -> **[Spark](https://github.com/perwendel/spark)** ★ 9.7k 🔴
Sinatra inspired framework. +> **[Spark](https://github.com/perwendel/spark)** ★ 9.7k Apache-2.0 🔴
Sinatra inspired framework. -> **[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k 🟢
Automates the generation of API documentation using Spring Boot projects. +> **[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k Apache-2.0 🟢
Automates the generation of API documentation using Spring Boot projects. -> **[Swagger Java](https://swagger.io)** ★ 8.6k 🟢
Java libraries for generating, parsing and serving OpenAPI definitions. +> **[Swagger Java](https://swagger.io)** ★ 8.6k Apache-2.0 🟢
Java libraries for generating, parsing and serving OpenAPI definitions.
@@ -1728,35 +1728,35 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ -> **[BioJava](https://github.com/biojava/biojava)** ★ 627 🟢
Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +> **[BioJava](https://github.com/biojava/biojava)** ★ 627 LGPL-2.1 🟢
Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -> **[Chart-FX](https://github.com/GSI-CS-CO/chart-fx)** ★ 611 🟠
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +> **[Chart-FX](https://github.com/GSI-CS-CO/chart-fx)** ★ 611 LGPL-3.0 🟠
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. > **[DataMelt](https://datamelt.org/)**
Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) -> **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 🔴
Modular, light and easy graph framework for theoretic algorithms. +> **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 MIT 🔴
Modular, light and easy graph framework for theoretic algorithms. > **[GraphStream](https://github.com/graphstream/gs-core)** ★ 425 🔴
Library for modeling and analyzing dynamic graphs. -> **[JFreeChart](https://github.com/jfree/jfreechart)** ★ 1.4k 🟠
2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +> **[JFreeChart](https://github.com/jfree/jfreechart)** ★ 1.4k LGPL-2.1 🟠
2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) -> **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k 🟢
Graph library that provides mathematical graph-theory objects and algorithms. +> **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k EPL-2.0 🟢
Graph library that provides mathematical graph-theory objects and algorithms. -> **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 🟢
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. +> **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 MIT 🟢
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. -> **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 🟢
Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. +> **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 Apache-2.0 🟢
Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. -> **[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 🔴
Library for geophysical scientific computation, visualization and digital signal analysis. +> **[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 Apache-2.0 🔴
Library for geophysical scientific computation, visualization and digital signal analysis. -> **[Morpheus](https://github.com/zavtech/morpheus-core)** ★ 245 🔴
Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. +> **[Morpheus](https://github.com/zavtech/morpheus-core)** ★ 245 Apache-2.0 🔴
Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. -> **[Orekit](https://github.com/CS-SI/Orekit)** ★ 285 🟢
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +> **[Orekit](https://github.com/CS-SI/Orekit)** ★ 285 Apache-2.0 🟢
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 GPL-3.0 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) -> **[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k 🟢
Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. +> **[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k Apache-2.0 🟢
Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -> **[XChart](https://github.com/knowm/XChart)** ★ 1.6k 🟢
Light-weight library for plotting data. Many customizable chart types are available. +> **[XChart](https://github.com/knowm/XChart)** ★ 1.6k Apache-2.0 🟢
Light-weight library for plotting data. Many customizable chart types are available.
@@ -1765,15 +1765,15 @@ _Libraries for scientific computing, analysis and visualization._ _Engines that index documents for search and analysis._ -> **[Apache Lucene](https://github.com/apache/lucene)** ★ 3.5k 🟢
High-performance, full-featured, cross-platform, text search engine library. +> **[Apache Lucene](https://github.com/apache/lucene)** ★ 3.5k Apache-2.0 🟢
High-performance, full-featured, cross-platform, text search engine library. -> **[Apache Solr](https://github.com/apache/solr)** ★ 1.6k 🟢
Enterprise search engine optimized for high-volume traffic. +> **[Apache Solr](https://github.com/apache/solr)** ★ 1.6k Apache-2.0 🟢
Enterprise search engine optimized for high-volume traffic. > **[Elasticsearch](https://github.com/elastic/elasticsearch)** ★ 77.6k 🟢
Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. -> **[Indexer4j](https://github.com/haeungun/indexer4j)** ★ 57 🔴
Simple and light full text indexing and searching library. +> **[Indexer4j](https://github.com/haeungun/indexer4j)** ★ 57 Apache-2.0 🔴
Simple and light full text indexing and searching library. -> **[Viglet Turing ES](https://github.com/openviglet/turing-ce)** ★ 0 🟢
Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends. +> **[Viglet Turing ES](https://github.com/openviglet/turing-ce)** ★ 0 Apache-2.0 🟢
Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends.
@@ -1782,51 +1782,51 @@ _Engines that index documents for search and analysis._ _Libraries that handle security, authentication, authorization or session management._ -> **[Apache Shiro](https://github.com/apache/shiro)** ★ 4.4k 🟢
Performs authentication, authorization, cryptography and session management. +> **[Apache Shiro](https://github.com/apache/shiro)** ★ 4.4k Apache-2.0 🟢
Performs authentication, authorization, cryptography and session management. -> **[Ayza](https://github.com/Hakky54/ayza)** ★ 579 🟢
High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. +> **[Ayza](https://github.com/Hakky54/ayza)** ★ 579 Apache-2.0 🟢
High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. -> **[Bouncy Castle](https://github.com/bcgit/bc-java)** ★ 2.7k 🟢
All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. +> **[Bouncy Castle](https://github.com/bcgit/bc-java)** ★ 2.7k MIT 🟢
All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. -> **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 🟢
CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. +> **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 Apache-2.0 🟢
CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. -> **[Cryptomator](https://github.com/cryptomator/cryptomator)** ★ 15.8k 🟢
Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) +> **[Cryptomator](https://github.com/cryptomator/cryptomator)** ★ 15.8k GPL-3.0 🟢
Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) > **[Hdiv](https://github.com/hdiv/hdiv)** ★ 219 🔴
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)** ★ 11.1k 🟢
JSON web token for Java and Android. +> **[jjwt](https://github.com/jwtk/jjwt)** ★ 11.1k Apache-2.0 🟢
JSON web token for Java and Android. -> **[Jwks RSA](https://github.com/auth0/jwks-rsa-java)** ★ 206 🟢
JSON Web Key Set parser. +> **[Jwks RSA](https://github.com/auth0/jwks-rsa-java)** ★ 206 MIT 🟢
JSON Web Key Set parser. -> **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 🔴
Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. +> **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 MIT 🔴
Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. -> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 35.8k 🟢
Integrated SSO and IDM for browser apps and RESTful web services. +> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 35.8k Apache-2.0 🟢
Integrated SSO and IDM for browser apps and RESTful web services. > **[MOSS](https://github.com/mosscomputing/moss-java)** ★ 0 🟢
Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. -> **[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 🟠
Advanced password strength estimation. +> **[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 MIT 🟠
Advanced password strength estimation. -> **[OACC](https://github.com/acciente/oacc-core)** ★ 110 🔴
Provides permission-based authorization services. +> **[OACC](https://github.com/acciente/oacc-core)** ★ 110 Apache-2.0 🔴
Provides permission-based authorization services. > **[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 879 🟢
Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. -> **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 🟢
One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +> **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 MIT 🟢
One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). -> **[OWASP Dependency-Check](https://github.com/dependency-check/DependencyCheck)** ★ 7.6k 🟢
Detects publicly disclosed vulnerabilities contained within a project's dependencies. +> **[OWASP Dependency-Check](https://github.com/dependency-check/DependencyCheck)** ★ 7.6k Apache-2.0 🟢
Detects publicly disclosed vulnerabilities contained within a project's dependencies. -> **[pac4j](https://github.com/pac4j/pac4j)** ★ 2.5k 🟢
Security engine. +> **[pac4j](https://github.com/pac4j/pac4j)** ★ 2.5k Apache-2.0 🟢
Security engine. > **[Passay](https://github.com/vt-middleware/passay)** ★ 313 🟠
Enforce password policy by validating candidate passwords against a configurable rule set. -> **[Password4j](https://github.com/Password4j/password4j)** ★ 428 🟠
User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. +> **[Password4j](https://github.com/Password4j/password4j)** ★ 428 Apache-2.0 🟠
User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. -> **[SecurityBuilder](https://github.com/tersesystems/securitybuilder)** ★ 48 🔴
Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. +> **[SecurityBuilder](https://github.com/tersesystems/securitybuilder)** ★ 48 Apache-2.0 🔴
Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. -> **[Themis](https://github.com/cossacklabs/themis)** ★ 2.0k 🟠
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)** ★ 2.0k Apache-2.0 🟠
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/tink-crypto/tink-java)** ★ 295 🟢
Provides a simple and misuse-proof API for common cryptographic tasks. +> **[Tink](https://github.com/tink-crypto/tink-java)** ★ 295 Apache-2.0 🟢
Provides a simple and misuse-proof API for common cryptographic tasks. -> **[Topaz](https://github.com/aserto-dev/topaz)** ★ 1.4k 🟢
Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. +> **[Topaz](https://github.com/aserto-dev/topaz)** ★ 1.4k Apache-2.0 🟢
Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC.
@@ -1835,15 +1835,15 @@ _Libraries that handle security, authentication, authorization or session manage _Libraries that handle serialization with high efficiency._ -> **[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k 🟢
Memory-efficient serialization library that can access serialized data without unpacking and parsing it. +> **[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k Apache-2.0 🟢
Memory-efficient serialization library that can access serialized data without unpacking and parsing it. -> **[FST](https://github.com/RuedigerMoeller/fast-serialization)** ★ 1.6k 🔴
JDK-compatible, high-performance object graph serialization. +> **[FST](https://github.com/RuedigerMoeller/fast-serialization)** ★ 1.6k Apache-2.0 🔴
JDK-compatible, high-performance object graph serialization. -> **[Fury](https://github.com/alipay/fury)** ★ 4.4k 🟢
Blazing fast object graph serialization framework powered by JIT and zero-copy. +> **[Fury](https://github.com/alipay/fury)** ★ 4.4k Apache-2.0 🟢
Blazing fast object graph serialization framework powered by JIT and zero-copy. -> **[Kryo](https://github.com/EsotericSoftware/kryo)** ★ 6.5k 🟢
Fast and efficient object graph serialization framework. +> **[Kryo](https://github.com/EsotericSoftware/kryo)** ★ 6.5k BSD-3-Clause 🟢
Fast and efficient object graph serialization framework. -> **[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k 🟢
Efficient binary serialization format. +> **[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k Apache-2.0 🟢
Efficient binary serialization format.
@@ -1852,15 +1852,15 @@ _Libraries that handle serialization with high efficiency._ _Servers specifically used to deploy applications._ -> **[Apache Tomcat](https://github.com/apache/tomcat)** ★ 8.2k 🟢
Robust, all-round server for Servlet and JSP. +> **[Apache Tomcat](https://github.com/apache/tomcat)** ★ 8.2k Apache-2.0 🟢
Robust, all-round server for Servlet and JSP. -> **[Apache TomEE](https://github.com/apache/tomee)** ★ 476 🟢
Tomcat plus Java EE. +> **[Apache TomEE](https://github.com/apache/tomee)** ★ 476 Apache-2.0 🟢
Tomcat plus Java EE. > **[Jetty](https://github.com/jetty/jetty.project)** ★ 4.1k 🟢
Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -> **[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k 🔴
Tiny, easily embeddable HTTP server. +> **[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k BSD-3-Clause 🔴
Tiny, easily embeddable HTTP server. -> **[WildFly](https://github.com/wildfly/wildfly)** ★ 3.2k 🟢
Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +> **[WildFly](https://github.com/wildfly/wildfly)** ★ 3.2k Apache-2.0 🟢
Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)
@@ -1869,27 +1869,27 @@ _Servers specifically used to deploy applications._ _Tools that substitute expressions in a template._ -> **[Freemarker](https://github.com/apache/freemarker)** ★ 1.1k 🟢
Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. +> **[Freemarker](https://github.com/apache/freemarker)** ★ 1.1k Apache-2.0 🟢
Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. > **[Handlebars.java](https://github.com/jknack/handlebars.java)** ★ 1.6k 🟢
Logicless and semantic Mustache templates. -> **[Jade4J](https://github.com/neuland/jade4j)** ★ 706 🔴
Implementation of Pug (formerly known as Jade). +> **[Jade4J](https://github.com/neuland/jade4j)** ★ 706 MIT 🔴
Implementation of Pug (formerly known as Jade). -> **[Jamal](https://github.com/verhas/jamal)** ★ 69 🔴
Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. +> **[Jamal](https://github.com/verhas/jamal)** ★ 69 Apache-2.0 🔴
Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. -> **[jstachio](https://github.com/jstachio/jstachio)** ★ 330 🔴
Typesafe Mustache templating engine. +> **[jstachio](https://github.com/jstachio/jstachio)** ★ 330 BSD-3-Clause 🔴
Typesafe Mustache templating engine. -> **[jte](https://github.com/casid/jte)** ★ 1.1k 🟢
Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint. +> **[jte](https://github.com/casid/jte)** ★ 1.1k Apache-2.0 🟢
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)** ★ 299 🔴
Modular, configurable and fully tested template engine. -> **[Pebble](https://github.com/PebbleTemplates/pebble)** ★ 1.2k 🟢
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://github.com/PebbleTemplates/pebble)** ★ 1.2k BSD-3-Clause 🟢
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)** ★ 781 🟠
Optimized, memory efficient and speedy template engine producing statically typed, plain objects. > **[StringTemplate](https://github.com/antlr/stringtemplate4)** ★ 1.0k 🔴
Template engine for generating source code, web pages, emails, or any other formatted text output. -> **[Thymeleaf](https://github.com/thymeleaf/thymeleaf)** ★ 3.0k 🟢
Aims to be a substitute for JSP and works for XML files. +> **[Thymeleaf](https://github.com/thymeleaf/thymeleaf)** ★ 3.0k Apache-2.0 🟢
Aims to be a substitute for JSP and works for XML files.
@@ -1902,37 +1902,37 @@ _Tools that test from model to the view._ _Tools that simplify testing asynchronous services._ -> **[Awaitility](https://github.com/awaitility/awaitility)** ★ 4.0k 🟠
DSL for synchronizing asynchronous operations. +> **[Awaitility](https://github.com/awaitility/awaitility)** ★ 4.0k Apache-2.0 🟠
DSL for synchronizing asynchronous operations. -> **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 🔴
Toolkit for testing multi-threaded and asynchronous applications. +> **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 Apache-2.0 🔴
Toolkit for testing multi-threaded and asynchronous applications. -> **[GreenMail](https://github.com/greenmail-mail-test/greenmail)** ★ 740 🟢
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +> **[GreenMail](https://github.com/greenmail-mail-test/greenmail)** ★ 740 Apache-2.0 🟢
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) -> **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 🟢
Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +> **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 Apache-2.0 🟢
Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -> **[Karate](https://github.com/intuit/karate)** ★ 8.9k 🟢
DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +> **[Karate](https://github.com/intuit/karate)** ★ 8.9k MIT 🟢
DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -> **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k 🟢
DSL for easy testing of REST/HTTP services. +> **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k Apache-2.0 🟢
DSL for easy testing of REST/HTTP services. -> **[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 🟠
Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. +> **[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 Apache-2.0 🟠
Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. #### BDD 8 projects _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ -> **[Cucumber](https://github.com/cucumber/cucumber-jvm)** ★ 2.8k 🟢
Provides a way to describe features in a plain language which customers can understand. +> **[Cucumber](https://github.com/cucumber/cucumber-jvm)** ★ 2.8k MIT 🟢
Provides a way to describe features in a plain language which customers can understand. -> **[Cukes-REST](https://github.com/ctco/cukes)** ★ 111 🔴
Collection of Gherkin steps for REST-service testing using Cucumber. +> **[Cukes-REST](https://github.com/ctco/cukes)** ★ 111 Apache-2.0 🔴
Collection of Gherkin steps for REST-service testing using Cucumber. -> **[J8Spec](https://github.com/j8spec/j8spec)** ★ 49 🔴
Follows a Jasmine-like syntax. +> **[J8Spec](https://github.com/j8spec/j8spec)** ★ 49 MIT 🔴
Follows a Jasmine-like syntax. -> **[JBehave](https://github.com/jbehave/jbehave-core)** ★ 39 🟠
Extensively configurable framework that describes stories. +> **[JBehave](https://github.com/jbehave/jbehave-core)** ★ 39 BSD-3-Clause 🟠
Extensively configurable framework that describes stories. -> **[JGiven](https://github.com/TNG/JGiven)** ★ 464 🟢
Provides a fluent API which allows for simpler composition. +> **[JGiven](https://github.com/TNG/JGiven)** ★ 464 Apache-2.0 🟢
Provides a fluent API which allows for simpler composition. -> **[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 🟢
Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. +> **[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 Apache-2.0 🟢
Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. -> **[Lamdba Behave](https://github.com/RichardWarburton/lambda-behave)** ★ 252 🔴
Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. +> **[Lamdba Behave](https://github.com/RichardWarburton/lambda-behave)** ★ 252 MIT 🔴
Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. > **[Serenity BDD](https://github.com/serenity-bdd/serenity-core)** ★ 755 🟢
Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. @@ -1940,105 +1940,105 @@ _Testing for the software development process that emerged from TDD and was heav _Everything related to the creation and handling of random data._ -> **[AutoParams](https://github.com/AutoParams/AutoParams)** ★ 368 🟠
Supports generating test data or combining scenarios for parameterized tests. +> **[AutoParams](https://github.com/AutoParams/AutoParams)** ★ 368 MIT 🟠
Supports generating test data or combining scenarios for parameterized tests. -> **[Beanmother](https://github.com/keepcosmos/beanmother)** ★ 122 🔴
Sets up beans from YAML fixtures. +> **[Beanmother](https://github.com/keepcosmos/beanmother)** ★ 122 Apache-2.0 🔴
Sets up beans from YAML fixtures. -> **[Datafaker](https://github.com/datafaker-net/datafaker)** ★ 1.8k 🟢
Modern fake data generator forked from Java Faker. +> **[Datafaker](https://github.com/datafaker-net/datafaker)** ★ 1.8k Apache-2.0 🟢
Modern fake data generator forked from Java Faker. -> **[Fixture Factory](https://github.com/six2six/fixture-factory)** ★ 443 🔴
Generates fake objects from a template. +> **[Fixture Factory](https://github.com/six2six/fixture-factory)** ★ 443 Apache-2.0 🔴
Generates fake objects from a template. -> **[Instancio](https://github.com/instancio/instancio)** ★ 1.2k 🟢
Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. +> **[Instancio](https://github.com/instancio/instancio)** ★ 1.2k Apache-2.0 🟢
Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. > **[Java Faker](https://github.com/DiUS/java-faker)** ★ 4.9k 🔴
Port of Ruby's fake data generator. -> **[jFairy](https://github.com/Devskiller/jfairy)** ★ 742 🟢
Fake data generator. +> **[jFairy](https://github.com/Devskiller/jfairy)** ★ 742 Apache-2.0 🟢
Fake data generator. -> **[JMock](https://github.com/xcancloud/JMock)** ★ 212 🟢
JMock is a high-performance data generation and simulation component library implemented in Java. +> **[JMock](https://github.com/xcancloud/JMock)** ★ 212 Apache-2.0 🟢
JMock is a high-performance data generation and simulation component library implemented in Java. -> **[Mockneat](https://github.com/nomemory/mockneat)** ★ 534 🔴
Another fake data generator. +> **[Mockneat](https://github.com/nomemory/mockneat)** ★ 534 Apache-2.0 🔴
Another fake data generator. -> **[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 🟢
JUnit test runner and plugins for running JUnit tests with pseudo-randomness. +> **[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 Apache-2.0 🟢
JUnit test runner and plugins for running JUnit tests with pseudo-randomness. #### Frameworks 14 projects _Provide environments to run tests for a specific use case._ -> **[Apache JMeter](https://github.com/apache/jmeter)** ★ 9.5k 🟢
Functional testing and performance measurements. +> **[Apache JMeter](https://github.com/apache/jmeter)** ★ 9.5k Apache-2.0 🟢
Functional testing and performance measurements. -> **[Arquillian](https://github.com/arquillian/arquillian-core)** ★ 388 🟢
Integration and functional testing platform for Java EE containers. +> **[Arquillian](https://github.com/arquillian/arquillian-core)** ★ 388 Apache-2.0 🟢
Integration and functional testing platform for Java EE containers. -> **[BitDive Java Agent ![c]](https://github.com/bitDive/java-producer)** ★ 87 🟢
Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. +> **[BitDive Java Agent](https://github.com/bitDive/java-producer)** ★ 87 🟢
Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. -> **[cdi-test](https://github.com/guhilling/cdi-test)** ★ 31 🟢
JUnit extension for easy and efficient testing of CDI components. +> **[cdi-test](https://github.com/guhilling/cdi-test)** ★ 31 Apache-2.0 🟢
JUnit extension for easy and efficient testing of CDI components. -> **[Citrus](https://github.com/citrusframework/citrus)** ★ 485 🟢
Integration testing framework that focuses on both client- and server-side messaging. +> **[Citrus](https://github.com/citrusframework/citrus)** ★ 485 Apache-2.0 🟢
Integration testing framework that focuses on both client- and server-side messaging. -> **[Gatling](https://github.com/gatling/gatling)** ★ 6.9k 🟢
Load testing tool designed for ease of use, maintainability and high performance. +> **[Gatling](https://github.com/gatling/gatling)** ★ 6.9k Apache-2.0 🟢
Load testing tool designed for ease of use, maintainability and high performance. -> **[JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl)** ★ 535 🟢
Load tests with JMeter as simple as a JUnit test. +> **[JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl)** ★ 535 Apache-2.0 🟢
Load tests with JMeter as simple as a JUnit test. -> **[jqwik](https://github.com/jqwik-team/jqwik)** ★ 837 🟢
Engine for property-based testing built on JUnit 5. +> **[jqwik](https://github.com/jqwik-team/jqwik)** ★ 837 EPL-2.0 🟢
Engine for property-based testing built on JUnit 5. -> **[JUnit](https://github.com/junit-team/junit-framework)** ★ 7.1k 🟢
Common testing framework. +> **[JUnit](https://github.com/junit-team/junit-framework)** ★ 7.1k EPL-2.0 🟢
Common testing framework. -> **[Pact JVM](https://github.com/DiUS/pact-jvm)** ★ 1.1k 🟢
Consumer-driven contract testing. +> **[Pact JVM](https://github.com/DiUS/pact-jvm)** ★ 1.1k Apache-2.0 🟢
Consumer-driven contract testing. -> **[PIT](https://github.com/hcoles/pitest)** ★ 1.8k 🟢
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. +> **[PIT](https://github.com/hcoles/pitest)** ★ 1.8k Apache-2.0 🟢
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. -> **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k 🟢
Browser automation framework and ecosystem. +> **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k Apache-2.0 🟢
Browser automation framework and ecosystem. > **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 11 🟢
Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. -> **[weld-testing](https://github.com/weld/weld-testing)** ★ 116 🟢
Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. +> **[weld-testing](https://github.com/weld/weld-testing)** ★ 116 Apache-2.0 🟢
Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. #### Matchers 6 projects _Libraries that provide custom matchers._ -> **[AssertJ](https://github.com/assertj/assertj)** ★ 2.8k 🟢
Fluent assertions that improve readability. +> **[AssertJ](https://github.com/assertj/assertj)** ★ 2.8k Apache-2.0 🟢
Fluent assertions that improve readability. -> **[Hamcrest](https://github.com/hamcrest/JavaHamcrest)** ★ 2.2k 🔴
Matchers that can be combined to create flexible expressions of intent. +> **[Hamcrest](https://github.com/hamcrest/JavaHamcrest)** ★ 2.2k BSD-3-Clause 🔴
Matchers that can be combined to create flexible expressions of intent. -> **[JSONAssert](https://github.com/skyscreamer/JSONassert)** ★ 1.1k 🔴
Simplifies testing JSON strings. +> **[JSONAssert](https://github.com/skyscreamer/JSONassert)** ★ 1.1k Apache-2.0 🔴
Simplifies testing JSON strings. -> **[JsonUnit](https://github.com/lukas-krecan/JsonUnit)** ★ 1.0k 🟢
Library that simplifies JSON comparison in tests. +> **[JsonUnit](https://github.com/lukas-krecan/JsonUnit)** ★ 1.0k Apache-2.0 🟢
Library that simplifies JSON comparison in tests. -> **[Truth](https://github.com/google/truth)** ★ 2.8k 🟢
Google's fluent assertion and proposition framework. +> **[Truth](https://github.com/google/truth)** ★ 2.8k Apache-2.0 🟢
Google's fluent assertion and proposition framework. -> **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 318 🟢
Simplifies testing for XML output. +> **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 318 Apache-2.0 🟢
Simplifies testing for XML output. #### Miscellaneous 14 projects _Other stuff related to testing._ -> **[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 🟢
Captures console output for unit testing purposes. +> **[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 Apache-2.0 🟢
Captures console output for unit testing purposes. -> **[Java Evolved](https://github.com/javaevolved/javaevolved.github.io)** ★ 374 🟢
Side-by-side comparisons of legacy and modern Java patterns. +> **[Java Evolved](https://github.com/javaevolved/javaevolved.github.io)** ★ 374 MIT 🟢
Side-by-side comparisons of legacy and modern Java patterns. -> **[junit-dataprovider](https://github.com/TNG/junit-dataprovider)** ★ 249 🟠
TestNG-like data provider/runner for JUnit. +> **[junit-dataprovider](https://github.com/TNG/junit-dataprovider)** ★ 249 Apache-2.0 🟠
TestNG-like data provider/runner for JUnit. -> **[junit-pioneer](https://github.com/junit-pioneer/junit-pioneer)** ★ 617 🟢
JUnit 5 extension pack, pushing the frontiers on Jupiter. +> **[junit-pioneer](https://github.com/junit-pioneer/junit-pioneer)** ★ 617 EPL-2.0 🟢
JUnit 5 extension pack, pushing the frontiers on Jupiter. -> **[log-capture](https://github.com/dm-drogeriemarkt/log-capture)** ★ 16 🟢
Captures log entries and provides assertions for unit and integration testing. +> **[log-capture](https://github.com/dm-drogeriemarkt/log-capture)** ★ 16 MIT 🟢
Captures log entries and provides assertions for unit and integration testing. -> **[LogCaptor](https://github.com/Hakky54/log-captor)** ★ 432 🟢
Captures log entries for unit testing purposes. +> **[LogCaptor](https://github.com/Hakky54/log-captor)** ★ 432 Apache-2.0 🟢
Captures log entries for unit testing purposes. -> **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 🟠
Reports whether instances of a given class are immutable. +> **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Apache-2.0 🟠
Reports whether instances of a given class are immutable. -> **[pojo-tester](https://github.com/sta-szek/pojo-tester)** ★ 52 🔴
Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +> **[pojo-tester](https://github.com/sta-szek/pojo-tester)** ★ 52 LGPL-3.0 🔴
Automatically performs tests on basic POJO methods. (LGPL-3.0-only) -> **[raml-tester](https://github.com/nidi3/raml-tester)** ★ 74 🔴
Tests if a request/response matches a given RAML definition. +> **[raml-tester](https://github.com/nidi3/raml-tester)** ★ 74 Apache-2.0 🔴
Tests if a request/response matches a given RAML definition. -> **[Selfie](https://github.com/diffplug/selfie)** ★ 100 🟢
Snapshot testing (inline and on disk). +> **[Selfie](https://github.com/diffplug/selfie)** ★ 100 Apache-2.0 🟢
Snapshot testing (inline and on disk). -> **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 🟠
Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. +> **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 MIT 🟠
Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. -> **[Stebz](https://github.com/stebz/stebz)** ★ 20 🟢
Multi-approach framework for test steps managing. +> **[Stebz](https://github.com/stebz/stebz)** ★ 20 MIT 🟢
Multi-approach framework for test steps managing. -> **[test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin)** ★ 1 🟢
Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. +> **[test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin)** ★ 1 MIT 🟢
Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. -> **[Testcontainers](https://github.com/testcontainers/testcontainers-java)** ★ 8.7k 🟢
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)** ★ 8.7k MIT 🟢
Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. #### Mocking 7 projects @@ -2048,15 +2048,15 @@ _Tools which mock collaborators to help testing single, isolated units._ > **[JMockit](https://github.com/jmockit/jmockit1)** ★ 472 🔴
Integration testing, API mocking and faking, and code coverage. -> **[Mockito](https://github.com/mockito/mockito)** ★ 15.4k 🟢
Mocking framework that lets you write tests with a clean and simple API. +> **[Mockito](https://github.com/mockito/mockito)** ★ 15.4k MIT 🟢
Mocking framework that lets you write tests with a clean and simple API. -> **[MockServer](https://github.com/mock-server/mockserver)** ★ 4.9k 🟢
Allows mocking of systems integrated with HTTPS. +> **[MockServer](https://github.com/mock-server/mockserver)** ★ 4.9k Apache-2.0 🟢
Allows mocking of systems integrated with HTTPS. -> **[Moco](https://github.com/dreamhead/moco)** ★ 4.4k 🟢
Concise web services for stubs and mocks. +> **[Moco](https://github.com/dreamhead/moco)** ★ 4.4k MIT 🟢
Concise web services for stubs and mocks. -> **[PowerMock](https://github.com/powermock/powermock)** ★ 4.2k 🔴
Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. +> **[PowerMock](https://github.com/powermock/powermock)** ★ 4.2k Apache-2.0 🔴
Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. -> **[WireMock](https://github.com/wiremock/wiremock)** ★ 7.3k 🟢
Stubs and mocks web services. +> **[WireMock](https://github.com/wiremock/wiremock)** ★ 7.3k Apache-2.0 🟢
Stubs and mocks web services.
@@ -2065,55 +2065,55 @@ _Tools which mock collaborators to help testing single, isolated units._ _Libraries which provide general utility functions._ -> **[Arthas](https://github.com/alibaba/arthas)** ★ 37.5k 🟢
Allows to troubleshoot production issues for applications without modifying code or restarting servers. +> **[Arthas](https://github.com/alibaba/arthas)** ★ 37.5k Apache-2.0 🟢
Allows to troubleshoot production issues for applications without modifying code or restarting servers. -> **[bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j)** ★ 2.8k 🟢
Rate limiting library based on token-bucket algorithm. +> **[bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j)** ★ 2.8k Apache-2.0 🟢
Rate limiting library based on token-bucket algorithm. -> **[cactoos](https://github.com/yegor256/cactoos)** ★ 777 🟢
Collection of object-oriented primitives. +> **[cactoos](https://github.com/yegor256/cactoos)** ★ 777 MIT 🟢
Collection of object-oriented primitives. -> **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 🔴
Generates postman collection, environment and integration tests from java code. +> **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 Apache-2.0 🔴
Generates postman collection, environment and integration tests from java code. > **[CRaSH](https://github.com/crashub/crash)** ★ 941 🔴
Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) -> **[Dex](https://github.com/PatMartin/Dex)** ★ 1.3k 🔴
Java/JavaFX tool capable of powerful ETL and data visualization. +> **[Dex](https://github.com/PatMartin/Dex)** ★ 1.3k Apache-2.0 🔴
Java/JavaFX tool capable of powerful ETL and data visualization. -> **[dregex](https://github.com/marianobarrios/dregex)** ★ 55 🟠
Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. +> **[dregex](https://github.com/marianobarrios/dregex)** ★ 55 BSD-2-Clause 🟠
Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. -> **[Embulk](https://github.com/embulk/embulk)** ★ 1.8k 🟢
Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +> **[Embulk](https://github.com/embulk/embulk)** ★ 1.8k Apache-2.0 🟢
Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -> **[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 🟢
Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. +> **[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 Apache-2.0 🟢
Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k 🟢
Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k GPL-3.0 🟢
Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) -> **[Guava](https://github.com/google/guava)** ★ 51.5k 🟢
Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. +> **[Guava](https://github.com/google/guava)** ★ 51.5k Apache-2.0 🟢
Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. > **[JADE](https://jade.tilab.com)**
Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -> **[Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils)** ★ 1.5k 🟢
Utilities for text or data comparison and patching. +> **[Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils)** ★ 1.5k Apache-2.0 🟢
Utilities for text or data comparison and patching. -> **[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 🟠
Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. +> **[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 MIT 🟠
Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. -> **[java-util](https://github.com/jdereg/java-util)** ★ 440 🟢
Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. +> **[java-util](https://github.com/jdereg/java-util)** ★ 440 Apache-2.0 🟢
Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. -> **[Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml)** ★ 57 🟠
Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. +> **[Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml)** ★ 57 Apache-2.0 🟠
Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. -> **[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k 🟢
Library that helps with constructing difficult regular expressions. +> **[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k MIT 🟢
Library that helps with constructing difficult regular expressions. -> **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 🟠
Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. +> **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 MIT 🟠
Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. > **[JGit](https://github.com/eclipse-jgit/jgit)** ★ 413 🟢
Lightweight, pure Java library implementing the Git version control system. -> **[JKScope](https://github.com/evpl/jkscope)** ★ 23 🔴
Java scope functions inspired by Kotlin. +> **[JKScope](https://github.com/evpl/jkscope)** ★ 23 Apache-2.0 🔴
Java scope functions inspired by Kotlin. -> **[minio-java](https://github.com/minio/minio-java)** ★ 1.3k 🟢
Provides simple APIs to access any Amazon S3-compatible object storage server. +> **[minio-java](https://github.com/minio/minio-java)** ★ 1.3k Apache-2.0 🟢
Provides simple APIs to access any Amazon S3-compatible object storage server. > **[Protégé](https://github.com/protegeproject/protege)** ★ 1.4k 🟠
Provides an ontology editor and a framework to build knowledge-based systems. -> **[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 🟢
Lightweight library that helps you handling semantic versioning with different modes. +> **[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 MIT 🟢
Lightweight library that helps you handling semantic versioning with different modes. -> **[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 🟢
Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. +> **[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 Apache-2.0 🟢
Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. -> **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 🟢
Port of Underscore.js functions. +> **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 MIT 🟢
Port of Underscore.js functions. @@ -2122,11 +2122,11 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ -> **[jabba](https://github.com/Jabba-Team/jabba)** ★ 305 🟠
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +> **[jabba](https://github.com/Jabba-Team/jabba)** ★ 305 Apache-2.0 🟠
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. -> **[jenv](https://github.com/jenv/jenv)** ★ 6.6k 🟠
Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. +> **[jenv](https://github.com/jenv/jenv)** ★ 6.6k MIT 🟠
Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. -> **[SDKMan](https://github.com/sdkman/sdkman-cli)** ★ 6.8k 🟢
Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. +> **[SDKMan](https://github.com/sdkman/sdkman-cli)** ★ 6.8k Apache-2.0 🟢
Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows. @@ -2135,17 +2135,17 @@ _Utilities that help create the development shell environment and switch between _Libraries that analyze the content of websites._ -> **[Apache Nutch](https://github.com/apache/nutch)** ★ 3.3k 🟢
Highly extensible, highly scalable web crawler for production environments. +> **[Apache Nutch](https://github.com/apache/nutch)** ★ 3.3k Apache-2.0 🟢
Highly extensible, highly scalable web crawler for production environments. -> **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 145 🟢
Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. +> **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 145 MIT 🟢
Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. -> **[Crawler4j](https://github.com/yasserg/crawler4j)** ★ 4.6k 🔴
Simple and lightweight web crawler. +> **[Crawler4j](https://github.com/yasserg/crawler4j)** ★ 4.6k Apache-2.0 🔴
Simple and lightweight web crawler. -> **[jsoup](https://github.com/jhy/jsoup)** ★ 11.4k 🟢
Scrapes, parses, manipulates and cleans HTML. +> **[jsoup](https://github.com/jhy/jsoup)** ★ 11.4k MIT 🟢
Scrapes, parses, manipulates and cleans HTML. -> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 987 🟢
SDK for building low-latency and scalable web crawlers. +> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 987 Apache-2.0 🟢
SDK for building low-latency and scalable web crawlers. -> **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k 🟠
Scalable crawler with downloading, url management, content extraction and persistent. +> **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k Apache-2.0 🟠
Scalable crawler with downloading, url management, content extraction and persistent. @@ -2154,35 +2154,35 @@ _Libraries that analyze the content of websites._ _Frameworks that handle the communication between the layers of a web application._ -> **[ActiveJ](https://github.com/activej/activej)** ★ 995 🟠
Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +> **[ActiveJ](https://github.com/activej/activej)** ★ 995 Apache-2.0 🟠
Lightweight asynchronous framework built from the ground up for developing high-performance web applications. -> **[Apache Tapestry](https://github.com/apache/tapestry-5)** ★ 136 🟢
Component-oriented framework for creating dynamic, robust, highly scalable web applications. +> **[Apache Tapestry](https://github.com/apache/tapestry-5)** ★ 136 Apache-2.0 🟢
Component-oriented framework for creating dynamic, robust, highly scalable web applications. -> **[Apache Wicket](https://github.com/apache/wicket)** ★ 794 🟢
Component-based web application framework similar to Tapestry, with a stateful GUI. +> **[Apache Wicket](https://github.com/apache/wicket)** ★ 794 Apache-2.0 🟢
Component-based web application framework similar to Tapestry, with a stateful GUI. -> **[Blade](https://github.com/lets-blade/blade)** ★ 5.9k 🟢
Lightweight, modular framework that aims to be elegant and simple. +> **[Blade](https://github.com/lets-blade/blade)** ★ 5.9k Apache-2.0 🟢
Lightweight, modular framework that aims to be elegant and simple. -> **[Bootique](https://github.com/bootique/bootique)** ★ 1.4k 🟢
Minimally opinionated framework for runnable apps. +> **[Bootique](https://github.com/bootique/bootique)** ★ 1.4k Apache-2.0 🟢
Minimally opinionated framework for runnable apps. -> **[Erupt](https://github.com/erupts/erupt)** ★ 2.8k 🟢
Annotation-Driven Low-Code & JPA Visualization. +> **[Erupt](https://github.com/erupts/erupt)** ★ 2.8k Apache-2.0 🟢
Annotation-Driven Low-Code & JPA Visualization. -> **[Javalin](https://github.com/javalin/javalin)** ★ 8.3k 🟢
Microframework for web applications. +> **[Javalin](https://github.com/javalin/javalin)** ★ 8.3k Apache-2.0 🟢
Microframework for web applications. -> **[Jooby](https://github.com/jooby-project/jooby)** ★ 1.8k 🟢
Scalable, fast and modular micro-framework that offers multiple programming models. +> **[Jooby](https://github.com/jooby-project/jooby)** ★ 1.8k Apache-2.0 🟢
Scalable, fast and modular micro-framework that offers multiple programming models. -> **[Ninja](https://github.com/ninjaframework/ninja)** ★ 1.9k 🟠
Full-stack web framework. +> **[Ninja](https://github.com/ninjaframework/ninja)** ★ 1.9k Apache-2.0 🟠
Full-stack web framework. -> **[Pippo](https://github.com/pippo-java/pippo)** ★ 786 🟠
Small, highly modularized, Sinatra-like framework. +> **[Pippo](https://github.com/pippo-java/pippo)** ★ 786 Apache-2.0 🟠
Small, highly modularized, Sinatra-like framework. -> **[Play](https://github.com/playframework/playframework)** ★ 12.6k 🟢
Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. +> **[Play](https://github.com/playframework/playframework)** ★ 12.6k Apache-2.0 🟢
Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. -> **[PrimeFaces](https://github.com/primefaces/primefaces)** ★ 1.9k 🟢
JSF framework with both free and commercial/support versions and frontend components. +> **[PrimeFaces](https://github.com/primefaces/primefaces)** ★ 1.9k MIT 🟢
JSF framework with both free and commercial/support versions and frontend components. > **[Ratpack](https://github.com/ratpack/ratpack)** ★ 1.9k 🟢
Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. -> **[Takes](https://github.com/yegor256/takes)** ★ 877 🟢
Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. +> **[Takes](https://github.com/yegor256/takes)** ★ 877 MIT 🟢
Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. -> **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 🟢
Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. +> **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 Apache-2.0 🟢
Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. > **[Vaadin](https://vaadin.com)** ★ 1.7k 🟢
Full-stack Java platform for building browser applications with server-side components. @@ -2195,11 +2195,11 @@ _Frameworks that handle the communication between the layers of a web applicatio _Engines for orchestrating long-running workflows and business processes._ -> **[Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client)** ★ 150 🟢
Java client and workflow framework for the Cadence orchestration service. +> **[Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client)** ★ 150 Apache-2.0 🟢
Java client and workflow framework for the Cadence orchestration service. -> **[flowable](https://github.com/flowable/flowable-engine)** ★ 9.4k 🟢
Compact and efficient workflow and business process management platform. +> **[flowable](https://github.com/flowable/flowable-engine)** ★ 9.4k Apache-2.0 🟢
Compact and efficient workflow and business process management platform. -> **[Temporal Java SDK](https://github.com/temporalio/sdk-java)** ★ 421 🟢
Java SDK for writing durable workflows and activities on Temporal. +> **[Temporal Java SDK](https://github.com/temporalio/sdk-java)** ★ 421 Apache-2.0 🟢
Java SDK for writing durable workflows and activities on Temporal. @@ -2419,5 +2419,3 @@ _Sites to read._ > **[Suggest a project](https://github.com/akullpp/awesome-java/edit/test/README_SOURCE.md)** · [Contribution guidelines](CONTRIBUTING.md) > > Add one Markdown entry under the appropriate category and open one pull request. Ordering, counts and GitHub statistics are generated automatically. - -[c]: https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg diff --git a/README_SOURCE.md b/README_SOURCE.md index d60ad8f0..966d65f3 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -152,14 +152,14 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. - [Avaje Http Server](https://github.com/avaje/avaje-http) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. -- [Bootify ![c]](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [Bootify](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. - [CRUDGen](https://github.com/bariskokulu/CRUDGen) - Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. - [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - [Immutables](https://github.com/immutables/immutables) - Annotation processors to generate simple, safe and consistent value objects. - [JHipster](https://github.com/jhipster/generator-jhipster) - Yeoman source code generator for Spring Boot and AngularJS. - [Joda-Beans](https://github.com/JodaOrg/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](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. - [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - [Lombok](https://github.com/projectlombok/lombok) - Code generator that aims to reduce verbosity. - [Record-Builder](https://github.com/Randgalt/record-builder) - Companion builder class, withers and templates for Java records. @@ -371,17 +371,17 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ - [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. -- [Boxfuse ![c]](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. +- [Boxfuse](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. - [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. -- [Cloudsmith ![c]](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. +- [Cloudsmith](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. - [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - [IzPack](https://github.com/izpack/izpack) - Setup authoring tool for cross-platform deployments. - [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - [jDeploy](https://github.com/shannah/jdeploy) - Deploy desktop apps as native Mac, Windows or Linux bundles. - [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. - [Nuts](https://github.com/thevpc/nuts) - Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. -- [Nexus ![c]](https://github.com/sonatype/nexus-public) - Binary management with proxy and caching capabilities. +- [Nexus](https://github.com/sonatype/nexus-public) - Binary management with proxy and caching capabilities. - [packr](https://github.com/libgdx/packr) - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS. - [really-executable-jars-maven-plugin](https://github.com/brianm/really-executable-jars-maven-plugin) - Maven plugin for making self-executing JARs. @@ -463,7 +463,7 @@ _Frameworks that support the development of games._ _Libraries for working with geospatial data and algorithms._ - [Apache SIS](https://github.com/apache/sis) - Library for developing geospatial applications. -- [ArcGIS Maps SDK for Java ![c]](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. +- [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. - [GeoTools](https://github.com/geotools/geotools) - Library that provides tools for geospatial data. (LGPL-2.1-only) - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. @@ -525,7 +525,7 @@ _Libraries that handle serialization to hypermedia types._ _Integrated development environments that try to simplify several aspects of development._ - [Eclipse Java IDE](https://www.eclipse.org) - Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. -- [IntelliJ IDEA ![c]](https://github.com/JetBrains/intellij-community) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. +- [IntelliJ IDEA](https://github.com/JetBrains/intellij-community) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - [NetBeans](https://github.com/apache/netbeans) - Provides integration for several Java SE and EE features, from database access to HTML5. - [SnapCode](https://github.com/reportmill/SnapCode) - Modern IDE for Java running in the browser, focused on education. @@ -630,7 +630,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [DatumBox](https://github.com/datumbox/datumbox-framework) - Provides several algorithms and pre-trained models for natural language processing. - [Deeplearning4j](https://github.com/deeplearning4j/deeplearning4j) - Distributed and multi-threaded deep learning library. - [DJL](https://github.com/deepjavalibrary/djl) - High-level and engine-agnostic framework for deep learning. -- [H2O ![c]](https://github.com/h2oai/h2o-3) - Analytics engine for statistics over big data. +- [H2O](https://github.com/h2oai/h2o-3) - Analytics engine for statistics over big data. - [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) - [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. @@ -684,7 +684,7 @@ _Everything else._ - [AISmessages](https://github.com/tbsalling/aismessages) - Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) - [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. -- [Explyt ![c]](https://github.com/explyt/explyt) - AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. +- [Explyt](https://github.com/explyt/explyt) - AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. - [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. @@ -696,7 +696,7 @@ _Everything else._ - [JCuda](https://github.com/jcuda/jcuda) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. -- [JObfuscator![c]](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. +- [JObfuscator](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. - [Joda-Money](https://github.com/JodaOrg/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - [JPad](https://jpad.io) - Snippet runner. @@ -739,7 +739,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. - [Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage) - Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. -- [Datadog ![c]](https://github.com/DataDog/dd-trace-java) - Modern monitoring & analytics. +- [Datadog](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. - [Glowroot](https://github.com/glowroot/glowroot) - Open-source Java APM. - [HertzBeat](https://github.com/dromara/hertzbeat) - Real-time monitoring system with custom-monitor and agentless. @@ -754,8 +754,8 @@ _Tools that observe/monitor applications in production by providing telemetry._ - [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java) - Instrument, generate, collect, and export telemetry data to help you analyze your software’s 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. -- [SPM ![c]](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. +- [Sentry](https://github.com/getsentry/sentry-java) - Integration with [Sentry](https://github.com/getsentry/sentry), an application error tracking and performance analysis platform. +- [SPM](https://github.com/sematext/sematext-agent-java) - Performance monitor with distributing transaction tracing for JVM apps. - [zipkin](https://github.com/openzipkin/zipkin) - Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. ### Native @@ -819,12 +819,12 @@ _APIs that handle the persistence of objects._ _Java platform as a service._ -- [AWS Elastic Beanstalk ![c]](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. -- [AWS Lambda ![c]](https://aws.amazon.com/lambda/) - Serverless computation. -- [Google Cloud ![c]](https://cloud.google.com) - Google's cloud infrastructure. -- [Heroku ![c]](https://www.heroku.com) - Abstract computing environments. -- [Microsoft Azure ![c]](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. -- [OpenShift ![c]](https://www.openshift.com) - Provides additionally an on-premise solution. +- [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) - AWS-based, with support for Tomcat and Jetty. +- [AWS Lambda](https://aws.amazon.com/lambda/) - Serverless computation. +- [Google Cloud](https://cloud.google.com) - Google's cloud infrastructure. +- [Heroku](https://www.heroku.com) - Abstract computing environments. +- [Microsoft Azure](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. +- [OpenShift](https://www.openshift.com) - Provides additionally an on-premise solution. ### Pathfinding @@ -843,7 +843,7 @@ _Tools to help with PDF files._ - [Eclipse BIRT](https://github.com/eclipse-birt/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - [GraphCompose](https://github.com/DemchaAV/GraphCompose) - Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. -- [iText ![c]](https://github.com/itext/itext-java) - Creates PDF files programmatically. +- [iText](https://github.com/itext/itext-java) - Creates PDF files programmatically. - [JasperReports](https://github.com/Jaspersoft/jasperreports) - Complex reporting engine. (LGPL-3.0-only) - [jquick-pdf](https://github.com/paohaijiao/jquick-pdf) - Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. - [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. @@ -854,8 +854,8 @@ _Tools to help with PDF files._ _Tools for performance analysis, profiling and benchmarking._ -- [fastThread ![c]](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. -- [GCeasy ![c]](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. +- [fastThread](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. +- [GCeasy](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. - [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. - [Heap Seance](https://github.com/SegfaultSorcerer/heap-seance) - Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. @@ -1111,7 +1111,7 @@ _Provide environments to run tests for a specific use case._ - [Apache JMeter](https://github.com/apache/jmeter) - Functional testing and performance measurements. - [JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl) - Load tests with JMeter as simple as a JUnit test. - [Arquillian](https://github.com/arquillian/arquillian-core) - Integration and functional testing platform for Java EE containers. -- [BitDive Java Agent ![c]](https://github.com/bitDive/java-producer) - Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. +- [BitDive Java Agent](https://github.com/bitDive/java-producer) - Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. - [cdi-test](https://github.com/guhilling/cdi-test) - JUnit extension for easy and efficient testing of CDI components. - [Citrus](https://github.com/citrusframework/citrus) - Integration testing framework that focuses on both client- and server-side messaging. - [Gatling](https://github.com/gatling/gatling) - Load testing tool designed for ease of use, maintainability and high performance. @@ -1362,5 +1362,3 @@ _Sites to read._ - [RebelLabs](https://zeroturnaround.com/rebellabs) - [TheServerSide.com](https://www.theserverside.com) - [Vanilla Java](https://vanilla-java.github.io) - -[c]: https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg diff --git a/scripts/GenerateReadme.java b/scripts/GenerateReadme.java index 478457aa..b216c500 100644 --- a/scripts/GenerateReadme.java +++ b/scripts/GenerateReadme.java @@ -31,6 +31,10 @@ final class GenerateReadme { private static final Pattern STARS = Pattern.compile("\"stargazers_count\"\\s*:\\s*(\\d+)"); private static final Pattern PUSHED_AT = Pattern.compile("\"pushed_at\"\\s*:\\s*(?:\"([^\"]+)\"|null)"); private static final Pattern ARCHIVED = Pattern.compile("\"archived\"\\s*:\\s*(true|false)"); + private static final Pattern LICENSE = Pattern.compile( + "\"license\"\\s*:\\s*(?:null|\\{.*?\"spdx_id\"\\s*:\\s*(?:\"([^\"]+)\"|null))", + Pattern.DOTALL + ); private static final Pattern GITHUB_METADATA = Pattern.compile("\\s*\\s*$"); private static final Pattern REPOSITORY = @@ -39,9 +43,6 @@ final class GenerateReadme { Comparator.comparing((String value) -> value.toLowerCase(Locale.ROOT)) .thenComparing(Comparator.naturalOrder()); private static final DateTimeFormatter DISPLAY_DATE = DateTimeFormatter.ofPattern("dd/MM/uuuu"); - private static final String COMMERCIAL_BADGE = - "https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/" - + "d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg"; public static void main(String[] args) throws Exception { if (args.length == 0) { @@ -294,7 +295,7 @@ private static void validateItems( Map repositories ) { for (var item : items) { - var plainName = sortName(item.name()); + var plainName = item.name(); var normalizedName = plainName.toLowerCase(Locale.ROOT); var normalizedUrl = normalizeUrl(item.url()); var duplicateName = names.putIfAbsent(normalizedName, item); @@ -311,7 +312,7 @@ private static void validateItems( repository.toLowerCase(Locale.ROOT), item); if (duplicateRepository != null) { fail(item.lineNumber(), "GitHub repository is already used by " - + sortName(duplicateRepository.name()) + ": " + repository); + + duplicateRepository.name() + ": " + repository); } } } @@ -340,14 +341,19 @@ private static RepoStats fetchStats(HttpClient client, String repository, String var stars = STARS.matcher(response.body()); var pushedAt = PUSHED_AT.matcher(response.body()); var archived = ARCHIVED.matcher(response.body()); - if (!stars.find() || !pushedAt.find() || !archived.find()) { + var license = LICENSE.matcher(response.body()); + if (!stars.find() || !pushedAt.find() || !archived.find() || !license.find()) { throw new IOException("Incomplete GitHub response for " + repository); } var pushed = pushedAt.group(1) == null ? null : OffsetDateTime.parse(pushedAt.group(1)).withOffsetSameInstant(ZoneOffset.UTC).toLocalDate(); - return new RepoStats(Long.parseLong(stars.group(1)), pushed, - Boolean.parseBoolean(archived.group(1))); + return new RepoStats( + Long.parseLong(stars.group(1)), + pushed, + Boolean.parseBoolean(archived.group(1)), + knownLicense(license.group(1)) + ); } private static StatsCache readCache(Path path) throws IOException { @@ -362,7 +368,7 @@ private static StatsCache readCache(Path path) throws IOException { refreshed = LocalDate.parse(line.substring("# refreshed=".length())); } else if (!line.isBlank() && !line.startsWith("#")) { var parts = line.split("\\t", -1); - if (parts.length != 4) { + if (parts.length != 5) { throw new IOException("Invalid statistics cache line: " + line); } if (!parts[3].equals("true") && !parts[3].equals("false")) { @@ -371,7 +377,8 @@ private static StatsCache readCache(Path path) throws IOException { stats.put(parts[0], new RepoStats( Long.parseLong(parts[1]), parts[2].isBlank() ? null : LocalDate.parse(parts[2]), - Boolean.parseBoolean(parts[3]) + Boolean.parseBoolean(parts[3]), + parts[4].isBlank() ? null : parts[4] )); } } @@ -387,6 +394,7 @@ private static void writeCache(Path path, StatsCache cache) throws IOException { .append(entry.getValue().stars()).append('\t') .append(entry.getValue().pushed() == null ? "" : entry.getValue().pushed()) .append('\t').append(entry.getValue().archived()) + .append('\t').append(entry.getValue().license() == null ? "" : entry.getValue().license()) .append('\n')); writeAtomically(path, content.toString()); } @@ -402,8 +410,9 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, .append(DISPLAY_DATE.format(cache.refreshed())).append("\n\n") .append("Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · ") .append("🔴 no push for over 12 months\n\n") - .append("Entries spanning several repositories combine their stars and use the ") - .append("most recent push for activity.\n\n") + .append("License chips use GitHub SPDX metadata when available. Entries spanning ") + .append("several repositories combine their stars, use the most recent push for activity ") + .append("and show a license only when all repositories agree.\n\n") .append("Browse a category below, or use your browser's find command to locate a project.\n\n") .append("## Projects\n\n"); @@ -422,8 +431,7 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, .append("[Contribution guidelines](CONTRIBUTING.md)\n") .append(">\n") .append("> Add one Markdown entry under the appropriate category and open one pull request. ") - .append("Ordering, counts and GitHub statistics are generated automatically.\n\n") - .append("[c]: ").append(COMMERCIAL_BADGE).append('\n'); + .append("Ordering, counts and GitHub statistics are generated automatically.\n"); return out.toString(); } @@ -441,7 +449,7 @@ private static void renderCategory( .append('_').append(category.description).append("_\n\n"); category.items.stream() - .sorted(Comparator.comparing(item -> sortName(item.name()), TEXT_ORDER)) + .sorted(Comparator.comparing(Item::name, TEXT_ORDER)) .forEach(item -> renderProject(out, item, cache, today)); category.subcategories.values().stream() @@ -454,7 +462,7 @@ private static void renderCategory( out.append('_').append(sub.description).append("_\n\n"); } sub.items.stream() - .sorted(Comparator.comparing(item -> sortName(item.name()), TEXT_ORDER)) + .sorted(Comparator.comparing(Item::name, TEXT_ORDER)) .forEach(item -> renderProject(out, item, cache, today)); }); @@ -470,6 +478,9 @@ private static void renderProject( out.append("> **[").append(item.name()).append("](").append(item.url()).append(")**"); aggregateStats(item, cache).ifPresent(stats -> { out.append(" ★ ").append(formatStars(stats.stars())).append(""); + if (stats.license() != null) { + out.append(" ").append(stats.license()).append(""); + } if (stats.pushed() != null) { out.append(' ').append(activityDot(stats.pushed(), today)); } @@ -485,7 +496,7 @@ private static void renderResource(StringBuilder out, ResourceGroup resource) { .append('_').append(resource.description).append("_\n\n"); resource.items.stream() - .sorted(Comparator.comparing(item -> sortName(item.name()), TEXT_ORDER)) + .sorted(Comparator.comparing(Item::name, TEXT_ORDER)) .forEach(item -> { out.append("> **[").append(item.name()).append("](").append(item.url()).append(")**"); if (!item.description().isBlank()) { @@ -503,6 +514,8 @@ private static Optional aggregateStats(Item item, StatsCache cache) { long stars = 0; LocalDate pushed = null; + String license = null; + var oneLicense = true; for (var repository : item.repositories()) { var stats = cache.stats().get(repository); require(stats != null, item.lineNumber(), @@ -511,8 +524,15 @@ private static Optional aggregateStats(Item item, StatsCache cache) { if (stats.pushed() != null && (pushed == null || stats.pushed().isAfter(pushed))) { pushed = stats.pushed(); } + if (stats.license() == null) { + oneLicense = false; + } else if (license == null) { + license = stats.license(); + } else if (!license.equals(stats.license())) { + oneLicense = false; + } } - return Optional.of(new RepoStats(stars, pushed, false)); + return Optional.of(new RepoStats(stars, pushed, false, oneLicense ? license : null)); } private static void rejectArchivedProjects(Catalog source, StatsCache cache) { @@ -535,17 +555,24 @@ private static void validateRendered( ) { require(!rendered.contains("Last push"), 0, "Generated README contains a Last push label"); require(!rendered.contains("| Name |"), 0, "Generated README contains a table"); + require(!rendered.contains("![c]") && !rendered.contains("[c]:"), + 0, "Generated README contains the retired commercial badge"); require(!rendered.matches("(?s).*\\d{2}/\\d{2}/\\d{4}.*"), 0, "Generated README contains a per-project date"); for (var item : source.projects()) { require(rendered.contains("**[" + item.name() + "](" + item.url() + ")**"), item.lineNumber(), - "Generated README is missing project: " + sortName(item.name())); + "Generated README is missing project: " + item.name()); + aggregateStats(item, cache).filter(stats -> stats.license() != null).ifPresent(stats -> + require(rendered.contains("★ " + formatStars(stats.stars()) + " " + + stats.license() + ""), + item.lineNumber(), "Generated README is missing license: " + item.name()) + ); } for (var resource : source.resources()) { for (var item : resource.items) { require(rendered.contains("**[" + item.name() + "](" + item.url() + ")**"), item.lineNumber(), - "Generated README is missing resource: " + sortName(item.name())); + "Generated README is missing resource: " + item.name()); } } @@ -656,8 +683,11 @@ private static String normalizeUrl(String url) { return url.toLowerCase(Locale.ROOT).replaceAll("/+$", ""); } - private static String sortName(String name) { - return name.replace("![c]", "").trim(); + private static String knownLicense(String license) { + return license == null || license.isBlank() + || license.equals("NOASSERTION") || license.equals("OTHER") + ? null + : license; } private static boolean isDescription(String line) { @@ -705,12 +735,6 @@ private static void selfTest() throws Exception { 0, "Repository parsing"); require(githubRepository("https://github.com/webforms-core").isEmpty(), 0, "Organization URL parsing"); - var commercial = parseItem( - "- [Bootify ![c]](https://bootify.io) - Generates Spring Boot applications.", - 1, - true - ); - require(commercial.name().equals("Bootify ![c]"), 0, "Commercial marker parsing"); var umbrella = parseItem( "- [Umbrella](https://example.com) - Several modules. " + "", @@ -720,20 +744,27 @@ private static void selfTest() throws Exception { require(umbrella.repositories().equals(List.of("acme/one", "acme/two")), 0, "Umbrella repository parsing"); var aggregate = aggregateStats(umbrella, new StatsCache(today, Map.of( - "acme/one", new RepoStats(10, LocalDate.of(2026, 1, 1), false), - "acme/two", new RepoStats(20, LocalDate.of(2026, 7, 1), false) + "acme/one", new RepoStats(10, LocalDate.of(2026, 1, 1), false, "Apache-2.0"), + "acme/two", new RepoStats(20, LocalDate.of(2026, 7, 1), false, "Apache-2.0") ))).orElseThrow(); require(aggregate.stars() == 30, 0, "Umbrella star aggregation"); require(aggregate.pushed().equals(LocalDate.of(2026, 7, 1)), 0, "Umbrella activity aggregation"); + require(aggregate.license().equals("Apache-2.0"), 0, "Umbrella license aggregation"); + var mixedLicense = aggregateStats(umbrella, new StatsCache(today, Map.of( + "acme/one", new RepoStats(10, today, false, "Apache-2.0"), + "acme/two", new RepoStats(20, today, false, "MIT") + ))).orElseThrow(); + require(mixedLicense.license() == null, 0, "Mixed umbrella licenses"); + require(knownLicense("NOASSERTION") == null, 0, "Unknown license handling"); var category = new Category("Test"); category.description = "Test projects."; category.items.add(umbrella); var catalog = new Catalog("# Test", "Test.", List.of(category), List.of()); expectFailure( () -> rejectArchivedProjects(catalog, new StatsCache(today, Map.of( - "acme/one", new RepoStats(10, today, false), - "acme/two", new RepoStats(20, today, true) + "acme/one", new RepoStats(10, today, false, "Apache-2.0"), + "acme/two", new RepoStats(20, today, true, "Apache-2.0") ))), "Archived GitHub repository" ); @@ -756,7 +787,8 @@ private static void selfTest() throws Exception { ); var oldCache = Files.createTempFile("awesome-java-old-cache", ".tsv"); try { - Files.writeString(oldCache, "# refreshed=2026-07-26\nacme/one\t10\t2026-07-25\n"); + Files.writeString(oldCache, + "# refreshed=2026-07-26\nacme/one\t10\t2026-07-25\tfalse\n"); expectFailure(() -> readCache(oldCache), "Invalid statistics cache line"); } finally { Files.deleteIfExists(oldCache); @@ -841,7 +873,7 @@ private List projects() { } } - private record RepoStats(long stars, LocalDate pushed, boolean archived) {} + private record RepoStats(long stars, LocalDate pushed, boolean archived, String license) {} private record StatsCache(LocalDate refreshed, Map stats) {} } From bad1aef719d4278df93685e684709545128169b2 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sun, 26 Jul 2026 17:45:13 +0000 Subject: [PATCH 511/533] Update README with latest GitHub stats --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34f3e03f..a799d9db 100644 --- a/README.md +++ b/README.md @@ -339,7 +339,7 @@ _Libraries that provide external configuration._ > **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. From 2a65ed899fc94ab46bf4693e8cfe8f4b898da6b6 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 27 Jul 2026 09:16:24 +0200 Subject: [PATCH 512/533] Improve catalog navigation and contributions --- .github/pull_request_template.md | 17 +- .github/workflows/update-readme.yml | 20 +- .gitignore | 2 + CONTRIBUTING.md | 30 +- LICENSE | 427 ++++++++++++++++++++++++++++ LICENSE-CODE | 21 ++ LICENSE.md | 3 - README.md | 21 +- README_SOURCE.md | 6 +- scripts/GenerateReadme.java | 271 ++++++++++++++++-- 10 files changed, 776 insertions(+), 42 deletions(-) create mode 100644 LICENSE create mode 100644 LICENSE-CODE delete mode 100644 LICENSE.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index dca2a733..730fce5e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,15 @@ +## Suggestion type + +- [ ] Project +- [ ] Resource + +## Checklist + +- [ ] I searched the list and existing issues for duplicates. - [ ] I changed `README_SOURCE.md`, not the generated `README.md`. - [ ] This pull request contains one suggestion. -- [ ] Java is a primary API, runtime, target or first-class integration. -- [ ] I used the canonical GitHub repository when one exists. -- [ ] The concise, neutral description explains the distinguishing value and ends with punctuation. -- [ ] Commercial or restrictive licensing is disclosed where applicable. +- [ ] The suggestion is relevant to Java or the JVM and fits its chosen category. +- [ ] I used the canonical project or resource link. +- [ ] The suggestion is current and maintained. +- [ ] The concise, neutral description explains its distinguishing value and ends with punctuation. +- [ ] Licensing is clear and any restrictive terms are disclosed where applicable. diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index c2e2bde2..35a4e902 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -1,9 +1,12 @@ +# SPDX-License-Identifier: MIT + name: Update README on: pull_request: paths: - "README_SOURCE.md" + - "README.md" - "CONTRIBUTING.md" - ".github/pull_request_template.md" - ".github/workflows/update-readme.yml" @@ -27,7 +30,7 @@ permissions: concurrency: group: update-readme-${{ github.ref }} - cancel-in-progress: false + cancel-in-progress: true jobs: validate: @@ -35,6 +38,17 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Reject direct README changes + env: + BASE_SHA: ${{ github.event.pull_request.base.sha }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} + run: | + if ! git diff --quiet "$BASE_SHA" "$HEAD_SHA" -- README.md; then + echo "::error file=README.md::README.md is generated. Edit README_SOURCE.md instead." + exit 1 + fi - uses: actions/setup-java@v5 with: distribution: temurin @@ -79,8 +93,8 @@ jobs: java scripts/GenerateReadme.java generate README_SOURCE.md README.md .cache/github-stats.tsv "${args[@]}" --branch "$GITHUB_REF_NAME" - name: Commit README run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" git add README.md if git diff --staged --quiet; then echo "README is already current" diff --git a/.gitignore b/.gitignore index 20a7d6ac..0742a665 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ .vscode/ .tmp/ .cache/ +.DS_Store +*.class diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 67e93899..db03a1df 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,6 +31,26 @@ Search existing entries and issues before submitting. Self-promotion is reviewed carefully but is welcome when the project meets the same criteria. Use one pull request per project. +## Suggest a Resource + +Add one resource under the best group in [`README_SOURCE.md`](README_SOURCE.md): + +```markdown +- [Resource Name](https://canonical.example) +``` + +An optional description may follow the link: + +```markdown +- [Resource Name](https://canonical.example) - A concise, neutral description ending with punctuation. +``` + +Resources include books, podcasts, people, communities, related lists and +websites. They must be current, relevant to Java or the JVM, use a canonical +HTTPS link, fit the chosen group and use English where prose is involved. +Search for duplicates and submit one resource per pull request. Contributors +do not need to run the generator. + ## Maintainer Notes Most entries point directly to one GitHub repository. For an umbrella project @@ -43,5 +63,13 @@ homepage and append maintainer-only metadata: Use at least two canonical repositories. A repository may belong to only one entry. The generator sums their stars, uses their most recent push for activity -and rejects malformed metadata, duplicate repository use and archived +and shows a license only when every repository reports the same SPDX license. +It rejects malformed metadata, duplicate repository use and archived repositories. + +## License + +Catalog and documentation contributions are licensed under +[CC BY-SA 4.0](LICENSE). Automation code and configuration are licensed under +the [MIT License](LICENSE-CODE). By contributing, you agree that your changes +are available under the applicable license. diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..795087c2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,427 @@ +Attribution-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the “Licensor.” The text of the Creative Commons public +licenses is dedicated to the public domain under the CC0 Public Domain +Dedication. Except for the limited purpose of indicating that material +is shared under a Creative Commons public license or as otherwise +permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/LICENSE-CODE b/LICENSE-CODE new file mode 100644 index 00000000..be59e4ee --- /dev/null +++ b/LICENSE-CODE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Andreas Kull + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 3e5fecbe..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,3 +0,0 @@ -# License - -[CC-BY-SA-4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode) diff --git a/README.md b/README.md index a799d9db..dae2a271 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. -812 projects · 75 categories · 26/07/2026 +812 projects · 75 categories · 80 resources · 26/07/2026 Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months @@ -12,6 +12,15 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. Browse a category below, or use your browser's find command to locate a project. +
+Browse 75 project categories and 7 resource groups + +**Projects:** [Architecture](#architecture) · [Artificial Intelligence](#artificial-intelligence) · [Bean Mapping](#bean-mapping) · [Build](#build) · [Bytecode Manipulation](#bytecode-manipulation) · [Caching](#caching) · [CLI](#cli) · [Cloud](#cloud) · [Code Analysis](#code-analysis) · [Code Coverage](#code-coverage) · [Code Formatting](#code-formatting) · [Code Generators](#code-generators) · [Compiler-compiler](#compiler-compiler) · [Computer Vision](#computer-vision) · [Configuration](#configuration) · [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) · [CSV](#csv) · [Data Structures](#data-structures) · [Database](#database) · [Date and Time](#date-and-time) · [Decentralization](#decentralization) · [Decompilation](#decompilation) · [Dependency Injection](#dependency-injection) · [Development](#development) · [Distributed Applications](#distributed-applications) · [Distributed Transactions](#distributed-transactions) · [Distribution](#distribution) · [Document Processing](#document-processing) · [Financial](#financial) · [Flat File](#flat-file) · [Formal Verification](#formal-verification) · [Functional Programming](#functional-programming) · [Game Development](#game-development) · [Geospatial](#geospatial) · [GUI](#gui) · [High Performance](#high-performance) · [HTTP Clients](#http-clients) · [Hypermedia Types](#hypermedia-types) · [IDE](#ide) · [Imagery](#imagery) · [Introspection](#introspection) · [Job Scheduling](#job-scheduling) · [JSON](#json) · [JVM and JDK](#jvm-and-jdk) · [Logging](#logging) · [Machine Learning](#machine-learning) · [Messaging](#messaging) · [Microservice](#microservice) · [Miscellaneous](#miscellaneous) · [Mobile Development](#mobile-development) · [Monitoring](#monitoring) · [Native](#native) · [Natural Language Processing](#natural-language-processing) · [Networking](#networking) · [ORM](#orm) · [PaaS](#paas) · [Pathfinding](#pathfinding) · [PDF](#pdf) · [Performance analysis](#performance-analysis) · [Platform](#platform) · [Processes](#processes) · [Reactive libraries](#reactive-libraries) · [REST Frameworks](#rest-frameworks) · [Science](#science) · [Search](#search) · [Security](#security) · [Serialization](#serialization) · [Server](#server) · [Template Engine](#template-engine) · [Testing](#testing) · [Utility](#utility) · [Version Managers](#version-managers) · [Web Crawling](#web-crawling) · [Web Frameworks](#web-frameworks) · [Workflow Orchestration Engines](#workflow-orchestration-engines) + +**Resources:** [Related Awesome Lists](#related-awesome-lists) · [Communities](#communities) · [Frontends](#frontends) · [Influential Books](#influential-books) · [Podcasts and Screencasts](#podcasts-and-screencasts) · [People](#people) · [Websites](#websites) + +
+ ## Projects
@@ -339,7 +348,7 @@ _Libraries that provide external configuration._ > **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing.
@@ -2294,7 +2303,7 @@ _Something to look at or listen to while programming._ > **[Foojay Podcast](https://foojay.io/today/category/podcast/)** -> **[Inside Java](https://inside.java/podcast)** +> **[Inside Java](https://inside.java/podcast)**
Official podcast. > **[Java Off Heap](https://www.javaoffheap.com)** @@ -2416,6 +2425,10 @@ _Sites to read._ ## Contributing -> **[Suggest a project](https://github.com/akullpp/awesome-java/edit/test/README_SOURCE.md)** · [Contribution guidelines](CONTRIBUTING.md) +> **[Suggest a project or resource](https://github.com/akullpp/awesome-java/edit/test/README_SOURCE.md)** · [Contribution guidelines](CONTRIBUTING.md) > > Add one Markdown entry under the appropriate category and open one pull request. Ordering, counts and GitHub statistics are generated automatically. + +## License + +Catalog and documentation: [CC BY-SA 4.0](LICENSE). Automation code and configuration: [MIT](LICENSE-CODE). diff --git a/README_SOURCE.md b/README_SOURCE.md index 966d65f3..031ec1fb 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -5,6 +5,8 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. ## Projects @@ -1298,13 +1300,11 @@ _Something to look at or listen to while programming._ - [140 Second Ducklings](https://twitter.com/debugagent/status/1491075324805001219) - Short videos on Twitter explaining Java debugging in depth. - [A Bootiful Podcast](https://bootifulpodcast.fm) - [Foojay Podcast](https://foojay.io/today/category/podcast/) -- [Inside Java](https://inside.java/podcast) (Official) +- [Inside Java](https://inside.java/podcast) - Official podcast. - [Java Off Heap](https://www.javaoffheap.com) ### People -#### Socials - _Active accounts to follow. Descriptions from their socials._ - [Adam Bien](https://twitter.com/AdamBien) - Freelance author, JavaOne Rockstar speaker, consultant, Java Champion. diff --git a/scripts/GenerateReadme.java b/scripts/GenerateReadme.java index b216c500..47c399d3 100644 --- a/scripts/GenerateReadme.java +++ b/scripts/GenerateReadme.java @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MIT + import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; @@ -204,6 +206,8 @@ private static Catalog parseSource(Path path) throws IOException { } else { subcategory.items.add(item); } + } else if (!line.isBlank()) { + fail(lineNumber + 1, "Unexpected project content"); } } else if (section == Section.RESOURCES) { if (line.startsWith("### ")) { @@ -213,13 +217,15 @@ private static Catalog parseSource(Path path) throws IOException { fail(lineNumber + 1, "Duplicate resource group: " + name); } } else if (line.startsWith("#### ")) { - require(resource != null, lineNumber + 1, "Nested resource heading without a group"); + fail(lineNumber + 1, "Nested resource headings are not supported"); } else if (isDescription(line)) { require(resource != null, lineNumber + 1, "Description without a resource group"); resource.description = stripItalics(line); } else if (line.startsWith("- [")) { require(resource != null, lineNumber + 1, "Resource without a group"); resource.items.add(parseItem(line, lineNumber + 1, false)); + } else if (!line.isBlank()) { + fail(lineNumber + 1, "Unexpected resource content"); } } } @@ -252,15 +258,20 @@ private static Item parseItem(String line, int lineNumber, boolean descriptionRe var name = line.substring(3, linkClose).trim(); var url = line.substring(linkClose + 2, urlClose).trim(); var remainder = line.substring(urlClose + 1); + require(remainder.isEmpty() || remainder.startsWith(" - "), lineNumber, + "Invalid text after entry link"); var description = remainder.startsWith(" - ") ? remainder.substring(3).trim() : ""; require(!name.isEmpty(), lineNumber, "Missing entry name"); require(!url.isEmpty(), lineNumber, "Missing entry URL"); + validateUrl(url, lineNumber); require(!descriptionRequired || !description.isEmpty(), lineNumber, "Missing project description"); var directRepository = githubRepository(url); require(repositories.isEmpty() || directRepository.isEmpty(), lineNumber, "GitHub metadata is not allowed on a direct repository link"); - directRepository.ifPresent(repositories::add); + if (descriptionRequired) { + directRepository.ifPresent(repositories::add); + } return new Item(name, url, description, lineNumber, List.copyOf(repositories)); } @@ -275,16 +286,21 @@ private static void validateSource(Catalog source) { for (var category : source.categories()) { require(!category.description.isBlank(), 0, "Missing category description: " + category.name); + require(!category.items.isEmpty() || !category.subcategories.isEmpty(), 0, + "Empty project category: " + category.name); require(anchors.add(slug(category.name)), 0, "Duplicate anchor: " + slug(category.name)); - validateItems(category.items, names, urls, repositories); + validateItems(category.items, names, urls, repositories, true); for (var nested : category.subcategories.values()) { - validateItems(nested.items, names, urls, repositories); + require(!nested.items.isEmpty(), 0, "Empty nested category: " + nested.name); + validateItems(nested.items, names, urls, repositories, true); } } for (var resource : source.resources()) { require(!resource.description.isBlank(), 0, "Missing resource description: " + resource.name); + require(!resource.items.isEmpty(), 0, "Empty resource group: " + resource.name); require(anchors.add(slug(resource.name)), 0, "Duplicate anchor: " + slug(resource.name)); + validateItems(resource.items, names, urls, repositories, false); } } @@ -292,7 +308,8 @@ private static void validateItems( List items, Map names, Map urls, - Map repositories + Map repositories, + boolean project ) { for (var item : items) { var plainName = item.name(); @@ -301,18 +318,22 @@ private static void validateItems( var duplicateName = names.putIfAbsent(normalizedName, item); var duplicateUrl = urls.putIfAbsent(normalizedUrl, item); require(duplicateName == null, item.lineNumber(), - "Duplicate project name: " + plainName + " (first at line " + duplicateNameLine(duplicateName) + ")"); + "Duplicate entry name: " + plainName + " (first at line " + duplicateNameLine(duplicateName) + ")"); require(duplicateUrl == null, item.lineNumber(), - "Duplicate project URL: " + item.url() + " (first at line " + duplicateNameLine(duplicateUrl) + ")"); - var end = item.description().charAt(item.description().length() - 1); - require(".!?)".indexOf(end) >= 0, item.lineNumber(), - "Description must end with punctuation: " + plainName); - for (var repository : item.repositories()) { - var duplicateRepository = repositories.putIfAbsent( - repository.toLowerCase(Locale.ROOT), item); - if (duplicateRepository != null) { - fail(item.lineNumber(), "GitHub repository is already used by " - + duplicateRepository.name() + ": " + repository); + "Duplicate entry URL: " + item.url() + " (first at line " + duplicateNameLine(duplicateUrl) + ")"); + if (!item.description().isBlank()) { + var end = item.description().charAt(item.description().length() - 1); + require(".!?)".indexOf(end) >= 0, item.lineNumber(), + "Description must end with punctuation: " + plainName); + } + if (project) { + for (var repository : item.repositories()) { + var duplicateRepository = repositories.putIfAbsent( + repository.toLowerCase(Locale.ROOT), item); + if (duplicateRepository != null) { + fail(item.lineNumber(), "GitHub repository is already used by " + + duplicateRepository.name() + ": " + repository); + } } } } @@ -337,13 +358,16 @@ private static RepoStats fetchStats(HttpClient client, String repository, String if (response.statusCode() != 200) { throw new IOException("GitHub API returned " + response.statusCode() + " for " + repository); } + return parseStats(response.body()); + } - var stars = STARS.matcher(response.body()); - var pushedAt = PUSHED_AT.matcher(response.body()); - var archived = ARCHIVED.matcher(response.body()); - var license = LICENSE.matcher(response.body()); + private static RepoStats parseStats(String body) throws IOException { + var stars = STARS.matcher(body); + var pushedAt = PUSHED_AT.matcher(body); + var archived = ARCHIVED.matcher(body); + var license = LICENSE.matcher(body); if (!stars.find() || !pushedAt.find() || !archived.find() || !license.find()) { - throw new IOException("Incomplete GitHub response for " + repository); + throw new IOException("Incomplete GitHub response"); } var pushed = pushedAt.group(1) == null ? null @@ -362,9 +386,14 @@ private static StatsCache readCache(Path path) throws IOException { } LocalDate refreshed = null; + var refreshedSeen = false; var stats = new HashMap(); for (var line : Files.readAllLines(path)) { if (line.startsWith("# refreshed=")) { + if (refreshedSeen) { + throw new IOException("Duplicate refreshed header in statistics cache"); + } + refreshedSeen = true; refreshed = LocalDate.parse(line.substring("# refreshed=".length())); } else if (!line.isBlank() && !line.startsWith("#")) { var parts = line.split("\\t", -1); @@ -374,12 +403,15 @@ private static StatsCache readCache(Path path) throws IOException { if (!parts[3].equals("true") && !parts[3].equals("false")) { throw new IOException("Invalid archived value in statistics cache line: " + line); } - stats.put(parts[0], new RepoStats( + var previous = stats.putIfAbsent(parts[0], new RepoStats( Long.parseLong(parts[1]), parts[2].isBlank() ? null : LocalDate.parse(parts[2]), Boolean.parseBoolean(parts[3]), parts[4].isBlank() ? null : parts[4] )); + if (previous != null) { + throw new IOException("Duplicate repository in statistics cache: " + parts[0]); + } } } return new StatsCache(refreshed, stats); @@ -407,6 +439,7 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, .append(source.tagline()).append("\n\n") .append("").append(projectCount(source)).append(" projects · ") .append(source.categories().size()).append(" categories · ") + .append(resourceCount(source)).append(" resources · ") .append(DISPLAY_DATE.format(cache.refreshed())).append("\n\n") .append("Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · ") .append("🔴 no push for over 12 months\n\n") @@ -414,6 +447,15 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, .append("several repositories combine their stars, use the most recent push for activity ") .append("and show a license only when all repositories agree.\n\n") .append("Browse a category below, or use your browser's find command to locate a project.\n\n") + .append("
\n") + .append("Browse ").append(source.categories().size()) + .append(" project categories and ").append(source.resources().size()) + .append(" resource groups\n\n") + .append("**Projects:** "); + appendNavigation(out, source.categories().stream().map(category -> category.name).sorted(TEXT_ORDER).toList()); + out.append("\n\n**Resources:** "); + appendNavigation(out, source.resources().stream().map(resource -> resource.name).toList()); + out.append("\n\n
\n\n") .append("## Projects\n\n"); source.categories().stream() @@ -427,14 +469,27 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, var editUrl = "https://github.com/akullpp/awesome-java/edit/" + branch + "/README_SOURCE.md"; out.append("## Contributing\n\n") - .append("> **[Suggest a project](").append(editUrl).append(")** · ") + .append("> **[Suggest a project or resource](").append(editUrl).append(")** · ") .append("[Contribution guidelines](CONTRIBUTING.md)\n") .append(">\n") .append("> Add one Markdown entry under the appropriate category and open one pull request. ") - .append("Ordering, counts and GitHub statistics are generated automatically.\n"); + .append("Ordering, counts and GitHub statistics are generated automatically.\n\n") + .append("## License\n\n") + .append("Catalog and documentation: [CC BY-SA 4.0](LICENSE). ") + .append("Automation code and configuration: [MIT](LICENSE-CODE).\n"); return out.toString(); } + private static void appendNavigation(StringBuilder out, List names) { + for (var i = 0; i < names.size(); i++) { + if (i > 0) { + out.append(" · "); + } + var name = names.get(i); + out.append('[').append(name).append("](#").append(slug(name)).append(')'); + } + } + private static void renderCategory( StringBuilder out, Category category, @@ -559,6 +614,8 @@ private static void validateRendered( 0, "Generated README contains the retired commercial badge"); require(!rendered.matches("(?s).*\\d{2}/\\d{2}/\\d{4}.*"), 0, "Generated README contains a per-project date"); + require(countOccurrences(rendered, "](#") == source.categories().size() + source.resources().size(), + 0, "Generated README contains an incomplete navigation index"); for (var item : source.projects()) { require(rendered.contains("**[" + item.name() + "](" + item.url() + ")**"), item.lineNumber(), @@ -576,6 +633,19 @@ private static void validateRendered( } } + var expectedLicenses = source.projects().stream() + .map(item -> aggregateStats(item, cache)) + .flatMap(Optional::stream) + .filter(stats -> stats.license() != null) + .count(); + var actualLicenses = rendered.lines() + .filter(line -> line.startsWith("> **[") + && line.contains("★ ") + && line.contains(" ")) + .count(); + require(actualLicenses == expectedLicenses, 0, + "Expected " + expectedLicenses + " license chips, found " + actualLicenses); + var expectedDots = source.projects().stream() .map(item -> aggregateStats(item, cache)) .flatMap(Optional::stream) @@ -672,6 +742,16 @@ private static Optional githubRepository(String url) { } } + private static void validateUrl(String url, int lineNumber) { + try { + var uri = URI.create(url); + require("https".equalsIgnoreCase(uri.getScheme()) && uri.getHost() != null, + lineNumber, "Entry URL must be an absolute HTTPS URL: " + url); + } catch (IllegalArgumentException exception) { + fail(lineNumber, "Entry URL must be an absolute HTTPS URL: " + url); + } + } + private static String slug(String value) { return value.toLowerCase(Locale.ROOT) .replaceAll("[^a-z0-9\\s-]", "") @@ -683,6 +763,14 @@ private static String normalizeUrl(String url) { return url.toLowerCase(Locale.ROOT).replaceAll("/+$", ""); } + private static int countOccurrences(String value, String needle) { + var count = 0; + for (var index = value.indexOf(needle); index >= 0; index = value.indexOf(needle, index + 1)) { + count++; + } + return count; + } + private static String knownLicense(String license) { return license == null || license.isBlank() || license.equals("NOASSERTION") || license.equals("OTHER") @@ -757,10 +845,41 @@ private static void selfTest() throws Exception { ))).orElseThrow(); require(mixedLicense.license() == null, 0, "Mixed umbrella licenses"); require(knownLicense("NOASSERTION") == null, 0, "Unknown license handling"); + var licensed = parseStats(""" + {"stargazers_count":1,"pushed_at":"2026-07-01T00:00:00Z","archived":false, + "license":{"spdx_id":"MIT"}} + """); + require("MIT".equals(licensed.license()), 0, "Concrete license parsing"); + var nullLicense = parseStats(""" + {"stargazers_count":1,"pushed_at":null,"archived":false,"license":null} + """); + require(nullLicense.license() == null, 0, "Null license parsing"); + var unknownLicense = parseStats(""" + {"stargazers_count":1,"pushed_at":null,"archived":false, + "license":{"spdx_id":"NOASSERTION"}} + """); + require(unknownLicense.license() == null, 0, "Unknown API license parsing"); var category = new Category("Test"); category.description = "Test projects."; category.items.add(umbrella); var catalog = new Catalog("# Test", "Test.", List.of(category), List.of()); + var resources = new ResourceGroup("Links"); + resources.description = "Useful links."; + resources.items.add(parseItem("- [Link](https://example.com/link)", 2, false)); + var rendered = render( + new Catalog("# Test", "Test.", List.of(category), List.of(resources)), + new StatsCache(today, Map.of( + "acme/one", new RepoStats(10, today, false, "Apache-2.0"), + "acme/two", new RepoStats(20, today, false, "Apache-2.0") + )), + today, + "test" + ); + require(rendered.contains("[Test](#test)") && rendered.contains("[Links](#links)"), + 0, "Navigation rendering"); + require(rendered.contains("Suggest a project or resource"), 0, "Contribution CTA"); + require(rendered.contains("CC BY-SA 4.0") && rendered.contains("[MIT](LICENSE-CODE)"), + 0, "License footer"); expectFailure( () -> rejectArchivedProjects(catalog, new StatsCache(today, Map.of( "acme/one", new RepoStats(10, today, false, "Apache-2.0"), @@ -793,9 +912,113 @@ private static void selfTest() throws Exception { } finally { Files.deleteIfExists(oldCache); } + var duplicateCache = Files.createTempFile("awesome-java-duplicate-cache", ".tsv"); + try { + Files.writeString(duplicateCache, """ + # refreshed=2026-07-26 + acme/one 10 2026-07-25 false MIT + acme/one 11 2026-07-26 false MIT + """); + expectFailure(() -> readCache(duplicateCache), "Duplicate repository"); + } finally { + Files.deleteIfExists(duplicateCache); + } + expectFailure(() -> validateFixture(""" + # Test + + Test. + + ## Projects + + ### Projects + + _Projects._ + + - Broken + + ## Resources + + ### Resources + + _Resources._ + + - [Resource](https://example.com) + """), "Unexpected project content"); + expectFailure(() -> validateFixture(""" + # Test + + Test. + + ## Projects + + ### Projects + + _Projects._ + + - [Project](not-a-url) - Project. + + ## Resources + + ### Resources + + _Resources._ + + - [Resource](https://example.com) + """), "absolute HTTPS URL"); + expectFailure(() -> validateFixture(""" + # Test + + Test. + + ## Projects + + ### Projects + + _Projects._ + + - [Project](https://example.com/project) - Project. + + ## Resources + + ### Resources + + _Resources._ + + - [One](https://example.com/resource) + - [Two](https://example.com/resource) + """), "Duplicate entry URL"); + expectFailure(() -> validateFixture(""" + # Test + + Test. + + ## Projects + + ### Projects + + _Projects._ + + - [Project](https://example.com/project) - Project. + + ## Resources + + ### Resources + + _Resources._ + """), "Empty resource group"); System.out.println("Self-test passed"); } + private static void validateFixture(String content) throws IOException { + var path = Files.createTempFile("awesome-java-source", ".md"); + try { + Files.writeString(path, content); + validateSource(parseSource(path)); + } finally { + Files.deleteIfExists(path); + } + } + private static void expectFailure(CheckedRunnable action, String message) { try { action.run(); From 3739cf8cdc203dfcf8855621946dd970787572ba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 07:16:44 +0000 Subject: [PATCH 513/533] Update README with latest GitHub stats --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dae2a271..2ad30b7a 100644 --- a/README.md +++ b/README.md @@ -348,7 +348,7 @@ _Libraries that provide external configuration._ > **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. From 14659d33b3f465cd5be5194089c5ee57bbdf932f Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 27 Jul 2026 09:22:59 +0200 Subject: [PATCH 514/533] Split README metadata notes --- README.md | 6 ++++-- scripts/GenerateReadme.java | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2ad30b7a..129e82a7 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,9 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months -License chips use GitHub SPDX metadata when available. Entries spanning several repositories combine their stars, use the most recent push for activity and show a license only when all repositories agree. +License chips use GitHub SPDX metadata when available. + +Entries spanning several repositories combine their stars, use the most recent push for activity and show a license only when all repositories agree. Browse a category below, or use your browser's find command to locate a project. @@ -348,7 +350,7 @@ _Libraries that provide external configuration._ > **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. diff --git a/scripts/GenerateReadme.java b/scripts/GenerateReadme.java index 47c399d3..df6fad89 100644 --- a/scripts/GenerateReadme.java +++ b/scripts/GenerateReadme.java @@ -443,8 +443,8 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, .append(DISPLAY_DATE.format(cache.refreshed())).append("\n\n") .append("Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · ") .append("🔴 no push for over 12 months\n\n") - .append("License chips use GitHub SPDX metadata when available. Entries spanning ") - .append("several repositories combine their stars, use the most recent push for activity ") + .append("License chips use GitHub SPDX metadata when available.\n\n") + .append("Entries spanning several repositories combine their stars, use the most recent push for activity ") .append("and show a license only when all repositories agree.\n\n") .append("Browse a category below, or use your browser's find command to locate a project.\n\n") .append("
\n") From 98a906405418fe54656d7b0ae9401aafc9e1367e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 07:23:21 +0000 Subject: [PATCH 515/533] Update README with latest GitHub stats --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 129e82a7..5a10767e 100644 --- a/README.md +++ b/README.md @@ -350,7 +350,7 @@ _Libraries that provide external configuration._ > **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing.
From 9be8eb16745b5b655fdead887bad5f8665a69516 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 27 Jul 2026 09:25:04 +0200 Subject: [PATCH 516/533] Refine README helper text --- README.md | 10 ++++++---- scripts/GenerateReadme.java | 10 ++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 5a10767e..01d51a3c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. Browse a category below, or use your browser's find command to locate a project.
-Browse 75 project categories and 7 resource groups +Browse **Projects:** [Architecture](#architecture) · [Artificial Intelligence](#artificial-intelligence) · [Bean Mapping](#bean-mapping) · [Build](#build) · [Bytecode Manipulation](#bytecode-manipulation) · [Caching](#caching) · [CLI](#cli) · [Cloud](#cloud) · [Code Analysis](#code-analysis) · [Code Coverage](#code-coverage) · [Code Formatting](#code-formatting) · [Code Generators](#code-generators) · [Compiler-compiler](#compiler-compiler) · [Computer Vision](#computer-vision) · [Configuration](#configuration) · [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) · [CSV](#csv) · [Data Structures](#data-structures) · [Database](#database) · [Date and Time](#date-and-time) · [Decentralization](#decentralization) · [Decompilation](#decompilation) · [Dependency Injection](#dependency-injection) · [Development](#development) · [Distributed Applications](#distributed-applications) · [Distributed Transactions](#distributed-transactions) · [Distribution](#distribution) · [Document Processing](#document-processing) · [Financial](#financial) · [Flat File](#flat-file) · [Formal Verification](#formal-verification) · [Functional Programming](#functional-programming) · [Game Development](#game-development) · [Geospatial](#geospatial) · [GUI](#gui) · [High Performance](#high-performance) · [HTTP Clients](#http-clients) · [Hypermedia Types](#hypermedia-types) · [IDE](#ide) · [Imagery](#imagery) · [Introspection](#introspection) · [Job Scheduling](#job-scheduling) · [JSON](#json) · [JVM and JDK](#jvm-and-jdk) · [Logging](#logging) · [Machine Learning](#machine-learning) · [Messaging](#messaging) · [Microservice](#microservice) · [Miscellaneous](#miscellaneous) · [Mobile Development](#mobile-development) · [Monitoring](#monitoring) · [Native](#native) · [Natural Language Processing](#natural-language-processing) · [Networking](#networking) · [ORM](#orm) · [PaaS](#paas) · [Pathfinding](#pathfinding) · [PDF](#pdf) · [Performance analysis](#performance-analysis) · [Platform](#platform) · [Processes](#processes) · [Reactive libraries](#reactive-libraries) · [REST Frameworks](#rest-frameworks) · [Science](#science) · [Search](#search) · [Security](#security) · [Serialization](#serialization) · [Server](#server) · [Template Engine](#template-engine) · [Testing](#testing) · [Utility](#utility) · [Version Managers](#version-managers) · [Web Crawling](#web-crawling) · [Web Frameworks](#web-frameworks) · [Workflow Orchestration Engines](#workflow-orchestration-engines) @@ -350,7 +350,7 @@ _Libraries that provide external configuration._ > **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing.
@@ -2429,8 +2429,10 @@ _Sites to read._ > **[Suggest a project or resource](https://github.com/akullpp/awesome-java/edit/test/README_SOURCE.md)** · [Contribution guidelines](CONTRIBUTING.md) > -> Add one Markdown entry under the appropriate category and open one pull request. Ordering, counts and GitHub statistics are generated automatically. +> Add one Markdown entry under the appropriate category and open one pull request.
+> Ordering, counts and GitHub statistics are generated automatically. ## License -Catalog and documentation: [CC BY-SA 4.0](LICENSE). Automation code and configuration: [MIT](LICENSE-CODE). +Catalog and documentation: [CC BY-SA 4.0](LICENSE).
+Automation code and configuration: [MIT](LICENSE-CODE). diff --git a/scripts/GenerateReadme.java b/scripts/GenerateReadme.java index df6fad89..ff526d4b 100644 --- a/scripts/GenerateReadme.java +++ b/scripts/GenerateReadme.java @@ -448,9 +448,7 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, .append("and show a license only when all repositories agree.
\n\n") .append("Browse a category below, or use your browser's find command to locate a project.\n\n") .append("
\n") - .append("Browse ").append(source.categories().size()) - .append(" project categories and ").append(source.resources().size()) - .append(" resource groups\n\n") + .append("Browse\n\n") .append("**Projects:** "); appendNavigation(out, source.categories().stream().map(category -> category.name).sorted(TEXT_ORDER).toList()); out.append("\n\n**Resources:** "); @@ -472,10 +470,10 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, .append("> **[Suggest a project or resource](").append(editUrl).append(")** · ") .append("[Contribution guidelines](CONTRIBUTING.md)\n") .append(">\n") - .append("> Add one Markdown entry under the appropriate category and open one pull request. ") - .append("Ordering, counts and GitHub statistics are generated automatically.\n\n") + .append("> Add one Markdown entry under the appropriate category and open one pull request.
\n") + .append("> Ordering, counts and GitHub statistics are generated automatically.\n\n") .append("## License\n\n") - .append("Catalog and documentation: [CC BY-SA 4.0](LICENSE). ") + .append("Catalog and documentation: [CC BY-SA 4.0](LICENSE).
\n") .append("Automation code and configuration: [MIT](LICENSE-CODE).\n"); return out.toString(); } From bd8f6d33febc17ff6158a7e4495dc1bd6d519117 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 07:25:22 +0000 Subject: [PATCH 517/533] Update README with latest GitHub stats --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 01d51a3c..e1698cee 100644 --- a/README.md +++ b/README.md @@ -350,7 +350,7 @@ _Libraries that provide external configuration._ > **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. -> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 10 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. +> **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing.
From c753a29bcd769d17f3b158280797827032701859 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 27 Jul 2026 09:49:36 +0200 Subject: [PATCH 518/533] Validate added repositories before merge --- .github/workflows/update-readme.yml | 14 ++- scripts/GenerateReadme.java | 152 +++++++++++++++++++++++++--- 2 files changed, 150 insertions(+), 16 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index 35a4e902..80aebe06 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -14,7 +14,7 @@ on: - "scripts/**" push: branches: - - master + - main - test paths: - "README_SOURCE.md" @@ -57,6 +57,18 @@ jobs: run: | java scripts/GenerateReadme.java self-test java scripts/GenerateReadme.java check README_SOURCE.md + - name: Validate added GitHub repositories + env: + BASE_SHA: ${{ github.event.pull_request.base.sha }} + GITHUB_TOKEN: ${{ github.token }} + run: | + base_source="$RUNNER_TEMP/README_SOURCE.base.md" + if git cat-file -e "${BASE_SHA}:README_SOURCE.md"; then + git show "${BASE_SHA}:README_SOURCE.md" > "$base_source" + java scripts/GenerateReadme.java check-added "$base_source" README_SOURCE.md + else + echo "::notice::Base branch has no README_SOURCE.md; skipping added repository validation." + fi update: if: github.event_name != 'pull_request' diff --git a/scripts/GenerateReadme.java b/scripts/GenerateReadme.java index ff526d4b..f641f048 100644 --- a/scripts/GenerateReadme.java +++ b/scripts/GenerateReadme.java @@ -24,12 +24,14 @@ import java.util.Locale; import java.util.Map; import java.util.Optional; +import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; import java.util.regex.Pattern; import java.util.stream.Collectors; final class GenerateReadme { + private static final int MAX_GITHUB_ATTEMPTS = 3; private static final Pattern STARS = Pattern.compile("\"stargazers_count\"\\s*:\\s*(\\d+)"); private static final Pattern PUSHED_AT = Pattern.compile("\"pushed_at\"\\s*:\\s*(?:\"([^\"]+)\"|null)"); private static final Pattern ARCHIVED = Pattern.compile("\"archived\"\\s*:\\s*(true|false)"); @@ -59,6 +61,7 @@ public static void main(String[] args) throws Exception { validateSource(source); printSourceSummary(source); } + case "check-added" -> checkAdded(args); case "self-test" -> selfTest(); case "generate" -> generate(args); default -> { @@ -72,11 +75,34 @@ private static void usage() { System.err.println(""" Usage: java scripts/GenerateReadme.java check [source] + java scripts/GenerateReadme.java check-added [source] java scripts/GenerateReadme.java self-test java scripts/GenerateReadme.java generate [source] [output] [cache] [--refresh-all] [--branch name] """); } + private static void checkAdded(String[] args) throws Exception { + if (args.length < 2 || args.length > 3) { + throw new IllegalArgumentException("check-added requires a base source and optional current source"); + } + var base = parseSource(Path.of(args[1])); + var source = parseSource(Path.of(args.length == 3 ? args[2] : "README_SOURCE.md")); + validateSource(source); + var added = addedRepositories(base, source); + if (added.isEmpty()) { + System.out.println("No new GitHub repositories to validate"); + return; + } + + var client = githubClient(); + var token = githubToken(); + for (var repository : added) { + var stats = fetchStats(client, repository, token); + require(!stats.archived(), 0, "Archived GitHub repository: " + repository); + } + System.out.printf("Validated %d new GitHub repositories%n", added.size()); + } + private static void generate(String[] args) throws Exception { var sourcePath = Path.of(args.length > 1 ? args[1] : "README_SOURCE.md"); var outputPath = Path.of(args.length > 2 ? args[2] : "README.md"); @@ -100,9 +126,7 @@ private static void generate(String[] args) throws Exception { var source = parseSource(sourcePath); validateSource(source); - var repositories = source.projects().stream() - .flatMap(item -> item.repositories().stream()) - .collect(Collectors.toCollection(() -> new TreeSet<>(TEXT_ORDER))); + var repositories = repositories(source); var cache = readCache(cachePath); var missing = repositories.stream().filter(repo -> !cache.stats().containsKey(repo)).toList(); @@ -111,14 +135,8 @@ private static void generate(String[] args) throws Exception { var today = LocalDate.now(ZoneOffset.UTC); if (!targets.isEmpty()) { - var token = System.getenv("GITHUB_TOKEN"); - if (token == null || token.isBlank()) { - throw new IllegalStateException("GITHUB_TOKEN is required to fetch GitHub statistics"); - } - var client = HttpClient.newBuilder() - .connectTimeout(Duration.ofSeconds(20)) - .followRedirects(HttpClient.Redirect.NORMAL) - .build(); + var token = githubToken(); + var client = githubClient(); for (var i = 0; i < targets.size(); i++) { var repository = targets.get(i); @@ -343,6 +361,33 @@ private static int duplicateNameLine(Item item) { return item == null ? 0 : item.lineNumber(); } + private static TreeSet repositories(Catalog source) { + return source.projects().stream() + .flatMap(item -> item.repositories().stream()) + .collect(Collectors.toCollection(() -> new TreeSet<>(String.CASE_INSENSITIVE_ORDER))); + } + + private static List addedRepositories(Catalog base, Catalog source) { + var added = repositories(source); + added.removeAll(repositories(base)); + return List.copyOf(added); + } + + private static HttpClient githubClient() { + return HttpClient.newBuilder() + .connectTimeout(Duration.ofSeconds(20)) + .followRedirects(HttpClient.Redirect.NORMAL) + .build(); + } + + private static String githubToken() { + var token = System.getenv("GITHUB_TOKEN"); + if (token == null || token.isBlank()) { + throw new IllegalStateException("GITHUB_TOKEN is required to fetch GitHub statistics"); + } + return token; + } + private static RepoStats fetchStats(HttpClient client, String repository, String token) throws IOException, InterruptedException { var request = HttpRequest.newBuilder() @@ -354,11 +399,55 @@ private static RepoStats fetchStats(HttpClient client, String repository, String .timeout(Duration.ofSeconds(30)) .GET() .build(); - var response = client.send(request, HttpResponse.BodyHandlers.ofString()); - if (response.statusCode() != 200) { - throw new IOException("GitHub API returned " + response.statusCode() + " for " + repository); + + for (var attempt = 1; attempt <= MAX_GITHUB_ATTEMPTS; attempt++) { + HttpResponse response; + try { + response = client.send(request, HttpResponse.BodyHandlers.ofString()); + } catch (IOException exception) { + if (attempt == MAX_GITHUB_ATTEMPTS) { + throw new IOException( + "GitHub API request failed for " + repository + " after " + + MAX_GITHUB_ATTEMPTS + " attempts", + exception + ); + } + waitBeforeRetry(repository, exception.getClass().getSimpleName(), attempt); + continue; + } + + if (response.statusCode() == 200) { + try { + return parseStats(response.body()); + } catch (IOException exception) { + throw new IOException("Incomplete GitHub response for " + repository, exception); + } + } + if (!isRetryableStatus(response.statusCode()) || attempt == MAX_GITHUB_ATTEMPTS) { + throw new IOException("GitHub API returned " + response.statusCode() + " for " + repository); + } + waitBeforeRetry(repository, "HTTP " + response.statusCode(), attempt); } - return parseStats(response.body()); + throw new IllegalStateException("Unreachable GitHub retry state"); + } + + private static boolean isRetryableStatus(int status) { + return status == 429 || status >= 500 && status < 600; + } + + private static void waitBeforeRetry(String repository, String reason, int attempt) + throws InterruptedException { + var delaySeconds = 1L << (attempt - 1); + System.out.printf( + "Retrying %s after %s in %d second%s (attempt %d/%d)%n", + repository, + reason, + delaySeconds, + delaySeconds == 1 ? "" : "s", + attempt + 1, + MAX_GITHUB_ATTEMPTS + ); + Thread.sleep(Duration.ofSeconds(delaySeconds).toMillis()); } private static RepoStats parseStats(String body) throws IOException { @@ -821,6 +910,39 @@ private static void selfTest() throws Exception { 0, "Repository parsing"); require(githubRepository("https://github.com/webforms-core").isEmpty(), 0, "Organization URL parsing"); + require(isRetryableStatus(429), 0, "Rate-limit retry"); + require(isRetryableStatus(500) && isRetryableStatus(503), 0, "Server-error retry"); + require(!isRetryableStatus(403) && !isRetryableStatus(404), 0, + "Permanent GitHub errors"); + var baseCategory = new Category("Base"); + baseCategory.items.add(parseItem( + "- [Existing](https://github.com/Acme/one) - Existing project.", + 1, + true + )); + var changedCategory = new Category("Changed"); + changedCategory.items.add(parseItem( + "- [Existing](https://github.com/acme/one) - Existing project.", + 1, + true + )); + changedCategory.items.add(parseItem( + "- [Added](https://example.com) - Added project. " + + "", + 2, + true + )); + var baseRepositories = new Catalog("# Base", "Base.", List.of(baseCategory), List.of()); + var changedRepositories = + new Catalog("# Changed", "Changed.", List.of(changedCategory), List.of()); + require( + new HashSet<>(addedRepositories(baseRepositories, changedRepositories)) + .equals(Set.of("acme/two", "acme/three")), + 0, + "Added repository comparison" + ); + require(addedRepositories(changedRepositories, baseRepositories).isEmpty(), 0, + "Removed repositories are ignored"); var umbrella = parseItem( "- [Umbrella](https://example.com) - Several modules. " + "", From cd5099e9ecb55374cdf323f75a9f2b36638a15c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 07:54:46 +0000 Subject: [PATCH 519/533] Update README with latest GitHub stats --- README.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index e1698cee..1dc3a3c1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. -812 projects · 75 categories · 80 resources · 26/07/2026 +812 projects · 75 categories · 80 resources · 27/07/2026 Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months @@ -49,7 +49,7 @@ _Frameworks that help you to leverage LLMs and AI._ > **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k Apache-2.0 🟢
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. -> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 239 MIT 🟢
Provides a Java binding for a unified LLM API client across multiple providers. +> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 238 MIT 🟢
Provides a Java binding for a unified LLM API client across multiple providers. > **[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k MIT 🟢
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. @@ -248,7 +248,7 @@ _Tools that format or restructure Java source code._ > **[JHarmonizer](https://github.com/lemon-ant/JHarmonizer)** ★ 26 🟢
Safely reorders Java source code with configurable rules and Palantir Java Format. -> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 846 Apache-2.0 🟢
Formatter based on google-java-format with wider lines and lambda-friendly output. +> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 847 Apache-2.0 🟢
Formatter based on google-java-format with wider lines and lambda-friendly output. > **[Spotless](https://github.com/diffplug/spotless)** ★ 5.6k Apache-2.0 🟢
A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages. @@ -313,7 +313,7 @@ _Libraries which seek to gain high level information from images and videos._ > **[BoofCV](https://github.com/lessthanoptimal/BoofCV)** ★ 1.2k 🟢
Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more. -> **[ImageJ](https://github.com/imagej/ImageJ)** ★ 776 🟢
Medical image processing application with an API. +> **[ImageJ](https://github.com/imagej/ImageJ)** ★ 775 🟢
Medical image processing application with an API. > **[JavaCV](https://github.com/bytedeco/javacv)** ★ 8.3k 🟢
Java interface to OpenCV, FFmpeg, and much more. @@ -332,7 +332,7 @@ _Libraries that provide external configuration._ > **[config](https://github.com/lightbend/config)** ★ 6.3k 🟢
Configuration library supporting Java properties, JSON or its human optimized superset HOCON. -> **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 467 Apache-2.0 🟢
Configuration library with support for various configuration formats and transformations. +> **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 466 Apache-2.0 🟢
Configuration library with support for various configuration formats and transformations. > **[Curator Framework](https://github.com/apache/curator)** ★ 3.2k Apache-2.0 🟢
High-level API for Apache ZooKeeper. @@ -446,7 +446,7 @@ _Everything that simplifies interactions with the database._ > **[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k Apache-2.0 🟠
Brings metrics and failover strategies to the most common connection pooling solutions. -> **[Flyway](https://github.com/flyway/flyway)** ★ 9.9k Apache-2.0 🟢
Simple database migration tool. +> **[Flyway](https://github.com/flyway/flyway)** ★ 10.0k Apache-2.0 🟢
Simple database migration tool. > **[H2](https://github.com/h2database/h2database)** ★ 4.6k 🟢
Small SQL database notable for its in-memory functionality. @@ -703,7 +703,7 @@ _Libraries that assist with processing office document formats._ > **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Apache-2.0 🟢
Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. -> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 61 Apache-2.0 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. +> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 62 Apache-2.0 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. > **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k MIT 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. @@ -750,7 +750,7 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc > **[Checker Framework](https://github.com/typetools/checker-framework)** ★ 1.1k 🟢
Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[Daikon](https://github.com/codespecs/daikon)** ★ 256 🟢
Detects likely program invariants and generates JML specs based on those invariants. +> **[Daikon](https://github.com/codespecs/daikon)** ★ 255 🟢
Detects likely program invariants and generates JML specs based on those invariants. > **[Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core)** ★ 614 🟢
JVM formal verification tool containing a model checker and more. Created by NASA. @@ -804,7 +804,7 @@ _Frameworks that support the development of games._ > **[libGDX](https://github.com/libgdx/libgdx)** ★ 25.3k Apache-2.0 🟢
All-round cross-platform, high-level framework. -> **[Litiengine](https://github.com/gurkenlabs/litiengine)** ★ 834 MIT 🟢
AWT-based, lightweight 2D game engine. +> **[Litiengine](https://github.com/gurkenlabs/litiengine)** ★ 833 MIT 🟢
AWT-based, lightweight 2D game engine. > **[LWJGL](https://github.com/LWJGL/lwjgl3)** ★ 5.4k BSD-3-Clause 🟢
Robust framework that abstracts libraries like OpenGL/CL/AL. @@ -1067,7 +1067,7 @@ _Current implementations of the JVM/JDK._ > **[RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview)**
RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 616 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 617 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) > **[Which JDK](https://github.com/whichjdk/whichjdk.com)** ★ 160 🟠
Overview of common JVMs with pros and cons. @@ -1294,7 +1294,7 @@ _Everything else._ > **[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 Apache-2.0 🟠
Processes XML by using annotations or XPath within code. -> **[yGuard](https://github.com/yWorks/yGuard)** ★ 477 MIT 🟠
Obfuscation via renaming and shrinking. +> **[yGuard](https://github.com/yWorks/yGuard)** ★ 478 MIT 🟠
Obfuscation via renaming and shrinking. @@ -1486,7 +1486,7 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ -> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 373 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. +> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 377 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. @@ -1503,7 +1503,7 @@ _Tools to help with PDF files._ > **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 LGPL-3.0 🟢
Simplifies JasperReports. (LGPL-3.0-only) -> **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 540 EPL-2.0 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +> **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 539 EPL-2.0 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. > **[flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer)** ★ 2.2k 🟢
XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) @@ -1747,7 +1747,7 @@ _Libraries for scientific computing, analysis and visualization._ > **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 MIT 🔴
Modular, light and easy graph framework for theoretic algorithms. -> **[GraphStream](https://github.com/graphstream/gs-core)** ★ 425 🔴
Library for modeling and analyzing dynamic graphs. +> **[GraphStream](https://github.com/graphstream/gs-core)** ★ 426 🔴
Library for modeling and analyzing dynamic graphs. > **[JFreeChart](https://github.com/jfree/jfreechart)** ★ 1.4k LGPL-2.1 🟠
2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) @@ -1977,7 +1977,7 @@ _Provide environments to run tests for a specific use case._ > **[Apache JMeter](https://github.com/apache/jmeter)** ★ 9.5k Apache-2.0 🟢
Functional testing and performance measurements. -> **[Arquillian](https://github.com/arquillian/arquillian-core)** ★ 388 Apache-2.0 🟢
Integration and functional testing platform for Java EE containers. +> **[Arquillian](https://github.com/arquillian/arquillian-core)** ★ 387 Apache-2.0 🟢
Integration and functional testing platform for Java EE containers. > **[BitDive Java Agent](https://github.com/bitDive/java-producer)** ★ 87 🟢
Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. @@ -2017,7 +2017,7 @@ _Libraries that provide custom matchers._ > **[Truth](https://github.com/google/truth)** ★ 2.8k Apache-2.0 🟢
Google's fluent assertion and proposition framework. -> **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 318 Apache-2.0 🟢
Simplifies testing for XML output. +> **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 319 Apache-2.0 🟢
Simplifies testing for XML output. #### Miscellaneous 14 projects @@ -2133,7 +2133,7 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ -> **[jabba](https://github.com/Jabba-Team/jabba)** ★ 305 Apache-2.0 🟠
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +> **[jabba](https://github.com/Jabba-Team/jabba)** ★ 306 Apache-2.0 🟠
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. > **[jenv](https://github.com/jenv/jenv)** ★ 6.6k MIT 🟠
Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. @@ -2427,7 +2427,7 @@ _Sites to read._ ## Contributing -> **[Suggest a project or resource](https://github.com/akullpp/awesome-java/edit/test/README_SOURCE.md)** · [Contribution guidelines](CONTRIBUTING.md) +> **[Suggest a project or resource](https://github.com/akullpp/awesome-java/edit/main/README_SOURCE.md)** · [Contribution guidelines](CONTRIBUTING.md) > > Add one Markdown entry under the appropriate category and open one pull request.
> Ordering, counts and GitHub statistics are generated automatically. From 5464210fdb2340f61df1329fe38ed74cd8222fbb Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 27 Jul 2026 10:05:48 +0200 Subject: [PATCH 520/533] Simplify README and adopt mise --- .../scripts}/GenerateReadme.java | 48 +++---------------- .github/workflows/update-readme.yml | 30 +++++------- .tool-versions | 1 - README.md | 15 +----- mise.toml | 2 + 5 files changed, 23 insertions(+), 73 deletions(-) rename {scripts => .github/scripts}/GenerateReadme.java (95%) delete mode 100644 .tool-versions create mode 100644 mise.toml diff --git a/scripts/GenerateReadme.java b/.github/scripts/GenerateReadme.java similarity index 95% rename from scripts/GenerateReadme.java rename to .github/scripts/GenerateReadme.java index f641f048..2eb76ae3 100644 --- a/scripts/GenerateReadme.java +++ b/.github/scripts/GenerateReadme.java @@ -13,7 +13,6 @@ import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.ZoneOffset; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -46,7 +45,6 @@ final class GenerateReadme { private static final Comparator TEXT_ORDER = Comparator.comparing((String value) -> value.toLowerCase(Locale.ROOT)) .thenComparing(Comparator.naturalOrder()); - private static final DateTimeFormatter DISPLAY_DATE = DateTimeFormatter.ofPattern("dd/MM/uuuu"); public static void main(String[] args) throws Exception { if (args.length == 0) { @@ -74,10 +72,10 @@ public static void main(String[] args) throws Exception { private static void usage() { System.err.println(""" Usage: - java scripts/GenerateReadme.java check [source] - java scripts/GenerateReadme.java check-added [source] - java scripts/GenerateReadme.java self-test - java scripts/GenerateReadme.java generate [source] [output] [cache] [--refresh-all] [--branch name] + java .github/scripts/GenerateReadme.java check [source] + java .github/scripts/GenerateReadme.java check-added [source] + java .github/scripts/GenerateReadme.java self-test + java .github/scripts/GenerateReadme.java generate [source] [output] [cache] [--refresh-all] [--branch name] """); } @@ -108,7 +106,7 @@ private static void generate(String[] args) throws Exception { var outputPath = Path.of(args.length > 2 ? args[2] : "README.md"); var cachePath = Path.of(args.length > 3 ? args[3] : ".cache/github-stats.tsv"); var refreshAll = false; - var branch = System.getenv().getOrDefault("GITHUB_REF_NAME", "master"); + var branch = System.getenv().getOrDefault("GITHUB_REF_NAME", "main"); for (var i = 4; i < args.length; i++) { switch (args[i]) { @@ -522,27 +520,18 @@ private static void writeCache(Path path, StatsCache cache) throws IOException { private static String render(Catalog source, StatsCache cache, LocalDate today, String branch) { var out = new StringBuilder(); - out.append("\n\n") .append(source.title()).append("\n\n") .append(source.tagline()).append("\n\n") .append("").append(projectCount(source)).append(" projects · ") .append(source.categories().size()).append(" categories · ") - .append(resourceCount(source)).append(" resources · ") - .append(DISPLAY_DATE.format(cache.refreshed())).append("\n\n") + .append(resourceCount(source)).append(" resources\n\n") .append("Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · ") .append("🔴 no push for over 12 months\n\n") .append("License chips use GitHub SPDX metadata when available.\n\n") .append("Entries spanning several repositories combine their stars, use the most recent push for activity ") .append("and show a license only when all repositories agree.\n\n") - .append("Browse a category below, or use your browser's find command to locate a project.\n\n") - .append("
\n") - .append("Browse\n\n") - .append("**Projects:** "); - appendNavigation(out, source.categories().stream().map(category -> category.name).sorted(TEXT_ORDER).toList()); - out.append("\n\n**Resources:** "); - appendNavigation(out, source.resources().stream().map(resource -> resource.name).toList()); - out.append("\n\n
\n\n") .append("## Projects\n\n"); source.categories().stream() @@ -567,16 +556,6 @@ private static String render(Catalog source, StatsCache cache, LocalDate today, return out.toString(); } - private static void appendNavigation(StringBuilder out, List names) { - for (var i = 0; i < names.size(); i++) { - if (i > 0) { - out.append(" · "); - } - var name = names.get(i); - out.append('[').append(name).append("](#").append(slug(name)).append(')'); - } - } - private static void renderCategory( StringBuilder out, Category category, @@ -701,9 +680,6 @@ private static void validateRendered( 0, "Generated README contains the retired commercial badge"); require(!rendered.matches("(?s).*\\d{2}/\\d{2}/\\d{4}.*"), 0, "Generated README contains a per-project date"); - require(countOccurrences(rendered, "](#") == source.categories().size() + source.resources().size(), - 0, "Generated README contains an incomplete navigation index"); - for (var item : source.projects()) { require(rendered.contains("**[" + item.name() + "](" + item.url() + ")**"), item.lineNumber(), "Generated README is missing project: " + item.name()); @@ -850,14 +826,6 @@ private static String normalizeUrl(String url) { return url.toLowerCase(Locale.ROOT).replaceAll("/+$", ""); } - private static int countOccurrences(String value, String needle) { - var count = 0; - for (var index = value.indexOf(needle); index >= 0; index = value.indexOf(needle, index + 1)) { - count++; - } - return count; - } - private static String knownLicense(String license) { return license == null || license.isBlank() || license.equals("NOASSERTION") || license.equals("OTHER") @@ -995,8 +963,6 @@ private static void selfTest() throws Exception { today, "test" ); - require(rendered.contains("[Test](#test)") && rendered.contains("[Links](#links)"), - 0, "Navigation rendering"); require(rendered.contains("Suggest a project or resource"), 0, "Contribution CTA"); require(rendered.contains("CC BY-SA 4.0") && rendered.contains("[MIT](LICENSE-CODE)"), 0, "License footer"); diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index 80aebe06..ee0aca4c 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -10,8 +10,8 @@ on: - "CONTRIBUTING.md" - ".github/pull_request_template.md" - ".github/workflows/update-readme.yml" - - ".tool-versions" - - "scripts/**" + - "mise.toml" + - ".github/scripts/**" push: branches: - main @@ -19,8 +19,8 @@ on: paths: - "README_SOURCE.md" - ".github/workflows/update-readme.yml" - - ".tool-versions" - - "scripts/**" + - "mise.toml" + - ".github/scripts/**" schedule: - cron: "0 0 * * 1" workflow_dispatch: @@ -49,14 +49,11 @@ jobs: echo "::error file=README.md::README.md is generated. Edit README_SOURCE.md instead." exit 1 fi - - uses: actions/setup-java@v5 - with: - distribution: temurin - java-version-file: ".tool-versions" + - uses: jdx/mise-action@v3 - name: Validate source and generator run: | - java scripts/GenerateReadme.java self-test - java scripts/GenerateReadme.java check README_SOURCE.md + java .github/scripts/GenerateReadme.java self-test + java .github/scripts/GenerateReadme.java check README_SOURCE.md - name: Validate added GitHub repositories env: BASE_SHA: ${{ github.event.pull_request.base.sha }} @@ -65,7 +62,7 @@ jobs: base_source="$RUNNER_TEMP/README_SOURCE.base.md" if git cat-file -e "${BASE_SHA}:README_SOURCE.md"; then git show "${BASE_SHA}:README_SOURCE.md" > "$base_source" - java scripts/GenerateReadme.java check-added "$base_source" README_SOURCE.md + java .github/scripts/GenerateReadme.java check-added "$base_source" README_SOURCE.md else echo "::notice::Base branch has no README_SOURCE.md; skipping added repository validation." fi @@ -79,10 +76,7 @@ jobs: - uses: actions/checkout@v6 with: fetch-depth: 0 - - uses: actions/setup-java@v5 - with: - distribution: temurin - java-version-file: ".tool-versions" + - uses: jdx/mise-action@v3 - name: Restore statistics cache uses: actions/cache@v5 with: @@ -92,8 +86,8 @@ jobs: readme-stats-v3-${{ github.ref_name }}- - name: Validate source and generator run: | - java scripts/GenerateReadme.java self-test - java scripts/GenerateReadme.java check README_SOURCE.md + java .github/scripts/GenerateReadme.java self-test + java .github/scripts/GenerateReadme.java check README_SOURCE.md - name: Generate README env: GITHUB_TOKEN: ${{ github.token }} @@ -102,7 +96,7 @@ jobs: if [ "${{ github.event_name }}" = "schedule" ] || [ "${{ github.event_name }}" = "workflow_dispatch" ]; then args+=(--refresh-all) fi - java scripts/GenerateReadme.java generate README_SOURCE.md README.md .cache/github-stats.tsv "${args[@]}" --branch "$GITHUB_REF_NAME" + java .github/scripts/GenerateReadme.java generate README_SOURCE.md README.md .cache/github-stats.tsv "${args[@]}" --branch "$GITHUB_REF_NAME" - name: Commit README run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" diff --git a/.tool-versions b/.tool-versions deleted file mode 100644 index 10b10f0b..00000000 --- a/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-26.0.1+8 diff --git a/README.md b/README.md index 1dc3a3c1..41d40ea2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ - + # Awesome Java [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) A curated list of noteworthy Java frameworks, libraries, tools and resources. -812 projects · 75 categories · 80 resources · 27/07/2026 +812 projects · 75 categories · 80 resources Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months @@ -12,17 +12,6 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. Entries spanning several repositories combine their stars, use the most recent push for activity and show a license only when all repositories agree. -Browse a category below, or use your browser's find command to locate a project. - -
-Browse - -**Projects:** [Architecture](#architecture) · [Artificial Intelligence](#artificial-intelligence) · [Bean Mapping](#bean-mapping) · [Build](#build) · [Bytecode Manipulation](#bytecode-manipulation) · [Caching](#caching) · [CLI](#cli) · [Cloud](#cloud) · [Code Analysis](#code-analysis) · [Code Coverage](#code-coverage) · [Code Formatting](#code-formatting) · [Code Generators](#code-generators) · [Compiler-compiler](#compiler-compiler) · [Computer Vision](#computer-vision) · [Configuration](#configuration) · [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) · [CSV](#csv) · [Data Structures](#data-structures) · [Database](#database) · [Date and Time](#date-and-time) · [Decentralization](#decentralization) · [Decompilation](#decompilation) · [Dependency Injection](#dependency-injection) · [Development](#development) · [Distributed Applications](#distributed-applications) · [Distributed Transactions](#distributed-transactions) · [Distribution](#distribution) · [Document Processing](#document-processing) · [Financial](#financial) · [Flat File](#flat-file) · [Formal Verification](#formal-verification) · [Functional Programming](#functional-programming) · [Game Development](#game-development) · [Geospatial](#geospatial) · [GUI](#gui) · [High Performance](#high-performance) · [HTTP Clients](#http-clients) · [Hypermedia Types](#hypermedia-types) · [IDE](#ide) · [Imagery](#imagery) · [Introspection](#introspection) · [Job Scheduling](#job-scheduling) · [JSON](#json) · [JVM and JDK](#jvm-and-jdk) · [Logging](#logging) · [Machine Learning](#machine-learning) · [Messaging](#messaging) · [Microservice](#microservice) · [Miscellaneous](#miscellaneous) · [Mobile Development](#mobile-development) · [Monitoring](#monitoring) · [Native](#native) · [Natural Language Processing](#natural-language-processing) · [Networking](#networking) · [ORM](#orm) · [PaaS](#paas) · [Pathfinding](#pathfinding) · [PDF](#pdf) · [Performance analysis](#performance-analysis) · [Platform](#platform) · [Processes](#processes) · [Reactive libraries](#reactive-libraries) · [REST Frameworks](#rest-frameworks) · [Science](#science) · [Search](#search) · [Security](#security) · [Serialization](#serialization) · [Server](#server) · [Template Engine](#template-engine) · [Testing](#testing) · [Utility](#utility) · [Version Managers](#version-managers) · [Web Crawling](#web-crawling) · [Web Frameworks](#web-frameworks) · [Workflow Orchestration Engines](#workflow-orchestration-engines) - -**Resources:** [Related Awesome Lists](#related-awesome-lists) · [Communities](#communities) · [Frontends](#frontends) · [Influential Books](#influential-books) · [Podcasts and Screencasts](#podcasts-and-screencasts) · [People](#people) · [Websites](#websites) - -
- ## Projects
diff --git a/mise.toml b/mise.toml new file mode 100644 index 00000000..858588e5 --- /dev/null +++ b/mise.toml @@ -0,0 +1,2 @@ +[tools] +java = "temurin" From 6483dcd6cf08b1ef0b38750ecb680f5f1a5bc146 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 27 Jul 2026 10:15:38 +0200 Subject: [PATCH 521/533] Remove redundant license descriptions --- CONTRIBUTING.md | 11 ++++---- README.md | 68 ++++++++++++++++++++++++------------------------ README_SOURCE.md | 68 ++++++++++++++++++++++++------------------------ 3 files changed, 74 insertions(+), 73 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index db03a1df..309b4c13 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,13 +19,14 @@ A project should: first-class integration; - be noteworthy because it is widely recommended, innovative, unique or fills a useful niche; -- provide English documentation and clearly disclose its license; -- disclose restrictive, noncommercial or source-available terms in the entry; +- provide English documentation and clear licensing; - have clear pricing and a free tier when commercial. -Known GitHub SPDX licenses appear automatically; do not add license or -commercial badges manually. Keep descriptions short, factual and distinctive -from similar entries. Use `Miscellaneous` only when no focused category fits. +Known GitHub SPDX licenses appear automatically; do not repeat them in +descriptions or add license or commercial badges manually. If no chip is +available, disclose restrictive, noncommercial or source-available terms in +the entry. Keep descriptions short, factual and distinctive from similar +entries. Use `Miscellaneous` only when no focused category fits. Search existing entries and issues before submitting. Self-promotion is reviewed carefully but is welcome when the project meets the same criteria. diff --git a/README.md b/README.md index 41d40ea2..e4bc7180 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ _Libraries to manipulate bytecode programmatically._ > **[Byte Buddy](https://github.com/raphw/byte-buddy)** ★ 6.9k Apache-2.0 🟢
Further simplifies bytecode generation with a fluent API. -> **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k GPL-3.0 🟢
Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +> **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k GPL-3.0 🟢
Java 8 Jar & Android APK reverse engineering suite. > **[Byteman](https://github.com/bytemanproject/byteman)** ★ 513 🟢
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) @@ -161,7 +161,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ > **[Jexer](https://gitlab.com/AutumnMeowMeow/jexer)**
Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -> **[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k LGPL-3.0 🟢
Easy console text-GUI library, similar to curses. (LGPL-3.0-only) +> **[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k LGPL-3.0 🟢
Easy console text-GUI library, similar to curses. > **[Text-IO](https://github.com/beryx/text-io)** ★ 353 Apache-2.0 🔴
Aids the creation of full console-based applications. @@ -183,7 +183,7 @@ _Libraries to integrate or use cloud-specific features._ _Tools that provide metrics and quality measurements._ -> **[Checkstyle](https://github.com/checkstyle/checkstyle)** ★ 9.0k LGPL-2.1 🟢
Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +> **[Checkstyle](https://github.com/checkstyle/checkstyle)** ★ 9.0k LGPL-2.1 🟢
Static analysis of coding conventions and standards. > **[Error Prone](https://github.com/google/error-prone)** ★ 7.2k Apache-2.0 🟢
Catches common programming mistakes as compile-time errors. @@ -191,7 +191,7 @@ _Tools that provide metrics and quality measurements._ > **[Infer](https://github.com/facebook/infer)** ★ 15.7k MIT 🟢
Modern static analysis tool for verifying the correctness of code. -> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 GPL-3.0 🟢
Static code analysis with Neo4J-based query language. (GPL-3.0-only) +> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 GPL-3.0 🟢
Static code analysis with Neo4J-based query language. > **[JSpecify](https://github.com/jspecify/jspecify)** ★ 1.1k Apache-2.0 🟢
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. @@ -207,7 +207,7 @@ _Tools that provide metrics and quality measurements._ > **[Spoon](https://github.com/INRIA/spoon)** ★ 1.9k 🟢
Library for analyzing and transforming Java source code. -> **[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k LGPL-2.1 🟢
Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +> **[Spotbugs](https://github.com/spotbugs/spotbugs)** ★ 3.9k LGPL-2.1 🟢
Static analysis of bytecode to find potential bugs. > **[ToolsHref](https://github.com/toolshref-tools/toolshref-tools)** ★ 0 🟠
Online Java code analyzer and JSON-to-Mermaid visualization tool. @@ -218,7 +218,7 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ -> **[Cobertura](https://github.com/cobertura/cobertura)** ★ 1.1k GPL-2.0 🔴
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +> **[Cobertura](https://github.com/cobertura/cobertura)** ★ 1.1k GPL-2.0 🔴
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. > **[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 MIT 🟢
Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. @@ -431,7 +431,7 @@ _Everything that simplifies interactions with the database._ > **[druid](https://github.com/apache/druid)** ★ 14.0k Apache-2.0 🟢
High-performance, column-oriented, distributed data store. -> **[eXist](https://github.com/eXist-db/exist)** ★ 466 LGPL-2.1 🟢
NoSQL document database and application platform. (LGPL-2.1-only) +> **[eXist](https://github.com/eXist-db/exist)** ★ 466 LGPL-2.1 🟢
NoSQL document database and application platform. > **[FlexyPool](https://github.com/vladmihalcea/flexy-pool)** ★ 1.2k Apache-2.0 🟠
Brings metrics and failover strategies to the most common connection pooling solutions. @@ -508,7 +508,7 @@ _Libraries related to handling date and time._ > **[ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra)** ★ 423 BSD-3-Clause 🟢
Additional date-time classes that complement those in JDK 8. -> **[Time4J](https://github.com/MenoData/Time4J)** ★ 470 LGPL-2.1 🔴
Advanced date and time library. (LGPL-2.1-only) +> **[Time4J](https://github.com/MenoData/Time4J)** ★ 470 LGPL-2.1 🔴
Advanced date and time library.
@@ -576,7 +576,7 @@ _Augmentation of the development process at a fundamental level._ > **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 MIT 🔴
Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k GPL-2.0 🟠
Unlimited runtime class and resource redefinition. (GPL-2.0-only) +> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k GPL-2.0 🟠
Unlimited runtime class and resource redefinition. > **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k 🟢
Parse, modify and generate Java code. @@ -605,7 +605,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application > **[Axon](https://github.com/AxonIQ/AxonFramework)** ★ 3.6k Apache-2.0 🟢
Framework for creating CQRS applications. -> **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 GPL-2.0 🟠
Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +> **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 GPL-2.0 🟠
Circuit breaker design pattern for Dropwizard. > **[Failsafe](https://github.com/jhalterman/failsafe)** ★ 4.3k Apache-2.0 🟠
Simple failure handling with retries and circuit breakers. @@ -634,7 +634,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u > **[Bitronix](https://github.com/bitronix/btm)** ★ 431 Apache-2.0 🟠
Simple but complete implementation of the JTA 1.1 API. -> **[Narayana](https://github.com/jbosstm/narayana)** ★ 265 Apache-2.0 🟢
Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +> **[Narayana](https://github.com/jbosstm/narayana)** ★ 265 Apache-2.0 🟢
Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. > **[Seata](https://github.com/seata/seata)** ★ 26.0k Apache-2.0 🟢
Delivers high performance and easy to use distributed transaction services under a microservices architecture. @@ -814,15 +814,15 @@ _Libraries for working with geospatial data and algorithms._ > **[Geo](https://github.com/davidmoten/geo)** ★ 434 Apache-2.0 🟢
GeoHash utilities in Java. -> **[GeoTools](https://github.com/geotools/geotools)** ★ 1.9k LGPL-2.1 🟢
Library that provides tools for geospatial data. (LGPL-2.1-only) +> **[GeoTools](https://github.com/geotools/geotools)** ★ 1.9k LGPL-2.1 🟢
Library that provides tools for geospatial data. > **[GraphHopper](https://github.com/graphhopper/graphhopper)** ★ 6.6k Apache-2.0 🟢
Road-routing engine. Used as a Java library or standalone web service. -> **[H2GIS](https://github.com/orbisgis/h2gis)** ★ 220 LGPL-3.0 🟢
Spatial extension of the H2 database. (LGPL-3.0-only) +> **[H2GIS](https://github.com/orbisgis/h2gis)** ★ 220 LGPL-3.0 🟢
Spatial extension of the H2 database. > **[Jgeohash](https://github.com/astrapi69/jgeohash)** ★ 68 Apache-2.0 🔴
Library for using the GeoHash algorithm. -> **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k LGPL-3.0 🟢
Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +> **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k LGPL-3.0 🟢
Map rendering based on OpenStreetMap data. > **[Spatial4j](https://github.com/locationtech/spatial4j)** ★ 962 🟢
General-purpose spatial/geospatial library. @@ -1050,13 +1050,13 @@ _Current implementations of the JVM/JDK._ > **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 MIT 🟢
Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! -> **[Open JDK](https://github.com/openjdk/jdk)** ★ 23.2k GPL-2.0 🟢
Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[Open JDK](https://github.com/openjdk/jdk)** ★ 23.2k GPL-2.0 🟢
Open JDK community home. > **[OpenJ9](https://github.com/eclipse/openj9)** ★ 3.5k 🟢
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. > **[RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview)**
RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 617 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 616 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. > **[Which JDK](https://github.com/whichjdk/whichjdk.com)** ★ 160 🟠
Overview of common JVMs with pros and cons. @@ -1112,7 +1112,7 @@ _Tools that provide specific statistical algorithms for learning from data._ > **[Intelligent java](https://github.com/Barqawiz/IntelliJava)** ★ 64 Apache-2.0 🔴
Seamlessly integrate with remote deep learning and language models programmatically. -> **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 GPL-3.0 🔴
Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +> **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 GPL-3.0 🔴
Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. > **[m2cgen](https://github.com/BayesWitnesses/m2cgen)** ★ 3.0k MIT 🔴
CLI tool to transpile models into native code. @@ -1128,7 +1128,7 @@ _Tools that provide specific statistical algorithms for learning from data._ > **[Tribuo](https://github.com/oracle/tribuo)** ★ 1.4k Apache-2.0 🟢
Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -> **[Weka](https://github.com/Waikato/weka)** ★ 34 GPL-3.0 🔴
Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +> **[Weka](https://github.com/Waikato/weka)** ★ 34 GPL-3.0 🔴
Collection of algorithms for data mining tasks ranging from pre-processing to visualization. @@ -1223,7 +1223,7 @@ _Everything else._ > **[JBang](https://github.com/jbangdev/jbang)** ★ 1.8k MIT 🟢
JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. -> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k GPL-3.0 🟠
Framework for building chatbots. (GPL-3.0-only) +> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k GPL-3.0 🟠
Framework for building chatbots. > **[JCuda](https://github.com/jcuda/jcuda)** ★ 266 MIT 🔴
JCuda offers Java bindings for CUDA and CUDA-related libraries. @@ -1373,7 +1373,7 @@ _Libraries that specialize in processing text._ > **[CogCompNLP](https://github.com/CogComp/cogcomp-nlp)** ★ 479 🔴
Provides common annotators for plain text input. (Research and Academic Use License) -> **[CoreNLP](https://github.com/stanfordnlp/CoreNLP)** ★ 10.1k GPL-3.0 🟢
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +> **[CoreNLP](https://github.com/stanfordnlp/CoreNLP)** ★ 10.1k GPL-3.0 🟢
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. > **[DKPro](https://github.com/dkpro/dkpro-core)** ★ 204 🟢
Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. @@ -1416,9 +1416,9 @@ _Libraries for building network servers._ > **[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 MIT 🟠
Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -> **[Undertow](https://github.com/undertow-io/undertow)** ★ 3.8k Apache-2.0 🟢
Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) +> **[Undertow](https://github.com/undertow-io/undertow)** ★ 3.8k Apache-2.0 🟢
Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. -> **[urnlib](https://github.com/slub/urnlib)** ★ 36 GPL-3.0 🟠
Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +> **[urnlib](https://github.com/slub/urnlib)** ★ 36 GPL-3.0 🟠
Represent, parse and encode URNs, as in RFC 2141. @@ -1435,7 +1435,7 @@ _APIs that handle the persistence of objects._ > **[EclipseLink](https://github.com/eclipse-ee4j/eclipselink)** ★ 242 🟢
Supports a number of persistence standards: JPA, JAXB, JCA and SDO. -> **[Hibernate](https://github.com/hibernate/hibernate-orm)** ★ 6.5k Apache-2.0 🟢
Robust and widely used, with an active community. (LGPL-2.1-only) +> **[Hibernate](https://github.com/hibernate/hibernate-orm)** ★ 6.5k Apache-2.0 🟢
Robust and widely used, with an active community. > **[MyBatis](https://github.com/mybatis/mybatis-3)** ★ 20.4k Apache-2.0 🟢
Couples objects with stored procedures or SQL statements. @@ -1488,9 +1488,9 @@ _Tools to help with PDF files._ > **[Apache PDFBox](https://github.com/apache/pdfbox)** ★ 3.1k Apache-2.0 🟢
Toolbox for creating and manipulating PDFs. -> **[Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper)** ★ 258 LGPL-3.0 🔴
Abstraction layer to JasperReports. (LGPL-3.0-only) +> **[Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper)** ★ 258 LGPL-3.0 🔴
Abstraction layer to JasperReports. -> **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 LGPL-3.0 🟢
Simplifies JasperReports. (LGPL-3.0-only) +> **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 LGPL-3.0 🟢
Simplifies JasperReports. > **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 539 EPL-2.0 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. @@ -1500,7 +1500,7 @@ _Tools to help with PDF files._ > **[iText](https://github.com/itext/itext-java)** ★ 2.3k 🟢
Creates PDF files programmatically. -> **[JasperReports](https://github.com/Jaspersoft/jasperreports)** ★ 1.4k LGPL-3.0 🟢
Complex reporting engine. (LGPL-3.0-only) +> **[JasperReports](https://github.com/Jaspersoft/jasperreports)** ★ 1.4k LGPL-3.0 🟢
Complex reporting engine. > **[jquick-pdf](https://github.com/paohaijiao/jquick-pdf)** ★ 225 🟢
Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. @@ -1531,7 +1531,7 @@ _Tools for performance analysis, profiling and benchmarking._ > **[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k 🟠
Analyze the JIT compiler optimisations made by the HotSpot JVM. -> **[JMH](https://github.com/openjdk/jmh)** ★ 2.7k GPL-2.0 🟢
Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +> **[JMH](https://github.com/openjdk/jmh)** ★ 2.7k GPL-2.0 🟢
Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. > **[JVM Hotpath](https://github.com/sfkamath/jvm-hotpath)** ★ 10 MIT 🟠
Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. @@ -1738,7 +1738,7 @@ _Libraries for scientific computing, analysis and visualization._ > **[GraphStream](https://github.com/graphstream/gs-core)** ★ 426 🔴
Library for modeling and analyzing dynamic graphs. -> **[JFreeChart](https://github.com/jfree/jfreechart)** ★ 1.4k LGPL-2.1 🟠
2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +> **[JFreeChart](https://github.com/jfree/jfreechart)** ★ 1.4k LGPL-2.1 🟠
2D chart library for Swing, JavaFX and server-side applications. > **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k EPL-2.0 🟢
Graph library that provides mathematical graph-theory objects and algorithms. @@ -1752,7 +1752,7 @@ _Libraries for scientific computing, analysis and visualization._ > **[Orekit](https://github.com/CS-SI/Orekit)** ★ 285 Apache-2.0 🟢
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 GPL-3.0 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 GPL-3.0 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. > **[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k Apache-2.0 🟢
Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. @@ -1790,7 +1790,7 @@ _Libraries that handle security, authentication, authorization or session manage > **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 Apache-2.0 🟢
CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. -> **[Cryptomator](https://github.com/cryptomator/cryptomator)** ★ 15.8k GPL-3.0 🟢
Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) +> **[Cryptomator](https://github.com/cryptomator/cryptomator)** ★ 15.8k GPL-3.0 🟢
Multiplatform, transparent, client-side encryption of files in the cloud. > **[Hdiv](https://github.com/hdiv/hdiv)** ★ 219 🔴
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. @@ -1860,7 +1860,7 @@ _Servers specifically used to deploy applications._ > **[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k BSD-3-Clause 🔴
Tiny, easily embeddable HTTP server. -> **[WildFly](https://github.com/wildfly/wildfly)** ★ 3.2k Apache-2.0 🟢
Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +> **[WildFly](https://github.com/wildfly/wildfly)** ★ 3.2k Apache-2.0 🟢
Formerly known as JBoss and developed by Red Hat with extensive Java EE support. @@ -1906,7 +1906,7 @@ _Tools that simplify testing asynchronous services._ > **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 Apache-2.0 🔴
Toolkit for testing multi-threaded and asynchronous applications. -> **[GreenMail](https://github.com/greenmail-mail-test/greenmail)** ★ 740 Apache-2.0 🟢
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +> **[GreenMail](https://github.com/greenmail-mail-test/greenmail)** ★ 740 Apache-2.0 🟢
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. > **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 Apache-2.0 🟢
Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. @@ -2026,7 +2026,7 @@ _Other stuff related to testing._ > **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Apache-2.0 🟠
Reports whether instances of a given class are immutable. -> **[pojo-tester](https://github.com/sta-szek/pojo-tester)** ★ 52 LGPL-3.0 🔴
Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +> **[pojo-tester](https://github.com/sta-szek/pojo-tester)** ★ 52 LGPL-3.0 🔴
Automatically performs tests on basic POJO methods. > **[raml-tester](https://github.com/nidi3/raml-tester)** ★ 74 Apache-2.0 🔴
Tests if a request/response matches a given RAML definition. @@ -2083,7 +2083,7 @@ _Libraries which provide general utility functions._ > **[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 Apache-2.0 🟢
Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k GPL-3.0 🟢
Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k GPL-3.0 🟢
Cross-platform for visualizing and manipulating large graph networks. > **[Guava](https://github.com/google/guava)** ★ 51.5k Apache-2.0 🟢
Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. diff --git a/README_SOURCE.md b/README_SOURCE.md index 031ec1fb..029fdf15 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -62,7 +62,7 @@ _Libraries to manipulate bytecode programmatically._ - [ASM](https://asm.ow2.io) - All-purpose, low-level bytecode manipulation and analysis. - [Byte Buddy](https://github.com/raphw/byte-buddy) - Further simplifies bytecode generation with a fluent API. -- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only) +- [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. - [Byteman](https://github.com/bytemanproject/byteman) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) - [cglib](https://github.com/cglib/cglib) - Bytecode generation library. - [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. @@ -101,7 +101,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ - [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. - [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). - [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) +- [Lanterna](https://github.com/mabe02/lanterna) - Easy console text-GUI library, similar to curses. ### Cloud @@ -114,11 +114,11 @@ _Libraries to integrate or use cloud-specific features._ _Tools that provide metrics and quality measurements._ -- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. (LGPL-2.1-or-later) +- [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. - [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. - [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. -- [jQAssistant](https://github.com/jQAssistant/jqassistant) - Static code analysis with Neo4J-based query language. (GPL-3.0-only) +- [jQAssistant](https://github.com/jQAssistant/jqassistant) - Static code analysis with Neo4J-based query language. - [JSpecify](https://github.com/jspecify/jspecify) - Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. @@ -126,7 +126,7 @@ _Tools that provide metrics and quality measurements._ - [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. -- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +- [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. - [ToolsHref](https://github.com/toolshref-tools/toolshref-tools) - Online Java code analyzer and JSON-to-Mermaid visualization tool. ### Code Coverage @@ -134,7 +134,7 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ - [OpenClover](https://github.com/openclover/clover) - Measures Java code coverage through source-code instrumentation, with build-tool and IDE integrations. -- [Cobertura](https://github.com/cobertura/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only) +- [Cobertura](https://github.com/cobertura/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. - [Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin) - Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. - [JaCoCo](https://github.com/jacoco/jacoco) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. @@ -251,7 +251,7 @@ _Everything that simplifies interactions with the database._ - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. - [Debezium](https://github.com/debezium/debezium) - Low latency data streaming platform for change data capture. - [druid](https://github.com/apache/druid) - High-performance, column-oriented, distributed data store. -- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. (LGPL-2.1-only) +- [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. - [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. - [Flyway](https://github.com/flyway/flyway) - Simple database migration tool. - [H2](https://github.com/h2database/h2database) - Small SQL database notable for its in-memory functionality. @@ -293,7 +293,7 @@ _Libraries related to handling date and time._ - [iCal4j](https://github.com/ical4j/ical4j) - Parse and build iCalendar [RFC 5545](https://tools.ietf.org/html/rfc5545) data models. - [Jollyday](https://github.com/focus-shift/jollyday) - Determines the holidays for a given year, country/name and eventually state/region. - [ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra) - Additional date-time classes that complement those in JDK 8. -- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. (LGPL-2.1-only) +- [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. ### Decentralization @@ -333,7 +333,7 @@ _Augmentation of the development process at a fundamental level._ - [AspectJ](https://github.com/eclipse-aspectj/aspectj) - Seamless aspect-oriented programming extension. - [DCEVM](https://github.com/dcevm/dcevm) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. (GPL-2.0-only) +- [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. - [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - [NoException](https://github.com/robertvazan/noexception) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. @@ -349,7 +349,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - [Apache ZooKeeper](https://github.com/apache/zookeeper) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. - [Atomix](https://github.com/atomix/atomix) - Fault-tolerant distributed coordination framework. - [Axon](https://github.com/AxonIQ/AxonFramework) - Framework for creating CQRS applications. -- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) +- [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. - [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](https://github.com/belaban/JGroups) - Toolkit for reliable messaging and cluster creation. @@ -365,7 +365,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u - [Atomikos](https://github.com/atomikos/transactions-essentials) - Provides transactions for REST, SOA and microservices with support for JTA and XA. - [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. -- [Narayana](https://github.com/jbosstm/narayana) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only) +- [Narayana](https://github.com/jbosstm/narayana) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. - [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. ### Distribution @@ -467,11 +467,11 @@ _Libraries for working with geospatial data and algorithms._ - [Apache SIS](https://github.com/apache/sis) - Library for developing geospatial applications. - [ArcGIS Maps SDK for Java](https://github.com/Esri/arcgis-maps-sdk-java-samples/) - JavaFX library for adding mapping and GIS functionality to desktop apps. - [Geo](https://github.com/davidmoten/geo) - GeoHash utilities in Java. -- [GeoTools](https://github.com/geotools/geotools) - Library that provides tools for geospatial data. (LGPL-2.1-only) +- [GeoTools](https://github.com/geotools/geotools) - Library that provides tools for geospatial data. - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. -- [H2GIS](https://github.com/orbisgis/h2gis) - Spatial extension of the H2 database. (LGPL-3.0-only) +- [H2GIS](https://github.com/orbisgis/h2gis) - Spatial extension of the H2 database. - [Jgeohash](https://github.com/astrapi69/jgeohash) - Library for using the GeoHash algorithm. -- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. (LGPL-3.0-only) +- [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. - [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. ### GUI @@ -601,9 +601,9 @@ _Current implementations of the JVM/JDK._ - [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. -- [Open JDK](https://github.com/openjdk/jdk) - Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Open JDK](https://github.com/openjdk/jdk) - Open JDK community home. - [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) -- [SAP Machine](https://github.com/SAP/SapMachine) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0) +- [SAP Machine](https://github.com/SAP/SapMachine) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. - [Zulu](https://www.azul.com/products/zulu-community/) - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) - [Microsoft JDK](https://github.com/microsoft/openjdk) - Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! @@ -634,7 +634,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [DJL](https://github.com/deepjavalibrary/djl) - High-level and engine-agnostic framework for deep learning. - [H2O](https://github.com/h2oai/h2o-3) - Analytics engine for statistics over big data. - [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. -- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) +- [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. - [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. - [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. - [oj! Algorithms](https://github.com/optimatika/ojAlgo) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. @@ -642,7 +642,7 @@ _Tools that provide specific statistical algorithms for learning from data._ - [sklearn-java](https://github.com/kVeyra/sklearn-java) - Implements scikit-learn-style machine learning algorithms in pure Java. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - [Tribuo](https://github.com/oracle/tribuo) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- [Weka](https://github.com/Waikato/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) +- [Weka](https://github.com/Waikato/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. ### Messaging @@ -694,7 +694,7 @@ _Everything else._ - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. - [JBake](https://github.com/jbake-org/jbake) - Static website generator. - [JBang](https://github.com/jbangdev/jbang) - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. -- [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) +- [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. - [JCuda](https://github.com/jcuda/jcuda) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - [Jimfs](https://github.com/google/jimfs) - In-memory file system. @@ -775,7 +775,7 @@ _For working with platform-specific native libraries._ _Libraries that specialize in processing text._ - [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) -- [CoreNLP](https://github.com/stanfordnlp/CoreNLP) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later) +- [CoreNLP](https://github.com/stanfordnlp/CoreNLP) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. - [DKPro](https://github.com/dkpro/dkpro-core) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. - [LingPipe](https://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. @@ -797,8 +797,8 @@ _Libraries for building network servers._ - [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. -- [Undertow](https://github.com/undertow-io/undertow) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) -- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) +- [Undertow](https://github.com/undertow-io/undertow) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. +- [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. - [Fluency](https://github.com/komamitsu/fluency) - High throughput data ingestion logger to Fluentd and Fluent Bit. ### ORM @@ -809,7 +809,7 @@ _APIs that handle the persistence of objects._ - [Doma](https://github.com/domaframework/doma) - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. - [Ebean](https://github.com/ebean-orm/ebean) - Provides simple and fast data access. - [EclipseLink](https://github.com/eclipse-ee4j/eclipselink) - Supports a number of persistence standards: JPA, JAXB, JCA and SDO. -- [Hibernate](https://github.com/hibernate/hibernate-orm) - Robust and widely used, with an active community. (LGPL-2.1-only) +- [Hibernate](https://github.com/hibernate/hibernate-orm) - Robust and widely used, with an active community. - [MyBatis](https://github.com/mybatis/mybatis-3) - Couples objects with stored procedures or SQL statements. - [mybatis-dynamic](https://github.com/myacelw/mybatis-dynamic) - Code-first dynamic ORM for MyBatis with runtime schema modification. - [MyBatis-Plus](https://github.com/baomidou/mybatis-plus) - A powerful enhanced toolkit of MyBatis for simplifying development. @@ -840,13 +840,13 @@ _Tools to help with PDF files._ - [Apache FOP](https://github.com/apache/xmlgraphics-fop) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://github.com/apache/pdfbox) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper) - Abstraction layer to JasperReports. (LGPL-3.0-only) -- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. (LGPL-3.0-only) +- [Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper) - Abstraction layer to JasperReports. +- [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. - [Eclipse BIRT](https://github.com/eclipse-birt/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - [GraphCompose](https://github.com/DemchaAV/GraphCompose) - Declarative engine for structured business PDFs with semantic layout, atomic pagination, theme tokens, and native vector charts. - [iText](https://github.com/itext/itext-java) - Creates PDF files programmatically. -- [JasperReports](https://github.com/Jaspersoft/jasperreports) - Complex reporting engine. (LGPL-3.0-only) +- [JasperReports](https://github.com/Jaspersoft/jasperreports) - Complex reporting engine. - [jquick-pdf](https://github.com/paohaijiao/jquick-pdf) - Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. - [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) @@ -862,7 +862,7 @@ _Tools for performance analysis, profiling and benchmarking._ - [Heap Seance](https://github.com/SegfaultSorcerer/heap-seance) - Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. -- [JMH](https://github.com/openjdk/jmh) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0) +- [JMH](https://github.com/openjdk/jmh) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. - [JVM Hotpath](https://github.com/sfkamath/jvm-hotpath) - Java agent for line-level execution frequency analysis to identify algorithmic bottlenecks. - [Argus](https://github.com/rlaope/Argus) - JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. @@ -977,14 +977,14 @@ _Libraries for scientific computing, analysis and visualization._ - [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. - [GraphStream](https://github.com/graphstream/gs-core) - Library for modeling and analyzing dynamic graphs. -- [JFreeChart](https://github.com/jfree/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) +- [JFreeChart](https://github.com/jfree/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [jSciPy](https://github.com/hissain/jscipy) - jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. - [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - [Orekit](https://github.com/CS-SI/Orekit) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) +- [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. - [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. @@ -1007,7 +1007,7 @@ _Libraries that handle security, authentication, authorization or session manage - [Bouncy Castle](https://github.com/bcgit/bc-java) - All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. - [Certificate Ripper](https://github.com/Hakky54/certificate-ripper) - CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. - [OWASP Dependency-Check](https://github.com/dependency-check/DependencyCheck) - Detects publicly disclosed vulnerabilities contained within a project's dependencies. -- [Cryptomator](https://github.com/cryptomator/cryptomator) - Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) +- [Cryptomator](https://github.com/cryptomator/cryptomator) - Multiplatform, transparent, client-side encryption of files in the cloud. - [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. @@ -1044,7 +1044,7 @@ _Servers specifically used to deploy applications._ - [Apache TomEE](https://github.com/apache/tomee) - Tomcat plus Java EE. - [Jetty](https://github.com/jetty/jetty.project) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. -- [WildFly](https://github.com/wildfly/wildfly) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) +- [WildFly](https://github.com/wildfly/wildfly) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. ### Template Engine @@ -1072,7 +1072,7 @@ _Tools that simplify testing asynchronous services._ - [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. - [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](https://github.com/greenmail-mail-test/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) +- [GreenMail](https://github.com/greenmail-mail-test/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. @@ -1146,7 +1146,7 @@ _Other stuff related to testing._ - [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. - [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. -- [pojo-tester](https://github.com/sta-szek/pojo-tester) - Automatically performs tests on basic POJO methods. (LGPL-3.0-only) +- [pojo-tester](https://github.com/sta-szek/pojo-tester) - Automatically performs tests on basic POJO methods. - [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). - [skipper-java](https://github.com/get-skipper/skipper-java) - Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. @@ -1180,7 +1180,7 @@ _Libraries which provide general utility functions._ - [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) +- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. - [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. From 4bd375a835e4f504a91a65da51c5f68f87df902c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 08:15:59 +0000 Subject: [PATCH 522/533] Update README with latest GitHub stats --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e4bc7180..0096de8a 100644 --- a/README.md +++ b/README.md @@ -1056,7 +1056,7 @@ _Current implementations of the JVM/JDK._ > **[RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview)**
RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 616 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. +> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 617 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. > **[Which JDK](https://github.com/whichjdk/whichjdk.com)** ★ 160 🟠
Overview of common JVMs with pros and cons. From 17559b2c1fd5b52b80f4a84bdbd571b8239cd83e Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 28 Jul 2026 10:01:21 +0200 Subject: [PATCH 523/533] chore: refresh Java project catalog --- README.md | 448 +++++++++++++++++++++++------------------------ README_SOURCE.md | 175 +++++++++--------- 2 files changed, 301 insertions(+), 322 deletions(-) diff --git a/README.md b/README.md index 0096de8a..6f6284ad 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. -812 projects · 75 categories · 80 resources +805 projects · 75 categories · 80 resources Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months @@ -26,14 +26,20 @@ _Frameworks and libraries that help implementing and verifying design and archit
-Artificial Intelligence 9 projects +Artificial Intelligence 13 projects _Frameworks that help you to leverage LLMs and AI._ -> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 Apache-2.0 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. +> **[A2A Java SDK](https://github.com/a2aproject/a2a-java)** ★ 466 Apache-2.0 🟢
Official Java SDK for the Agent2Agent protocol. + +> **[AgentScope Java](https://github.com/agentscope-ai/agentscope-java)** ★ 4.7k 🟢
Framework for building distributed, long-running AI agents with tool execution, persistence and multi-agent orchestration. + +> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 22 Apache-2.0 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. > **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 MIT 🟢
Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. +> **[Google Gen AI Java SDK](https://github.com/googleapis/java-genai)** ★ 385 Apache-2.0 🟢
Official Java SDK for integrating Google generative AI models. + > **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 Apache-2.0 🟢
Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. > **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k Apache-2.0 🟢
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. @@ -48,33 +54,27 @@ _Frameworks that help you to leverage LLMs and AI._ > **[Spring AI](https://github.com/spring-projects/spring-ai)** ★ 9.2k Apache-2.0 🟢
Application framework for AI engineering for Spring. +> **[Spring AI Alibaba](https://github.com/alibaba/spring-ai-alibaba)** ★ 10.5k Apache-2.0 🟢
Agentic AI framework built on Spring AI with model, tool, RAG and workflow integrations. +
-Bean Mapping 8 projects +Bean Mapping 4 projects _Frameworks that ease bean mapping._ -> **[dOOv](https://github.com/doov-io/doov)** ★ 103 Apache-2.0 🔴
Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - > **[Immuto](https://github.com/karunarathnad/immuto)** ★ 6 🟢
Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection. -> **[JMapper](https://github.com/jmapper-framework/jmapper-core)** ★ 245 Apache-2.0 🔴
Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - > **[MapStruct](https://github.com/mapstruct/mapstruct)** ★ 7.7k 🟢
Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. > **[ModelMapper](https://github.com/modelmapper/modelmapper)** ★ 2.4k Apache-2.0 🟠
Intelligent object mapping library that automatically maps objects to each other. -> **[Orika](https://github.com/orika-mapper/orika)** ★ 1.3k Apache-2.0 🔴
JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. - > **[reMap](https://github.com/remondis-it/remap)** ★ 128 Apache-2.0 🟢
Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -> **[Selma](https://github.com/xebia-france/selma)** ★ 213 Apache-2.0 🔴
Annotation processor-based bean mapper. -
-Build 6 projects +Build 13 projects _Tools that handle the build cycle and dependencies of an application._ @@ -84,16 +84,30 @@ _Tools that handle the build cycle and dependencies of an application._ > **[Buck2](https://github.com/facebook/buck2)** ★ 4.4k Apache-2.0 🟢
Encourages the creation of small, reusable modules consisting of code and resources. +> **[Dependency Analysis Gradle Plugin](https://github.com/autonomousapps/dependency-analysis-gradle-plugin)** ★ 2.2k Apache-2.0 🟢
Analyzes JVM and Android builds and recommends dependency and plugin changes. + +> **[Docker Maven Plugin](https://github.com/fabric8io/docker-maven-plugin)** ★ 1.9k Apache-2.0 🟢
Builds and runs Docker images from Maven. + +> **[Eclipse JKube](https://github.com/eclipse-jkube/jkube)** ★ 851 EPL-2.0 🟢
Maven and Gradle plugins for building and deploying Java applications on Kubernetes. + +> **[Frontend Maven Plugin](https://github.com/eirslett/frontend-maven-plugin)** ★ 4.4k Apache-2.0 🟢
Installs and runs Node.js frontend tooling from Maven builds. + +> **[git-commit-id Maven Plugin](https://github.com/git-commit-id/git-commit-id-maven-plugin)** ★ 1.7k LGPL-3.0 🟢
Exposes Git revision information to Maven builds and applications. + > **[Gradle](https://github.com/gradle/gradle)** ★ 18.7k Apache-2.0 🟢
Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. > **[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 MIT 🟢
A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. +> **[Jib](https://github.com/GoogleContainerTools/jib)** ★ 14.4k Apache-2.0 🟢
Builds optimized container images for Java applications without a Docker daemon. + > **[ReleaseRun](https://github.com/Releaserun/releaserun-cli)** ★ 1 MIT 🟠
Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. +> **[Shadow](https://github.com/GradleUp/shadow)** ★ 4.2k Apache-2.0 🟢
Gradle plugin for creating and transforming executable fat JARs. +
-Bytecode Manipulation 9 projects +Bytecode Manipulation 7 projects _Libraries to manipulate bytecode programmatically._ @@ -105,20 +119,16 @@ _Libraries to manipulate bytecode programmatically._ > **[Byteman](https://github.com/bytemanproject/byteman)** ★ 513 🟢
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -> **[cglib](https://github.com/cglib/cglib)** ★ 4.9k Apache-2.0 🔴
Bytecode generation library. - > **[Javassist](https://github.com/jboss-javassist/javassist)** ★ 4.2k 🟢
Tries to simplify bytecode editing. > **[Maker](https://github.com/cojen/maker)** ★ 70 Apache-2.0 🟢
Provides low level bytecode generation. -> **[Mixin](https://github.com/SpongePowered/Mixin)** ★ 1.7k MIT 🔴
Manipulate bytecode at runtime using real Java code. - > **[Recaf](https://github.com/Col-E/Recaf)** ★ 7.3k MIT 🟢
JVM reverse engineering toolkit, essentially an IDE for Java bytecode.
-Caching 4 projects +Caching 5 projects _Libraries that provide caching facilities._ @@ -130,10 +140,12 @@ _Libraries that provide caching facilities._ > **[Infinispan](https://github.com/infinispan/infinispan)** ★ 1.3k Apache-2.0 🟢
Highly concurrent key/value datastore used for caching. +> **[JetCache](https://github.com/alibaba/jetcache)** ★ 5.6k Apache-2.0 🟢
Java cache framework with local and distributed caching, annotations and asynchronous APIs. +
-CLI 10 projects +CLI 9 projects _Libraries for everything related to the CLI._ @@ -151,7 +163,7 @@ _Libraries to assist with parsing command line arguments._ > **[picocli](https://github.com/remkop/picocli)** ★ 5.4k Apache-2.0 🟢
ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args. -#### Text-Based User Interfaces 5 projects +#### Text-Based User Interfaces 4 projects _Libraries that provide TUI frameworks, or building blocks related functions._ @@ -163,12 +175,10 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ > **[Lanterna](https://github.com/mabe02/lanterna)** ★ 2.6k LGPL-3.0 🟢
Easy console text-GUI library, similar to curses. -> **[Text-IO](https://github.com/beryx/text-io)** ★ 353 Apache-2.0 🔴
Aids the creation of full console-based applications. -
-Cloud 2 projects +Cloud 4 projects _Libraries to integrate or use cloud-specific features._ @@ -176,6 +186,10 @@ _Libraries to integrate or use cloud-specific features._ > **[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k Apache-2.0 🟢
Client libraries for accessing Google Cloud services from Java applications. +> **[Java Operator SDK](https://github.com/operator-framework/java-operator-sdk)** ★ 935 Apache-2.0 🟢
SDK for implementing Kubernetes operators in Java. + +> **[Kubernetes Java Client](https://github.com/kubernetes-client/java)** ★ 4.0k Apache-2.0 🟢
Official Java client for the Kubernetes API. +
@@ -197,7 +211,7 @@ _Tools that provide metrics and quality measurements._ > **[NullAway](https://github.com/uber/NullAway)** ★ 4.1k MIT 🟢
Eliminates NullPointerExceptions with low build-time overhead. -> **[p3c](https://github.com/alibaba/p3c)** ★ 30.8k Apache-2.0 🔴
Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. +> **[OpenRewrite](https://github.com/openrewrite/rewrite)** ★ 3.6k Apache-2.0 🟢
Automates large-scale source-code refactoring through reusable recipes. > **[PMD](https://github.com/pmd/pmd)** ★ 5.5k 🟢
Source code analysis for finding bad coding practices. @@ -214,12 +228,10 @@ _Tools that provide metrics and quality measurements._
-Code Coverage 4 projects +Code Coverage 3 projects _Frameworks and tools that enable code coverage metrics collection for test suites._ -> **[Cobertura](https://github.com/cobertura/cobertura)** ★ 1.1k GPL-2.0 🔴
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. - > **[Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin)** ★ 40 MIT 🟢
Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. > **[JaCoCo](https://github.com/jacoco/jacoco)** ★ 4.6k 🟢
Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. @@ -248,11 +260,9 @@ _Tools that format or restructure Java source code._ _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ -> **[ADT4J](https://github.com/sviperll/adt4j)** ★ 150 BSD-3-Clause 🔴
JSR-269 code generator for algebraic data types. - > **[Auto](https://github.com/google/auto)** ★ 10.6k Apache-2.0 🟢
Generates factory, service, and value classes. -> **[Avaje Http Server](https://github.com/avaje/avaje-http)** ★ 96 Apache-2.0 🟢
Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +> **[Avaje HTTP](https://github.com/avaje/avaje-http)** ★ 96 Apache-2.0 🟢
Generates HTTP server adapters and declarative clients, with a lightweight JDK HTTP client. > **[Bootify](https://bootify.io)**
Browser-based Spring Boot app generation with JPA model and REST API. @@ -270,6 +280,8 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a > **[JPA Buddy](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. +> **[jsonschema2pojo](https://github.com/joelittlejohn/jsonschema2pojo)** ★ 6.4k Apache-2.0 🟢
Generates Java types from JSON Schema or example JSON. + > **[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 Apache-2.0 🟠
Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. > **[Lombok](https://github.com/projectlombok/lombok)** ★ 13.5k 🟢
Code generator that aims to reduce verbosity. @@ -309,13 +321,13 @@ _Libraries which seek to gain high level information from images and videos._
-Configuration 14 projects +Configuration 15 projects _Libraries that provide external configuration._ > **[avaje config](https://github.com/avaje/avaje-config)** ★ 107 Apache-2.0 🟢
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -> **[centraldogma](https://github.com/line/centraldogma)** ★ 663 Apache-2.0 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +> **[centraldogma](https://github.com/line/centraldogma)** ★ 664 Apache-2.0 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. > **[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 Apache-2.0 🟢
Type-safe, composable configuration library with a focus on runtime clarity. @@ -337,6 +349,8 @@ _Libraries that provide external configuration._ > **[microconfig](https://github.com/microconfig/microconfig)** ★ 320 Apache-2.0 🔴
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. +> **[NightConfig](https://github.com/TheElectronWill/night-config)** ★ 283 LGPL-3.0 🟢
Configuration library supporting TOML, YAML, HOCON, JSON and in-memory formats. + > **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. > **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. @@ -357,7 +371,7 @@ _Libraries that help with implementing optimization and satisfiability problems.
-CSV 5 projects +CSV 3 projects _Frameworks and libraries that simplify reading/writing CSV data._ @@ -367,14 +381,10 @@ _Frameworks and libraries that simplify reading/writing CSV data._ > **[opencsv](https://opencsv.sourceforge.net)**
Simple CSV parser. -> **[Super CSV](https://github.com/super-csv/super-csv)** ★ 528 Apache-2.0 🔴
Powerful CSV parser with support for Dozer, Joda-Time and Java 8. - -> **[uniVocity-parsers](https://github.com/uniVocity/univocity-parsers)** ★ 935 🔴
One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. -
-Data Structures 12 projects +Data Structures 11 projects _Efficient and specific data structures._ @@ -386,8 +396,6 @@ _Efficient and specific data structures._ > **[Apache Thrift](https://github.com/apache/thrift)** ★ 10.9k Apache-2.0 🟢
Data interchange format that originated at Facebook. -> **[Big Queue](https://github.com/bulldog2011/bigqueue)** ★ 567 Apache-2.0 🔴
Fast and persistent queue based on memory-mapped files. - > **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 MIT 🟠
Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. > **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 🔴
Persistent and immutable analogue of the Java Collections Framework. @@ -405,7 +413,7 @@ _Efficient and specific data structures._
-Database 43 projects +Database 49 projects _Everything that simplifies interactions with the database._ @@ -413,6 +421,10 @@ _Everything that simplifies interactions with the database._ > **[Apache Calcite](https://github.com/apache/calcite)** ★ 5.2k Apache-2.0 🟢
Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +> **[Apache Cassandra](https://github.com/apache/cassandra)** ★ 10.0k Apache-2.0 🟢
Distributed wide-column database with linear scalability and fault tolerance. + +> **[Apache Doris](https://github.com/apache/doris)** ★ 15.7k Apache-2.0 🟢
Distributed SQL database for real-time analytics. + > **[Apache Drill](https://github.com/apache/drill)** ★ 2.0k Apache-2.0 🟢
Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. > **[Apache Phoenix](https://github.com/apache/phoenix)** ★ 1.1k Apache-2.0 🟢
High-performance relational database layer over HBase for low-latency applications. @@ -425,6 +437,8 @@ _Everything that simplifies interactions with the database._ > **[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3.0k Apache-2.0 🟢
Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +> **[ClickHouse Java](https://github.com/ClickHouse/clickhouse-java)** ★ 1.6k Apache-2.0 🟢
Java clients and JDBC driver for ClickHouse. + > **[CosId](https://github.com/Ahoo-Wang/CosId)** ★ 640 Apache-2.0 🟢
Universal, flexible, high-performance distributed ID generator. > **[Debezium](https://github.com/debezium/debezium)** ★ 13.0k Apache-2.0 🟢
Low latency data streaming platform for change data capture. @@ -443,18 +457,18 @@ _Everything that simplifies interactions with the database._ > **[HSQLDB](https://hsqldb.org/)**
HyperSQL 100% Java database. +> **[JanusGraph](https://github.com/JanusGraph/janusgraph)** ★ 5.8k 🟢
Distributed graph database supporting pluggable storage and indexing backends. + > **[JDBI](https://github.com/jdbi/jdbi)** ★ 2.1k Apache-2.0 🟢
Convenient abstraction of JDBC. -> **[Jedis](https://github.com/xetorthio/jedis)** ★ 12.3k MIT 🟢
Small client for interaction with Redis, with methods for commands. +> **[Jedis](https://github.com/redis/jedis)** ★ 12.3k MIT 🟢
Java client for Redis with synchronous, asynchronous and cluster APIs. -> **[jetcd](https://github.com/justinsb/jetcd)** ★ 143 Apache-2.0 🔴
Client library for etcd. +> **[jetcd](https://github.com/etcd-io/jetcd)** ★ 1.2k Apache-2.0 🟢
Java client for etcd v3. > **[Jinq](https://github.com/my2iu/Jinq)** ★ 662 🔴
Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). > **[jOOQ](https://github.com/jOOQ/jOOQ)** ★ 6.8k 🟢
Generates typesafe code based on SQL schema. -> **[Leaf](https://github.com/Meituan-Dianping/Leaf)** ★ 6.8k Apache-2.0 🔴
Distributed ID generate service. - > **[Lettuce](https://github.com/redis/lettuce)** ★ 5.8k MIT 🟢
Lettuce is a scalable Redis client for building non-blocking Reactive applications. > **[Liquibase](https://github.com/liquibase/liquibase)** ★ 5.6k 🟢
Database-independent library for tracking, managing and applying database schema changes. @@ -465,10 +479,16 @@ _Everything that simplifies interactions with the database._ > **[Modality](https://github.com/arkanovicz/modality)** ★ 16 Apache-2.0 🟢
Lightweight ORM with database reverse engineering features. +> **[MongoDB Java Driver](https://github.com/mongodb/mongo-java-driver)** ★ 2.7k Apache-2.0 🟢
Official synchronous, asynchronous and reactive Java drivers for MongoDB. + +> **[ObjectBox](https://github.com/objectbox/objectbox-java)** ★ 4.6k Apache-2.0 🟢
Embedded object and vector database for Java and Android. + > **[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 218 Apache-2.0 🟢
Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. > **[OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ)** ★ 435 🟢
LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. +> **[Presto](https://github.com/prestodb/presto)** ★ 16.7k Apache-2.0 🟢
Distributed SQL query engine for large data sources. + > **[Querydsl](https://github.com/querydsl/querydsl)** ★ 5.0k Apache-2.0 🟢
Typesafe unified queries. > **[QueryStream](https://github.com/querystream/querystream)** ★ 21 Apache-2.0 🔴
Build JPA Criteria queries using a Stream-like API. @@ -483,12 +503,12 @@ _Everything that simplifies interactions with the database._ > **[SchemaCrawler](https://github.com/schemacrawler/SchemaCrawler)** ★ 1.8k 🟢
Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. -> **[Speedment](https://github.com/speedment/speedment)** ★ 2.1k Apache-2.0 🔴
Database access library that utilizes Java 8's Stream API for querying. - > **[Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query)** ★ 40 Apache-2.0 🟠
Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. > **[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 Apache-2.0 🟠
Allows you to use MongoDB query language to query your relational database. +> **[StarRocks](https://github.com/StarRocks/starrocks)** ★ 11.9k Apache-2.0 🟢
Distributed SQL query engine for real-time analytics and data lakehouses. + > **[Trino](https://github.com/trinodb/trino)** ★ 13.1k Apache-2.0 🟢
Distributed SQL query engine for big data. > **[Vibur DBCP](https://github.com/vibur/vibur-dbcp)** ★ 124 Apache-2.0 🔴
JDBC connection pool library with advanced performance monitoring capabilities. @@ -513,16 +533,20 @@ _Libraries related to handling date and time._
-Decentralization 1 project +Decentralization 3 projects _Libraries that handle decentralization tasks._ +> **[bitcoinj](https://github.com/bitcoinj/bitcoinj)** ★ 5.2k Apache-2.0 🟢
Library for working with the Bitcoin protocol and network. + > **[java-tron](https://github.com/tronprotocol/java-tron)** ★ 4.1k LGPL-3.0 🟢
Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. +> **[web3j](https://github.com/LFDT-web3j/web3j)** ★ 5.4k 🟢
Java and Android library for integrating with Ethereum-compatible blockchains. +
-Decompilation 6 projects +Decompilation 5 projects _Libraries for decompiling JVM bytecode._ @@ -530,9 +554,7 @@ _Libraries for decompiling JVM bytecode._ > **[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.3k Apache-2.0 🟢
Java decompiler with broad JVM bytecode support. -> **[JD-Core](https://github.com/java-decompiler/jd-core)** ★ 587 GPL-3.0 🔴
Core Java decompiler library. - -> **[Procyon](https://github.com/mstrobel/procyon)** ★ 1.2k 🔴
Java decompiler and metadata toolkit. +> **[jadx](https://github.com/skylot/jadx)** ★ 49.8k Apache-2.0 🟢
Dex-to-Java decompiler with command-line and graphical interfaces. > **[transformer-api](https://github.com/nbauma109/transformer-api)** ★ 3 Apache-2.0 🟢
Unified API that exposes multiple decompilers through one in-memory transformation interface. @@ -541,7 +563,7 @@ _Libraries for decompiling JVM bytecode._
-Dependency Injection 9 projects +Dependency Injection 7 projects _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) paradigm._ @@ -553,16 +575,12 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. > **[Dimension-DI](https://github.com/akardapolov/dimension-di)** ★ 19 Apache-2.0 🟢
JSR-330 runtime dependency injection using the JDK Class-File API. -> **[Feather](https://github.com/zsoltherpai/feather)** ★ 365 🔴
Ultra-lightweight, JSR-330-compliant dependency injection library. - > **[Governator](https://github.com/Netflix/governator)** ★ 829 Apache-2.0 🟠
Extensions and utilities that enhance Google Guice. > **[Guice](https://github.com/google/guice)** ★ 12.7k Apache-2.0 🟢
Lightweight and opinionated framework that completes Dagger. > **[HK2](https://github.com/eclipse-ee4j/glassfish-hk2)** ★ 95 🟢
Lightweight and dynamic dependency injection framework. -> **[JayWire](https://github.com/vanillasource/jaywire)** ★ 64 🔴
Lightweight dependency injection framework. (LGPL-3.0-only) -
@@ -572,10 +590,10 @@ _Augmentation of the development process at a fundamental level._ > **[AspectJ](https://github.com/eclipse-aspectj/aspectj)** ★ 392 🟠
Seamless aspect-oriented programming extension. -> **[DCEVM](https://github.com/dcevm/dcevm)** ★ 1.9k 🔴
JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - > **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 MIT 🔴
Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +> **[Ghidra](https://github.com/NationalSecurityAgency/ghidra)** ★ 71.5k Apache-2.0 🟢
Extensible software reverse-engineering framework with Java APIs and scripting. + > **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k GPL-2.0 🟠
Unlimited runtime class and resource redefinition. > **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k 🟢
Parse, modify and generate Java code. @@ -591,7 +609,7 @@ _Augmentation of the development process at a fundamental level._
-Distributed Applications 14 projects +Distributed Applications 12 projects _Libraries and frameworks for writing distributed and fault-tolerant applications._ @@ -601,13 +619,11 @@ _Libraries and frameworks for writing distributed and fault-tolerant application > **[Apache ZooKeeper](https://github.com/apache/zookeeper)** ★ 12.8k Apache-2.0 🟢
Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -> **[Atomix](https://github.com/atomix/atomix)** ★ 2.4k Apache-2.0 🔴
Fault-tolerant distributed coordination framework. - > **[Axon](https://github.com/AxonIQ/AxonFramework)** ★ 3.6k Apache-2.0 🟢
Framework for creating CQRS applications. > **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 GPL-2.0 🟠
Circuit breaker design pattern for Dropwizard. -> **[Failsafe](https://github.com/jhalterman/failsafe)** ★ 4.3k Apache-2.0 🟠
Simple failure handling with retries and circuit breakers. +> **[Failsafe](https://github.com/failsafe-lib/failsafe)** ★ 4.3k Apache-2.0 🟠
Simple failure handling with retries and circuit breakers. > **[Hazelcast](https://github.com/hazelcast/hazelcast)** ★ 6.6k 🟢
Highly scalable in-memory datagrid with a free open-source version. @@ -615,8 +631,6 @@ _Libraries and frameworks for writing distributed and fault-tolerant application > **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 🟢
High-performance reverse proxy server with specialized session management and credential replay functionality. -> **[Quasar](https://github.com/puniverse/quasar)** ★ 4.6k 🔴
Lightweight threads and actors for the JVM. - > **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k Apache-2.0 🟢
Functional fault tolerance library. > **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 Apache-2.0 🟢
Embeddable Cluster-Membership library based on SWIM and gossip protocol. @@ -641,7 +655,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u
-Distribution 14 projects +Distribution 13 projects _Tools that handle the distribution of applications in native formats._ @@ -649,8 +663,6 @@ _Tools that handle the distribution of applications in native formats._ > **[Boxfuse](https://boxfuse.com)**
Deployment of JVM applications to AWS using the principles of immutable infrastructure. -> **[Capsule](https://github.com/puniverse/capsule)** ★ 1.1k EPL-1.0 🔴
Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - > **[Central Repository](https://search.maven.org)**
Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. > **[Cloudsmith](https://cloudsmith.io)**
Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. @@ -676,12 +688,18 @@ _Tools that handle the distribution of applications in native formats._
-Document Processing 9 projects +Document Processing 13 projects _Libraries that assist with processing office document formats._ +> **[Apache Fesod](https://github.com/apache/fesod)** ★ 6.1k Apache-2.0 🟢
Memory-efficient library for reading and writing large spreadsheet files. + > **[Apache POI](https://github.com/apache/poi)** ★ 2.3k 🟢
Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +> **[Apache Tika](https://github.com/apache/tika)** ★ 3.9k Apache-2.0 🟢
Detects and extracts text and metadata from a wide range of document formats. + +> **[commonmark-java](https://github.com/commonmark/commonmark-java)** ★ 2.7k BSD-2-Clause 🟢
Parses and renders CommonMark-compatible Markdown. + > **[documents4j](https://github.com/documents4j/documents4j)** ★ 585 Apache-2.0 🟠
API for document format conversion using third-party converters such as MS Word. > **[docx4j](https://github.com/plutext/docx4j)** ★ 2.4k 🟢
Create and manipulate Microsoft Open XML files. @@ -692,6 +710,8 @@ _Libraries that assist with processing office document formats._ > **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Apache-2.0 🟢
Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. +> **[Jxls](https://github.com/jxlsteam/jxls)** ★ 523 Apache-2.0 🟠
Generates Excel reports from spreadsheet templates. + > **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 62 Apache-2.0 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. > **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k MIT 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. @@ -701,20 +721,22 @@ _Libraries that assist with processing office document formats._
-Financial 5 projects +Financial 6 projects _Libraries related to the financial domain._ > **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 GPL-3.0 🔴
Trading bot framework. -> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Apache-2.0 🟢
Low-latency financial information exchange. +> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 345 Apache-2.0 🟢
Low-latency financial information exchange. -> **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 MIT 🟢
Integration with the Stripe API. +> **[Stripe](https://github.com/stripe/stripe-java)** ★ 994 MIT 🟢
Integration with the Stripe API. > **[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k 🟢
Library for technical analysis. > **[Wickra](https://github.com/wickra-lib/wickra)** ★ 38 Apache-2.0 🟢
Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. +> **[XChange](https://github.com/knowm/XChange)** ★ 4.1k MIT 🟢
Consistent Java API for market data and trading across cryptocurrency exchanges. +
@@ -731,12 +753,10 @@ _Frameworks and libraries for reading and writing fixed-length and delimited fla
-Formal Verification 7 projects +Formal Verification 6 projects _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -> **[CATG](https://github.com/ksen007/janala2)** ★ 106 BSD-2-Clause 🔴
Concolic unit testing engine. Automatically generates unit tests using formal methods. - > **[Checker Framework](https://github.com/typetools/checker-framework)** ★ 1.1k 🟢
Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) > **[Daikon](https://github.com/codespecs/daikon)** ★ 255 🟢
Detects likely program invariants and generates JML specs based on those invariants. @@ -752,14 +772,10 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc
-Functional Programming 10 projects +Functional Programming 8 projects _Libraries that facilitate functional programming._ -> **[Cyclops](https://github.com/aol/cyclops)** ★ 1.3k Apache-2.0 🔴
Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. - -> **[derive4j](https://github.com/derive4j/derive4j)** ★ 576 🔴
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - > **[Fugue](https://bitbucket.org/atlassian/fugue)**
Functional extensions to Guava. > **[Functional Java](https://github.com/functionaljava/functionaljava)** ★ 1.6k 🔴
Implements numerous basic and advanced programming abstractions that assist composition-oriented development. @@ -779,7 +795,7 @@ _Libraries that facilitate functional programming._
-Game Development 9 projects +Game Development 8 projects _Frameworks that support the development of games._ @@ -797,14 +813,12 @@ _Frameworks that support the development of games._ > **[LWJGL](https://github.com/LWJGL/lwjgl3)** ★ 5.4k BSD-3-Clause 🟢
Robust framework that abstracts libraries like OpenGL/CL/AL. -> **[Mini2Dx](https://github.com/mini2Dx/mini2Dx)** ★ 505 Apache-2.0 🔴
Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. - > **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 BSD-3-Clause 🟠
Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.
-Geospatial 9 projects +Geospatial 11 projects _Libraries for working with geospatial data and algorithms._ @@ -822,17 +836,23 @@ _Libraries for working with geospatial data and algorithms._ > **[Jgeohash](https://github.com/astrapi69/jgeohash)** ★ 68 Apache-2.0 🔴
Library for using the GeoHash algorithm. +> **[JTS](https://github.com/locationtech/jts)** ★ 2.2k 🟢
Geometry model and algorithms for manipulating vector geospatial data. + > **[Mapsforge](https://github.com/mapsforge/mapsforge)** ★ 1.4k LGPL-3.0 🟢
Map rendering based on OpenStreetMap data. +> **[Open Location Code](https://github.com/google/open-location-code)** ★ 4.3k Apache-2.0 🟠
Encodes geographic coordinates as short, shareable Plus Codes. + > **[Spatial4j](https://github.com/locationtech/spatial4j)** ★ 962 🟢
General-purpose spatial/geospatial library.
-GUI 6 projects +GUI 7 projects _Libraries to create modern graphical user interfaces._ +> **[ControlsFX](https://github.com/controlsfx/controlsfx)** ★ 1.7k BSD-3-Clause 🟢
UI controls and components that complement JavaFX. + > **[FlatLaf](https://github.com/JFormDesigner/FlatLaf)** ★ 4.2k Apache-2.0 🟢
Modern Swing Look and Feel with Darcula and IntelliJ themes. > **[JavaFX](https://github.com/openjdk/jfx)** ★ 3.3k GPL-2.0 🟢
Successor of Swing. @@ -848,7 +868,7 @@ _Libraries to create modern graphical user interfaces._
-High Performance 7 projects +High Performance 8 projects _Everything about high-performance computation, from collections to specific libraries._ @@ -860,16 +880,18 @@ _Everything about high-performance computation, from collections to specific lib > **[fastutil](https://github.com/vigna/fastutil)** ★ 2.2k Apache-2.0 🟢
Fast and compact type-specific collections. +> **[Hollow](https://github.com/Netflix/hollow)** ★ 1.4k Apache-2.0 🟢
High-performance in-memory datasets distributed from a single producer to many consumers. + > **[HPPC](https://github.com/carrotsearch/hppc)** ★ 1.0k Apache-2.0 🟢
Primitive collections. > **[JCTools](https://github.com/JCTools/JCTools)** ★ 3.9k Apache-2.0 🟢
Concurrency tools currently missing from the JDK. -> **[Koloboke](https://github.com/leventov/Koloboke)** ★ 1.0k 🔴
Carefully designed extension of the Java Collections Framework with primitive specializations and more. +> **[TransmittableThreadLocal](https://github.com/alibaba/transmittable-thread-local)** ★ 8.3k Apache-2.0 🟢
Propagates thread-local context across thread pools and asynchronous execution.
-HTTP Clients 11 projects +HTTP Clients 10 projects _Libraries that assist with creating HTTP requests and/or binding responses._ @@ -877,8 +899,6 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ > **[Async Http Client](https://github.com/AsyncHttpClient/async-http-client)** ★ 6.4k Apache-2.0 🟢
Asynchronous HTTP and WebSocket client library. -> **[Avaje Http Client](https://github.com/avaje/avaje-http-client)** ★ 26 Apache-2.0 🔴
Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements. - > **[Feign](https://github.com/OpenFeign/feign)** ★ 9.8k Apache-2.0 🟢
HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. > **[Google HTTP Client](https://github.com/googleapis/google-http-java-client)** ★ 1.4k Apache-2.0 🟢
Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. @@ -898,16 +918,12 @@ _Libraries that assist with creating HTTP requests and/or binding responses._
-Hypermedia Types 4 projects +Hypermedia Types 2 projects _Libraries that handle serialization to hypermedia types._ > **[hate](https://github.com/blackdoor/hate)** ★ 25 MIT 🔴
Builds hypermedia-friendly objects according to HAL specification. -> **[JSON-LD](https://github.com/jsonld-java/jsonld-java)** ★ 388 BSD-3-Clause 🔴
JSON-LD implementation. - -> **[Siren4J](https://github.com/eserating-chwy/siren4j)** ★ 28 MIT 🔴
Library for the Siren specification. - > **[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k Apache-2.0 🟢
Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.
@@ -932,12 +948,14 @@ _Integrated development environments that try to simplify several aspects of dev
-Imagery 9 projects +Imagery 10 projects _Libraries that assist with the creation, evaluation or manipulation of graphical images._ > **[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 17 Apache-2.0 🟢
Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +> **[Glide](https://github.com/bumptech/glide)** ★ 35.0k 🟢
Image loading and caching library for Android focused on smooth scrolling. + > **[image-comparison](https://github.com/romankh3/image-comparison)** ★ 396 Apache-2.0 🔴
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. > **[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k Apache-2.0 🔴
Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. @@ -957,7 +975,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica
-Introspection 6 projects +Introspection 4 projects _Libraries that help make the Java introspection and reflection API easier and faster to use._ @@ -965,18 +983,14 @@ _Libraries that help make the Java introspection and reflection API easier and f > **[jOOR](https://github.com/jOOQ/jOOR)** ★ 2.8k Apache-2.0 🔴
jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -> **[Mirror](https://github.com/vidageek/mirror)** ★ 109 Apache-2.0 🔴
Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. - > **[Objenesis](https://github.com/easymock/objenesis)** ★ 631 Apache-2.0 🟢
Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. > **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k BSD-3-Clause 🔴
ReflectASM is a very small Java library that provides high performance reflection by using code generation. -> **[Reflections](https://github.com/ronmamo/reflections)** ★ 4.8k WTFPL 🔴
Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. -
-Job Scheduling 7 projects +Job Scheduling 8 projects _Libraries for scheduling background jobs._ @@ -994,10 +1008,12 @@ _Libraries for scheduling background jobs._ > **[Wisp](https://github.com/Coreoz/Wisp)** ★ 148 Apache-2.0 🟠
Simple library with minimal footprint and straightforward API. +> **[XXL-JOB](https://github.com/xuxueli/xxl-job)** ★ 30.4k GPL-3.0 🟢
Distributed task scheduling platform with centralized administration and execution monitoring. +
-JSON 15 projects +JSON 12 projects _Libraries for serializing and deserializing JSON to and from Java objects._ @@ -1005,12 +1021,10 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ > **[DSL-JSON](https://github.com/ngs-doo/dsl-json)** ★ 1.1k BSD-3-Clause 🟢
JSON library with advanced compile time databinding. -> **[Genson](https://github.com/owlike/genson)** ★ 224 🔴
Powerful and easy-to-use Java-to-JSON conversion library. +> **[Fastjson2](https://github.com/alibaba/fastjson2)** ★ 4.4k Apache-2.0 🟢
High-performance JSON parser, serializer and object mapper. > **[Gson](https://github.com/google/gson)** ★ 24.2k Apache-2.0 🟢
Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -> **[HikariJSON](https://github.com/brettwooldridge/HikariJSON)** ★ 470 Apache-2.0 🔴
High-performance JSON parser, 2x faster than Jackson. - > **[Jackson](https://github.com/FasterXML/jackson)** ★ 9.8k 🟢
Similar to GSON, but offers performance gains if you need to instantiate the library more often. > **[jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8)** ★ 423 Apache-2.0 🟢
Set of Jackson modules for Java 8 datatypes and features. @@ -1019,14 +1033,10 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ > **[JSON-io](https://github.com/jdereg/json-io)** ★ 390 Apache-2.0 🟢
Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. -> **[jsoniter](https://github.com/json-iterator/java)** ★ 1.6k MIT 🔴
Fast and flexible library with iterator and lazy parsing API. - > **[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k Apache-2.0 🟠
Extract data from JSON using XPATH-like syntax. > **[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 317 MIT 🔴
Streaming JsonPath processor dedicated to processing big and complicated JSON data. -> **[LoganSquare](https://github.com/bluelinelabs/LoganSquare)** ★ 3.2k Apache-2.0 🔴
JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - > **[Moshi](https://github.com/square/moshi)** ★ 10.1k Apache-2.0 🟢
Modern JSON library, less opinionated and uses built-in types like List and Map. > **[Yasson](https://github.com/eclipse-ee4j/yasson)** ★ 217 🟢
Binding layer between classes and JSON documents similar to JAXB. @@ -1052,7 +1062,7 @@ _Current implementations of the JVM/JDK._ > **[Open JDK](https://github.com/openjdk/jdk)** ★ 23.2k GPL-2.0 🟢
Open JDK community home. -> **[OpenJ9](https://github.com/eclipse/openj9)** ★ 3.5k 🟢
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/openj9)** ★ 3.5k 🟢
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. > **[RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview)**
RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) @@ -1065,7 +1075,7 @@ _Current implementations of the JVM/JDK._
-Logging 11 projects +Logging 10 projects _Libraries that log the behavior of an application._ @@ -1085,8 +1095,6 @@ _Libraries that log the behavior of an application._ > **[Logstash](https://github.com/elastic/logstash)** ★ 14.9k 🟢
Tool for managing log files. -> **[p6spy](https://github.com/p6spy/p6spy)** ★ 2.2k Apache-2.0 🔴
Enables logging for all JDBC transactions without changes to the code. - > **[SLF4J](https://github.com/qos-ch/slf4j)** ★ 2.5k MIT 🟢
Abstraction layer/simple logging facade. > **[tinylog](https://github.com/tinylog-org/tinylog)** ★ 770 Apache-2.0 🟢
Lightweight logging framework with static logger class. @@ -1094,7 +1102,7 @@ _Libraries that log the behavior of an application._
-Machine Learning 16 projects +Machine Learning 15 projects _Tools that provide specific statistical algorithms for learning from data._ @@ -1114,8 +1122,6 @@ _Tools that provide specific statistical algorithms for learning from data._ > **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 GPL-3.0 🔴
Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. -> **[m2cgen](https://github.com/BayesWitnesses/m2cgen)** ★ 3.0k MIT 🔴
CLI tool to transpile models into native code. - > **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 MIT 🟠
A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. > **[oj! Algorithms](https://github.com/optimatika/ojAlgo)** ★ 502 MIT 🟢
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. @@ -1128,12 +1134,12 @@ _Tools that provide specific statistical algorithms for learning from data._ > **[Tribuo](https://github.com/oracle/tribuo)** ★ 1.4k Apache-2.0 🟢
Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -> **[Weka](https://github.com/Waikato/weka)** ★ 34 GPL-3.0 🔴
Collection of algorithms for data mining tasks ranging from pre-processing to visualization. +> **[Weka](https://git.cms.waikato.ac.nz/weka/weka)**
Collection of algorithms for data mining tasks ranging from pre-processing to visualization.
-Messaging 15 projects +Messaging 18 projects _Tools that help send messages between clients to ensure protocol independency._ @@ -1153,33 +1159,39 @@ _Tools that help send messages between clients to ensure protocol independency._ > **[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k Apache-2.0 🟢
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -> **[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 Apache-2.0 🟠
Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. +> **[CloudEvents Java SDK](https://github.com/cloudevents/sdk-java)** ★ 442 Apache-2.0 🟢
Java SDK for creating, serializing and transporting CloudEvents. -> **[EventBus](https://github.com/greenrobot/EventBus)** ★ 24.7k Apache-2.0 🔴
Simple publish/subscribe event bus. +> **[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 Apache-2.0 🟠
Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. > **[Hermes](https://github.com/allegro/hermes)** ★ 863 🟢
Fast and reliable message broker built on top of Kafka. +> **[HiveMQ MQTT Client](https://github.com/hivemq/hivemq-mqtt-client)** ★ 1.1k Apache-2.0 🟢
Reactive and blocking Java client for MQTT 3.1.1 and MQTT 5. + > **[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k MPL-2.0 🟠
Implementation of ZeroMQ. > **[NATS client](https://github.com/nats-io/nats.java)** ★ 670 Apache-2.0 🟢
NATS client. +> **[Pushy](https://github.com/jchambers/pushy)** ★ 1.9k MIT 🟢
Java library for sending Apple Push Notification service messages. + > **[RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client)** ★ 1.3k 🟢
RabbitMQ client. > **[Smack](https://github.com/igniterealtime/Smack)** ★ 2.4k Apache-2.0 🟢
Cross-platform XMPP client library. +> **[TelegramBots](https://github.com/rubenlagus/TelegramBots)** ★ 5.5k MIT 🟢
Java library for building bots with the Telegram Bot API. +
-Microservice 10 projects +Microservice 11 projects _Tools for creating and managing microservices._ > **[Armeria](https://github.com/line/armeria)** ★ 5.1k Apache-2.0 🟢
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)** ★ 421 Apache-2.0 🔴
Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service. - > **[Eureka](https://github.com/Netflix/eureka)** ★ 12.7k Apache-2.0 🟠
REST-based service registry for resilient load balancing and failover. +> **[gRPC Spring](https://github.com/grpc-ecosystem/grpc-spring)** ★ 3.7k Apache-2.0 🟢
Spring Boot integration for building gRPC clients and servers. + > **[Helidon](https://github.com/helidon-io/helidon)** ★ 3.8k Apache-2.0 🟢
Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. > **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k Apache-2.0 🟢
Wrapping of the Discord REST API and its WebSocket events. @@ -1194,16 +1206,18 @@ _Tools for creating and managing microservices._ > **[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k Apache-2.0 🟢
Flow control component enabling reliability, resilience and monitoring for microservices. +> **[Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway)** ★ 4.9k Apache-2.0 🟢
API gateway built on Spring Framework and Spring Boot. +
-Miscellaneous 42 projects +Miscellaneous 39 projects _Everything else._ > **[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 🟢
Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) -> **[CQEngine](https://github.com/npgall/cqengine)** ★ 1.8k Apache-2.0 🔴
Ultra-fast, SQL-like queries on Java collections. +> **[CQEngine Next](https://github.com/MSaifAsif/cqengine-next)** ★ 16 Apache-2.0 🟢
Provides indexed, SQL-like queries over Java collections. > **[Design Patterns](https://github.com/iluwatar/java-design-patterns)** ★ 94.2k 🟢
Implementation and explanation of the most common design patterns. @@ -1235,15 +1249,11 @@ _Everything else._ > **[Joda-Money](https://github.com/JodaOrg/joda-money)** ★ 679 Apache-2.0 🟠
Basic currency and money classes and algorithms not provided by the JDK. -> **[jOOX](https://github.com/jooq/joox)** ★ 506 Apache-2.0 🔴
Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - > **[JPad](https://jpad.io)**
Snippet runner. > **[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 449 🟢
Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. -> **[jsweet](https://github.com/cincheo/jsweet)** ★ 1.5k 🔴
Source transpiler to TypeScript/JavaScript. - -> **[LittleProxy](https://github.com/adamfisk/LittleProxy)** ★ 2.1k Apache-2.0 🔴
High performance HTTP proxy atop Netty's event-based networking library. +> **[LittleProxy](https://github.com/LittleProxy/LittleProxy)** ★ 149 Apache-2.0 🟢
High performance HTTP proxy atop Netty's event-based networking library. > **[Maven Wrapper](https://github.com/apache/maven-wrapper)** ★ 252 Apache-2.0 🟢
Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. @@ -1257,8 +1267,6 @@ _Everything else._ > **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 MIT 🟢
Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. -> **[OctoLinker](https://github.com/OctoLinker/OctoLinker)** ★ 5.4k MIT 🔴
Browser extension which allows to navigate through code on GitHub more efficiently. - > **[OpenRefine](https://github.com/OpenRefine/OpenRefine)** ★ 11.9k BSD-3-Clause 🟢
Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. > **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 MIT 🟠
Small utility library for using handlers and commands with pipelines. @@ -1301,7 +1309,7 @@ _Tools for creating or managing mobile applications._
-Monitoring 21 projects +Monitoring 20 projects _Tools that observe/monitor applications in production by providing telemetry._ @@ -1311,6 +1319,8 @@ _Tools that observe/monitor applications in production by providing telemetry._ > **[Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage)** ★ 2 Apache-2.0 🟢
Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. +> **[BTrace](https://github.com/btraceio/btrace)** ★ 6.0k Apache-2.0 🟢
Dynamic tracing and diagnostics for running JVM applications without restarts. + > **[Datadog](https://github.com/DataDog/dd-trace-java)** ★ 727 Apache-2.0 🟢
Modern monitoring & analytics. > **[Dropwizard Metrics](https://github.com/dropwizard/metrics)** ★ 7.8k Apache-2.0 🟢
Expose metrics via JMX or HTTP and send them to a database. @@ -1325,16 +1335,12 @@ _Tools that observe/monitor applications in production by providing telemetry._ > **[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3.0k Apache-2.0 🟢
Performance monitoring and profiling. -> **[jmxtrans](https://github.com/jmxtrans/jmxtrans)** ★ 1.7k MIT 🔴
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://github.com/jolokia/jolokia)** ★ 848 Apache-2.0 🟢
JMX over REST. > **[Micrometer](https://github.com/micrometer-metrics/micrometer)** ★ 4.9k Apache-2.0 🟢
Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. > **[Micrometer Tracing](https://github.com/micrometer-metrics/tracing)** ★ 296 Apache-2.0 🟢
Vendor-neutral distributed tracing facade for the most popular tracer libraries. -> **[nudge4j](https://github.com/lorenzoongithub/nudge4j)** ★ 164 MIT 🔴
Remote developer console from the browser for Java 8 via bytecode injection. - > **[OpenTelemetry](https://github.com/open-telemetry/opentelemetry-java)** ★ 2.4k Apache-2.0 🟢
Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior. > **[Pinpoint](https://github.com/naver/pinpoint)** ★ 13.8k Apache-2.0 🟢
Open-source APM tool. @@ -1354,7 +1360,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ _For working with platform-specific native libraries._ -> **[Aparapi](https://github.com/Syncleus/aparapi)** ★ 480 Apache-2.0 🔴
Converts bytecode to OpenCL which allows execution on GPUs. +> **[Aparapi](https://git.cleverlibre.org/aparapi/aparapi)**
Converts bytecode to OpenCL which allows execution on GPUs. > **[JavaCPP](https://github.com/bytedeco/javacpp)** ★ 4.7k 🟢
Provides efficient and easy access to native C++. @@ -1367,12 +1373,10 @@ _For working with platform-specific native libraries._
-Natural Language Processing 5 projects +Natural Language Processing 4 projects _Libraries that specialize in processing text._ -> **[CogCompNLP](https://github.com/CogComp/cogcomp-nlp)** ★ 479 🔴
Provides common annotators for plain text input. (Research and Academic Use License) - > **[CoreNLP](https://github.com/stanfordnlp/CoreNLP)** ★ 10.1k GPL-3.0 🟢
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. > **[DKPro](https://github.com/dkpro/dkpro-core)** ★ 204 🟢
Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. @@ -1384,13 +1388,17 @@ _Libraries that specialize in processing text._
-Networking 16 projects +Networking 19 projects _Libraries for building network servers._ +> **[Apache MINA sshd](https://github.com/apache/mina-sshd)** ★ 1.1k Apache-2.0 🟢
Java implementation of SSH clients, servers, SFTP and SCP. + +> **[Atmosphere](https://github.com/Atmosphere/atmosphere)** ★ 3.8k Apache-2.0 🟢
Real-time transport framework supporting WebSocket, SSE, gRPC and WebTransport. + > **[Commons-networking](https://github.com/CiscoSE/commons-networking)** ★ 21 Apache-2.0 🔴
Client for server-sent events (SSE). -> **[Comsat](https://github.com/puniverse/comsat)** ★ 594 🔴
Integrates standard Java web-related APIs with Quasar fibers and actors. +> **[dnsjava](https://github.com/dnsjava/dnsjava)** ★ 1.1k BSD-3-Clause 🟢
Java implementation of the DNS protocol. > **[Drift](https://github.com/airlift/drift)** ★ 249 Apache-2.0 🟢
Easy-to-use, annotation-based library for creating Thrift clients and serializable types. @@ -1404,7 +1412,7 @@ _Libraries for building network servers._ > **[java-ngrok](https://github.com/alexdlaird/java-ngrok)** ★ 60 MIT 🟢
Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. -> **[KryoNet](https://github.com/EsotericSoftware/kryonet)** ★ 1.9k BSD-3-Clause 🔴
Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +> **[Java-WebSocket](https://github.com/TooTallNate/Java-WebSocket)** ★ 10.8k MIT 🟠
Lightweight WebSocket client and server implementation. > **[MINA](https://github.com/apache/mina)** ★ 925 Apache-2.0 🟢
Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. @@ -1412,6 +1420,8 @@ _Libraries for building network servers._ > **[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1.0k Apache-2.0 🟢
Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. +> **[Socket.IO Client Java](https://github.com/socketio/socket.io-client-java)** ★ 5.4k 🟠
Java client for Socket.IO servers. + > **[sshj](https://github.com/hierynomus/sshj)** ★ 2.7k Apache-2.0 🟢
Programmatically use SSH, SCP or SFTP. > **[TLS Channel](https://github.com/marianobarrios/tls-channel)** ★ 209 MIT 🟠
Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. @@ -1475,12 +1485,12 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ -> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 377 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. +> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 378 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance.
-PDF 13 projects +PDF 14 projects _Tools to help with PDF files._ @@ -1488,8 +1498,6 @@ _Tools to help with PDF files._ > **[Apache PDFBox](https://github.com/apache/pdfbox)** ★ 3.1k Apache-2.0 🟢
Toolbox for creating and manipulating PDFs. -> **[Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper)** ★ 258 LGPL-3.0 🔴
Abstraction layer to JasperReports. - > **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 LGPL-3.0 🟢
Simplifies JasperReports. > **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 539 EPL-2.0 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. @@ -1504,8 +1512,12 @@ _Tools to help with PDF files._ > **[jquick-pdf](https://github.com/paohaijiao/jquick-pdf)** ★ 225 🟢
Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. +> **[Nostrum Dynamic Jasper](https://github.com/nostrum-tech/NostrumDynamicJasper)** ★ 1 LGPL-3.0 🟢
Provides dynamic report layouts on top of JasperReports. + > **[Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf)** ★ 266 🟢
Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +> **[OpenDataLoader PDF](https://github.com/opendataloader-project/opendataloader-pdf)** ★ 27.9k Apache-2.0 🟢
Parses PDFs into structured Markdown, JSON and HTML through a Java API and command line. + > **[OpenPDF](https://github.com/LibrePDF/OpenPDF)** ★ 4.3k 🟢
Open-source iText fork. (LGPL-3.0-only & MPL-2.0) > **[Tabula](https://github.com/tabulapdf/tabula-java)** ★ 2.0k MIT 🔴
Extracts tables from PDF files. @@ -1513,7 +1525,7 @@ _Tools to help with PDF files._
-Performance analysis 10 projects +Performance analysis 9 projects _Tools for performance analysis, profiling and benchmarking._ @@ -1525,8 +1537,6 @@ _Tools for performance analysis, profiling and benchmarking._ > **[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 Apache-2.0 🟠
Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. -> **[honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler)** ★ 1.3k MIT 🔴
Low-overhead, bias-free sampling profiler. - > **[jHiccup](https://github.com/giltene/jHiccup)** ★ 704 🟠
Logs and records platform JVM stalls. > **[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k 🟠
Analyze the JIT compiler optimisations made by the HotSpot JVM. @@ -1540,7 +1550,7 @@ _Tools for performance analysis, profiling and benchmarking._
-Platform 54 projects +Platform 53 projects _Frameworks that are suites of multiple libraries encompassing several categories._ @@ -1646,14 +1656,12 @@ _Frameworks that are suites of multiple libraries encompassing several categorie > **[Weaver](https://github.com/apache/commons-weaver)** ★ 29 Apache-2.0 🟢
Provides an easy way to enhance (weave) compiled bytecode. -#### Other 4 projects +#### Other 3 projects > **[CUBA Platform](https://github.com/jmix-framework/jmix)** ★ 693 Apache-2.0 🟢
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. > **[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k Apache-2.0 🟢
Fast, lightweight and productive microservices framework with built-in security. -> **[Orienteer](https://github.com/OrienteerBAP/Orienteer/)** ★ 260 Apache-2.0 🔴
Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - > **[Spring Framework](https://github.com/spring-projects/spring-framework)** ★ 60.1k Apache-2.0 🟢
Comprehensive application framework for building Java applications.
@@ -1689,33 +1697,27 @@ _Libraries for developing reactive applications._
-REST Frameworks 14 projects +REST Frameworks 11 projects _Frameworks specifically for creating RESTful services._ -> **[Crnk](https://github.com/crnk-project/crnk-framework)** ★ 291 Apache-2.0 🔴
Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. - > **[Dropwizard](https://github.com/dropwizard/dropwizard)** ★ 8.6k Apache-2.0 🟢
Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. > **[Elide](https://github.com/yahoo/elide)** ★ 1.0k 🟢
Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. > **[Jersey](https://github.com/eclipse-ee4j/jersey)** ★ 729 🟢
JAX-RS reference implementation. -> **[Microserver](https://github.com/aol/micro-server)** ★ 935 Apache-2.0 🔴
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. - > **[OfficeFloor](https://github.com/officefloor/OfficeFloor)** ★ 70 Apache-2.0 🟢
Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. > **[openapi-generator](https://github.com/OpenAPITools/openapi-generator)** ★ 26.6k Apache-2.0 🟢
Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. -> **[Rapidoid](https://github.com/rapidoid/rapidoid)** ★ 1.6k Apache-2.0 🔴
Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. - > **[RESTEasy](https://github.com/resteasy/resteasy)** ★ 1.1k Apache-2.0 🟢
Fully certified and portable implementation of the JAX-RS specification. > **[RestExpress](https://github.com/RestExpress/RestExpress)** ★ 939 Apache-2.0 🟠
Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance. > **[Restlet Framework](https://github.com/restlet/restlet-framework-java)** ★ 667 🟢
Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. -> **[Spark](https://github.com/perwendel/spark)** ★ 9.7k Apache-2.0 🔴
Sinatra inspired framework. +> **[Spark](https://github.com/sparkjavateam/spark)** ★ 14 Apache-2.0 🔴
Sinatra inspired framework. > **[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k Apache-2.0 🟢
Automates the generation of API documentation using Spring Boot projects. @@ -1724,7 +1726,7 @@ _Frameworks specifically for creating RESTful services._
-Science 15 projects +Science 14 projects _Libraries for scientific computing, analysis and visualization._ @@ -1736,20 +1738,18 @@ _Libraries for scientific computing, analysis and visualization._ > **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 MIT 🔴
Modular, light and easy graph framework for theoretic algorithms. -> **[GraphStream](https://github.com/graphstream/gs-core)** ★ 426 🔴
Library for modeling and analyzing dynamic graphs. - > **[JFreeChart](https://github.com/jfree/jfreechart)** ★ 1.4k LGPL-2.1 🟠
2D chart library for Swing, JavaFX and server-side applications. > **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k EPL-2.0 🟢
Graph library that provides mathematical graph-theory objects and algorithms. > **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 MIT 🟢
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. +> **[LIBSVM](https://github.com/cjlin1/libsvm)** ★ 4.7k BSD-3-Clause 🟠
Support vector machine library with Java bindings and command-line tools. + > **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 Apache-2.0 🟢
Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. > **[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 Apache-2.0 🔴
Library for geophysical scientific computation, visualization and digital signal analysis. -> **[Morpheus](https://github.com/zavtech/morpheus-core)** ★ 245 Apache-2.0 🔴
Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - > **[Orekit](https://github.com/CS-SI/Orekit)** ★ 285 Apache-2.0 🟢
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. > **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 GPL-3.0 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. @@ -1761,7 +1761,7 @@ _Libraries for scientific computing, analysis and visualization._
-Security 23 projects +Security 26 projects _Libraries that handle security, authentication, authorization or session management._ @@ -1792,7 +1794,9 @@ _Libraries that handle security, authentication, authorization or session manage > **[Cryptomator](https://github.com/cryptomator/cryptomator)** ★ 15.8k GPL-3.0 🟢
Multiplatform, transparent, client-side encryption of files in the cloud. -> **[Hdiv](https://github.com/hdiv/hdiv)** ★ 219 🔴
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. +> **[Dependency-Track](https://github.com/DependencyTrack/dependency-track)** ★ 4.0k Apache-2.0 🟢
Software composition analysis platform for identifying supply-chain risk. + +> **[Jasypt Spring Boot](https://github.com/ulisesbocchio/jasypt-spring-boot)** ★ 3.1k MIT 🟠
Integrates encrypted properties with Spring Boot applications. > **[jjwt](https://github.com/jwtk/jjwt)** ★ 11.1k Apache-2.0 🟢
JSON web token for Java and Android. @@ -1800,14 +1804,12 @@ _Libraries that handle security, authentication, authorization or session manage > **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 MIT 🔴
Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. -> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 35.8k Apache-2.0 🟢
Integrated SSO and IDM for browser apps and RESTful web services. +> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 35.9k Apache-2.0 🟢
Integrated SSO and IDM for browser apps and RESTful web services. > **[MOSS](https://github.com/mosscomputing/moss-java)** ★ 0 🟢
Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. > **[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 MIT 🟠
Advanced password strength estimation. -> **[OACC](https://github.com/acciente/oacc-core)** ★ 110 Apache-2.0 🔴
Provides permission-based authorization services. - > **[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 879 🟢
Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. > **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 MIT 🟢
One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). @@ -1820,26 +1822,30 @@ _Libraries that handle security, authentication, authorization or session manage > **[Password4j](https://github.com/Password4j/password4j)** ★ 428 Apache-2.0 🟠
User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. +> **[ScribeJava](https://github.com/scribejava/scribejava)** ★ 5.5k MIT 🟢
OAuth client library supporting OAuth 1.0a, OAuth 2.0 and numerous providers. + > **[SecurityBuilder](https://github.com/tersesystems/securitybuilder)** ★ 48 Apache-2.0 🔴
Fluent Builder API for JCA and JSSE classes and especially X.509 certificates. +> **[Spring Authorization Server](https://github.com/spring-projects/spring-authorization-server)** ★ 5.1k Apache-2.0 🟢
Implements OAuth 2.1 and OpenID Connect authorization server specifications for Spring. + > **[Themis](https://github.com/cossacklabs/themis)** ★ 2.0k Apache-2.0 🟠
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/tink-crypto/tink-java)** ★ 295 Apache-2.0 🟢
Provides a simple and misuse-proof API for common cryptographic tasks. > **[Topaz](https://github.com/aserto-dev/topaz)** ★ 1.4k Apache-2.0 🟢
Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. +> **[WebAuthn4J](https://github.com/webauthn4j/webauthn4j)** ★ 580 Apache-2.0 🟢
Server-side WebAuthn and passkey verification library. +
-Serialization 5 projects +Serialization 4 projects _Libraries that handle serialization with high efficiency._ -> **[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k Apache-2.0 🟢
Memory-efficient serialization library that can access serialized data without unpacking and parsing it. - -> **[FST](https://github.com/RuedigerMoeller/fast-serialization)** ★ 1.6k Apache-2.0 🔴
JDK-compatible, high-performance object graph serialization. +> **[Apache Fory](https://github.com/apache/fory)** ★ 4.4k Apache-2.0 🟢
High-performance object graph serialization framework with JIT and zero-copy support. -> **[Fury](https://github.com/alipay/fury)** ★ 4.4k Apache-2.0 🟢
Blazing fast object graph serialization framework powered by JIT and zero-copy. +> **[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k Apache-2.0 🟢
Memory-efficient serialization library that can access serialized data without unpacking and parsing it. > **[Kryo](https://github.com/EsotericSoftware/kryo)** ★ 6.5k BSD-3-Clause 🟢
Fast and efficient object graph serialization framework. @@ -1848,7 +1854,7 @@ _Libraries that handle serialization with high efficiency._
-Server 5 projects +Server 4 projects _Servers specifically used to deploy applications._ @@ -1858,14 +1864,12 @@ _Servers specifically used to deploy applications._ > **[Jetty](https://github.com/jetty/jetty.project)** ★ 4.1k 🟢
Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -> **[nanohttpd](https://github.com/NanoHttpd/nanohttpd)** ★ 7.2k BSD-3-Clause 🔴
Tiny, easily embeddable HTTP server. - > **[WildFly](https://github.com/wildfly/wildfly)** ★ 3.2k Apache-2.0 🟢
Formerly known as JBoss and developed by Red Hat with extensive Java EE support.
-Template Engine 11 projects +Template Engine 9 projects _Tools that substitute expressions in a template._ @@ -1873,16 +1877,12 @@ _Tools that substitute expressions in a template._ > **[Handlebars.java](https://github.com/jknack/handlebars.java)** ★ 1.6k 🟢
Logicless and semantic Mustache templates. -> **[Jade4J](https://github.com/neuland/jade4j)** ★ 706 MIT 🔴
Implementation of Pug (formerly known as Jade). - > **[Jamal](https://github.com/verhas/jamal)** ★ 69 Apache-2.0 🔴
Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. > **[jstachio](https://github.com/jstachio/jstachio)** ★ 330 BSD-3-Clause 🔴
Typesafe Mustache templating engine. > **[jte](https://github.com/casid/jte)** ★ 1.1k Apache-2.0 🟢
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)** ★ 299 🔴
Modular, configurable and fully tested template engine. - > **[Pebble](https://github.com/PebbleTemplates/pebble)** ★ 1.2k BSD-3-Clause 🟢
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)** ★ 781 🟠
Optimized, memory efficient and speedy template engine producing statically typed, plain objects. @@ -1894,7 +1894,7 @@ _Tools that substitute expressions in a template._
-Testing 66 projects +Testing 56 projects _Tools that test from model to the view._ @@ -1910,20 +1910,18 @@ _Tools that simplify testing asynchronous services._ > **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 Apache-2.0 🟢
Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -> **[Karate](https://github.com/intuit/karate)** ★ 8.9k MIT 🟢
DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +> **[Karate](https://github.com/karatelabs/karate)** ★ 8.9k MIT 🟢
DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. > **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k Apache-2.0 🟢
DSL for easy testing of REST/HTTP services. > **[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 Apache-2.0 🟠
Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. -#### BDD 8 projects +#### BDD 6 projects _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ > **[Cucumber](https://github.com/cucumber/cucumber-jvm)** ★ 2.8k MIT 🟢
Provides a way to describe features in a plain language which customers can understand. -> **[Cukes-REST](https://github.com/ctco/cukes)** ★ 111 Apache-2.0 🔴
Collection of Gherkin steps for REST-service testing using Cucumber. - > **[J8Spec](https://github.com/j8spec/j8spec)** ★ 49 MIT 🔴
Follows a Jasmine-like syntax. > **[JBehave](https://github.com/jbehave/jbehave-core)** ★ 39 BSD-3-Clause 🟠
Extensively configurable framework that describes stories. @@ -1932,35 +1930,25 @@ _Testing for the software development process that emerged from TDD and was heav > **[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 Apache-2.0 🟢
Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. -> **[Lamdba Behave](https://github.com/RichardWarburton/lambda-behave)** ★ 252 MIT 🔴
Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - > **[Serenity BDD](https://github.com/serenity-bdd/serenity-core)** ★ 755 🟢
Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. -#### Fixtures 10 projects +#### Fixtures 6 projects _Everything related to the creation and handling of random data._ > **[AutoParams](https://github.com/AutoParams/AutoParams)** ★ 368 MIT 🟠
Supports generating test data or combining scenarios for parameterized tests. -> **[Beanmother](https://github.com/keepcosmos/beanmother)** ★ 122 Apache-2.0 🔴
Sets up beans from YAML fixtures. - > **[Datafaker](https://github.com/datafaker-net/datafaker)** ★ 1.8k Apache-2.0 🟢
Modern fake data generator forked from Java Faker. -> **[Fixture Factory](https://github.com/six2six/fixture-factory)** ★ 443 Apache-2.0 🔴
Generates fake objects from a template. - > **[Instancio](https://github.com/instancio/instancio)** ★ 1.2k Apache-2.0 🟢
Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. -> **[Java Faker](https://github.com/DiUS/java-faker)** ★ 4.9k 🔴
Port of Ruby's fake data generator. - > **[jFairy](https://github.com/Devskiller/jfairy)** ★ 742 Apache-2.0 🟢
Fake data generator. > **[JMock](https://github.com/xcancloud/JMock)** ★ 212 Apache-2.0 🟢
JMock is a high-performance data generation and simulation component library implemented in Java. -> **[Mockneat](https://github.com/nomemory/mockneat)** ★ 534 Apache-2.0 🔴
Another fake data generator. - > **[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 Apache-2.0 🟢
JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -#### Frameworks 14 projects +#### Frameworks 15 projects _Provide environments to run tests for a specific use case._ @@ -1986,29 +1974,27 @@ _Provide environments to run tests for a specific use case._ > **[PIT](https://github.com/hcoles/pitest)** ★ 1.8k Apache-2.0 🟢
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. +> **[Robolectric](https://github.com/robolectric/robolectric)** ★ 6.0k 🟢
Runs Android tests on the JVM without an emulator or device. + > **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k Apache-2.0 🟢
Browser automation framework and ecosystem. > **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 11 🟢
Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. > **[weld-testing](https://github.com/weld/weld-testing)** ★ 116 Apache-2.0 🟢
Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. -#### Matchers 6 projects +#### Matchers 4 projects _Libraries that provide custom matchers._ > **[AssertJ](https://github.com/assertj/assertj)** ★ 2.8k Apache-2.0 🟢
Fluent assertions that improve readability. -> **[Hamcrest](https://github.com/hamcrest/JavaHamcrest)** ★ 2.2k BSD-3-Clause 🔴
Matchers that can be combined to create flexible expressions of intent. - -> **[JSONAssert](https://github.com/skyscreamer/JSONassert)** ★ 1.1k Apache-2.0 🔴
Simplifies testing JSON strings. - > **[JsonUnit](https://github.com/lukas-krecan/JsonUnit)** ★ 1.0k Apache-2.0 🟢
Library that simplifies JSON comparison in tests. > **[Truth](https://github.com/google/truth)** ★ 2.8k Apache-2.0 🟢
Google's fluent assertion and proposition framework. > **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 319 Apache-2.0 🟢
Simplifies testing for XML output. -#### Miscellaneous 14 projects +#### Miscellaneous 12 projects _Other stuff related to testing._ @@ -2026,11 +2012,7 @@ _Other stuff related to testing._ > **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Apache-2.0 🟠
Reports whether instances of a given class are immutable. -> **[pojo-tester](https://github.com/sta-szek/pojo-tester)** ★ 52 LGPL-3.0 🔴
Automatically performs tests on basic POJO methods. - -> **[raml-tester](https://github.com/nidi3/raml-tester)** ★ 74 Apache-2.0 🔴
Tests if a request/response matches a given RAML definition. - -> **[Selfie](https://github.com/diffplug/selfie)** ★ 100 Apache-2.0 🟢
Snapshot testing (inline and on disk). +> **[Selfie](https://github.com/diffplug/selfie)** ★ 101 Apache-2.0 🟢
Snapshot testing (inline and on disk). > **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 MIT 🟠
Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. @@ -2040,7 +2022,7 @@ _Other stuff related to testing._ > **[Testcontainers](https://github.com/testcontainers/testcontainers-java)** ★ 8.7k MIT 🟢
Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. -#### Mocking 7 projects +#### Mocking 6 projects _Tools which mock collaborators to help testing single, isolated units._ @@ -2050,12 +2032,10 @@ _Tools which mock collaborators to help testing single, isolated units._ > **[Mockito](https://github.com/mockito/mockito)** ★ 15.4k MIT 🟢
Mocking framework that lets you write tests with a clean and simple API. -> **[MockServer](https://github.com/mock-server/mockserver)** ★ 4.9k Apache-2.0 🟢
Allows mocking of systems integrated with HTTPS. +> **[MockServer](https://github.com/mock-server/mockserver-monorepo)** ★ 4.9k Apache-2.0 🟢
Allows mocking of systems integrated with HTTPS. > **[Moco](https://github.com/dreamhead/moco)** ★ 4.4k MIT 🟢
Concise web services for stubs and mocks. -> **[PowerMock](https://github.com/powermock/powermock)** ★ 4.2k Apache-2.0 🔴
Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - > **[WireMock](https://github.com/wiremock/wiremock)** ★ 7.3k Apache-2.0 🟢
Stubs and mocks web services.
@@ -2073,10 +2053,6 @@ _Libraries which provide general utility functions._ > **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 Apache-2.0 🔴
Generates postman collection, environment and integration tests from java code. -> **[CRaSH](https://github.com/crashub/crash)** ★ 941 🔴
Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) - -> **[Dex](https://github.com/PatMartin/Dex)** ★ 1.3k Apache-2.0 🔴
Java/JavaFX tool capable of powerful ETL and data visualization. - > **[dregex](https://github.com/marianobarrios/dregex)** ★ 55 BSD-2-Clause 🟠
Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. > **[Embulk](https://github.com/embulk/embulk)** ★ 1.8k Apache-2.0 🟢
Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. @@ -2091,6 +2067,8 @@ _Libraries which provide general utility functions._ > **[Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils)** ★ 1.5k Apache-2.0 🟢
Utilities for text or data comparison and patching. +> **[Java UUID Generator](https://github.com/cowtowncoder/java-uuid-generator)** ★ 933 Apache-2.0 🟢
Generates standard UUID versions including time-ordered UUIDv6 and UUIDv7. + > **[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 MIT 🟠
Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. > **[java-util](https://github.com/jdereg/java-util)** ★ 440 Apache-2.0 🟢
Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. @@ -2115,6 +2093,8 @@ _Libraries which provide general utility functions._ > **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 MIT 🟢
Port of Underscore.js functions. +> **[Zip4j](https://github.com/srikanth-lingala/zip4j)** ★ 2.2k Apache-2.0 🟠
Reads, writes, encrypts and streams ZIP files. +
@@ -2131,7 +2111,7 @@ _Utilities that help create the development shell environment and switch between
-Web Crawling 6 projects +Web Crawling 5 projects _Libraries that analyze the content of websites._ @@ -2139,11 +2119,9 @@ _Libraries that analyze the content of websites._ > **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 145 MIT 🟢
Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. -> **[Crawler4j](https://github.com/yasserg/crawler4j)** ★ 4.6k Apache-2.0 🔴
Simple and lightweight web crawler. - > **[jsoup](https://github.com/jhy/jsoup)** ★ 11.4k MIT 🟢
Scrapes, parses, manipulates and cleans HTML. -> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 987 Apache-2.0 🟢
SDK for building low-latency and scalable web crawlers. +> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 988 Apache-2.0 🟢
SDK for building low-latency and scalable web crawlers. > **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k Apache-2.0 🟠
Scalable crawler with downloading, url management, content extraction and persistent. @@ -2191,14 +2169,22 @@ _Frameworks that handle the communication between the layers of a web applicatio
-Workflow Orchestration Engines 3 projects +Workflow Orchestration Engines 7 projects _Engines for orchestrating long-running workflows and business processes._ +> **[Activiti](https://github.com/Activiti/Activiti)** ★ 10.5k Apache-2.0 🟢
Embeddable BPMN workflow and business process engine. + +> **[Apache DolphinScheduler](https://github.com/apache/dolphinscheduler)** ★ 14.4k Apache-2.0 🟢
Distributed workflow orchestration platform with visual and API-driven scheduling. + > **[Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client)** ★ 150 Apache-2.0 🟢
Java client and workflow framework for the Cadence orchestration service. +> **[Conductor](https://github.com/conductor-oss/conductor)** ★ 32.0k Apache-2.0 🟢
Event-driven workflow engine for distributed applications and AI agents. + > **[flowable](https://github.com/flowable/flowable-engine)** ★ 9.4k Apache-2.0 🟢
Compact and efficient workflow and business process management platform. +> **[Maestro](https://github.com/Netflix/maestro)** ★ 3.8k Apache-2.0 🟢
Workflow orchestration engine developed by Netflix. + > **[Temporal Java SDK](https://github.com/temporalio/sdk-java)** ★ 421 Apache-2.0 🟢
Java SDK for writing durable workflows and activities on Temporal.
diff --git a/README_SOURCE.md b/README_SOURCE.md index 029fdf15..ecde5bdb 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -23,7 +23,10 @@ _Frameworks and libraries that help implementing and verifying design and archit _Frameworks that help you to leverage LLMs and AI._ - [Anahata ASI](https://github.com/anahata-os/anahata-asi) - Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. +- [AgentScope Java](https://github.com/agentscope-ai/agentscope-java) - Framework for building distributed, long-running AI agents with tool execution, persistence and multi-agent orchestration. +- [A2A Java SDK](https://github.com/a2aproject/a2a-java) - Official Java SDK for the Agent2Agent protocol. - [Dokimos](https://github.com/dokimos-dev/dokimos) - Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. +- [Google Gen AI Java SDK](https://github.com/googleapis/java-genai) - Official Java SDK for integrating Google generative AI models. - [JamJet](https://github.com/jamjet-labs/jamjet) - Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. - [LangChain4j](https://github.com/langchain4j/langchain4j) - Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. - [liter-llm](https://github.com/xberg-io/liter-llm) - Provides a Java binding for a unified LLM API client across multiple providers. @@ -31,19 +34,16 @@ _Frameworks that help you to leverage LLMs and AI._ - [Regulus](https://github.com/neul-labs/regulus) - Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. - [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. - [Spring AI](https://github.com/spring-projects/spring-ai) - Application framework for AI engineering for Spring. +- [Spring AI Alibaba](https://github.com/alibaba/spring-ai-alibaba) - Agentic AI framework built on Spring AI with model, tool, RAG and workflow integrations. ### Bean Mapping _Frameworks that ease bean mapping._ -- [dOOv](https://github.com/doov-io/doov) - Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy. - [Immuto](https://github.com/karunarathnad/immuto) - Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection. -- [JMapper](https://github.com/jmapper-framework/jmapper-core) - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration. - [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach. - [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. -- [Orika](https://github.com/orika-mapper/orika) - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another. - [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. -- [Selma](https://github.com/xebia-france/selma) - Annotation processor-based bean mapper. ### Build @@ -52,9 +52,16 @@ _Tools that handle the build cycle and dependencies of an application._ - [Apache Maven](https://github.com/apache/maven) - 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://github.com/bazelbuild/bazel) - Tool from Google that builds code quickly and reliably. - [Buck2](https://github.com/facebook/buck2) - Encourages the creation of small, reusable modules consisting of code and resources. +- [Dependency Analysis Gradle Plugin](https://github.com/autonomousapps/dependency-analysis-gradle-plugin) - Analyzes JVM and Android builds and recommends dependency and plugin changes. +- [Docker Maven Plugin](https://github.com/fabric8io/docker-maven-plugin) - Builds and runs Docker images from Maven. +- [Eclipse JKube](https://github.com/eclipse-jkube/jkube) - Maven and Gradle plugins for building and deploying Java applications on Kubernetes. +- [Frontend Maven Plugin](https://github.com/eirslett/frontend-maven-plugin) - Installs and runs Node.js frontend tooling from Maven builds. +- [git-commit-id Maven Plugin](https://github.com/git-commit-id/git-commit-id-maven-plugin) - Exposes Git revision information to Maven builds and applications. - [Gradle](https://github.com/gradle/gradle) - Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. +- [Jib](https://github.com/GoogleContainerTools/jib) - Builds optimized container images for Java applications without a Docker daemon. - [jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart) - A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. - [ReleaseRun](https://github.com/Releaserun/releaserun-cli) - Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. +- [Shadow](https://github.com/GradleUp/shadow) - Gradle plugin for creating and transforming executable fat JARs. ### Bytecode Manipulation @@ -64,10 +71,8 @@ _Libraries to manipulate bytecode programmatically._ - [Byte Buddy](https://github.com/raphw/byte-buddy) - Further simplifies bytecode generation with a fluent API. - [bytecode-viewer](https://github.com/Konloch/bytecode-viewer) - Java 8 Jar & Android APK reverse engineering suite. - [Byteman](https://github.com/bytemanproject/byteman) - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) -- [cglib](https://github.com/cglib/cglib) - Bytecode generation library. - [Javassist](https://github.com/jboss-javassist/javassist) - Tries to simplify bytecode editing. - [Maker](https://github.com/cojen/maker) - Provides low level bytecode generation. -- [Mixin](https://github.com/SpongePowered/Mixin) - Manipulate bytecode at runtime using real Java code. - [Recaf](https://github.com/Col-E/Recaf) - JVM reverse engineering toolkit, essentially an IDE for Java bytecode. ### Caching @@ -78,6 +83,7 @@ _Libraries that provide caching facilities._ - [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. - [Ehcache](https://github.com/ehcache/ehcache3) - Distributed general-purpose cache. - [Infinispan](https://github.com/infinispan/infinispan) - Highly concurrent key/value datastore used for caching. +- [JetCache](https://github.com/alibaba/jetcache) - Java cache framework with local and distributed caching, annotations and asynchronous APIs. ### CLI @@ -100,7 +106,6 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ - [AliveJTUI](https://github.com/yehorsyrin/alivejTUI) - Declarative, React-style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes. - [Jansi](https://github.com/fusesource/jansi) - ANSI escape codes to format console output. - [Jexer](https://gitlab.com/AutumnMeowMeow/jexer) - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision). -- [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. ### Cloud @@ -109,6 +114,8 @@ _Libraries to integrate or use cloud-specific features._ - [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. +- [Java Operator SDK](https://github.com/operator-framework/java-operator-sdk) - SDK for implementing Kubernetes operators in Java. +- [Kubernetes Java Client](https://github.com/kubernetes-client/java) - Official Java client for the Kubernetes API. ### Code Analysis @@ -121,8 +128,8 @@ _Tools that provide metrics and quality measurements._ - [jQAssistant](https://github.com/jQAssistant/jqassistant) - Static code analysis with Neo4J-based query language. - [JSpecify](https://github.com/jspecify/jspecify) - Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. +- [OpenRewrite](https://github.com/openrewrite/rewrite) - Automates large-scale source-code refactoring through reusable recipes. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. -- [p3c](https://github.com/alibaba/p3c) - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse. - [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. @@ -134,7 +141,6 @@ _Tools that provide metrics and quality measurements._ _Frameworks and tools that enable code coverage metrics collection for test suites._ - [OpenClover](https://github.com/openclover/clover) - Measures Java code coverage through source-code instrumentation, with build-tool and IDE integrations. -- [Cobertura](https://github.com/cobertura/cobertura) - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. - [Delta Coverage](https://github.com/gw-kit/delta-coverage-plugin) - Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines. - [JaCoCo](https://github.com/jacoco/jacoco) - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation. @@ -151,9 +157,8 @@ _Tools that format or restructure Java source code._ _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ -- [ADT4J](https://github.com/sviperll/adt4j) - JSR-269 code generator for algebraic data types. - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. -- [Avaje Http Server](https://github.com/avaje/avaje-http) - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE. +- [Avaje HTTP](https://github.com/avaje/avaje-http) - Generates HTTP server adapters and declarative clients, with a lightweight JDK HTTP client. - [Bootify](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. - [CRUDGen](https://github.com/bariskokulu/CRUDGen) - Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. - [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. @@ -161,6 +166,7 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [Immutables](https://github.com/immutables/immutables) - Annotation processors to generate simple, safe and consistent value objects. - [JHipster](https://github.com/jhipster/generator-jhipster) - Yeoman source code generator for Spring Boot and AngularJS. - [Joda-Beans](https://github.com/JodaOrg/joda-beans) - Small framework that adds queryable properties to Java, enhancing JavaBeans. +- [jsonschema2pojo](https://github.com/joelittlejohn/jsonschema2pojo) - Generates Java types from JSON Schema or example JSON. - [JPA Buddy](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. - [JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator) - Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. - [Lombok](https://github.com/projectlombok/lombok) - Code generator that aims to reduce verbosity. @@ -200,6 +206,7 @@ _Libraries that provide external configuration._ - [ini4j](https://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://github.com/microconfig/microconfig) - 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. +- [NightConfig](https://github.com/TheElectronWill/night-config) - Configuration library supporting TOML, YAML, HOCON, JSON and in-memory formats. - [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. - [sealed-env](https://github.com/davidalmeidac/sealed-env) - Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. @@ -218,8 +225,6 @@ _Frameworks and libraries that simplify reading/writing CSV data._ - [FastCSV](https://github.com/osiegmar/FastCSV) - Performance-optimized, dependency-free and RFC 4180 compliant. - [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformats-text) - Jackson extension for reading and writing CSV. - [opencsv](https://opencsv.sourceforge.net) - Simple CSV parser. -- [Super CSV](https://github.com/super-csv/super-csv) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. -- [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records. ### Data Structures @@ -229,7 +234,6 @@ _Efficient and specific data structures._ - [Apache Orc](https://github.com/apache/orc) - Fast and efficient columnar storage format for Hadoop-based workloads. - [Apache Parquet](https://github.com/apache/parquet-java) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. - [Apache Thrift](https://github.com/apache/thrift) - Data interchange format that originated at Facebook. -- [Big Queue](https://github.com/bulldog2011/bigqueue) - Fast and persistent queue based on memory-mapped files. - [HashSmith](https://github.com/bluuewhale/hash-smith) - Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. - [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. - [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. @@ -244,11 +248,14 @@ _Everything that simplifies interactions with the database._ - [Actual Schema Gradle Plugin](https://github.com/YRashid/actual-schema-gradle-plugin) - Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers. - [Apache Calcite](https://github.com/apache/calcite) - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system. +- [Apache Cassandra](https://github.com/apache/cassandra) - Distributed wide-column database with linear scalability and fault tolerance. +- [Apache Doris](https://github.com/apache/doris) - Distributed SQL database for real-time analytics. - [Apache Drill](https://github.com/apache/drill) - Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration. - [Apache Phoenix](https://github.com/apache/phoenix) - High-performance relational database layer over HBase for low-latency applications. - [ArcadeDB](https://github.com/ArcadeData/arcadedb) - Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. - [ArangoDB](https://github.com/arangodb/arangodb-java-driver) - ArangoDB Java driver. - [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. +- [ClickHouse Java](https://github.com/ClickHouse/clickhouse-java) - Java clients and JDBC driver for ClickHouse. - [Debezium](https://github.com/debezium/debezium) - Low latency data streaming platform for change data capture. - [druid](https://github.com/apache/druid) - High-performance, column-oriented, distributed data store. - [eXist](https://github.com/eXist-db/exist) - NoSQL document database and application platform. @@ -257,29 +264,32 @@ _Everything that simplifies interactions with the database._ - [H2](https://github.com/h2database/h2database) - Small SQL database notable for its in-memory functionality. - [HikariCP](https://github.com/brettwooldridge/HikariCP) - High-performance JDBC connection pool. - [HSQLDB](https://hsqldb.org/) - HyperSQL 100% Java database. +- [JanusGraph](https://github.com/JanusGraph/janusgraph) - Distributed graph database supporting pluggable storage and indexing backends. - [JDBI](https://github.com/jdbi/jdbi) - Convenient abstraction of JDBC. -- [Jedis](https://github.com/xetorthio/jedis) - Small client for interaction with Redis, with methods for commands. -- [jetcd](https://github.com/justinsb/jetcd) - Client library for etcd. +- [Jedis](https://github.com/redis/jedis) - Java client for Redis with synchronous, asynchronous and cluster APIs. +- [jetcd](https://github.com/etcd-io/jetcd) - Java client for etcd v3. - [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). - [jOOQ](https://github.com/jOOQ/jOOQ) - Generates typesafe code based on SQL schema. -- [Leaf](https://github.com/Meituan-Dianping/Leaf) - Distributed ID generate service. - [Lettuce](https://github.com/redis/lettuce) - Lettuce is a scalable Redis client for building non-blocking Reactive applications. - [Liquibase](https://github.com/liquibase/liquibase) - Database-independent library for tracking, managing and applying database schema changes. - [MapDB](https://github.com/jankotek/mapdb) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. - [MariaDB4j](https://github.com/vorburger/MariaDB4j) - Launcher for MariaDB that requires no installation or external dependencies. - [Modality](https://github.com/arkanovicz/modality) - Lightweight ORM with database reverse engineering features. +- [MongoDB Java Driver](https://github.com/mongodb/mongo-java-driver) - Official synchronous, asynchronous and reactive Java drivers for MongoDB. +- [ObjectBox](https://github.com/objectbox/objectbox-java) - Embedded object and vector database for Java and Android. - [Open J Proxy](https://github.com/Open-J-Proxy/ojp) - Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. - [OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ) - LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. - [Querydsl](https://github.com/querydsl/querydsl) - Typesafe unified queries. - [QueryStream](https://github.com/querystream/querystream) - Build JPA Criteria queries using a Stream-like API. +- [Presto](https://github.com/prestodb/presto) - Distributed SQL query engine for large data sources. - [QuestDB](https://github.com/questdb/questdb) - High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST. - [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. - [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. - [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - [SchemaCrawler](https://github.com/schemacrawler/SchemaCrawler) - Discovers, documents and diagrams relational database schemas from Java, build tools and the command line. -- [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. - [Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query) - Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. - [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. +- [StarRocks](https://github.com/StarRocks/starrocks) - Distributed SQL query engine for real-time analytics and data lakehouses. - [Trino](https://github.com/trinodb/trino) - Distributed SQL query engine for big data. - [Vibur DBCP](https://github.com/vibur/vibur-dbcp) - JDBC connection pool library with advanced performance monitoring capabilities. - [Xodus](https://github.com/JetBrains/xodus) - Highly concurrent transactional schema-less and ACID-compliant embedded database. @@ -300,6 +310,8 @@ _Libraries related to handling date and time._ _Libraries that handle decentralization tasks._ - [java-tron](https://github.com/tronprotocol/java-tron) - Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications. +- [bitcoinj](https://github.com/bitcoinj/bitcoinj) - Library for working with the Bitcoin protocol and network. +- [web3j](https://github.com/LFDT-web3j/web3j) - Java and Android library for integrating with Ethereum-compatible blockchains. ### Decompilation @@ -307,8 +319,7 @@ _Libraries for decompiling JVM bytecode._ - [CFR](https://github.com/leibnitz27/cfr) - Java decompiler focused on modern language features. - [Fernflower](https://github.com/JetBrains/fernflower) - Java decompiler with broad JVM bytecode support. -- [JD-Core](https://github.com/java-decompiler/jd-core) - Core Java decompiler library. -- [Procyon](https://github.com/mstrobel/procyon) - Java decompiler and metadata toolkit. +- [jadx](https://github.com/skylot/jadx) - Dex-to-Java decompiler with command-line and graphical interfaces. - [transformer-api](https://github.com/nbauma109/transformer-api) - Unified API that exposes multiple decompilers through one in-memory transformation interface. - [Vineflower](https://github.com/Vineflower/vineflower) - Modern maintained fork of Fernflower. @@ -320,19 +331,17 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. - [Avaje Inject](https://github.com/avaje/avaje-inject) - Microservice-focused compile-time injection framework without reflection. - [Dagger](https://github.com/google/dagger) - Compile-time injection framework without reflection. - [Dimension-DI](https://github.com/akardapolov/dimension-di) - JSR-330 runtime dependency injection using the JDK Class-File API. -- [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://github.com/eclipse-ee4j/glassfish-hk2) - Lightweight and dynamic dependency injection framework. -- [JayWire](https://github.com/vanillasource/jaywire) - Lightweight dependency injection framework. (LGPL-3.0-only) ### Development _Augmentation of the development process at a fundamental level._ - [AspectJ](https://github.com/eclipse-aspectj/aspectj) - Seamless aspect-oriented programming extension. -- [DCEVM](https://github.com/dcevm/dcevm) - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) - [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. +- [Ghidra](https://github.com/NationalSecurityAgency/ghidra) - Extensible software reverse-engineering framework with Java APIs and scripting. - [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. - [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. @@ -347,13 +356,11 @@ _Libraries and frameworks for writing distributed and fault-tolerant application - [Apache Geode](https://github.com/apache/geode) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. - [Apache Storm](https://github.com/apache/storm) - Realtime computation system. - [Apache ZooKeeper](https://github.com/apache/zookeeper) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -- [Atomix](https://github.com/atomix/atomix) - Fault-tolerant distributed coordination framework. - [Axon](https://github.com/AxonIQ/AxonFramework) - Framework for creating CQRS applications. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. -- [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. +- [Failsafe](https://github.com/failsafe-lib/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](https://github.com/belaban/JGroups) - Toolkit for reliable messaging and cluster creation. -- [Quasar](https://github.com/puniverse/quasar) - Lightweight threads and actors for the JVM. - [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. - [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. - [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. @@ -374,7 +381,6 @@ _Tools that handle the distribution of applications in native formats._ - [Artipie](https://github.com/artipie/artipie) - Binary artifact management toolkit which hosts them on the file system or S3. - [Boxfuse](https://boxfuse.com) - Deployment of JVM applications to AWS using the principles of immutable infrastructure. -- [Capsule](https://github.com/puniverse/capsule) - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers. - [Central Repository](https://search.maven.org) - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools. - [Cloudsmith](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. - [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. @@ -392,11 +398,15 @@ _Tools that handle the distribution of applications in native formats._ _Libraries that assist with processing office document formats._ - [Apache POI](https://github.com/apache/poi) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +- [Apache Fesod](https://github.com/apache/fesod) - Memory-efficient library for reading and writing large spreadsheet files. +- [Apache Tika](https://github.com/apache/tika) - Detects and extracts text and metadata from a wide range of document formats. +- [commonmark-java](https://github.com/commonmark/commonmark-java) - Parses and renders CommonMark-compatible Markdown. - [documents4j](https://github.com/documents4j/documents4j) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://github.com/plutext/docx4j) - Create and manipulate Microsoft Open XML files. - [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. - [html-to-markdown](https://github.com/xberg-io/html-to-markdown) - Converts HTML to CommonMark-compatible Markdown through a Java binding. - [jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet) - Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. +- [Jxls](https://github.com/jxlsteam/jxls) - Generates Excel reports from spreadsheet templates. - [Sheetz](https://github.com/chitralabs/sheetz) - Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. - [xberg](https://github.com/xberg-io/xberg) - Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. - [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. @@ -409,6 +419,7 @@ _Libraries related to the financial domain._ - [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. - [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. - [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. +- [XChange](https://github.com/knowm/XChange) - Consistent Java API for market data and trading across cryptocurrency exchanges. - [Wickra](https://github.com/wickra-lib/wickra) - Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. ### Flat File @@ -423,7 +434,6 @@ _Frameworks and libraries for reading and writing fixed-length and delimited fla _Formal-methods tools: proof assistants, model checking, symbolic execution, etc._ -- [CATG](https://github.com/ksen007/janala2) - Concolic unit testing engine. Automatically generates unit tests using formal methods. - [Checker Framework](https://github.com/typetools/checker-framework) - Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) - [Daikon](https://github.com/codespecs/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. @@ -435,8 +445,6 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc _Libraries that facilitate functional programming._ -- [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. -- [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) - [Fugue](https://bitbucket.org/atlassian/fugue) - Functional extensions to Guava. - [Functional Java](https://github.com/functionaljava/functionaljava) - 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. @@ -457,7 +465,6 @@ _Frameworks that support the development of games._ - [libGDX](https://github.com/libgdx/libgdx) - All-round cross-platform, high-level framework. - [Litiengine](https://github.com/gurkenlabs/litiengine) - AWT-based, lightweight 2D game engine. - [LWJGL](https://github.com/LWJGL/lwjgl3) - Robust framework that abstracts libraries like OpenGL/CL/AL. -- [Mini2Dx](https://github.com/mini2Dx/mini2Dx) - Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games. - [vulkan4j](https://github.com/chuigda/vulkan4j) - Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. ### Geospatial @@ -470,8 +477,10 @@ _Libraries for working with geospatial data and algorithms._ - [GeoTools](https://github.com/geotools/geotools) - Library that provides tools for geospatial data. - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. - [H2GIS](https://github.com/orbisgis/h2gis) - Spatial extension of the H2 database. +- [JTS](https://github.com/locationtech/jts) - Geometry model and algorithms for manipulating vector geospatial data. - [Jgeohash](https://github.com/astrapi69/jgeohash) - Library for using the GeoHash algorithm. - [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. +- [Open Location Code](https://github.com/google/open-location-code) - Encodes geographic coordinates as short, shareable Plus Codes. - [Spatial4j](https://github.com/locationtech/spatial4j) - General-purpose spatial/geospatial library. ### GUI @@ -479,6 +488,7 @@ _Libraries for working with geospatial data and algorithms._ _Libraries to create modern graphical user interfaces._ - [FlatLaf](https://github.com/JFormDesigner/FlatLaf) - Modern Swing Look and Feel with Darcula and IntelliJ themes. +- [ControlsFX](https://github.com/controlsfx/controlsfx) - UI controls and components that complement JavaFX. - [JavaFX](https://github.com/openjdk/jfx) - Successor of Swing. - [Scene Builder](https://github.com/gluonhq/scenebuilder) - Visual layout tool for JavaFX applications. - [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. @@ -494,8 +504,9 @@ _Everything about high-performance computation, from collections to specific lib - [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. - [fastutil](https://github.com/vigna/fastutil) - Fast and compact type-specific collections. - [HPPC](https://github.com/carrotsearch/hppc) - Primitive collections. +- [Hollow](https://github.com/Netflix/hollow) - High-performance in-memory datasets distributed from a single producer to many consumers. - [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. -- [Koloboke](https://github.com/leventov/Koloboke) - Carefully designed extension of the Java Collections Framework with primitive specializations and more. +- [TransmittableThreadLocal](https://github.com/alibaba/transmittable-thread-local) - Propagates thread-local context across thread pools and asynchronous execution. ### HTTP Clients @@ -503,7 +514,6 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [Apache HttpComponents](https://hc.apache.org/) - Toolset of low-level Java components focused on HTTP and related protocols. - [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library. -- [Avaje Http Client](https://github.com/avaje/avaje-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. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. @@ -518,8 +528,6 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ _Libraries that handle serialization to hypermedia types._ - [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 @@ -538,6 +546,7 @@ _Integrated development environments that try to simplify several aspects of dev _Libraries that assist with the creation, evaluation or manipulation of graphical images._ - [Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J) - Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +- [Glide](https://github.com/bumptech/glide) - Image loading and caching library for Android focused on smooth scrolling. - [Imgscalr](https://github.com/rkalla/imgscalr) - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. - [Tess4J](https://github.com/nguyenq/tess4j) - JNA wrapper for Tesseract OCR API. - [Thumbnailator](https://github.com/coobird/thumbnailator) - High-quality thumbnail generation library. @@ -553,10 +562,8 @@ _Libraries that help make the Java introspection and reflection API easier and f - [ClassGraph](https://github.com/classgraph/classgraph) - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages. - [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. -- [Mirror](https://github.com/vidageek/mirror) - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks. - [Objenesis](https://github.com/easymock/objenesis) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. -- [Reflections](https://github.com/ronmamo/reflections) - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. ### Job Scheduling @@ -569,6 +576,7 @@ _Libraries for scheduling background jobs._ - [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. +- [XXL-JOB](https://github.com/xuxueli/xxl-job) - Distributed task scheduling platform with centralized administration and execution monitoring. ### JSON @@ -576,14 +584,11 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - [Avaje Jsonb](https://github.com/avaje/avaje-jsonb) - Reflection-free Json binding via source code generation with Jackson-like annotations. - [DSL-JSON](https://github.com/ngs-doo/dsl-json) - JSON library with advanced compile time databinding. -- [Genson](https://github.com/owlike/genson) - Powerful and easy-to-use Java-to-JSON conversion library. +- [Fastjson2](https://github.com/alibaba/fastjson2) - High-performance JSON parser, serializer and object mapper. - [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. -- [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. - [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. - [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. - [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. -- [jsoniter](https://github.com/json-iterator/java) - Fast and flexible library with iterator and lazy parsing API. -- [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. - [Yasson](https://github.com/eclipse-ee4j/yasson) - Binding layer between classes and JSON documents similar to JAXB. - [Jolt](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation tool. @@ -600,7 +605,7 @@ _Current implementations of the JVM/JDK._ - [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/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://github.com/openjdk/jdk) - Open JDK community home. - [RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview) - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) - [SAP Machine](https://github.com/SAP/SapMachine) - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. @@ -618,7 +623,6 @@ _Libraries that log the behavior of an application._ - [Logback](https://github.com/qos-ch/logback) - Robust logging library with interesting configuration options via Groovy. - [Logbook](https://github.com/zalando/logbook) - Extensible, open-source library for HTTP request and response logging. - [Logstash](https://github.com/elastic/logstash) - Tool for managing log files. -- [p6spy](https://github.com/p6spy/p6spy) - Enables logging for all JDBC transactions without changes to the code. - [SLF4J](https://github.com/qos-ch/slf4j) - Abstraction layer/simple logging facade. - [tinylog](https://github.com/tinylog-org/tinylog) - Lightweight logging framework with static logger class. - [Flogger](https://github.com/google/flogger) - Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. @@ -635,14 +639,13 @@ _Tools that provide specific statistical algorithms for learning from data._ - [H2O](https://github.com/h2oai/h2o-3) - Analytics engine for statistics over big data. - [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. -- [m2cgen](https://github.com/BayesWitnesses/m2cgen) - CLI tool to transpile models into native code. - [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. - [oj! Algorithms](https://github.com/optimatika/ojAlgo) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. - [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. - [sklearn-java](https://github.com/kVeyra/sklearn-java) - Implements scikit-learn-style machine learning algorithms in pure Java. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - [Tribuo](https://github.com/oracle/tribuo) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. -- [Weka](https://github.com/Waikato/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. +- [Weka](https://git.cms.waikato.ac.nz/weka/weka) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. ### Messaging @@ -656,12 +659,15 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Apache RocketMQ](https://github.com/apache/rocketmq) - Fast, reliable, and scalable distributed messaging platform. - [Apache Qpid for Java](https://qpid.apache.org) - Java messaging clients and brokers implementing AMQP. - [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +- [CloudEvents Java SDK](https://github.com/cloudevents/sdk-java) - Java SDK for creating, serializing and transporting CloudEvents. - [Emissary](https://github.com/joel-jeremy/emissary) - Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. -- [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](https://github.com/allegro/hermes) - Fast and reliable message broker built on top of Kafka. +- [HiveMQ MQTT Client](https://github.com/hivemq/hivemq-mqtt-client) - Reactive and blocking Java client for MQTT 3.1.1 and MQTT 5. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. - [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. +- [Pushy](https://github.com/jchambers/pushy) - Java library for sending Apple Push Notification service messages. - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. +- [TelegramBots](https://github.com/rubenlagus/TelegramBots) - Java library for building bots with the Telegram Bot API. - [NATS client](https://github.com/nats-io/nats.java) - NATS client. ### Microservice @@ -669,8 +675,8 @@ _Tools that help send messages between clients to ensure protocol independency._ _Tools for creating and managing 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. +- [gRPC Spring](https://github.com/grpc-ecosystem/grpc-spring) - Spring Boot integration for building gRPC clients and servers. - [Helidon](https://github.com/helidon-io/helidon) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. - [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. - [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. @@ -678,13 +684,14 @@ _Tools for creating and managing microservices._ - [Nacos](https://github.com/alibaba/nacos) - Dynamic service discovery, configuration and service management platform for building cloud native applications. - [Quarkus](https://github.com/quarkusio/quarkus) - Kubernetes stack tailored for the HotSpot and Graal VM. - [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. +- [Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway) - API gateway built on Spring Framework and Spring Boot. ### Miscellaneous _Everything else._ - [AISmessages](https://github.com/tbsalling/aismessages) - Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) -- [CQEngine](https://github.com/npgall/cqengine) - Ultra-fast, SQL-like queries on Java collections. +- [CQEngine Next](https://github.com/MSaifAsif/cqengine-next) - Provides indexed, SQL-like queries over Java collections. - [Design Patterns](https://github.com/iluwatar/java-design-patterns) - Implementation and explanation of the most common design patterns. - [Explyt](https://github.com/explyt/explyt) - AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. - [FF4J](https://github.com/ff4j/ff4j) - Feature Flags for Java. @@ -700,18 +707,15 @@ _Everything else._ - [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [JObfuscator](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. - [Joda-Money](https://github.com/JodaOrg/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. -- [jOOX](https://github.com/jooq/joox) - Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery. - [JPad](https://jpad.io) - Snippet runner. - [JQuick Java](https://github.com/paohaijiao/jquick-java) - Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. -- [jsweet](https://github.com/cincheo/jsweet) - Source transpiler to TypeScript/JavaScript. - [Maven Wrapper](https://github.com/apache/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. - [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. - [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. -- [LittleProxy](https://github.com/adamfisk/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. +- [LittleProxy](https://github.com/LittleProxy/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. - [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. - [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. - [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. -- [OctoLinker](https://github.com/OctoLinker/OctoLinker) - Browser extension which allows to navigate through code on GitHub more efficiently. - [OpenRefine](https://github.com/OpenRefine/OpenRefine) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. @@ -740,6 +744,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. +- [BTrace](https://github.com/btraceio/btrace) - Dynamic tracing and diagnostics for running JVM applications without restarts. - [Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage) - Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. - [Datadog](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. @@ -748,11 +753,9 @@ _Tools that observe/monitor applications in production by providing telemetry._ - [hippo4j](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md) - Dynamic and observable thread pool framework. - [inspectIT Ocelot](https://github.com/inspectIT/inspectit-ocelot) - Java agent that collects application performance, tracing and behavioral data. - [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. - [Jolokia](https://github.com/jolokia/jolokia) - 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 software’s 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. @@ -764,7 +767,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ _For working with platform-specific native libraries._ -- [Aparapi](https://github.com/Syncleus/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. +- [Aparapi](https://git.cleverlibre.org/aparapi/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. - [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. - [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](https://openjdk.java.net/projects/panama). @@ -774,7 +777,6 @@ _For working with platform-specific native libraries._ _Libraries that specialize in processing text._ -- [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. (Research and Academic Use License) - [CoreNLP](https://github.com/stanfordnlp/CoreNLP) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. - [DKPro](https://github.com/dkpro/dkpro-core) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. @@ -785,17 +787,20 @@ _Libraries that specialize in processing text._ _Libraries for building network servers._ - [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). -- [Comsat](https://github.com/puniverse/comsat) - Integrates standard Java web-related APIs with Quasar fibers and actors. +- [Apache MINA sshd](https://github.com/apache/mina-sshd) - Java implementation of SSH clients, servers, SFTP and SCP. +- [Atmosphere](https://github.com/Atmosphere/atmosphere) - Real-time transport framework supporting WebSocket, SSE, gRPC and WebTransport. +- [dnsjava](https://github.com/dnsjava/dnsjava) - Java implementation of the DNS protocol. - [Dubbo](https://github.com/apache/dubbo) - High-performance RPC framework. - [Grizzly](https://github.com/eclipse-ee4j/grizzly) - NIO framework. Used as a network layer in Glassfish. - [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. - [java-ngrok](https://github.com/alexdlaird/java-ngrok) - Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. -- [KryoNet](https://github.com/EsotericSoftware/kryonet) - Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo. +- [Java-WebSocket](https://github.com/TooTallNate/Java-WebSocket) - Lightweight WebSocket client and server implementation. - [MINA](https://github.com/apache/mina) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://github.com/netty/netty) - Framework for building high-performance network applications. - [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. - [ServiceTalk](https://github.com/apple/servicetalk) - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. - [sshj](https://github.com/hierynomus/sshj) - Programmatically use SSH, SCP or SFTP. +- [Socket.IO Client Java](https://github.com/socketio/socket.io-client-java) - Java client for Socket.IO servers. - [TLS Channel](https://github.com/marianobarrios/tls-channel) - Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS. - [Undertow](https://github.com/undertow-io/undertow) - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. - [urnlib](https://github.com/slub/urnlib) - Represent, parse and encode URNs, as in RFC 2141. @@ -840,7 +845,7 @@ _Tools to help with PDF files._ - [Apache FOP](https://github.com/apache/xmlgraphics-fop) - Creates PDFs from XSL-FO. - [Apache PDFBox](https://github.com/apache/pdfbox) - Toolbox for creating and manipulating PDFs. -- [Dynamic Jasper](https://github.com/intive-FDV/DynamicJasper) - Abstraction layer to JasperReports. +- [Nostrum Dynamic Jasper](https://github.com/nostrum-tech/NostrumDynamicJasper) - Provides dynamic report layouts on top of JasperReports. - [DynamicReports](https://github.com/dynamicreports/dynamicreports) - Simplifies JasperReports. - [Eclipse BIRT](https://github.com/eclipse-birt/birt) - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) @@ -849,6 +854,7 @@ _Tools to help with PDF files._ - [JasperReports](https://github.com/Jaspersoft/jasperreports) - Complex reporting engine. - [jquick-pdf](https://github.com/paohaijiao/jquick-pdf) - Generates PDFs from HTML-like templates and ECharts-style charts using iText 7, without a browser dependency. - [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +- [OpenDataLoader PDF](https://github.com/opendataloader-project/opendataloader-pdf) - Parses PDFs into structured Markdown, JSON and HTML through a Java API and command line. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. @@ -858,7 +864,6 @@ _Tools for performance analysis, profiling and benchmarking._ - [fastThread](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. - [GCeasy](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. -- [honest-profiler](https://github.com/jvm-profiling-tools/honest-profiler) - Low-overhead, bias-free sampling profiler. - [Heap Seance](https://github.com/SegfaultSorcerer/heap-seance) - Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. @@ -928,7 +933,6 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - [CUBA Platform](https://github.com/jmix-framework/jmix) - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. - [Light-4J](https://github.com/networknt/light-4j/) - Fast, lightweight and productive microservices framework with built-in security. -- [Orienteer](https://github.com/OrienteerBAP/Orienteer/) - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications. - [Spring Framework](https://github.com/spring-projects/spring-framework) - Comprehensive application framework for building Java applications. ### Processes @@ -956,14 +960,11 @@ _Frameworks specifically for creating RESTful services._ - [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - [Elide](https://github.com/yahoo/elide) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. - [Jersey](https://github.com/eclipse-ee4j/jersey) - 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. - [OfficeFloor](https://github.com/officefloor/OfficeFloor) - Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. -- [Rapidoid](https://github.com/rapidoid/rapidoid) - Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection. - [RESTEasy](https://github.com/resteasy/resteasy) - 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. -- [Spark](https://github.com/perwendel/spark) - Sinatra inspired framework. -- [Crnk](https://github.com/crnk-project/crnk-framework) - Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more. +- [Spark](https://github.com/sparkjavateam/spark) - Sinatra inspired framework. - [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. - [Swagger Java](https://swagger.io) - Java libraries for generating, parsing and serving OpenAPI definitions. - [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. @@ -976,13 +977,12 @@ _Libraries for scientific computing, analysis and visualization._ - [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. -- [GraphStream](https://github.com/graphstream/gs-core) - Library for modeling and analyzing dynamic graphs. - [JFreeChart](https://github.com/jfree/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. +- [LIBSVM](https://github.com/cjlin1/libsvm) - Support vector machine library with Java bindings and command-line tools. - [jSciPy](https://github.com/hissain/jscipy) - jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. - [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. -- [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. - [Orekit](https://github.com/CS-SI/Orekit) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. - [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. - [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. @@ -995,7 +995,8 @@ _Engines that index documents for search and analysis._ - [Apache Lucene](https://github.com/apache/lucene) - High-performance, full-featured, cross-platform, text search engine library. - [Apache Solr](https://github.com/apache/solr) - Enterprise search engine optimized for high-volume traffic. - [Elasticsearch](https://github.com/elastic/elasticsearch) - Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. -- [Indexer4j](https://github.com/haeungun/indexer4j) - Simple and light full text indexing and searching library. +- [Elasticsearch Java Client](https://github.com/elastic/elasticsearch-java) - Official typed Java client for Elasticsearch. +- [OpenSearch](https://github.com/opensearch-project/OpenSearch) - Distributed search and analytics engine derived from Elasticsearch. - [Viglet Turing ES](https://github.com/openviglet/turing-ce) - Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends. ### Security @@ -1006,24 +1007,27 @@ _Libraries that handle security, authentication, authorization or session manage - [Ayza](https://github.com/Hakky54/ayza) - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. - [Bouncy Castle](https://github.com/bcgit/bc-java) - All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. - [Certificate Ripper](https://github.com/Hakky54/certificate-ripper) - CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. +- [Dependency-Track](https://github.com/DependencyTrack/dependency-track) - Software composition analysis platform for identifying supply-chain risk. - [OWASP Dependency-Check](https://github.com/dependency-check/DependencyCheck) - Detects publicly disclosed vulnerabilities contained within a project's dependencies. - [Cryptomator](https://github.com/cryptomator/cryptomator) - Multiplatform, transparent, client-side encryption of files in the cloud. -- [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. +- [Jasypt Spring Boot](https://github.com/ulisesbocchio/jasypt-spring-boot) - Integrates encrypted properties with Spring Boot applications. - [Keycloak](https://github.com/keycloak/keycloak) - Integrated SSO and IDM for browser apps and RESTful web services. - [Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz) - Advanced password strength estimation. -- [OACC](https://github.com/acciente/oacc-core) - Provides permission-based authorization services. - [OpenAM](https://github.com/OpenIdentityPlatform/OpenAM) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. - [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). - [pac4j](https://github.com/pac4j/pac4j) - Security engine. - [Passay](https://github.com/vt-middleware/passay) - Enforce password policy by validating candidate passwords against a configurable rule set. - [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. +- [ScribeJava](https://github.com/scribejava/scribejava) - OAuth client library supporting OAuth 1.0a, OAuth 2.0 and numerous providers. +- [Spring Authorization Server](https://github.com/spring-projects/spring-authorization-server) - Implements OAuth 2.1 and OpenID Connect authorization server specifications for Spring. - [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/tink-crypto/tink-java) - Provides a simple and misuse-proof API for common cryptographic tasks. - [Topaz](https://github.com/aserto-dev/topaz) - Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. +- [WebAuthn4J](https://github.com/webauthn4j/webauthn4j) - Server-side WebAuthn and passkey verification library. - [MOSS](https://github.com/mosscomputing/moss-java) - Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. ### Serialization @@ -1031,8 +1035,7 @@ _Libraries that handle security, authentication, authorization or session manage _Libraries that handle serialization with high efficiency._ - [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. -- [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK-compatible, high-performance object graph serialization. -- [Fury](https://github.com/alipay/fury) - Blazing fast object graph serialization framework powered by JIT and zero-copy. +- [Apache Fory](https://github.com/apache/fory) - High-performance object graph serialization framework with JIT and zero-copy support. - [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. - [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. @@ -1043,7 +1046,6 @@ _Servers specifically used to deploy applications._ - [Apache Tomcat](https://github.com/apache/tomcat) - Robust, all-round server for Servlet and JSP. - [Apache TomEE](https://github.com/apache/tomee) - Tomcat plus Java EE. - [Jetty](https://github.com/jetty/jetty.project) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. -- [nanohttpd](https://github.com/NanoHttpd/nanohttpd) - Tiny, easily embeddable HTTP server. - [WildFly](https://github.com/wildfly/wildfly) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. ### Template Engine @@ -1052,11 +1054,9 @@ _Tools that substitute expressions in a template._ - [Freemarker](https://github.com/apache/freemarker) - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. - [Handlebars.java](https://github.com/jknack/handlebars.java) - Logicless and semantic Mustache templates. -- [Jade4J](https://github.com/neuland/jade4j) - Implementation of Pug (formerly known as Jade). - [Jamal](https://github.com/verhas/jamal) - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling. - [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://github.com/PebbleTemplates/pebble) - 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. @@ -1074,7 +1074,7 @@ _Tools that simplify testing asynchronous services._ - [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. - [GreenMail](https://github.com/greenmail-mail-test/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -- [Karate](https://github.com/intuit/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +- [Karate](https://github.com/karatelabs/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. - [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. @@ -1083,12 +1083,10 @@ _Tools that simplify testing asynchronous services._ _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ - [Cucumber](https://github.com/cucumber/cucumber-jvm) - Provides a way to describe features in a plain language which customers can understand. -- [Cukes-REST](https://github.com/ctco/cukes) - Collection of Gherkin steps for REST-service testing using Cucumber. - [J8Spec](https://github.com/j8spec/j8spec) - Follows a Jasmine-like syntax. - [JBehave](https://github.com/jbehave/jbehave-core) - Extensively configurable framework that describes stories. - [JGiven](https://github.com/TNG/JGiven) - Provides a fluent API which allows for simpler composition. - [Kensa](https://github.com/kensa-dev/kensa) - Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. -- [Lamdba Behave](https://github.com/RichardWarburton/lambda-behave) - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English. - [Serenity BDD](https://github.com/serenity-bdd/serenity-core) - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. #### Fixtures @@ -1096,14 +1094,10 @@ _Testing for the software development process that emerged from TDD and was heav _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. - [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. - [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. - [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -- [Java Faker](https://github.com/DiUS/java-faker) - Port of Ruby's fake data generator. -- [Mockneat](https://github.com/nomemory/mockneat) - Another fake data generator. - [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. #### Frameworks @@ -1121,6 +1115,7 @@ _Provide environments to run tests for a specific use case._ - [jqwik](https://github.com/jqwik-team/jqwik) - Engine for property-based testing built on JUnit 5. - [Pact JVM](https://github.com/DiUS/pact-jvm) - Consumer-driven contract testing. - [PIT](https://github.com/hcoles/pitest) - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. +- [Robolectric](https://github.com/robolectric/robolectric) - Runs Android tests on the JVM without an emulator or device. - [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. - [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. - [Selenium Boot](https://github.com/seleniumboot/selenium-boot) - Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. @@ -1130,8 +1125,6 @@ _Provide environments to run tests for a specific use case._ _Libraries that provide custom matchers._ - [AssertJ](https://github.com/assertj/assertj) - Fluent assertions that improve readability. -- [Hamcrest](https://github.com/hamcrest/JavaHamcrest) - Matchers that can be combined to create flexible expressions of intent. -- [JSONAssert](https://github.com/skyscreamer/JSONassert) - Simplifies testing JSON strings. - [JsonUnit](https://github.com/lukas-krecan/JsonUnit) - Library that simplifies JSON comparison in tests. - [Truth](https://github.com/google/truth) - Google's fluent assertion and proposition framework. - [XMLUnit](https://github.com/xmlunit/xmlunit) - Simplifies testing for XML output. @@ -1146,8 +1139,6 @@ _Other stuff related to testing._ - [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. - [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. -- [pojo-tester](https://github.com/sta-szek/pojo-tester) - Automatically performs tests on basic POJO methods. -- [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). - [skipper-java](https://github.com/get-skipper/skipper-java) - Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. - [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. @@ -1161,9 +1152,8 @@ _Tools which mock collaborators to help testing single, isolated units._ - [JMockit](https://github.com/jmockit/jmockit1) - Integration testing, API mocking and faking, and code coverage. - [Mockito](https://github.com/mockito/mockito) - Mocking framework that lets you write tests with a clean and simple API. -- [MockServer](https://github.com/mock-server/mockserver) - Allows mocking of systems integrated with HTTPS. +- [MockServer](https://github.com/mock-server/mockserver-monorepo) - Allows mocking of systems integrated with HTTPS. - [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks. -- [PowerMock](https://github.com/powermock/powermock) - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers. - [WireMock](https://github.com/wiremock/wiremock) - Stubs and mocks web services. - [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. @@ -1175,8 +1165,6 @@ _Libraries which provide general utility functions._ - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. - [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. -- [CRaSH](https://github.com/crashub/crash) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) -- [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. - [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. @@ -1185,6 +1173,7 @@ _Libraries which provide general utility functions._ - [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - [Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils) - Utilities for text or data comparison and patching. +- [Java UUID Generator](https://github.com/cowtowncoder/java-uuid-generator) - Generates standard UUID versions including time-ordered UUIDv6 and UUIDv7. - [java-util](https://github.com/jdereg/java-util) - Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. - [Jctx](https://github.com/Shashwat-Gupta57/jctx) - Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. @@ -1196,6 +1185,7 @@ _Libraries which provide general utility functions._ - [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. - [Sift](https://github.com/Mirkoddd/Sift) - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. - [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. +- [Zip4j](https://github.com/srikanth-lingala/zip4j) - Reads, writes, encrypts and streams ZIP files. ### Version Managers @@ -1211,7 +1201,6 @@ _Libraries that analyze the content of websites._ - [Apache Nutch](https://github.com/apache/nutch) - Highly extensible, highly scalable web crawler for production environments. - [crawlberg](https://github.com/xberg-io/crawlberg) - Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. -- [Crawler4j](https://github.com/yasserg/crawler4j) - Simple and lightweight web crawler. - [jsoup](https://github.com/jhy/jsoup) - Scrapes, parses, manipulates and cleans HTML. - [StormCrawler](https://github.com/apache/stormcrawler) - SDK for building low-latency and scalable web crawlers. - [webmagic](https://github.com/code4craft/webmagic) - Scalable crawler with downloading, url management, content extraction and persistent. @@ -1243,7 +1232,11 @@ _Frameworks that handle the communication between the layers of a web applicatio _Engines for orchestrating long-running workflows and business processes._ - [Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client) - Java client and workflow framework for the Cadence orchestration service. +- [Activiti](https://github.com/Activiti/Activiti) - Embeddable BPMN workflow and business process engine. +- [Apache DolphinScheduler](https://github.com/apache/dolphinscheduler) - Distributed workflow orchestration platform with visual and API-driven scheduling. +- [Conductor](https://github.com/conductor-oss/conductor) - Event-driven workflow engine for distributed applications and AI agents. - [flowable](https://github.com/flowable/flowable-engine) - Compact and efficient workflow and business process management platform. +- [Maestro](https://github.com/Netflix/maestro) - Workflow orchestration engine developed by Netflix. - [Temporal Java SDK](https://github.com/temporalio/sdk-java) - Java SDK for writing durable workflows and activities on Temporal. ## Resources From 362d35635cab078a79f3de9ad8cd2bddc57e5fb5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 08:02:08 +0000 Subject: [PATCH 524/533] Update README with latest GitHub stats --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 6f6284ad..88df2675 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ _Frameworks that help you to leverage LLMs and AI._ > **[AgentScope Java](https://github.com/agentscope-ai/agentscope-java)** ★ 4.7k 🟢
Framework for building distributed, long-running AI agents with tool execution, persistence and multi-agent orchestration. -> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 22 Apache-2.0 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. +> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 Apache-2.0 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. > **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 MIT 🟢
Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. @@ -327,7 +327,7 @@ _Libraries that provide external configuration._ > **[avaje config](https://github.com/avaje/avaje-config)** ★ 107 Apache-2.0 🟢
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -> **[centraldogma](https://github.com/line/centraldogma)** ★ 664 Apache-2.0 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +> **[centraldogma](https://github.com/line/centraldogma)** ★ 663 Apache-2.0 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. > **[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 Apache-2.0 🟢
Type-safe, composable configuration library with a focus on runtime clarity. @@ -727,9 +727,9 @@ _Libraries related to the financial domain._ > **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 GPL-3.0 🔴
Trading bot framework. -> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 345 Apache-2.0 🟢
Low-latency financial information exchange. +> **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Apache-2.0 🟢
Low-latency financial information exchange. -> **[Stripe](https://github.com/stripe/stripe-java)** ★ 994 MIT 🟢
Integration with the Stripe API. +> **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 MIT 🟢
Integration with the Stripe API. > **[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k 🟢
Library for technical analysis. @@ -1217,7 +1217,7 @@ _Everything else._ > **[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 🟢
Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) -> **[CQEngine Next](https://github.com/MSaifAsif/cqengine-next)** ★ 16 Apache-2.0 🟢
Provides indexed, SQL-like queries over Java collections. +> **[CQEngine Next](https://github.com/MSaifAsif/cqengine-next)** ★ 17 Apache-2.0 🟢
Provides indexed, SQL-like queries over Java collections. > **[Design Patterns](https://github.com/iluwatar/java-design-patterns)** ★ 94.2k 🟢
Implementation and explanation of the most common design patterns. @@ -1485,7 +1485,7 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ -> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 378 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. +> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 377 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. @@ -1804,7 +1804,7 @@ _Libraries that handle security, authentication, authorization or session manage > **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 MIT 🔴
Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. -> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 35.9k Apache-2.0 🟢
Integrated SSO and IDM for browser apps and RESTful web services. +> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 35.8k Apache-2.0 🟢
Integrated SSO and IDM for browser apps and RESTful web services. > **[MOSS](https://github.com/mosscomputing/moss-java)** ★ 0 🟢
Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. @@ -2012,7 +2012,7 @@ _Other stuff related to testing._ > **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Apache-2.0 🟠
Reports whether instances of a given class are immutable. -> **[Selfie](https://github.com/diffplug/selfie)** ★ 101 Apache-2.0 🟢
Snapshot testing (inline and on disk). +> **[Selfie](https://github.com/diffplug/selfie)** ★ 100 Apache-2.0 🟢
Snapshot testing (inline and on disk). > **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 MIT 🟠
Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. @@ -2121,7 +2121,7 @@ _Libraries that analyze the content of websites._ > **[jsoup](https://github.com/jhy/jsoup)** ★ 11.4k MIT 🟢
Scrapes, parses, manipulates and cleans HTML. -> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 988 Apache-2.0 🟢
SDK for building low-latency and scalable web crawlers. +> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 987 Apache-2.0 🟢
SDK for building low-latency and scalable web crawlers. > **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k Apache-2.0 🟠
Scalable crawler with downloading, url management, content extraction and persistent. From 43f51e12af2fd38f12ce6b78e7f1029cfc06d9e4 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 28 Jul 2026 10:30:43 +0200 Subject: [PATCH 525/533] docs: reorganize catalog taxonomy --- README_SOURCE.md | 282 ++++++++++++++++++++++++++--------------------- 1 file changed, 156 insertions(+), 126 deletions(-) diff --git a/README_SOURCE.md b/README_SOURCE.md index ecde5bdb..6a677513 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -17,20 +17,23 @@ _Frameworks and libraries that help implementing and verifying design and archit - [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. +- [jQAssistant](https://github.com/jQAssistant/jqassistant) - Static code analysis with Neo4J-based query language. ### Artificial Intelligence -_Frameworks that help you to leverage LLMs and AI._ +_Frameworks for building applications with AI, agents and knowledge-based systems._ - [Anahata ASI](https://github.com/anahata-os/anahata-asi) - Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. - [AgentScope Java](https://github.com/agentscope-ai/agentscope-java) - Framework for building distributed, long-running AI agents with tool execution, persistence and multi-agent orchestration. - [A2A Java SDK](https://github.com/a2aproject/a2a-java) - Official Java SDK for the Agent2Agent protocol. - [Dokimos](https://github.com/dokimos-dev/dokimos) - Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. - [Google Gen AI Java SDK](https://github.com/googleapis/java-genai) - Official Java SDK for integrating Google generative AI models. +- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) - [JamJet](https://github.com/jamjet-labs/jamjet) - Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. - [LangChain4j](https://github.com/langchain4j/langchain4j) - Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. - [liter-llm](https://github.com/xberg-io/liter-llm) - Provides a Java binding for a unified LLM API client across multiple providers. - [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. +- [Protégé](https://github.com/protegeproject/protege) - Provides an ontology editor and a framework to build knowledge-based systems. - [Regulus](https://github.com/neul-labs/regulus) - Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. - [simple-openai](https://github.com/sashirestela/simple-openai) - Library to use the OpenAI API (and compatible ones) in the simplest possible way. - [Spring AI](https://github.com/spring-projects/spring-ai) - Application framework for AI engineering for Spring. @@ -45,6 +48,15 @@ _Frameworks that ease bean mapping._ - [ModelMapper](https://github.com/modelmapper/modelmapper) - Intelligent object mapping library that automatically maps objects to each other. - [reMap](https://github.com/remondis-it/remap) - Lambda and method handle-based mapping which requires code and not annotations if objects have different names. +### Bot Development + +_Libraries and frameworks for building chatbots and messaging-platform bots._ + +- [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. +- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. +- [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. +- [TelegramBots](https://github.com/rubenlagus/TelegramBots) - Java library for building bots with the Telegram Bot API. + ### Build _Tools that handle the build cycle and dependencies of an application._ @@ -59,7 +71,10 @@ _Tools that handle the build cycle and dependencies of an application._ - [git-commit-id Maven Plugin](https://github.com/git-commit-id/git-commit-id-maven-plugin) - Exposes Git revision information to Maven builds and applications. - [Gradle](https://github.com/gradle/gradle) - Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. - [Jib](https://github.com/GoogleContainerTools/jib) - Builds optimized container images for Java applications without a Docker daemon. +- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - [jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart) - A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. +- [Maven Wrapper](https://github.com/apache/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. +- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - [ReleaseRun](https://github.com/Releaserun/releaserun-cli) - Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. - [Shadow](https://github.com/GradleUp/shadow) - Gradle plugin for creating and transforming executable fat JARs. @@ -115,7 +130,9 @@ _Libraries to integrate or use cloud-specific features._ - [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. - [Java Operator SDK](https://github.com/operator-framework/java-operator-sdk) - SDK for implementing Kubernetes operators in Java. +- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - [Kubernetes Java Client](https://github.com/kubernetes-client/java) - Official Java client for the Kubernetes API. +- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. ### Code Analysis @@ -125,8 +142,9 @@ _Tools that provide metrics and quality measurements._ - [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. - [Error Prone Support](https://github.com/PicnicSupermarket/error-prone-support) - Error Prone extensions: extra bug checkers and a large battery of Refaster templates. - [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. -- [jQAssistant](https://github.com/jQAssistant/jqassistant) - Static code analysis with Neo4J-based query language. - [JSpecify](https://github.com/jspecify/jspecify) - Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. +- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. +- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [OpenRewrite](https://github.com/openrewrite/rewrite) - Automates large-scale source-code refactoring through reusable recipes. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. @@ -160,10 +178,12 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a - [Auto](https://github.com/google/auto) - Generates factory, service, and value classes. - [Avaje HTTP](https://github.com/avaje/avaje-http) - Generates HTTP server adapters and declarative clients, with a lightweight JDK HTTP client. - [Bootify](https://bootify.io) - Browser-based Spring Boot app generation with JPA model and REST API. +- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. - [CRUDGen](https://github.com/bariskokulu/CRUDGen) - Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. - [EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO) - Annotation processor for automatic DTO and Mapper generation with zero boilerplate. - [Geci](https://github.com/verhas/javageci) - Discovers files that need generated code, updates automatically and writes to the source with a convenient API. - [Immutables](https://github.com/immutables/immutables) - Annotation processors to generate simple, safe and consistent value objects. +- [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. - [JHipster](https://github.com/jhipster/generator-jhipster) - Yeoman source code generator for Spring Boot and AngularJS. - [Joda-Beans](https://github.com/JodaOrg/joda-beans) - Small framework that adds queryable properties to Java, enhancing JavaBeans. - [jsonschema2pojo](https://github.com/joelittlejohn/jsonschema2pojo) - Generates Java types from JSON Schema or example JSON. @@ -199,7 +219,6 @@ _Libraries that provide external configuration._ - [ClearConfig](https://github.com/japgolly/clear-config-java) - Type-safe, composable configuration library with a focus on runtime clarity. - [config](https://github.com/lightbend/config) - Configuration library supporting Java properties, JSON or its human optimized superset HOCON. - [Configurate](https://github.com/SpongePowered/Configurate) - Configuration library with support for various configuration formats and transformations. -- [Curator Framework](https://github.com/apache/curator) - 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) - Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. - [Gestalt](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. @@ -226,20 +245,27 @@ _Frameworks and libraries that simplify reading/writing CSV data._ - [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformats-text) - Jackson extension for reading and writing CSV. - [opencsv](https://opencsv.sourceforge.net) - Simple CSV parser. +### Data Processing + +_Tools for batch, stream, table and data-transformation workloads._ + +- [Apache Flink](https://github.com/apache/flink) - Fast, reliable, large-scale data processing engine. +- [Apache Storm](https://github.com/apache/storm) - Realtime computation system. +- [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. +- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. +- [OpenRefine](https://github.com/OpenRefine/OpenRefine) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. +- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. +- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) +- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. + ### Data Structures _Efficient and specific data structures._ -- [Apache Avro](https://github.com/apache/avro) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. -- [Apache Orc](https://github.com/apache/orc) - Fast and efficient columnar storage format for Hadoop-based workloads. -- [Apache Parquet](https://github.com/apache/parquet-java) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. -- [Apache Thrift](https://github.com/apache/thrift) - Data interchange format that originated at Facebook. +- [CQEngine Next](https://github.com/MSaifAsif/cqengine-next) - Provides indexed, SQL-like queries over Java collections. - [HashSmith](https://github.com/bluuewhale/hash-smith) - Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. - [Persistent Collection](https://github.com/hrldcpr/pcollections) - Persistent and immutable analogue of the Java Collections Framework. -- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. - [RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap) - Fast and efficient compressed bitmap. -- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. -- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. - [Wormhole4j](https://github.com/komamitsu/wormhole4j) - High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. ### Database @@ -343,9 +369,12 @@ _Augmentation of the development process at a fundamental level._ - [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. - [Ghidra](https://github.com/NationalSecurityAgency/ghidra) - Extensible software reverse-engineering framework with Java APIs and scripting. - [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. +- [Jctx](https://github.com/Shashwat-Gupta57/jctx) - Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. +- [JGit](https://github.com/eclipse-jgit/jgit) - Lightweight, pure Java library implementing the Git version control system. - [JavaParser](https://github.com/javaparser/javaparser) - Parse, modify and generate Java code. - [Manifold](https://github.com/manifold-systems/manifold) - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. - [NoException](https://github.com/robertvazan/noexception) - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - [SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow) - Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. - [Tail](https://github.com/nrktkt/tail) - Enable infinite recursion using tail call optimization. @@ -354,17 +383,15 @@ _Augmentation of the development process at a fundamental level._ _Libraries and frameworks for writing distributed and fault-tolerant applications._ - [Apache Geode](https://github.com/apache/geode) - In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -- [Apache Storm](https://github.com/apache/storm) - Realtime computation system. - [Apache ZooKeeper](https://github.com/apache/zookeeper) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. - [Axon](https://github.com/AxonIQ/AxonFramework) - Framework for creating CQRS applications. +- [Curator Framework](https://github.com/apache/curator) - High-level API for Apache ZooKeeper. - [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. - [Failsafe](https://github.com/failsafe-lib/failsafe) - Simple failure handling with retries and circuit breakers. - [Hazelcast](https://github.com/hazelcast/hazelcast) - Highly scalable in-memory datagrid with a free open-source version. - [JGroups](https://github.com/belaban/JGroups) - Toolkit for reliable messaging and cluster creation. - [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. -- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. - [ScaleCube Services](https://github.com/scalecube/scalecube-services) - Embeddable Cluster-Membership library based on SWIM and gossip protocol. -- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. ### Distributed Transactions @@ -397,25 +424,27 @@ _Tools that handle the distribution of applications in native formats._ _Libraries that assist with processing office document formats._ -- [Apache POI](https://github.com/apache/poi) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). -- [Apache Fesod](https://github.com/apache/fesod) - Memory-efficient library for reading and writing large spreadsheet files. - [Apache Tika](https://github.com/apache/tika) - Detects and extracts text and metadata from a wide range of document formats. - [commonmark-java](https://github.com/commonmark/commonmark-java) - Parses and renders CommonMark-compatible Markdown. - [documents4j](https://github.com/documents4j/documents4j) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://github.com/plutext/docx4j) - Create and manipulate Microsoft Open XML files. -- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. - [html-to-markdown](https://github.com/xberg-io/html-to-markdown) - Converts HTML to CommonMark-compatible Markdown through a Java binding. -- [jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet) - Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. -- [Jxls](https://github.com/jxlsteam/jxls) - Generates Excel reports from spreadsheet templates. -- [Sheetz](https://github.com/chitralabs/sheetz) - Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. - [xberg](https://github.com/xberg-io/xberg) - Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. -- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + +### Feature Flags + +_Libraries and SDKs for evaluating and managing feature flags._ + +- [FF4J](https://github.com/ff4j/ff4j) - Feature Flags for Java. +- [Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java) - Java SDK for evaluating Rollgate feature flags with real-time configuration updates. +- [Togglz](https://github.com/togglz/togglz) - Implementation of the Feature Toggles pattern. ### Financial _Libraries related to the financial domain._ - [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. +- [Joda-Money](https://github.com/JodaOrg/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. - [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. - [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. - [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. @@ -465,6 +494,7 @@ _Frameworks that support the development of games._ - [libGDX](https://github.com/libgdx/libgdx) - All-round cross-platform, high-level framework. - [Litiengine](https://github.com/gurkenlabs/litiengine) - AWT-based, lightweight 2D game engine. - [LWJGL](https://github.com/LWJGL/lwjgl3) - Robust framework that abstracts libraries like OpenGL/CL/AL. +- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. - [vulkan4j](https://github.com/chuigda/vulkan4j) - Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. ### Geospatial @@ -477,6 +507,7 @@ _Libraries for working with geospatial data and algorithms._ - [GeoTools](https://github.com/geotools/geotools) - Library that provides tools for geospatial data. - [GraphHopper](https://github.com/graphhopper/graphhopper) - Road-routing engine. Used as a Java library or standalone web service. - [H2GIS](https://github.com/orbisgis/h2gis) - Spatial extension of the H2 database. +- [IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java) - Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. - [JTS](https://github.com/locationtech/jts) - Geometry model and algorithms for manipulating vector geospatial data. - [Jgeohash](https://github.com/astrapi69/jgeohash) - Library for using the GeoHash algorithm. - [Mapsforge](https://github.com/mapsforge/mapsforge) - Map rendering based on OpenStreetMap data. @@ -523,18 +554,12 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. - [JQuickCurl](https://github.com/paohaijiao/jquick-curl) - Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. -### Hypermedia Types - -_Libraries that handle serialization to hypermedia types._ - -- [hate](https://github.com/blackdoor/hate) - Builds hypermedia-friendly objects according to HAL 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 _Integrated development environments that try to simplify several aspects of development._ - [Eclipse Java IDE](https://www.eclipse.org) - Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. +- [Explyt](https://github.com/explyt/explyt) - AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. - [IntelliJ IDEA](https://github.com/JetBrains/intellij-community) - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. - [jGRASP](https://www.jgrasp.org) - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. - [NetBeans](https://github.com/apache/netbeans) - Provides integration for several Java SE and EE features, from database access to HTML5. @@ -554,6 +579,7 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica - [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. - [vips-ffm](https://github.com/lopcode/vips-ffm) - Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. +- [webcam-capture](https://github.com/sarxos/webcam-capture) - Library for using built-in and external webcams directly in Java. - [scrimage](https://github.com/sksamuel/scrimage) - Immutable, functional, and performant JVM library for manipulation of images. ### Introspection @@ -564,6 +590,7 @@ _Libraries that help make the Java introspection and reflection API easier and f - [jOOR](https://github.com/jOOQ/jOOR) - jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. - [Objenesis](https://github.com/easymock/objenesis) - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions. - [ReflectASM](https://github.com/EsotericSoftware/reflectasm) - ReflectASM is a very small Java library that provides high performance reflection by using code generation. +- [TypeTools](https://github.com/jhalterman/typetools) - Tools for resolving generic types. ### Job Scheduling @@ -574,7 +601,6 @@ _Libraries for scheduling background jobs._ - [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. - [XXL-JOB](https://github.com/xuxueli/xxl-job) - Distributed task scheduling platform with centralized administration and execution monitoring. @@ -599,7 +625,6 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ _Current implementations of the JVM/JDK._ -- [Which JDK](https://github.com/whichjdk/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. - [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. @@ -631,7 +656,6 @@ _Libraries that log the behavior of an application._ _Tools that provide specific statistical algorithms for learning from data._ -- [Apache Flink](https://github.com/apache/flink) - Fast, reliable, large-scale data processing engine. - [Apache Mahout](https://github.com/apache/mahout) - Scalable algorithms focused on collaborative filtering, clustering and classification. - [DatumBox](https://github.com/datumbox/datumbox-framework) - Provides several algorithms and pre-trained models for natural language processing. - [Deeplearning4j](https://github.com/deeplearning4j/deeplearning4j) - Distributed and multi-threaded deep learning library. @@ -639,9 +663,9 @@ _Tools that provide specific statistical algorithms for learning from data._ - [H2O](https://github.com/h2oai/h2o-3) - Analytics engine for statistics over big data. - [Intelligent java](https://github.com/Barqawiz/IntelliJava) - Seamlessly integrate with remote deep learning and language models programmatically. - [JSAT](https://github.com/EdwardRaff/JSAT) - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. +- [LIBSVM](https://github.com/cjlin1/libsvm) - Support vector machine library with Java bindings and command-line tools. - [Neureka](https://github.com/Gleethos/neureka) - A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. - [oj! Algorithms](https://github.com/optimatika/ojAlgo) - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -- [Siddhi](https://github.com/siddhi-io/siddhi) - Cloud native streaming and complex event processing engine. - [sklearn-java](https://github.com/kVeyra/sklearn-java) - Implements scikit-learn-style machine learning algorithms in pure Java. - [Smile](https://github.com/haifengl/smile) - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. - [Tribuo](https://github.com/oracle/tribuo) - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow. @@ -666,8 +690,9 @@ _Tools that help send messages between clients to ensure protocol independency._ - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. - [RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client) - RabbitMQ client. - [Pushy](https://github.com/jchambers/pushy) - Java library for sending Apple Push Notification service messages. +- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. - [Smack](https://github.com/igniterealtime/Smack) - Cross-platform XMPP client library. -- [TelegramBots](https://github.com/rubenlagus/TelegramBots) - Java library for building bots with the Telegram Bot API. +- [Svix](https://github.com/svix/svix-webhooks/tree/main/java) - Library for the Svix API to send webhooks and verify signatures. - [NATS client](https://github.com/nats-io/nats.java) - NATS client. ### Microservice @@ -678,56 +703,17 @@ _Tools for creating and managing microservices._ - [Eureka](https://github.com/Netflix/eureka) - REST-based service registry for resilient load balancing and failover. - [gRPC Spring](https://github.com/grpc-ecosystem/grpc-spring) - Spring Boot integration for building gRPC clients and servers. - [Helidon](https://github.com/helidon-io/helidon) - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. -- [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - [Micronaut](https://github.com/micronaut-projects/micronaut-core) - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. - [Nacos](https://github.com/alibaba/nacos) - Dynamic service discovery, configuration and service management platform for building cloud native applications. - [Quarkus](https://github.com/quarkusio/quarkus) - Kubernetes stack tailored for the HotSpot and Graal VM. - [Sentinel](https://github.com/alibaba/Sentinel) - Flow control component enabling reliability, resilience and monitoring for microservices. -- [Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway) - API gateway built on Spring Framework and Spring Boot. ### Miscellaneous _Everything else._ -- [AISmessages](https://github.com/tbsalling/aismessages) - Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) -- [CQEngine Next](https://github.com/MSaifAsif/cqengine-next) - Provides indexed, SQL-like queries over Java collections. -- [Design Patterns](https://github.com/iluwatar/java-design-patterns) - Implementation and explanation of the most common design patterns. -- [Explyt](https://github.com/explyt/explyt) - AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. -- [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://github.com/jbake-org/jbake) - Static website generator. -- [JBang](https://github.com/jbangdev/jbang) - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. -- [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. -- [JCuda](https://github.com/jcuda/jcuda) - JCuda offers Java bindings for CUDA and CUDA-related libraries. -- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -- [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [JObfuscator](https://www.pelock.com/products/jobfuscator) - Source code obfuscator. -- [Joda-Money](https://github.com/JodaOrg/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. -- [JPad](https://jpad.io) - Snippet runner. -- [JQuick Java](https://github.com/paohaijiao/jquick-java) - Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. -- [Maven Wrapper](https://github.com/apache/maven-wrapper) - Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. -- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. -- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. -- [LittleProxy](https://github.com/LittleProxy/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. -- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. -- [Modernizer](https://github.com/gaul/modernizer-maven-plugin) - Detect uses of legacy Java APIs. -- [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. -- [OpenRefine](https://github.com/OpenRefine/OpenRefine) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. -- [Polyglot for Maven](https://github.com/takari/polyglot-maven) - Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. -- [Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java) - Java SDK for evaluating Rollgate feature flags with real-time configuration updates. -- [RR4J](https://github.com/Kartikvk1996/RR4J) - RR4J is a tool that records java bytecode execution and later allows developers to replay locally. -- [Simple Java Mail](https://github.com/bbottema/simple-java-mail) - Mailing with a clean and fluent API. -- [Smooks](https://github.com/smooks/smooks) - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -- [Svix](https://github.com/svix/svix-webhooks/tree/main/java) - Library for the Svix API to send webhooks and verify signatures. -- [Togglz](https://github.com/togglz/togglz) - 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. ### Mobile Development @@ -743,6 +729,7 @@ _Tools for creating or managing mobile applications._ _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. +- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. - [Automon](https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools. - [BTrace](https://github.com/btraceio/btrace) - Dynamic tracing and diagnostics for running JVM applications without restarts. - [Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage) - Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. @@ -769,6 +756,7 @@ _For working with platform-specific native libraries._ - [Aparapi](https://git.cleverlibre.org/aparapi/aparapi) - Converts bytecode to OpenCL which allows execution on GPUs. - [JavaCPP](https://github.com/bytedeco/javacpp) - Provides efficient and easy access to native C++. +- [JCuda](https://github.com/jcuda/jcuda) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [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](https://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. @@ -784,8 +772,9 @@ _Libraries that specialize in processing text._ ### Networking -_Libraries for building network servers._ +_Libraries for building network clients and servers._ +- [AISmessages](https://github.com/tbsalling/aismessages) - Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) - [Commons-networking](https://github.com/CiscoSE/commons-networking) - Client for server-sent events (SSE). - [Apache MINA sshd](https://github.com/apache/mina-sshd) - Java implementation of SSH clients, servers, SFTP and SCP. - [Atmosphere](https://github.com/Atmosphere/atmosphere) - Real-time transport framework supporting WebSocket, SSE, gRPC and WebTransport. @@ -795,6 +784,7 @@ _Libraries for building network servers._ - [gRPC-java](https://github.com/grpc/grpc-java) - RPC framework based on protobuf and HTTP/2. - [java-ngrok](https://github.com/alexdlaird/java-ngrok) - Java wrapper for ngrok; programmatic tunnels for ingress, webhooks, demos, and APIs. - [Java-WebSocket](https://github.com/TooTallNate/Java-WebSocket) - Lightweight WebSocket client and server implementation. +- [MinimalFTP](https://github.com/Guichaguri/MinimalFTP) - Lightweight, small and customizable FTP server. - [MINA](https://github.com/apache/mina) - Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. - [Netty](https://github.com/netty/netty) - Framework for building high-performance network applications. - [Drift](https://github.com/airlift/drift) - Easy-to-use, annotation-based library for creating Thrift clients and serializable types. @@ -833,12 +823,6 @@ _Java platform as a service._ - [Microsoft Azure](https://azure.microsoft.com/en-us/) - Microsoft's cloud infrastructure. - [OpenShift](https://www.openshift.com) - Provides additionally an on-premise solution. -### Pathfinding - -_Algorithms and libraries for finding routes in graphs and spatial environments._ - -- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. - ### PDF _Tools to help with PDF files._ @@ -943,6 +927,16 @@ _Libraries that help the management of operating system processes._ - [zt-exec](https://github.com/zeroturnaround/zt-exec) - Provides a unified API to Apache Commons Exec and ProcessBuilder. - [zt-process-killer](https://github.com/zeroturnaround/zt-process-killer) - Stops processes started from Java or the system processes via PID. +### Proxy Servers + +_Java proxy and gateway servers for routing and mediating traffic._ + +- [LittleProxy](https://github.com/LittleProxy/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. +- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. +- [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. +- [Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway) - API gateway built on Spring Framework and Spring Boot. +- [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + ### Reactive libraries _Libraries for developing reactive applications._ @@ -953,12 +947,21 @@ _Libraries for developing reactive applications._ - [RxJava](https://github.com/ReactiveX/RxJava) - Allows for composing asynchronous and event-based programs using observable sequences. - [vert.x](https://github.com/eclipse-vertx/vert.x) - Polyglot event-driven application framework. +### Regular Expressions + +_Libraries and engines for building and evaluating regular expressions._ + +- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. +- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. +- [Sift](https://github.com/Mirkoddd/Sift) - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. + ### REST Frameworks _Frameworks specifically for creating RESTful services._ - [Dropwizard](https://github.com/dropwizard/dropwizard) - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. - [Elide](https://github.com/yahoo/elide) - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +- [hate](https://github.com/blackdoor/hate) - Builds hypermedia-friendly objects according to HAL specification. - [Jersey](https://github.com/eclipse-ee4j/jersey) - JAX-RS reference implementation. - [OfficeFloor](https://github.com/officefloor/OfficeFloor) - Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. - [RESTEasy](https://github.com/resteasy/resteasy) - Fully certified and portable implementation of the JAX-RS specification. @@ -966,6 +969,7 @@ _Frameworks specifically for creating RESTful services._ - [Restlet Framework](https://github.com/restlet/restlet-framework-java) - Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API. - [Spark](https://github.com/sparkjavateam/spark) - Sinatra inspired framework. - [springdoc-openapi](https://github.com/springdoc/springdoc-openapi) - Automates the generation of API documentation using Spring Boot projects. +- [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. - [Swagger Java](https://swagger.io) - Java libraries for generating, parsing and serving OpenAPI definitions. - [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec. @@ -977,17 +981,24 @@ _Libraries for scientific computing, analysis and visualization._ - [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. +- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. - [JFreeChart](https://github.com/jfree/jfreechart) - 2D chart library for Swing, JavaFX and server-side applications. - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. -- [LIBSVM](https://github.com/cjlin1/libsvm) - Support vector machine library with Java bindings and command-line tools. - [jSciPy](https://github.com/hissain/jscipy) - jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. - [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Orekit](https://github.com/CS-SI/Orekit) - A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. - [Orson-Charts](https://github.com/jfree/orson-charts) - Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. -- [Tablesaw](https://github.com/jtablesaw/tablesaw) - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - [XChart](https://github.com/knowm/XChart) - Light-weight library for plotting data. Many customizable chart types are available. +### Scripting + +_Tools and runtimes for using Java or Java-like languages as scripts._ + +- [JBang](https://github.com/jbangdev/jbang) - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. +- [JPad](https://jpad.io) - Snippet runner. +- [JQuick Java](https://github.com/paohaijiao/jquick-java) - Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. + ### Search _Engines that index documents for search and analysis._ @@ -1034,10 +1045,18 @@ _Libraries that handle security, authentication, authorization or session manage _Libraries that handle serialization with high efficiency._ -- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. +- [Apache Avro](https://github.com/apache/avro) - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. - [Apache Fory](https://github.com/apache/fory) - High-performance object graph serialization framework with JIT and zero-copy support. +- [Apache Orc](https://github.com/apache/orc) - Fast and efficient columnar storage format for Hadoop-based workloads. +- [Apache Parquet](https://github.com/apache/parquet-java) - Columnar storage format based on assembly algorithms from Google's paper on Dremel. +- [Apache Thrift](https://github.com/apache/thrift) - Data interchange format that originated at Facebook. +- [FlatBuffers](https://github.com/google/flatbuffers) - Memory-efficient serialization library that can access serialized data without unpacking and parsing it. - [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. - [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. +- [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. +- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. +- [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. +- [XMLBeam](https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code. ### Server @@ -1048,6 +1067,18 @@ _Servers specifically used to deploy applications._ - [Jetty](https://github.com/jetty/jetty.project) - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. - [WildFly](https://github.com/wildfly/wildfly) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. +### Spreadsheet + +_Libraries for reading, writing and generating spreadsheet files._ + +- [Apache Fesod](https://github.com/apache/fesod) - Memory-efficient library for reading and writing large spreadsheet files. +- [Apache POI](https://github.com/apache/poi) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). +- [fastexcel](https://github.com/dhatim/fastexcel) - High performance library to read and write large Excel (XLSX) worksheets. +- [jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet) - Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. +- [Jxls](https://github.com/jxlsteam/jxls) - Generates Excel reports from spreadsheet templates. +- [Sheetz](https://github.com/chitralabs/sheetz) - Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. +- [zerocell](https://github.com/creditdatamw/zerocell) - Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + ### Template Engine _Tools that substitute expressions in a template._ @@ -1066,18 +1097,6 @@ _Tools that substitute expressions in a template._ _Tools that test from model to the view._ -#### Asynchronous - -_Tools that simplify testing asynchronous services._ - -- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. -- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. -- [GreenMail](https://github.com/greenmail-mail-test/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. -- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -- [Karate](https://github.com/karatelabs/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. -- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - #### BDD _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ @@ -1104,22 +1123,30 @@ _Everything related to the creation and handling of random data._ _Provide environments to run tests for a specific use case._ -- [Apache JMeter](https://github.com/apache/jmeter) - Functional testing and performance measurements. -- [JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl) - Load tests with JMeter as simple as a JUnit test. -- [Arquillian](https://github.com/arquillian/arquillian-core) - Integration and functional testing platform for Java EE containers. - [BitDive Java Agent](https://github.com/bitDive/java-producer) - Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. -- [cdi-test](https://github.com/guhilling/cdi-test) - JUnit extension for easy and efficient testing of CDI components. -- [Citrus](https://github.com/citrusframework/citrus) - Integration testing framework that focuses on both client- and server-side messaging. -- [Gatling](https://github.com/gatling/gatling) - Load testing tool designed for ease of use, maintainability and high performance. - [JUnit](https://github.com/junit-team/junit-framework) - Common testing framework. - [jqwik](https://github.com/jqwik-team/jqwik) - Engine for property-based testing built on JUnit 5. -- [Pact JVM](https://github.com/DiUS/pact-jvm) - Consumer-driven contract testing. - [PIT](https://github.com/hcoles/pitest) - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. - [Robolectric](https://github.com/robolectric/robolectric) - Runs Android tests on the JVM without an emulator or device. -- [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. - [selenium](https://github.com/SeleniumHQ/selenium) - Browser automation framework and ecosystem. - [Selenium Boot](https://github.com/seleniumboot/selenium-boot) - Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. +#### Integration + +_Tools for integration, service and contract testing._ + +- [Arquillian](https://github.com/arquillian/arquillian-core) - 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://github.com/citrusframework/citrus) - Integration testing framework that focuses on both client- and server-side messaging. +- [GreenMail](https://github.com/greenmail-mail-test/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. +- [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. +- [Karate](https://github.com/karatelabs/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. +- [Pact JVM](https://github.com/DiUS/pact-jvm) - Consumer-driven contract testing. +- [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. +- [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. +- [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. +- [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 _Libraries that provide custom matchers._ @@ -1133,17 +1160,16 @@ _Libraries that provide custom matchers._ _Other stuff related to testing._ +- [Awaitility](https://github.com/awaitility/awaitility) - DSL for synchronizing asynchronous operations. +- [ConcurrentUnit](https://github.com/jhalterman/concurrentunit) - Toolkit for testing multi-threaded and asynchronous applications. - [ConsoleCaptor](https://github.com/Hakky54/console-captor) - Captures console output for unit testing purposes. - [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - TestNG-like data provider/runner for JUnit. - [junit-pioneer](https://github.com/junit-pioneer/junit-pioneer) - JUnit 5 extension pack, pushing the frontiers on Jupiter. - [LogCaptor](https://github.com/Hakky54/log-captor) - Captures log entries for unit testing purposes. - [log-capture](https://github.com/dm-drogeriemarkt/log-capture) - Captures log entries and provides assertions for unit and integration testing. -- [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [Selfie](https://github.com/diffplug/selfie) - Snapshot testing (inline and on disk). - [skipper-java](https://github.com/get-skipper/skipper-java) - Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. - [Stebz](https://github.com/stebz/stebz) - Multi-approach framework for test steps managing. -- [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. -- [Java Evolved](https://github.com/javaevolved/javaevolved.github.io) - Side-by-side comparisons of legacy and modern Java patterns. - [test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin) - Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. #### Mocking @@ -1157,33 +1183,32 @@ _Tools which mock collaborators to help testing single, isolated units._ - [WireMock](https://github.com/wiremock/wiremock) - Stubs and mocks web services. - [EasyMock](https://github.com/easymock/easymock) - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. +#### Performance + +_Tools for load and performance testing._ + +- [Apache JMeter](https://github.com/apache/jmeter) - Functional testing and performance measurements. +- [Gatling](https://github.com/gatling/gatling) - Load testing tool designed for ease of use, maintainability and high performance. +- [JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl) - Load tests with JMeter as simple as a JUnit test. + ### Utility _Libraries which provide general utility functions._ -- [Arthas](https://github.com/alibaba/arthas) - Allows to troubleshoot production issues for applications without modifying code or restarting servers. - [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. -- [Chocotea](https://github.com/cleopatra27/chocotea) - Generates postman collection, environment and integration tests from java code. -- [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. -- [Embulk](https://github.com/embulk/embulk) - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -- [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -- [JADE](https://jade.tilab.com) - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -- [Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml) - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. +- [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. +- [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - [Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils) - Utilities for text or data comparison and patching. - [Java UUID Generator](https://github.com/cowtowncoder/java-uuid-generator) - Generates standard UUID versions including time-ordered UUIDv6 and UUIDv7. - [java-util](https://github.com/jdereg/java-util) - Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. -- [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. -- [Jctx](https://github.com/Shashwat-Gupta57/jctx) - Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. -- [JGit](https://github.com/eclipse-jgit/jgit) - Lightweight, pure Java library implementing the Git version control system. +- [Jimfs](https://github.com/google/jimfs) - In-memory file system. - [JKScope](https://github.com/evpl/jkscope) - Java scope functions inspired by Kotlin. - [java-refined](https://github.com/JunggiKim/java-refined) - Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. -- [minio-java](https://github.com/minio/minio-java) - Provides simple APIs to access any Amazon S3-compatible object storage server. -- [Protégé](https://github.com/protegeproject/protege) - Provides an ontology editor and a framework to build knowledge-based systems. +- [PipelinR](https://github.com/sizovs/pipelinr) - Small utility library for using handlers and commands with pipelines. - [Semver4j](https://github.com/semver4j/semver4j) - Lightweight library that helps you handling semantic versioning with different modes. -- [Sift](https://github.com/Mirkoddd/Sift) - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. - [Underscore-java](https://github.com/javadev/underscore-java) - Port of Underscore.js functions. - [Zip4j](https://github.com/srikanth-lingala/zip4j) - Reads, writes, encrypts and streams ZIP files. @@ -1258,21 +1283,29 @@ _Awesome Lists related to the Java & JVM ecosystem._ - [Awesome Hybris](https://github.com/eminyagiz42/awesome-hybris) - [ciandcd](https://github.com/ciandcd/awesome-ciandcd) - [Useful Java Links](https://github.com/Vedenin/useful-java-links) -- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) -- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) ### Communities _Active discussions._ +- [foojay.io](https://foojay.io) - [r/java](https://www.reddit.com/r/java/) - Subreddit for the Java community. - [Stack Overflow](https://stackoverflow.com/questions/tagged/java) - Question/answer platform. -### Frontends +### Guides and References -_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ +_Guides, tutorials, examples and practical references for Java developers._ -- [java.libhunt.com](https://java.libhunt.com) +- [Design Patterns](https://github.com/iluwatar/java-design-patterns) - Implementation and explanation of the most common design patterns. +- [FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) - No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) +- [Google Java Style](https://google.github.io/styleguide/javaguide.html) +- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) +- [Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency) +- [Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap) +- [Java Evolved](https://github.com/javaevolved/javaevolved.github.io) - Side-by-side comparisons of legacy and modern Java patterns. +- [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide. +- [TheCodeForge Java Tutorials](https://thecodeforge.io/java/) +- [Which JDK](https://github.com/whichjdk/whichjdk.com) - Overview of common JVMs with pros and cons. ### Influential Books @@ -1342,14 +1375,11 @@ _Sites to read._ - [Baeldung](https://www.baeldung.com) - [Dzone](https://dzone.com) -- [foojay.io](https://foojay.io) -- [Google Java Style](https://google.github.io/styleguide/javaguide.html) - [InfoQ](https://www.infoq.com) -- [Java Algorithms and Clients](https://algs4.cs.princeton.edu/code) +- [java.libhunt.com](https://java.libhunt.com) - [Java, SQL, and jOOQ](https://blog.jooq.org) - [Java.net](https://community.oracle.com/community/java) - [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) -- [TheCodeForge Java Tutorials](https://thecodeforge.io/java/) - [JavaWorld](https://www.javaworld.com) - [JAXenter](https://jaxenter.com) - [RebelLabs](https://zeroturnaround.com/rebellabs) From c585a3785d3650748bbd2e27ce631ae877d6a969 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 08:31:05 +0000 Subject: [PATCH 526/533] Update README with latest GitHub stats --- README.md | 555 +++++++++++++++++++++++++++++------------------------- 1 file changed, 297 insertions(+), 258 deletions(-) diff --git a/README.md b/README.md index 88df2675..f8e9c75a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. -805 projects · 75 categories · 80 resources +800 projects · 80 categories · 85 resources Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months @@ -15,7 +15,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. ## Projects
-Architecture 2 projects +Architecture 3 projects _Frameworks and libraries that help implementing and verifying design and architecture concepts._ @@ -23,12 +23,14 @@ _Frameworks and libraries that help implementing and verifying design and archit > **[jMolecules](https://github.com/xmolecules/jmolecules)** ★ 1.5k Apache-2.0 🟠
Annotations and interfaces to express design and architecture concepts in code. +> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 GPL-3.0 🟢
Static code analysis with Neo4J-based query language. +
-Artificial Intelligence 13 projects +Artificial Intelligence 15 projects -_Frameworks that help you to leverage LLMs and AI._ +_Frameworks for building applications with AI, agents and knowledge-based systems._ > **[A2A Java SDK](https://github.com/a2aproject/a2a-java)** ★ 466 Apache-2.0 🟢
Official Java SDK for the Agent2Agent protocol. @@ -40,6 +42,8 @@ _Frameworks that help you to leverage LLMs and AI._ > **[Google Gen AI Java SDK](https://github.com/googleapis/java-genai)** ★ 385 Apache-2.0 🟢
Official Java SDK for integrating Google generative AI models. +> **[JADE](https://jade.tilab.com)**
Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) + > **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 Apache-2.0 🟢
Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. > **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k Apache-2.0 🟢
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. @@ -48,6 +52,8 @@ _Frameworks that help you to leverage LLMs and AI._ > **[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k MIT 🟢
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. +> **[Protégé](https://github.com/protegeproject/protege)** ★ 1.4k 🟠
Provides an ontology editor and a framework to build knowledge-based systems. + > **[Regulus](https://github.com/neul-labs/regulus)** ★ 7 MIT 🟢
Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. > **[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 MIT 🟠
Library to use the OpenAI API (and compatible ones) in the simplest possible way. @@ -73,8 +79,23 @@ _Frameworks that ease bean mapping._
+
+Bot Development 4 projects + +_Libraries and frameworks for building chatbots and messaging-platform bots._ + +> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k GPL-3.0 🟠
Framework for building chatbots. + +> **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k Apache-2.0 🟢
Wrapping of the Discord REST API and its WebSocket events. + +> **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 MIT 🟢
Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. + +> **[TelegramBots](https://github.com/rubenlagus/TelegramBots)** ★ 5.5k MIT 🟢
Java library for building bots with the Telegram Bot API. + +
+
-Build 13 projects +Build 16 projects _Tools that handle the build cycle and dependencies of an application._ @@ -98,8 +119,14 @@ _Tools that handle the build cycle and dependencies of an application._ > **[jar-cart](https://github.com/Sudhanshu-Ambastha/jar-cart)** ★ 4 MIT 🟢
A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed. +> **[Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml)** ★ 57 Apache-2.0 🟠
Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. + > **[Jib](https://github.com/GoogleContainerTools/jib)** ★ 14.4k Apache-2.0 🟢
Builds optimized container images for Java applications without a Docker daemon. +> **[Maven Wrapper](https://github.com/apache/maven-wrapper)** ★ 252 Apache-2.0 🟢
Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. + +> **[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 EPL-1.0 🟢
Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. + > **[ReleaseRun](https://github.com/Releaserun/releaserun-cli)** ★ 1 MIT 🟠
Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages. > **[Shadow](https://github.com/GradleUp/shadow)** ★ 4.2k Apache-2.0 🟢
Gradle plugin for creating and transforming executable fat JARs. @@ -178,7 +205,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._
-Cloud 4 projects +Cloud 6 projects _Libraries to integrate or use cloud-specific features._ @@ -190,10 +217,14 @@ _Libraries to integrate or use cloud-specific features._ > **[Kubernetes Java Client](https://github.com/kubernetes-client/java)** ★ 4.0k Apache-2.0 🟢
Official Java client for the Kubernetes API. +> **[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k Apache-2.0 🟢
Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. + +> **[minio-java](https://github.com/minio/minio-java)** ★ 1.3k Apache-2.0 🟢
Provides simple APIs to access any Amazon S3-compatible object storage server. +
-Code Analysis 14 projects +Code Analysis 15 projects _Tools that provide metrics and quality measurements._ @@ -205,10 +236,12 @@ _Tools that provide metrics and quality measurements._ > **[Infer](https://github.com/facebook/infer)** ★ 15.7k MIT 🟢
Modern static analysis tool for verifying the correctness of code. -> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 GPL-3.0 🟢
Static code analysis with Neo4J-based query language. - > **[JSpecify](https://github.com/jspecify/jspecify)** ★ 1.1k Apache-2.0 🟢
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. +> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 Apache-2.0 🟢
Detect uses of legacy Java APIs. + +> **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Apache-2.0 🟠
Reports whether instances of a given class are immutable. + > **[NullAway](https://github.com/uber/NullAway)** ★ 4.1k MIT 🟢
Eliminates NullPointerExceptions with low build-time overhead. > **[OpenRewrite](https://github.com/openrewrite/rewrite)** ★ 3.6k Apache-2.0 🟢
Automates large-scale source-code refactoring through reusable recipes. @@ -256,7 +289,7 @@ _Tools that format or restructure Java source code._
-Code Generators 16 projects +Code Generators 18 projects _Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness._ @@ -266,6 +299,8 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a > **[Bootify](https://bootify.io)**
Browser-based Spring Boot app generation with JPA model and REST API. +> **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 Apache-2.0 🔴
Generates postman collection, environment and integration tests from java code. + > **[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 10 Apache-2.0 🟢
Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. > **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 MIT 🟠
Annotation processor for automatic DTO and Mapper generation with zero boilerplate. @@ -274,6 +309,8 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a > **[Immutables](https://github.com/immutables/immutables)** ★ 3.6k Apache-2.0 🟢
Annotation processors to generate simple, safe and consistent value objects. +> **[J2ObjC](https://github.com/google/j2objc)** ★ 6.0k 🟢
Java-to-Objective-C translator for porting Android libraries to iOS. + > **[JHipster](https://github.com/jhipster/generator-jhipster)** ★ 22.4k Apache-2.0 🟢
Yeoman source code generator for Spring Boot and AngularJS. > **[Joda-Beans](https://github.com/JodaOrg/joda-beans)** ★ 150 Apache-2.0 🟠
Small framework that adds queryable properties to Java, enhancing JavaBeans. @@ -321,7 +358,7 @@ _Libraries which seek to gain high level information from images and videos._
-Configuration 15 projects +Configuration 14 projects _Libraries that provide external configuration._ @@ -335,8 +372,6 @@ _Libraries that provide external configuration._ > **[Configurate](https://github.com/SpongePowered/Configurate)** ★ 466 Apache-2.0 🟢
Configuration library with support for various configuration formats and transformations. -> **[Curator Framework](https://github.com/apache/curator)** ★ 3.2k Apache-2.0 🟢
High-level API for Apache ZooKeeper. - > **[dotenv](https://github.com/shyiko/dotenv)** ★ 51 🔴
Twelve-factor configuration library which uses environment-specific files. > **[Externalized Properties](https://github.com/joel-jeremy/externalized-properties)** ★ 47 Apache-2.0 🟠
Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. @@ -383,30 +418,41 @@ _Frameworks and libraries that simplify reading/writing CSV data._
-
-Data Structures 11 projects +
+Data Processing 8 projects -_Efficient and specific data structures._ +_Tools for batch, stream, table and data-transformation workloads._ -> **[Apache Avro](https://github.com/apache/avro)** ★ 3.3k Apache-2.0 🟢
Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. +> **[Apache Flink](https://github.com/apache/flink)** ★ 26.2k Apache-2.0 🟢
Fast, reliable, large-scale data processing engine. -> **[Apache Orc](https://github.com/apache/orc)** ★ 769 Apache-2.0 🟢
Fast and efficient columnar storage format for Hadoop-based workloads. +> **[Apache Storm](https://github.com/apache/storm)** ★ 6.7k Apache-2.0 🟢
Realtime computation system. -> **[Apache Parquet](https://github.com/apache/parquet-java)** ★ 3.1k Apache-2.0 🟢
Columnar storage format based on assembly algorithms from Google's paper on Dremel. +> **[easy-batch](https://github.com/j-easy/easy-batch)** ★ 622 MIT 🔴
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. -> **[Apache Thrift](https://github.com/apache/thrift)** ★ 10.9k Apache-2.0 🟢
Data interchange format that originated at Facebook. +> **[Embulk](https://github.com/embulk/embulk)** ★ 1.8k Apache-2.0 🟢
Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. -> **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 MIT 🟠
Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. +> **[OpenRefine](https://github.com/OpenRefine/OpenRefine)** ★ 11.9k BSD-3-Clause 🟢
Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -> **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 🔴
Persistent and immutable analogue of the Java Collections Framework. +> **[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k Apache-2.0 🟢
Cloud native streaming and complex event processing engine. -> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.6k 🟢
Google's data interchange format. +> **[Smooks](https://github.com/smooks/smooks)** ★ 417 🟠
Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) -> **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k Apache-2.0 🟢
Fast and efficient compressed bitmap. +> **[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k Apache-2.0 🟢
Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. -> **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k Apache-2.0 🟢
Simple Binary Encoding, one of the fastest message formats around. +
-> **[Wire](https://github.com/square/wire)** ★ 4.4k Apache-2.0 🟢
Clean, lightweight protocol buffers. +
+Data Structures 5 projects + +_Efficient and specific data structures._ + +> **[CQEngine Next](https://github.com/MSaifAsif/cqengine-next)** ★ 17 Apache-2.0 🟢
Provides indexed, SQL-like queries over Java collections. + +> **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 MIT 🟠
Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. + +> **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 🔴
Persistent and immutable analogue of the Java Collections Framework. + +> **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k Apache-2.0 🟢
Fast and efficient compressed bitmap. > **[Wormhole4j](https://github.com/komamitsu/wormhole4j)** ★ 8 Apache-2.0 🟢
High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure. @@ -584,7 +630,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia.
-Development 9 projects +Development 12 projects _Augmentation of the development process at a fundamental level._ @@ -598,10 +644,16 @@ _Augmentation of the development process at a fundamental level._ > **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k 🟢
Parse, modify and generate Java code. +> **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 MIT 🟠
Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. + +> **[JGit](https://github.com/eclipse-jgit/jgit)** ★ 413 🟢
Lightweight, pure Java library implementing the Git version control system. + > **[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k Apache-2.0 🟢
Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. > **[NoException](https://github.com/robertvazan/noexception)** ★ 130 Apache-2.0 🔴
Allows checked exceptions in functional interfaces and converts exceptions to Optional return. +> **[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 GPL-3.0 🔴
RR4J is a tool that records java bytecode execution and later allows developers to replay locally. + > **[SneakyThrow](https://github.com/rainerhahnekamp/sneakythrow)** ★ 81 MIT 🔴
Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations. > **[Tail](https://github.com/nrktkt/tail)** ★ 30 Unlicense 🔴
Enable infinite recursion using tail call optimization. @@ -609,18 +661,18 @@ _Augmentation of the development process at a fundamental level._
-Distributed Applications 12 projects +Distributed Applications 10 projects _Libraries and frameworks for writing distributed and fault-tolerant applications._ > **[Apache Geode](https://github.com/apache/geode)** ★ 2.4k Apache-2.0 🟢
In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery. -> **[Apache Storm](https://github.com/apache/storm)** ★ 6.7k Apache-2.0 🟢
Realtime computation system. - > **[Apache ZooKeeper](https://github.com/apache/zookeeper)** ★ 12.8k Apache-2.0 🟢
Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. > **[Axon](https://github.com/AxonIQ/AxonFramework)** ★ 3.6k Apache-2.0 🟢
Framework for creating CQRS applications. +> **[Curator Framework](https://github.com/apache/curator)** ★ 3.2k Apache-2.0 🟢
High-level API for Apache ZooKeeper. + > **[Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker)** ★ 46 GPL-2.0 🟠
Circuit breaker design pattern for Dropwizard. > **[Failsafe](https://github.com/failsafe-lib/failsafe)** ★ 4.3k Apache-2.0 🟠
Simple failure handling with retries and circuit breakers. @@ -629,14 +681,10 @@ _Libraries and frameworks for writing distributed and fault-tolerant application > **[JGroups](https://github.com/belaban/JGroups)** ★ 1.1k Apache-2.0 🟢
Toolkit for reliable messaging and cluster creation. -> **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 🟢
High-performance reverse proxy server with specialized session management and credential replay functionality. - > **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k Apache-2.0 🟢
Functional fault tolerance library. > **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 Apache-2.0 🟢
Embeddable Cluster-Membership library based on SWIM and gossip protocol. -> **[Zuul](https://github.com/Netflix/zuul)** ★ 14.1k Apache-2.0 🟢
Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. -
@@ -688,14 +736,10 @@ _Tools that handle the distribution of applications in native formats._
-Document Processing 13 projects +Document Processing 6 projects _Libraries that assist with processing office document formats._ -> **[Apache Fesod](https://github.com/apache/fesod)** ★ 6.1k Apache-2.0 🟢
Memory-efficient library for reading and writing large spreadsheet files. - -> **[Apache POI](https://github.com/apache/poi)** ★ 2.3k 🟢
Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). - > **[Apache Tika](https://github.com/apache/tika)** ★ 3.9k Apache-2.0 🟢
Detects and extracts text and metadata from a wide range of document formats. > **[commonmark-java](https://github.com/commonmark/commonmark-java)** ★ 2.7k BSD-2-Clause 🟢
Parses and renders CommonMark-compatible Markdown. @@ -704,29 +748,34 @@ _Libraries that assist with processing office document formats._ > **[docx4j](https://github.com/plutext/docx4j)** ★ 2.4k 🟢
Create and manipulate Microsoft Open XML files. -> **[fastexcel](https://github.com/dhatim/fastexcel)** ★ 908 🟢
High performance library to read and write large Excel (XLSX) worksheets. - > **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 MIT 🟢
Converts HTML to CommonMark-compatible Markdown through a Java binding. -> **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Apache-2.0 🟢
Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. +> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k MIT 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. -> **[Jxls](https://github.com/jxlsteam/jxls)** ★ 523 Apache-2.0 🟠
Generates Excel reports from spreadsheet templates. +
-> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 62 Apache-2.0 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. +
+Feature Flags 3 projects -> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k MIT 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. +_Libraries and SDKs for evaluating and managing feature flags._ -> **[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 Apache-2.0 🔴
Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. +> **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k Apache-2.0 🟢
Feature Flags for Java. + +> **[Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java)** ★ 3 MIT 🟢
Java SDK for evaluating Rollgate feature flags with real-time configuration updates. + +> **[Togglz](https://github.com/togglz/togglz)** ★ 1.0k Apache-2.0 🟢
Implementation of the Feature Toggles pattern.
-Financial 6 projects +Financial 7 projects _Libraries related to the financial domain._ > **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 GPL-3.0 🔴
Trading bot framework. +> **[Joda-Money](https://github.com/JodaOrg/joda-money)** ★ 679 Apache-2.0 🟠
Basic currency and money classes and algorithms not provided by the JDK. + > **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Apache-2.0 🟢
Low-latency financial information exchange. > **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 MIT 🟢
Integration with the Stripe API. @@ -795,7 +844,7 @@ _Libraries that facilitate functional programming._
-Game Development 8 projects +Game Development 9 projects _Frameworks that support the development of games._ @@ -813,12 +862,14 @@ _Frameworks that support the development of games._ > **[LWJGL](https://github.com/LWJGL/lwjgl3)** ★ 5.4k BSD-3-Clause 🟢
Robust framework that abstracts libraries like OpenGL/CL/AL. +> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 377 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. + > **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 BSD-3-Clause 🟠
Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.
-Geospatial 11 projects +Geospatial 12 projects _Libraries for working with geospatial data and algorithms._ @@ -834,6 +885,8 @@ _Libraries for working with geospatial data and algorithms._ > **[H2GIS](https://github.com/orbisgis/h2gis)** ★ 220 LGPL-3.0 🟢
Spatial extension of the H2 database. +> **[IP2Location.io Java SDK](https://github.com/ip2location/ip2location-io-java)** ★ 10 MIT 🟠
Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. + > **[Jgeohash](https://github.com/astrapi69/jgeohash)** ★ 68 Apache-2.0 🔴
Library for using the GeoHash algorithm. > **[JTS](https://github.com/locationtech/jts)** ★ 2.2k 🟢
Geometry model and algorithms for manipulating vector geospatial data. @@ -917,24 +970,15 @@ _Libraries that assist with creating HTTP requests and/or binding responses._
-
-Hypermedia Types 2 projects - -_Libraries that handle serialization to hypermedia types._ - -> **[hate](https://github.com/blackdoor/hate)** ★ 25 MIT 🔴
Builds hypermedia-friendly objects according to HAL specification. - -> **[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k Apache-2.0 🟢
Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. - -
-
-IDE 6 projects +IDE 7 projects _Integrated development environments that try to simplify several aspects of development._ > **[Eclipse Java IDE](https://www.eclipse.org)** ★ 643 EPL-2.0 🟢
Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. +> **[Explyt](https://github.com/explyt/explyt)** ★ 22 🟢
AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. + > **[IntelliJ IDEA](https://github.com/JetBrains/intellij-community)** ★ 20.4k 🟢
Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. > **[jGRASP](https://www.jgrasp.org)**
Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer. @@ -948,7 +992,7 @@ _Integrated development environments that try to simplify several aspects of dev
-Imagery 10 projects +Imagery 11 projects _Libraries that assist with the creation, evaluation or manipulation of graphical images._ @@ -970,12 +1014,14 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica > **[vips-ffm](https://github.com/lopcode/vips-ffm)** ★ 130 Apache-2.0 🟢
Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. +> **[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k MIT 🟠
Library for using built-in and external webcams directly in Java. + > **[ZXing](https://github.com/zxing/zxing)** ★ 34.0k Apache-2.0 🟢
Multi-format 1D/2D barcode image processing library.
-Introspection 4 projects +Introspection 5 projects _Libraries that help make the Java introspection and reflection API easier and faster to use._ @@ -987,17 +1033,17 @@ _Libraries that help make the Java introspection and reflection API easier and f > **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k BSD-3-Clause 🔴
ReflectASM is a very small Java library that provides high performance reflection by using code generation. +> **[TypeTools](https://github.com/jhalterman/typetools)** ★ 629 Apache-2.0 🔴
Tools for resolving generic types. +
-Job Scheduling 8 projects +Job Scheduling 7 projects _Libraries for scheduling background jobs._ > **[db-scheduler](https://github.com/kagkarlsson/db-scheduler)** ★ 1.6k Apache-2.0 🟢
Persistent and cluster-friendly scheduler. -> **[easy-batch](https://github.com/j-easy/easy-batch)** ★ 622 MIT 🔴
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. - > **[JobRunr](https://github.com/jobrunr/jobrunr)** ★ 3.0k 🟢
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)** ★ 6.7k Apache-2.0 🟢
Feature-rich, open source job scheduling library that can be integrated within virtually any Java application. @@ -1044,7 +1090,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._
-JVM and JDK 12 projects +JVM and JDK 11 projects _Current implementations of the JVM/JDK._ @@ -1068,8 +1114,6 @@ _Current implementations of the JVM/JDK._ > **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 617 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. -> **[Which JDK](https://github.com/whichjdk/whichjdk.com)** ★ 160 🟠
Overview of common JVMs with pros and cons. - > **[Zulu](https://www.azul.com/products/zulu-community/)**
OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)
@@ -1102,12 +1146,10 @@ _Libraries that log the behavior of an application._
-Machine Learning 15 projects +Machine Learning 14 projects _Tools that provide specific statistical algorithms for learning from data._ -> **[Apache Flink](https://github.com/apache/flink)** ★ 26.2k Apache-2.0 🟢
Fast, reliable, large-scale data processing engine. - > **[Apache Mahout](https://github.com/apache/mahout)** ★ 2.3k Apache-2.0 🟢
Scalable algorithms focused on collaborative filtering, clustering and classification. > **[DatumBox](https://github.com/datumbox/datumbox-framework)** ★ 1.1k Apache-2.0 🔴
Provides several algorithms and pre-trained models for natural language processing. @@ -1122,12 +1164,12 @@ _Tools that provide specific statistical algorithms for learning from data._ > **[JSAT](https://github.com/EdwardRaff/JSAT)** ★ 794 GPL-3.0 🔴
Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. +> **[LIBSVM](https://github.com/cjlin1/libsvm)** ★ 4.7k BSD-3-Clause 🟠
Support vector machine library with Java bindings and command-line tools. + > **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 MIT 🟠
A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. > **[oj! Algorithms](https://github.com/optimatika/ojAlgo)** ★ 502 MIT 🟢
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. -> **[Siddhi](https://github.com/siddhi-io/siddhi)** ★ 1.6k Apache-2.0 🟢
Cloud native streaming and complex event processing engine. - > **[sklearn-java](https://github.com/kVeyra/sklearn-java)** ★ 3 Apache-2.0 🟢
Implements scikit-learn-style machine learning algorithms in pure Java. > **[Smile](https://github.com/haifengl/smile)** ★ 6.4k 🟢
Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library. @@ -1139,7 +1181,7 @@ _Tools that provide specific statistical algorithms for learning from data._
-Messaging 18 projects +Messaging 19 projects _Tools that help send messages between clients to ensure protocol independency._ @@ -1175,14 +1217,16 @@ _Tools that help send messages between clients to ensure protocol independency._ > **[RabbitMQ Java client](https://github.com/rabbitmq/rabbitmq-java-client)** ★ 1.3k 🟢
RabbitMQ client. +> **[Simple Java Mail](https://github.com/bbottema/simple-java-mail)** ★ 1.3k Apache-2.0 🟢
Mailing with a clean and fluent API. + > **[Smack](https://github.com/igniterealtime/Smack)** ★ 2.4k Apache-2.0 🟢
Cross-platform XMPP client library. -> **[TelegramBots](https://github.com/rubenlagus/TelegramBots)** ★ 5.5k MIT 🟢
Java library for building bots with the Telegram Bot API. +> **[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k MIT 🟢
Library for the Svix API to send webhooks and verify signatures.
-Microservice 11 projects +Microservice 8 projects _Tools for creating and managing microservices._ @@ -1194,10 +1238,6 @@ _Tools for creating and managing microservices._ > **[Helidon](https://github.com/helidon-io/helidon)** ★ 3.8k Apache-2.0 🟢
Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile. -> **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k Apache-2.0 🟢
Wrapping of the Discord REST API and its WebSocket events. - -> **[kubernetes-client](https://github.com/fabric8io/kubernetes-client)** ★ 3.7k Apache-2.0 🟢
Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. - > **[Micronaut](https://github.com/micronaut-projects/micronaut-core)** ★ 6.4k Apache-2.0 🟢
Modern full-stack framework with focus on modularity, minimal memory footprint and startup time. > **[Nacos](https://github.com/alibaba/nacos)** ★ 33.2k Apache-2.0 🟢
Dynamic service discovery, configuration and service management platform for building cloud native applications. @@ -1206,91 +1246,17 @@ _Tools for creating and managing microservices._ > **[Sentinel](https://github.com/alibaba/Sentinel)** ★ 23.1k Apache-2.0 🟢
Flow control component enabling reliability, resilience and monitoring for microservices. -> **[Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway)** ★ 4.9k Apache-2.0 🟢
API gateway built on Spring Framework and Spring Boot. -
-Miscellaneous 39 projects +Miscellaneous 3 projects _Everything else._ -> **[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 🟢
Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) - -> **[CQEngine Next](https://github.com/MSaifAsif/cqengine-next)** ★ 17 Apache-2.0 🟢
Provides indexed, SQL-like queries over Java collections. - -> **[Design Patterns](https://github.com/iluwatar/java-design-patterns)** ★ 94.2k 🟢
Implementation and explanation of the most common design patterns. - -> **[Explyt](https://github.com/explyt/explyt)** ★ 22 🟢
AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. - -> **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k Apache-2.0 🟢
Feature Flags for Java. - -> **[FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)** ★ 23.8k 🔴
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)** ★ 10 MIT 🟠
Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API. - -> **[ISBN core](https://github.com/ladutsko/isbn-core)** ★ 5 MIT 🟢
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)** ★ 6.0k 🟢
Java-to-Objective-C translator for porting Android libraries to iOS. - > **[JBake](https://github.com/jbake-org/jbake)** ★ 1.2k MIT 🟠
Static website generator. -> **[JBang](https://github.com/jbangdev/jbang)** ★ 1.8k MIT 🟢
JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - -> **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k GPL-3.0 🟠
Framework for building chatbots. - -> **[JCuda](https://github.com/jcuda/jcuda)** ★ 266 MIT 🔴
JCuda offers Java bindings for CUDA and CUDA-related libraries. - -> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 Apache-2.0 🟢
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. - -> **[Jimfs](https://github.com/google/jimfs)** ★ 2.6k Apache-2.0 🟢
In-memory file system. - > **[JObfuscator](https://www.pelock.com/products/jobfuscator)**
Source code obfuscator. -> **[Joda-Money](https://github.com/JodaOrg/joda-money)** ★ 679 Apache-2.0 🟠
Basic currency and money classes and algorithms not provided by the JDK. - -> **[JPad](https://jpad.io)**
Snippet runner. - -> **[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 449 🟢
Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. - -> **[LittleProxy](https://github.com/LittleProxy/LittleProxy)** ★ 149 Apache-2.0 🟢
High performance HTTP proxy atop Netty's event-based networking library. - -> **[Maven Wrapper](https://github.com/apache/maven-wrapper)** ★ 252 Apache-2.0 🟢
Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven. - -> **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 Apache-2.0 🟢
Open-source, reverse-proxy framework. - -> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 Apache-2.0 🔴
Lightweight, small and customizable FTP server. - -> **[Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial)** ★ 16.7k MIT 🔴
Popular Java 8 guide. - -> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 Apache-2.0 🟢
Detect uses of legacy Java APIs. - -> **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 MIT 🟢
Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. - -> **[OpenRefine](https://github.com/OpenRefine/OpenRefine)** ★ 11.9k BSD-3-Clause 🟢
Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. - -> **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 MIT 🟠
Small utility library for using handlers and commands with pipelines. - -> **[Polyglot for Maven](https://github.com/takari/polyglot-maven)** ★ 922 EPL-1.0 🟢
Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML. - -> **[Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java)** ★ 3 MIT 🟢
Java SDK for evaluating Rollgate feature flags with real-time configuration updates. - -> **[RR4J](https://github.com/Kartikvk1996/RR4J)** ★ 25 GPL-3.0 🔴
RR4J is a tool that records java bytecode execution and later allows developers to replay locally. - -> **[Simple Java Mail](https://github.com/bbottema/simple-java-mail)** ★ 1.3k Apache-2.0 🟢
Mailing with a clean and fluent API. - -> **[Smooks](https://github.com/smooks/smooks)** ★ 417 🟠
Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) - -> **[Svix](https://github.com/svix/svix-webhooks/tree/main/java)** ★ 3.3k MIT 🟢
Library for the Svix API to send webhooks and verify signatures. - -> **[Togglz](https://github.com/togglz/togglz)** ★ 1.0k Apache-2.0 🟢
Implementation of the Feature Toggles pattern. - -> **[TypeTools](https://github.com/jhalterman/typetools)** ★ 629 Apache-2.0 🔴
Tools for resolving generic types. - -> **[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k MIT 🟠
Library for using built-in and external webcams directly in Java. - -> **[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 Apache-2.0 🟠
Processes XML by using annotations or XPath within code. - > **[yGuard](https://github.com/yWorks/yGuard)** ★ 478 MIT 🟠
Obfuscation via renaming and shrinking.
@@ -1309,12 +1275,14 @@ _Tools for creating or managing mobile applications._
-Monitoring 20 projects +Monitoring 21 projects _Tools that observe/monitor applications in production by providing telemetry._ > **[Apitally](https://github.com/apitally/apitally-java)** ★ 6 MIT 🟢
Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. +> **[Arthas](https://github.com/alibaba/arthas)** ★ 37.5k Apache-2.0 🟢
Allows to troubleshoot production issues for applications without modifying code or restarting servers. + > **[Automon](https://github.com/stevensouza/automon)** ★ 571 Apache-2.0 🔴
Combines the power of AOP with monitoring and/or logging tools. > **[Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage)** ★ 2 Apache-2.0 🟢
Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. @@ -1356,7 +1324,7 @@ _Tools that observe/monitor applications in production by providing telemetry._
-Native 5 projects +Native 6 projects _For working with platform-specific native libraries._ @@ -1364,6 +1332,8 @@ _For working with platform-specific native libraries._ > **[JavaCPP](https://github.com/bytedeco/javacpp)** ★ 4.7k 🟢
Provides efficient and easy access to native C++. +> **[JCuda](https://github.com/jcuda/jcuda)** ★ 266 MIT 🔴
JCuda offers Java bindings for CUDA and CUDA-related libraries. + > **[JNA](https://github.com/java-native-access/jna)** ★ 8.9k 🟢
Work with native libraries without writing JNI. Also provides interfaces to common system libraries. > **[JNR](https://github.com/jnr/jnr-ffi)** ★ 1.3k 🟢
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](https://openjdk.java.net/projects/panama). @@ -1388,9 +1358,11 @@ _Libraries that specialize in processing text._
-Networking 19 projects +Networking 21 projects -_Libraries for building network servers._ +_Libraries for building network clients and servers._ + +> **[AISmessages](https://github.com/tbsalling/aismessages)** ★ 168 🟢
Decodes NMEA-armoured AIS messages for maritime navigation and safety systems with ITU-R M.1371 support and no runtime dependencies. (CC-BY-NC-SA-4.0) > **[Apache MINA sshd](https://github.com/apache/mina-sshd)** ★ 1.1k Apache-2.0 🟢
Java implementation of SSH clients, servers, SFTP and SCP. @@ -1416,6 +1388,8 @@ _Libraries for building network servers._ > **[MINA](https://github.com/apache/mina)** ★ 925 Apache-2.0 🟢
Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. +> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 Apache-2.0 🔴
Lightweight, small and customizable FTP server. + > **[Netty](https://github.com/netty/netty)** ★ 35.0k Apache-2.0 🟢
Framework for building high-performance network applications. > **[ServiceTalk](https://github.com/apple/servicetalk)** ★ 1.0k Apache-2.0 🟢
Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms. @@ -1480,15 +1454,6 @@ _Java platform as a service._
-
-Pathfinding 1 project - -_Algorithms and libraries for finding routes in graphs and spatial environments._ - -> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 377 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. - -
-
PDF 14 projects @@ -1679,6 +1644,23 @@ _Libraries that help the management of operating system processes._
+
+Proxy Servers 5 projects + +_Java proxy and gateway servers for routing and mediating traffic._ + +> **[LittleProxy](https://github.com/LittleProxy/LittleProxy)** ★ 149 Apache-2.0 🟢
High performance HTTP proxy atop Netty's event-based networking library. + +> **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 Apache-2.0 🟢
Open-source, reverse-proxy framework. + +> **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 🟢
High-performance reverse proxy server with specialized session management and credential replay functionality. + +> **[Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway)** ★ 4.9k Apache-2.0 🟢
API gateway built on Spring Framework and Spring Boot. + +> **[Zuul](https://github.com/Netflix/zuul)** ★ 14.1k Apache-2.0 🟢
Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. + +
+
Reactive libraries 5 projects @@ -1696,8 +1678,21 @@ _Libraries for developing reactive applications._
+
+Regular Expressions 3 projects + +_Libraries and engines for building and evaluating regular expressions._ + +> **[dregex](https://github.com/marianobarrios/dregex)** ★ 55 BSD-2-Clause 🟠
Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. + +> **[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k MIT 🟢
Library that helps with constructing difficult regular expressions. + +> **[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 Apache-2.0 🟢
Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. + +
+
-REST Frameworks 11 projects +REST Frameworks 13 projects _Frameworks specifically for creating RESTful services._ @@ -1705,6 +1700,8 @@ _Frameworks specifically for creating RESTful services._ > **[Elide](https://github.com/yahoo/elide)** ★ 1.0k 🟢
Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model. +> **[hate](https://github.com/blackdoor/hate)** ★ 25 MIT 🔴
Builds hypermedia-friendly objects according to HAL specification. + > **[Jersey](https://github.com/eclipse-ee4j/jersey)** ★ 729 🟢
JAX-RS reference implementation. > **[OfficeFloor](https://github.com/officefloor/OfficeFloor)** ★ 70 Apache-2.0 🟢
Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL. @@ -1719,6 +1716,8 @@ _Frameworks specifically for creating RESTful services._ > **[Spark](https://github.com/sparkjavateam/spark)** ★ 14 Apache-2.0 🔴
Sinatra inspired framework. +> **[Spring HATEOAS](https://github.com/spring-projects/spring-hateoas)** ★ 1.1k Apache-2.0 🟢
Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER. + > **[springdoc-openapi](https://github.com/springdoc/springdoc-openapi)** ★ 3.7k Apache-2.0 🟢
Automates the generation of API documentation using Spring Boot projects. > **[Swagger Java](https://swagger.io)** ★ 8.6k Apache-2.0 🟢
Java libraries for generating, parsing and serving OpenAPI definitions. @@ -1726,7 +1725,7 @@ _Frameworks specifically for creating RESTful services._
-Science 14 projects +Science 13 projects _Libraries for scientific computing, analysis and visualization._ @@ -1738,14 +1737,14 @@ _Libraries for scientific computing, analysis and visualization._ > **[Erdos](https://github.com/Erdos-Graph-Framework/Erdos)** ★ 128 MIT 🔴
Modular, light and easy graph framework for theoretic algorithms. +> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k GPL-3.0 🟢
Cross-platform for visualizing and manipulating large graph networks. + > **[JFreeChart](https://github.com/jfree/jfreechart)** ★ 1.4k LGPL-2.1 🟠
2D chart library for Swing, JavaFX and server-side applications. > **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k EPL-2.0 🟢
Graph library that provides mathematical graph-theory objects and algorithms. > **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 MIT 🟢
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. -> **[LIBSVM](https://github.com/cjlin1/libsvm)** ★ 4.7k BSD-3-Clause 🟠
Support vector machine library with Java bindings and command-line tools. - > **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 Apache-2.0 🟢
Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. > **[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 Apache-2.0 🔴
Library for geophysical scientific computation, visualization and digital signal analysis. @@ -1754,12 +1753,23 @@ _Libraries for scientific computing, analysis and visualization._ > **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 GPL-3.0 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. -> **[Tablesaw](https://github.com/jtablesaw/tablesaw)** ★ 3.8k Apache-2.0 🟢
Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data. - > **[XChart](https://github.com/knowm/XChart)** ★ 1.6k Apache-2.0 🟢
Light-weight library for plotting data. Many customizable chart types are available.
+
+Scripting 3 projects + +_Tools and runtimes for using Java or Java-like languages as scripts._ + +> **[JBang](https://github.com/jbangdev/jbang)** ★ 1.8k MIT 🟢
JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. + +> **[JPad](https://jpad.io)**
Snippet runner. + +> **[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 449 🟢
Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. + +
+
-Serialization 4 projects +Serialization 12 projects _Libraries that handle serialization with high efficiency._ +> **[Apache Avro](https://github.com/apache/avro)** ★ 3.3k Apache-2.0 🟢
Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs. + > **[Apache Fory](https://github.com/apache/fory)** ★ 4.4k Apache-2.0 🟢
High-performance object graph serialization framework with JIT and zero-copy support. +> **[Apache Orc](https://github.com/apache/orc)** ★ 769 Apache-2.0 🟢
Fast and efficient columnar storage format for Hadoop-based workloads. + +> **[Apache Parquet](https://github.com/apache/parquet-java)** ★ 3.1k Apache-2.0 🟢
Columnar storage format based on assembly algorithms from Google's paper on Dremel. + +> **[Apache Thrift](https://github.com/apache/thrift)** ★ 10.9k Apache-2.0 🟢
Data interchange format that originated at Facebook. + > **[FlatBuffers](https://github.com/google/flatbuffers)** ★ 26.3k Apache-2.0 🟢
Memory-efficient serialization library that can access serialized data without unpacking and parsing it. > **[Kryo](https://github.com/EsotericSoftware/kryo)** ★ 6.5k BSD-3-Clause 🟢
Fast and efficient object graph serialization framework. > **[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k Apache-2.0 🟢
Efficient binary serialization format. +> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.6k 🟢
Google's data interchange format. + +> **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k Apache-2.0 🟢
Simple Binary Encoding, one of the fastest message formats around. + +> **[Wire](https://github.com/square/wire)** ★ 4.4k Apache-2.0 🟢
Clean, lightweight protocol buffers. + +> **[XMLBeam](https://github.com/SvenEwald/xmlbeam)** ★ 76 Apache-2.0 🟠
Processes XML by using annotations or XPath within code. +
@@ -1868,6 +1894,27 @@ _Servers specifically used to deploy applications._
+
+Spreadsheet 7 projects + +_Libraries for reading, writing and generating spreadsheet files._ + +> **[Apache Fesod](https://github.com/apache/fesod)** ★ 6.1k Apache-2.0 🟢
Memory-efficient library for reading and writing large spreadsheet files. + +> **[Apache POI](https://github.com/apache/poi)** ★ 2.3k 🟢
Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). + +> **[fastexcel](https://github.com/dhatim/fastexcel)** ★ 908 🟢
High performance library to read and write large Excel (XLSX) worksheets. + +> **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Apache-2.0 🟢
Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. + +> **[Jxls](https://github.com/jxlsteam/jxls)** ★ 523 Apache-2.0 🟠
Generates Excel reports from spreadsheet templates. + +> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 62 Apache-2.0 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. + +> **[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 Apache-2.0 🔴
Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. + +
+
Template Engine 9 projects @@ -1894,28 +1941,10 @@ _Tools that substitute expressions in a template._
-Testing 56 projects +Testing 54 projects _Tools that test from model to the view._ -#### Asynchronous 7 projects - -_Tools that simplify testing asynchronous services._ - -> **[Awaitility](https://github.com/awaitility/awaitility)** ★ 4.0k Apache-2.0 🟠
DSL for synchronizing asynchronous operations. - -> **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 Apache-2.0 🔴
Toolkit for testing multi-threaded and asynchronous applications. - -> **[GreenMail](https://github.com/greenmail-mail-test/greenmail)** ★ 740 Apache-2.0 🟢
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. - -> **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 Apache-2.0 🟢
Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - -> **[Karate](https://github.com/karatelabs/karate)** ★ 8.9k MIT 🟢
DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. - -> **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k Apache-2.0 🟢
DSL for easy testing of REST/HTTP services. - -> **[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 Apache-2.0 🟠
Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. - #### BDD 6 projects _Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD._ @@ -1948,37 +1977,47 @@ _Everything related to the creation and handling of random data._ > **[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 Apache-2.0 🟢
JUnit test runner and plugins for running JUnit tests with pseudo-randomness. -#### Frameworks 15 projects +#### Frameworks 7 projects _Provide environments to run tests for a specific use case._ -> **[Apache JMeter](https://github.com/apache/jmeter)** ★ 9.5k Apache-2.0 🟢
Functional testing and performance measurements. +> **[BitDive Java Agent](https://github.com/bitDive/java-producer)** ★ 87 🟢
Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. -> **[Arquillian](https://github.com/arquillian/arquillian-core)** ★ 387 Apache-2.0 🟢
Integration and functional testing platform for Java EE containers. +> **[jqwik](https://github.com/jqwik-team/jqwik)** ★ 837 EPL-2.0 🟢
Engine for property-based testing built on JUnit 5. -> **[BitDive Java Agent](https://github.com/bitDive/java-producer)** ★ 87 🟢
Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. +> **[JUnit](https://github.com/junit-team/junit-framework)** ★ 7.1k EPL-2.0 🟢
Common testing framework. + +> **[PIT](https://github.com/hcoles/pitest)** ★ 1.8k Apache-2.0 🟢
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. + +> **[Robolectric](https://github.com/robolectric/robolectric)** ★ 6.0k 🟢
Runs Android tests on the JVM without an emulator or device. + +> **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k Apache-2.0 🟢
Browser automation framework and ecosystem. + +> **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 11 🟢
Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. + +#### Integration 11 projects + +_Tools for integration, service and contract testing._ + +> **[Arquillian](https://github.com/arquillian/arquillian-core)** ★ 387 Apache-2.0 🟢
Integration and functional testing platform for Java EE containers. > **[cdi-test](https://github.com/guhilling/cdi-test)** ★ 31 Apache-2.0 🟢
JUnit extension for easy and efficient testing of CDI components. > **[Citrus](https://github.com/citrusframework/citrus)** ★ 485 Apache-2.0 🟢
Integration testing framework that focuses on both client- and server-side messaging. -> **[Gatling](https://github.com/gatling/gatling)** ★ 6.9k Apache-2.0 🟢
Load testing tool designed for ease of use, maintainability and high performance. - -> **[JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl)** ★ 535 Apache-2.0 🟢
Load tests with JMeter as simple as a JUnit test. +> **[GreenMail](https://github.com/greenmail-mail-test/greenmail)** ★ 740 Apache-2.0 🟢
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. -> **[jqwik](https://github.com/jqwik-team/jqwik)** ★ 837 EPL-2.0 🟢
Engine for property-based testing built on JUnit 5. +> **[Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java)** ★ 176 Apache-2.0 🟢
Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. -> **[JUnit](https://github.com/junit-team/junit-framework)** ★ 7.1k EPL-2.0 🟢
Common testing framework. +> **[Karate](https://github.com/karatelabs/karate)** ★ 8.9k MIT 🟢
DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. > **[Pact JVM](https://github.com/DiUS/pact-jvm)** ★ 1.1k Apache-2.0 🟢
Consumer-driven contract testing. -> **[PIT](https://github.com/hcoles/pitest)** ★ 1.8k Apache-2.0 🟢
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. - -> **[Robolectric](https://github.com/robolectric/robolectric)** ★ 6.0k 🟢
Runs Android tests on the JVM without an emulator or device. +> **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k Apache-2.0 🟢
DSL for easy testing of REST/HTTP services. -> **[selenium](https://github.com/SeleniumHQ/selenium)** ★ 34.3k Apache-2.0 🟢
Browser automation framework and ecosystem. +> **[Testcontainers](https://github.com/testcontainers/testcontainers-java)** ★ 8.7k MIT 🟢
Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. -> **[Selenium Boot](https://github.com/seleniumboot/selenium-boot)** ★ 11 🟢
Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report. +> **[WebTau](https://github.com/testingisdocumenting/webtau)** ★ 383 Apache-2.0 🟠
Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. > **[weld-testing](https://github.com/weld/weld-testing)** ★ 116 Apache-2.0 🟢
Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5. @@ -1994,13 +2033,15 @@ _Libraries that provide custom matchers._ > **[XMLUnit](https://github.com/xmlunit/xmlunit)** ★ 319 Apache-2.0 🟢
Simplifies testing for XML output. -#### Miscellaneous 12 projects +#### Miscellaneous 11 projects _Other stuff related to testing._ -> **[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 Apache-2.0 🟢
Captures console output for unit testing purposes. +> **[Awaitility](https://github.com/awaitility/awaitility)** ★ 4.0k Apache-2.0 🟠
DSL for synchronizing asynchronous operations. + +> **[ConcurrentUnit](https://github.com/jhalterman/concurrentunit)** ★ 419 Apache-2.0 🔴
Toolkit for testing multi-threaded and asynchronous applications. -> **[Java Evolved](https://github.com/javaevolved/javaevolved.github.io)** ★ 374 MIT 🟢
Side-by-side comparisons of legacy and modern Java patterns. +> **[ConsoleCaptor](https://github.com/Hakky54/console-captor)** ★ 35 Apache-2.0 🟢
Captures console output for unit testing purposes. > **[junit-dataprovider](https://github.com/TNG/junit-dataprovider)** ★ 249 Apache-2.0 🟠
TestNG-like data provider/runner for JUnit. @@ -2010,8 +2051,6 @@ _Other stuff related to testing._ > **[LogCaptor](https://github.com/Hakky54/log-captor)** ★ 432 Apache-2.0 🟢
Captures log entries for unit testing purposes. -> **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Apache-2.0 🟠
Reports whether instances of a given class are immutable. - > **[Selfie](https://github.com/diffplug/selfie)** ★ 100 Apache-2.0 🟢
Snapshot testing (inline and on disk). > **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 MIT 🟠
Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. @@ -2020,8 +2059,6 @@ _Other stuff related to testing._ > **[test-watch-maven-plugin](https://github.com/albilu/test-watch-maven-plugin)** ★ 1 MIT 🟢
Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution. -> **[Testcontainers](https://github.com/testcontainers/testcontainers-java)** ★ 8.7k MIT 🟢
Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. - #### Mocking 6 projects _Tools which mock collaborators to help testing single, isolated units._ @@ -2038,32 +2075,32 @@ _Tools which mock collaborators to help testing single, isolated units._ > **[WireMock](https://github.com/wiremock/wiremock)** ★ 7.3k Apache-2.0 🟢
Stubs and mocks web services. +#### Performance 3 projects + +_Tools for load and performance testing._ + +> **[Apache JMeter](https://github.com/apache/jmeter)** ★ 9.5k Apache-2.0 🟢
Functional testing and performance measurements. + +> **[Gatling](https://github.com/gatling/gatling)** ★ 6.9k Apache-2.0 🟢
Load testing tool designed for ease of use, maintainability and high performance. + +> **[JMeter DSL.java](https://github.com/abstracta/jmeter-java-dsl)** ★ 535 Apache-2.0 🟢
Load tests with JMeter as simple as a JUnit test. +
-Utility 25 projects +Utility 16 projects _Libraries which provide general utility functions._ -> **[Arthas](https://github.com/alibaba/arthas)** ★ 37.5k Apache-2.0 🟢
Allows to troubleshoot production issues for applications without modifying code or restarting servers. - > **[bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j)** ★ 2.8k Apache-2.0 🟢
Rate limiting library based on token-bucket algorithm. > **[cactoos](https://github.com/yegor256/cactoos)** ★ 777 MIT 🟢
Collection of object-oriented primitives. -> **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 Apache-2.0 🔴
Generates postman collection, environment and integration tests from java code. - -> **[dregex](https://github.com/marianobarrios/dregex)** ★ 55 BSD-2-Clause 🟠
Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - -> **[Embulk](https://github.com/embulk/embulk)** ★ 1.8k Apache-2.0 🟢
Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services. - > **[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 Apache-2.0 🟢
Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. -> **[Gephi](https://github.com/gephi/gephi)** ★ 6.6k GPL-3.0 🟢
Cross-platform for visualizing and manipulating large graph networks. - > **[Guava](https://github.com/google/guava)** ★ 51.5k Apache-2.0 🟢
Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. -> **[JADE](https://jade.tilab.com)**
Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) +> **[ISBN core](https://github.com/ladutsko/isbn-core)** ★ 5 MIT 🟢
A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. > **[Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils)** ★ 1.5k Apache-2.0 🟢
Utilities for text or data comparison and patching. @@ -2073,24 +2110,16 @@ _Libraries which provide general utility functions._ > **[java-util](https://github.com/jdereg/java-util)** ★ 440 Apache-2.0 🟢
Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. -> **[Javadoc Publisher](https://github.com/MathieuSoysal/Javadoc-publisher.yml)** ★ 57 Apache-2.0 🟠
Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page. - -> **[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k MIT 🟢
Library that helps with constructing difficult regular expressions. - -> **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 MIT 🟠
Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. +> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 Apache-2.0 🟢
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. -> **[JGit](https://github.com/eclipse-jgit/jgit)** ★ 413 🟢
Lightweight, pure Java library implementing the Git version control system. +> **[Jimfs](https://github.com/google/jimfs)** ★ 2.6k Apache-2.0 🟢
In-memory file system. > **[JKScope](https://github.com/evpl/jkscope)** ★ 23 Apache-2.0 🔴
Java scope functions inspired by Kotlin. -> **[minio-java](https://github.com/minio/minio-java)** ★ 1.3k Apache-2.0 🟢
Provides simple APIs to access any Amazon S3-compatible object storage server. - -> **[Protégé](https://github.com/protegeproject/protege)** ★ 1.4k 🟠
Provides an ontology editor and a framework to build knowledge-based systems. +> **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 MIT 🟠
Small utility library for using handlers and commands with pipelines. > **[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 MIT 🟢
Lightweight library that helps you handling semantic versioning with different modes. -> **[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 Apache-2.0 🟢
Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. - > **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 MIT 🟢
Port of Underscore.js functions. > **[Zip4j](https://github.com/srikanth-lingala/zip4j)** ★ 2.2k Apache-2.0 🟠
Reads, writes, encrypts and streams ZIP files. @@ -2192,7 +2221,7 @@ _Engines for orchestrating long-running workflows and business processes._ ## Resources
-Communities 2 links +Communities 3 links _Active discussions._ +> **[foojay.io](https://foojay.io)** + > **[r/java](https://www.reddit.com/r/java/)**
Subreddit for the Java community. > **[Stack Overflow](https://stackoverflow.com/questions/tagged/java)**
Question/answer platform.
-
-Frontends 1 link +
+Guides and References 10 links -_Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one._ +_Guides, tutorials, examples and practical references for Java developers._ -> **[java.libhunt.com](https://java.libhunt.com)** +> **[Design Patterns](https://github.com/iluwatar/java-design-patterns)**
Implementation and explanation of the most common design patterns. + +> **[FizzBuzz Enterprise Edition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)**
No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) + +> **[Google Java Style](https://google.github.io/styleguide/javaguide.html)** + +> **[Java Algorithms and Clients](https://algs4.cs.princeton.edu/code)** + +> **[Java Concurrency Checklist](https://github.com/code-review-checklists/java-concurrency)** + +> **[Java Developer Roadmap](https://github.com/s4kibs4mi/java-developer-roadmap)** + +> **[Java Evolved](https://github.com/javaevolved/javaevolved.github.io)**
Side-by-side comparisons of legacy and modern Java patterns. + +> **[Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial)**
Popular Java 8 guide. + +> **[TheCodeForge Java Tutorials](https://thecodeforge.io/java/)** + +> **[Which JDK](https://github.com/whichjdk/whichjdk.com)**
Overview of common JVMs with pros and cons.
@@ -2364,7 +2409,7 @@ _Active accounts to follow. Descriptions from their socials._
-Websites 15 links +Websites 12 links _Sites to read._ @@ -2372,16 +2417,12 @@ _Sites to read._ > **[Dzone](https://dzone.com)** -> **[foojay.io](https://foojay.io)** - -> **[Google Java Style](https://google.github.io/styleguide/javaguide.html)** - > **[InfoQ](https://www.infoq.com)** -> **[Java Algorithms and Clients](https://algs4.cs.princeton.edu/code)** - > **[Java, SQL, and jOOQ](https://blog.jooq.org)** +> **[java.libhunt.com](https://java.libhunt.com)** + > **[Java.net](https://community.oracle.com/community/java)** > **[Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news)** @@ -2392,8 +2433,6 @@ _Sites to read._ > **[RebelLabs](https://zeroturnaround.com/rebellabs)** -> **[TheCodeForge Java Tutorials](https://thecodeforge.io/java/)** - > **[TheServerSide.com](https://www.theserverside.com)** > **[Vanilla Java](https://vanilla-java.github.io)** From d33cf2f7154c63c00644df308e8f1cf4620b05d8 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 28 Jul 2026 12:06:06 +0200 Subject: [PATCH 527/533] Update modern Java recommendations --- README_SOURCE.md | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/README_SOURCE.md b/README_SOURCE.md index 6a677513..99d5e2b0 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -18,6 +18,7 @@ _Frameworks and libraries that help implementing and verifying design and archit - [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. - [jQAssistant](https://github.com/jQAssistant/jqassistant) - Static code analysis with Neo4J-based query language. +- [Taikai](https://github.com/enofex/taikai) - ArchUnit extension with predefined architecture rules for common Java technologies. ### Artificial Intelligence @@ -53,7 +54,7 @@ _Frameworks that ease bean mapping._ _Libraries and frameworks for building chatbots and messaging-platform bots._ - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. -- [JDA](https://github.com/DV8FromTheWorld/JDA) - Wrapping of the Discord REST API and its WebSocket events. +- [JDA](https://github.com/discord-jda/JDA) - Wrapping of the Discord REST API and its WebSocket events. - [Nyagram](https://github.com/kaleert/nyagram) - Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. - [TelegramBots](https://github.com/rubenlagus/TelegramBots) - Java library for building bots with the Telegram Bot API. @@ -127,7 +128,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ _Libraries to integrate or use cloud-specific features._ -- [AWS SDK for Java](https://github.com/aws/aws-sdk-java) - Provides Java APIs for interacting with Amazon Web Services. +- [AWS SDK for Java 2.x](https://github.com/aws/aws-sdk-java-v2) - Official 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. - [Java Operator SDK](https://github.com/operator-framework/java-operator-sdk) - SDK for implementing Kubernetes operators in Java. - [kubernetes-client](https://github.com/fabric8io/kubernetes-client) - Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL. @@ -226,7 +227,7 @@ _Libraries that provide external configuration._ - [KAConf](https://github.com/mariomac/kaconf) - Annotation-based configuration system for Java and Kotlin. - [microconfig](https://github.com/microconfig/microconfig) - 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. - [NightConfig](https://github.com/TheElectronWill/night-config) - Configuration library supporting TOML, YAML, HOCON, JSON and in-memory formats. -- [owner](https://github.com/lviggiano/owner) - Reduces boilerplate of properties. +- [owner](https://github.com/matteobaccan/owner) - Reduces boilerplate of properties. - [sealed-env](https://github.com/davidalmeidac/sealed-env) - Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. ### Constraint Satisfaction Problem Solver @@ -400,7 +401,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u - [Atomikos](https://github.com/atomikos/transactions-essentials) - Provides transactions for REST, SOA and microservices with support for JTA and XA. - [Bitronix](https://github.com/bitronix/btm) - Simple but complete implementation of the JTA 1.1 API. - [Narayana](https://github.com/jbosstm/narayana) - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. -- [Seata](https://github.com/seata/seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. +- [Seata](https://github.com/apache/incubator-seata) - Delivers high performance and easy to use distributed transaction services under a microservices architecture. ### Distribution @@ -412,7 +413,7 @@ _Tools that handle the distribution of applications in native formats._ - [Cloudsmith](https://cloudsmith.io) - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. - [Getdown](https://github.com/threerings/getdown) - System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. - [IzPack](https://github.com/izpack/izpack) - Setup authoring tool for cross-platform deployments. -- [JavaPackager](https://github.com/fvarrui/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +- [JavaPackager](https://github.com/javapackager/JavaPackager) - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. - [jDeploy](https://github.com/shannah/jdeploy) - Deploy desktop apps as native Mac, Windows or Linux bundles. - [jlink.online](https://github.com/AdoptOpenJDK/jlink.online) - Builds optimized runtimes over HTTP. - [Nuts](https://github.com/thevpc/nuts) - Installs and runs Java applications from Maven repositories, reusing descriptors and provisioning required JDKs. @@ -436,8 +437,10 @@ _Libraries that assist with processing office document formats._ _Libraries and SDKs for evaluating and managing feature flags._ - [FF4J](https://github.com/ff4j/ff4j) - Feature Flags for Java. +- [OpenFeature Java SDK](https://github.com/open-feature/java-sdk) - Vendor-neutral API for evaluating feature flags in Java applications. - [Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java) - Java SDK for evaluating Rollgate feature flags with real-time configuration updates. - [Togglz](https://github.com/togglz/togglz) - Implementation of the Feature Toggles pattern. +- [Unleash Java SDK](https://github.com/Unleash/unleash-java-sdk) - Java client SDK for the Unleash feature management platform. ### Financial @@ -445,6 +448,7 @@ _Libraries related to the financial domain._ - [Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot) - Trading bot framework. - [Joda-Money](https://github.com/JodaOrg/joda-money) - Basic currency and money classes and algorithms not provided by the JDK. +- [OpenGamma Strata](https://github.com/OpenGamma/Strata) - Analytics and market risk library for financial products. - [Philadelphia](https://github.com/paritytrading/philadelphia) - Low-latency financial information exchange. - [Stripe](https://github.com/stripe/stripe-java) - Integration with the Stripe API. - [ta4j](https://github.com/ta4j/ta4j) - Library for technical analysis. @@ -530,9 +534,9 @@ _Libraries to create modern graphical user interfaces._ _Everything about high-performance computation, from collections to specific libraries._ -- [Agrona](https://github.com/real-logic/Agrona) - Data structures and utility methods that are common in high-performance applications. +- [Agrona](https://github.com/aeron-io/agrona) - Data structures and utility methods that are common in high-performance applications. - [Disruptor](https://github.com/LMAX-Exchange/disruptor) - Inter-thread messaging library. -- [Eclipse Collections](https://github.com/eclipse/eclipse-collections) - Collections framework inspired by Smalltalk. +- [Eclipse Collections](https://github.com/eclipse-collections/eclipse-collections) - Collections framework inspired by Smalltalk. - [fastutil](https://github.com/vigna/fastutil) - Fast and compact type-specific collections. - [HPPC](https://github.com/carrotsearch/hppc) - Primitive collections. - [Hollow](https://github.com/Netflix/hollow) - High-performance in-memory datasets distributed from a single producer to many consumers. @@ -548,11 +552,12 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ - [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. - [methanol](https://github.com/mizosoft/methanol) - HTTP client extensions library. +- [OkHttp](https://github.com/lysine-dev/okhttp) - HTTP client for the JVM, Android and GraalVM. - [Retrofit](https://github.com/lysine-dev/retrofit) - Typesafe REST client. - [Ribbon](https://github.com/Netflix/ribbon) - Client-side IPC library that is battle-tested in the cloud. - [Riptide](https://github.com/zalando/riptide) - Client-side response routing for Spring's RestTemplate. - [unirest-java](https://github.com/Kong/unirest-java) - Simplified, lightweight HTTP client library. -- [JQuickCurl](https://github.com/paohaijiao/jquick-curl) - Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. +- [JQuickCurl](https://github.com/paohaijiao-jquick/jquick-curl) - Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. ### IDE @@ -625,7 +630,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ _Current implementations of the JVM/JDK._ -- [Adopt Open JDK](https://adoptopenjdk.net) - Community-driven OpenJDK builds, including both HotSpot and OpenJ9. +- [Eclipse Temurin](https://github.com/adoptium/temurin-build) - OpenJDK distribution from the Eclipse Adoptium project. - [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) @@ -675,14 +680,14 @@ _Tools that provide specific statistical algorithms for learning from data._ _Tools that help send messages between clients to ensure protocol independency._ -- [Aeron](https://github.com/real-logic/Aeron) - Efficient, reliable, unicast and multicast message transport. +- [Aeron](https://github.com/aeron-io/aeron) - Efficient, reliable, unicast and multicast message transport. - [Apache ActiveMQ](https://github.com/apache/activemq) - Message broker that implements JMS and converts synchronous to asynchronous communication. - [Apache Camel](https://github.com/apache/camel) - Glues together different transport APIs via Enterprise Integration Patterns. - [Apache Kafka](https://github.com/apache/kafka) - High-throughput distributed messaging system. - [Apache Pulsar](https://github.com/apache/pulsar) - Distributed pub/sub-messaging system. - [Apache RocketMQ](https://github.com/apache/rocketmq) - Fast, reliable, and scalable distributed messaging platform. - [Apache Qpid for Java](https://qpid.apache.org) - Java messaging clients and brokers implementing AMQP. -- [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +- [AutoMQ](https://github.com/AutoMQ/automq) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. - [CloudEvents Java SDK](https://github.com/cloudevents/sdk-java) - Java SDK for creating, serializing and transporting CloudEvents. - [Emissary](https://github.com/joel-jeremy/emissary) - Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. - [Hermes](https://github.com/allegro/hermes) - Fast and reliable message broker built on top of Kafka. @@ -721,6 +726,7 @@ _Everything else._ _Tools for creating or managing mobile applications._ - [Codename One](https://github.com/codenameone/CodenameOne) - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +- [Gluon Substrate](https://github.com/gluonhq/substrate) - Builds native JavaFX applications for desktop, mobile and embedded targets. - [MobileUI](https://github.com/MobileUI/mobileui) - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. - [Multi-OS Engine](https://github.com/multi-os-engine/multi-os-engine) - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. @@ -765,6 +771,7 @@ _For working with platform-specific native libraries._ _Libraries that specialize in processing text._ +- [Apache OpenNLP](https://github.com/apache/opennlp) - Toolkit for machine-learning-based natural language processing. - [CoreNLP](https://github.com/stanfordnlp/CoreNLP) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. - [DKPro](https://github.com/dkpro/dkpro-core) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. - [Hypherator](https://github.com/ejossev/hypherator-java) - Java hyphenation library with iterator-like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in. @@ -840,16 +847,16 @@ _Tools to help with PDF files._ - [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenDataLoader PDF](https://github.com/opendataloader-project/opendataloader-pdf) - Parses PDFs into structured Markdown, JSON and HTML through a Java API and command line. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -- [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. - ### Performance analysis _Tools for performance analysis, profiling and benchmarking._ +- [async-profiler](https://github.com/async-profiler/async-profiler) - Low-overhead sampling profiler for CPU, allocation and lock analysis on the JVM. - [fastThread](https://fastthread.io) - Analyze and visualize thread dumps with a free cloud-based upload interface. - [GCeasy](https://gceasy.io) - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. - [Heap Seance](https://github.com/SegfaultSorcerer/heap-seance) - Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. - [jHiccup](https://github.com/giltene/jHiccup) - Logs and records platform JVM stalls. +- [JDK Mission Control](https://github.com/openjdk/jmc) - Profiling and diagnostics suite for JVM applications using Java Flight Recorder. - [JITWatch](https://github.com/AdoptOpenJDK/jitwatch) - Analyze the JIT compiler optimisations made by the HotSpot JVM. - [JMH](https://github.com/openjdk/jmh) - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. - [LatencyUtils](https://github.com/LatencyUtils/LatencyUtils) - Utilities for latency measurement and reporting. @@ -864,7 +871,6 @@ _Frameworks that are suites of multiple libraries encompassing several categorie - [BCEL](https://github.com/apache/commons-bcel) - Byte Code Engineering Library - analyze, create, and manipulate Java class files. - [BeanUtils](https://github.com/apache/commons-beanutils) - Easy-to-use wrappers around the Java reflection and introspection APIs. -- [BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/) - Redesign of Commons BeanUtils. - [BSF](https://github.com/apache/commons-bsf) - Bean Scripting Framework - interface to scripting languages, including JSR-223. - [ClassScan](https://commons.apache.org/sandbox/commons-classscan/) - Find Class interfaces, methods, fields, and annotations without loading. - [CLI](https://github.com/apache/commons-cli) - Command-line arguments parser. @@ -932,7 +938,7 @@ _Libraries that help the management of operating system processes._ _Java proxy and gateway servers for routing and mediating traffic._ - [LittleProxy](https://github.com/LittleProxy/LittleProxy) - High performance HTTP proxy atop Netty's event-based networking library. -- [Membrane Service Proxy](https://github.com/membrane/service-proxy) - Open-source, reverse-proxy framework. +- [Membrane Service Proxy](https://github.com/membrane/api-gateway) - Open-source, reverse-proxy framework. - [OpenIG](https://github.com/OpenIdentityPlatform/OpenIG) - High-performance reverse proxy server with specialized session management and credential replay functionality. - [Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway) - API gateway built on Spring Framework and Spring Boot. - [Zuul](https://github.com/Netflix/zuul) - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more. @@ -953,6 +959,7 @@ _Libraries and engines for building and evaluating regular expressions._ - [dregex](https://github.com/marianobarrios/dregex) - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations. - [JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions) - Library that helps with constructing difficult regular expressions. +- [RE2/J](https://github.com/google/re2j) - Java port of RE2 providing linear-time regular expression matching. - [Sift](https://github.com/Mirkoddd/Sift) - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention. ### REST Frameworks @@ -978,7 +985,7 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ - [BioJava](https://github.com/biojava/biojava) - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -- [Chart-FX](https://github.com/GSI-CS-CO/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +- [Chart-FX](https://github.com/fair-acc/chart-fx) - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. - [DataMelt](https://datamelt.org/) - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) - [Erdos](https://github.com/Erdos-Graph-Framework/Erdos) - Modular, light and easy graph framework for theoretic algorithms. - [Gephi](https://github.com/gephi/gephi) - Cross-platform for visualizing and manipulating large graph networks. @@ -1054,7 +1061,7 @@ _Libraries that handle serialization with high efficiency._ - [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. - [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. - [Protobuf](https://github.com/protocolbuffers/protobuf) - Google's data interchange format. -- [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. +- [SBE](https://github.com/aeron-io/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. - [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. - [XMLBeam](https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code. @@ -1114,7 +1121,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. - [Datafaker](https://github.com/datafaker-net/datafaker) - Modern fake data generator forked from Java Faker. -- [jFairy](https://github.com/Devskiller/jfairy) - Fake data generator. +- [jFairy](https://github.com/SkillPanel/jfairy) - Fake data generator. - [Instancio](https://github.com/instancio/instancio) - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. - [Randomized Testing](https://github.com/randomizedtesting/randomizedtesting) - JUnit test runner and plugins for running JUnit tests with pseudo-randomness. - [JMock](https://github.com/xcancloud/JMock) - JMock is a high-performance data generation and simulation component library implemented in Java. @@ -1141,7 +1148,7 @@ _Tools for integration, service and contract testing._ - [GreenMail](https://github.com/greenmail-mail-test/greenmail) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. - [Hoverfly Java](https://github.com/SpectoLabs/hoverfly-java) - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services. - [Karate](https://github.com/karatelabs/karate) - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -- [Pact JVM](https://github.com/DiUS/pact-jvm) - Consumer-driven contract testing. +- [Pact JVM](https://github.com/pact-foundation/pact-jvm) - Consumer-driven contract testing. - [REST Assured](https://github.com/rest-assured/rest-assured) - DSL for easy testing of REST/HTTP services. - [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. - [WebTau](https://github.com/testingisdocumenting/webtau) - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. @@ -1195,7 +1202,7 @@ _Tools for load and performance testing._ _Libraries which provide general utility functions._ -- [bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j) - Rate limiting library based on token-bucket algorithm. +- [bucket4j](https://github.com/bucket4j/bucket4j) - Rate limiting library based on token-bucket algorithm. - [cactoos](https://github.com/yegor256/cactoos) - Collection of object-oriented primitives. - [fswatch](https://github.com/vorburger/ch.vorburger.fswatch) - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. - [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more. @@ -1246,6 +1253,7 @@ _Frameworks that handle the communication between the layers of a web applicatio - [Play](https://github.com/playframework/playframework) - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala. - [PrimeFaces](https://github.com/primefaces/primefaces) - JSF framework with both free and commercial/support versions and frontend components. - [Ratpack](https://github.com/ratpack/ratpack) - Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. +- [Spring Boot](https://github.com/spring-projects/spring-boot) - Framework for creating stand-alone, production-grade Spring applications. - [Takes](https://github.com/yegor256/takes) - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. - [tinystruct](https://github.com/tinystruct/tinystruct) - Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. - [Vaadin](https://vaadin.com) - Full-stack Java platform for building browser applications with server-side components. From 34428b061ac9d103d8794488de71cbdb0e3b8efe Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 10:06:38 +0000 Subject: [PATCH 528/533] Update README with latest GitHub stats --- README.md | 88 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 53 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index f8e9c75a..1b58deaa 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. -800 projects · 80 categories · 85 resources +809 projects · 80 categories · 85 resources Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months @@ -15,7 +15,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. ## Projects
-Architecture 3 projects +Architecture 4 projects _Frameworks and libraries that help implementing and verifying design and architecture concepts._ @@ -25,6 +25,8 @@ _Frameworks and libraries that help implementing and verifying design and archit > **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 GPL-3.0 🟢
Static code analysis with Neo4J-based query language. +> **[Taikai](https://github.com/enofex/taikai)** ★ 244 MIT 🟢
ArchUnit extension with predefined architecture rules for common Java technologies. +
@@ -86,7 +88,7 @@ _Libraries and frameworks for building chatbots and messaging-platform bots._ > **[JBot](https://github.com/rampatra/jbot)** ★ 1.2k GPL-3.0 🟠
Framework for building chatbots. -> **[JDA](https://github.com/DV8FromTheWorld/JDA)** ★ 4.7k Apache-2.0 🟢
Wrapping of the Discord REST API and its WebSocket events. +> **[JDA](https://github.com/discord-jda/JDA)** ★ 4.7k Apache-2.0 🟢
Wrapping of the Discord REST API and its WebSocket events. > **[Nyagram](https://github.com/kaleert/nyagram)** ★ 8 MIT 🟢
Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21. @@ -209,7 +211,7 @@ _Libraries that provide TUI frameworks, or building blocks related functions._ _Libraries to integrate or use cloud-specific features._ -> **[AWS SDK for Java](https://github.com/aws/aws-sdk-java)** ★ 4.2k Apache-2.0 🟠
Provides Java APIs for interacting with Amazon Web Services. +> **[AWS SDK for Java 2.x](https://github.com/aws/aws-sdk-java-v2)** ★ 2.6k Apache-2.0 🟢
Official Java APIs for interacting with Amazon Web Services. > **[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k Apache-2.0 🟢
Client libraries for accessing Google Cloud services from Java applications. @@ -386,7 +388,7 @@ _Libraries that provide external configuration._ > **[NightConfig](https://github.com/TheElectronWill/night-config)** ★ 283 LGPL-3.0 🟢
Configuration library supporting TOML, YAML, HOCON, JSON and in-memory formats. -> **[owner](https://github.com/lviggiano/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. +> **[owner](https://github.com/matteobaccan/owner)** ★ 939 BSD-3-Clause 🟢
Reduces boilerplate of properties. > **[sealed-env](https://github.com/davidalmeidac/sealed-env)** ★ 9 MIT 🟢
Encrypts environment files with a shared Node.js and Java/Spring Boot format plus optional TOTP unsealing. @@ -698,7 +700,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u > **[Narayana](https://github.com/jbosstm/narayana)** ★ 265 Apache-2.0 🟢
Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. -> **[Seata](https://github.com/seata/seata)** ★ 26.0k Apache-2.0 🟢
Delivers high performance and easy to use distributed transaction services under a microservices architecture. +> **[Seata](https://github.com/apache/incubator-seata)** ★ 26.0k Apache-2.0 🟢
Delivers high performance and easy to use distributed transaction services under a microservices architecture.
@@ -719,7 +721,7 @@ _Tools that handle the distribution of applications in native formats._ > **[IzPack](https://github.com/izpack/izpack)** ★ 352 Apache-2.0 🟢
Setup authoring tool for cross-platform deployments. -> **[JavaPackager](https://github.com/fvarrui/JavaPackager)** ★ 1.2k GPL-3.0 🟠
Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. +> **[JavaPackager](https://github.com/javapackager/JavaPackager)** ★ 1.2k GPL-3.0 🟠
Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. > **[jDeploy](https://github.com/shannah/jdeploy)** ★ 414 Apache-2.0 🟢
Deploy desktop apps as native Mac, Windows or Linux bundles. @@ -755,20 +757,24 @@ _Libraries that assist with processing office document formats._
-Feature Flags 3 projects +Feature Flags 5 projects _Libraries and SDKs for evaluating and managing feature flags._ > **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k Apache-2.0 🟢
Feature Flags for Java. +> **[OpenFeature Java SDK](https://github.com/open-feature/java-sdk)** ★ 126 Apache-2.0 🟢
Vendor-neutral API for evaluating feature flags in Java applications. + > **[Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java)** ★ 3 MIT 🟢
Java SDK for evaluating Rollgate feature flags with real-time configuration updates. > **[Togglz](https://github.com/togglz/togglz)** ★ 1.0k Apache-2.0 🟢
Implementation of the Feature Toggles pattern. +> **[Unleash Java SDK](https://github.com/Unleash/unleash-java-sdk)** ★ 137 Apache-2.0 🟢
Java client SDK for the Unleash feature management platform. +
-Financial 7 projects +Financial 8 projects _Libraries related to the financial domain._ @@ -776,6 +782,8 @@ _Libraries related to the financial domain._ > **[Joda-Money](https://github.com/JodaOrg/joda-money)** ★ 679 Apache-2.0 🟠
Basic currency and money classes and algorithms not provided by the JDK. +> **[OpenGamma Strata](https://github.com/OpenGamma/Strata)** ★ 952 Apache-2.0 🟢
Analytics and market risk library for financial products. + > **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Apache-2.0 🟢
Low-latency financial information exchange. > **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 MIT 🟢
Integration with the Stripe API. @@ -925,11 +933,11 @@ _Libraries to create modern graphical user interfaces._ _Everything about high-performance computation, from collections to specific libraries._ -> **[Agrona](https://github.com/real-logic/Agrona)** ★ 3.2k Apache-2.0 🟢
Data structures and utility methods that are common in high-performance applications. +> **[Agrona](https://github.com/aeron-io/agrona)** ★ 3.2k Apache-2.0 🟢
Data structures and utility methods that are common in high-performance applications. > **[Disruptor](https://github.com/LMAX-Exchange/disruptor)** ★ 18.4k Apache-2.0 🔴
Inter-thread messaging library. -> **[Eclipse Collections](https://github.com/eclipse/eclipse-collections)** ★ 2.6k 🟢
Collections framework inspired by Smalltalk. +> **[Eclipse Collections](https://github.com/eclipse-collections/eclipse-collections)** ★ 2.6k 🟢
Collections framework inspired by Smalltalk. > **[fastutil](https://github.com/vigna/fastutil)** ★ 2.2k Apache-2.0 🟢
Fast and compact type-specific collections. @@ -944,7 +952,7 @@ _Everything about high-performance computation, from collections to specific lib
-HTTP Clients 10 projects +HTTP Clients 11 projects _Libraries that assist with creating HTTP requests and/or binding responses._ @@ -956,10 +964,12 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ > **[Google HTTP Client](https://github.com/googleapis/google-http-java-client)** ★ 1.4k Apache-2.0 🟢
Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf. -> **[JQuickCurl](https://github.com/paohaijiao/jquick-curl)** ★ 1.1k 🟢
Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. +> **[JQuickCurl](https://github.com/paohaijiao-jquick/jquick-curl)** ★ 1.1k 🟢
Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. > **[methanol](https://github.com/mizosoft/methanol)** ★ 298 MIT 🟠
HTTP client extensions library. +> **[OkHttp](https://github.com/lysine-dev/okhttp)** ★ 47.0k Apache-2.0 🟢
HTTP client for the JVM, Android and GraalVM. + > **[Retrofit](https://github.com/lysine-dev/retrofit)** ★ 43.9k Apache-2.0 🟢
Typesafe REST client. > **[Ribbon](https://github.com/Netflix/ribbon)** ★ 4.6k Apache-2.0 🟠
Client-side IPC library that is battle-tested in the cloud. @@ -1094,12 +1104,12 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ _Current implementations of the JVM/JDK._ -> **[Adopt Open JDK](https://adoptopenjdk.net)**
Community-driven OpenJDK builds, including both HotSpot and OpenJ9. - > **[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)** ★ 4.3k GPL-2.0 🟢
Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications. +> **[Eclipse Temurin](https://github.com/adoptium/temurin-build)** ★ 1.2k Apache-2.0 🟢
OpenJDK distribution from the Eclipse Adoptium project. + > **[Graal](https://github.com/oracle/graal)** ★ 21.7k 🟢
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) @@ -1185,7 +1195,7 @@ _Tools that provide specific statistical algorithms for learning from data._ _Tools that help send messages between clients to ensure protocol independency._ -> **[Aeron](https://github.com/real-logic/Aeron)** ★ 8.8k Apache-2.0 🟢
Efficient, reliable, unicast and multicast message transport. +> **[Aeron](https://github.com/aeron-io/aeron)** ★ 8.8k Apache-2.0 🟢
Efficient, reliable, unicast and multicast message transport. > **[Apache ActiveMQ](https://github.com/apache/activemq)** ★ 2.4k Apache-2.0 🟢
Message broker that implements JMS and converts synchronous to asynchronous communication. @@ -1199,7 +1209,7 @@ _Tools that help send messages between clients to ensure protocol independency._ > **[Apache RocketMQ](https://github.com/apache/rocketmq)** ★ 22.5k Apache-2.0 🟢
Fast, reliable, and scalable distributed messaging platform. -> **[AutoMQ](https://github.com/AutoMQ/automq-for-kafka)** ★ 10.3k Apache-2.0 🟢
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +> **[AutoMQ](https://github.com/AutoMQ/automq)** ★ 10.3k Apache-2.0 🟢
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. > **[CloudEvents Java SDK](https://github.com/cloudevents/sdk-java)** ★ 442 Apache-2.0 🟢
Java SDK for creating, serializing and transporting CloudEvents. @@ -1262,12 +1272,14 @@ _Everything else._
-Mobile Development 3 projects +Mobile Development 4 projects _Tools for creating or managing mobile applications._ > **[Codename One](https://github.com/codenameone/CodenameOne)** ★ 1.9k 🟢
Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) +> **[Gluon Substrate](https://github.com/gluonhq/substrate)** ★ 444 GPL-2.0 🟢
Builds native JavaFX applications for desktop, mobile and embedded targets. + > **[MobileUI](https://github.com/MobileUI/mobileui)** ★ 13 MIT 🔴
Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. > **[Multi-OS Engine](https://github.com/multi-os-engine/multi-os-engine)** ★ 596 Apache-2.0 🟢
Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps. @@ -1343,10 +1355,12 @@ _For working with platform-specific native libraries._
-Natural Language Processing 4 projects +Natural Language Processing 5 projects _Libraries that specialize in processing text._ +> **[Apache OpenNLP](https://github.com/apache/opennlp)** ★ 1.6k Apache-2.0 🟢
Toolkit for machine-learning-based natural language processing. + > **[CoreNLP](https://github.com/stanfordnlp/CoreNLP)** ★ 10.1k GPL-3.0 🟢
Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. > **[DKPro](https://github.com/dkpro/dkpro-core)** ★ 204 🟢
Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. @@ -1455,7 +1469,7 @@ _Java platform as a service._
-PDF 14 projects +PDF 13 projects _Tools to help with PDF files._ @@ -1485,23 +1499,25 @@ _Tools to help with PDF files._ > **[OpenPDF](https://github.com/LibrePDF/OpenPDF)** ★ 4.3k 🟢
Open-source iText fork. (LGPL-3.0-only & MPL-2.0) -> **[Tabula](https://github.com/tabulapdf/tabula-java)** ★ 2.0k MIT 🔴
Extracts tables from PDF files. -
-Performance analysis 9 projects +Performance analysis 11 projects _Tools for performance analysis, profiling and benchmarking._ > **[Argus](https://github.com/rlaope/Argus)** ★ 17 MIT 🟢
JVM diagnostics CLI for jcmd, JFR, async-profiler, heap analysis and machine-readable health verdicts. +> **[async-profiler](https://github.com/async-profiler/async-profiler)** ★ 9.1k Apache-2.0 🟢
Low-overhead sampling profiler for CPU, allocation and lock analysis on the JVM. + > **[fastThread](https://fastthread.io)**
Analyze and visualize thread dumps with a free cloud-based upload interface. > **[GCeasy](https://gceasy.io)**
Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface. > **[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 Apache-2.0 🟠
Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. +> **[JDK Mission Control](https://github.com/openjdk/jmc)** ★ 985 🟢
Profiling and diagnostics suite for JVM applications using Java Flight Recorder. + > **[jHiccup](https://github.com/giltene/jHiccup)** ★ 704 🟠
Logs and records platform JVM stalls. > **[JITWatch](https://github.com/AdoptOpenJDK/jitwatch)** ★ 3.3k 🟠
Analyze the JIT compiler optimisations made by the HotSpot JVM. @@ -1515,18 +1531,16 @@ _Tools for performance analysis, profiling and benchmarking._
-Platform 53 projects +Platform 52 projects _Frameworks that are suites of multiple libraries encompassing several categories._ -#### Apache Commons 50 projects +#### Apache Commons 49 projects > **[BCEL](https://github.com/apache/commons-bcel)** ★ 273 Apache-2.0 🟢
Byte Code Engineering Library - analyze, create, and manipulate Java class files. > **[BeanUtils](https://github.com/apache/commons-beanutils)** ★ 321 Apache-2.0 🟢
Easy-to-use wrappers around the Java reflection and introspection APIs. -> **[BeanUtils2](https://commons.apache.org/sandbox/commons-beanutils2/)**
Redesign of Commons BeanUtils. - > **[BSF](https://github.com/apache/commons-bsf)** ★ 32 Apache-2.0 🟢
Bean Scripting Framework - interface to scripting languages, including JSR-223. > **[ClassScan](https://commons.apache.org/sandbox/commons-classscan/)**
Find Class interfaces, methods, fields, and annotations without loading. @@ -1651,7 +1665,7 @@ _Java proxy and gateway servers for routing and mediating traffic._ > **[LittleProxy](https://github.com/LittleProxy/LittleProxy)** ★ 149 Apache-2.0 🟢
High performance HTTP proxy atop Netty's event-based networking library. -> **[Membrane Service Proxy](https://github.com/membrane/service-proxy)** ★ 626 Apache-2.0 🟢
Open-source, reverse-proxy framework. +> **[Membrane Service Proxy](https://github.com/membrane/api-gateway)** ★ 626 Apache-2.0 🟢
Open-source, reverse-proxy framework. > **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 🟢
High-performance reverse proxy server with specialized session management and credential replay functionality. @@ -1679,7 +1693,7 @@ _Libraries for developing reactive applications._
-Regular Expressions 3 projects +Regular Expressions 4 projects _Libraries and engines for building and evaluating regular expressions._ @@ -1687,6 +1701,8 @@ _Libraries and engines for building and evaluating regular expressions._ > **[JavaVerbalExpressions](https://github.com/VerbalExpressions/JavaVerbalExpressions)** ★ 2.6k MIT 🟢
Library that helps with constructing difficult regular expressions. +> **[RE2/J](https://github.com/google/re2j)** ★ 1.3k 🟢
Java port of RE2 providing linear-time regular expression matching. + > **[Sift](https://github.com/Mirkoddd/Sift)** ★ 93 Apache-2.0 🟢
Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention.
@@ -1731,7 +1747,7 @@ _Libraries for scientific computing, analysis and visualization._ > **[BioJava](https://github.com/biojava/biojava)** ★ 627 LGPL-2.1 🟢
Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -> **[Chart-FX](https://github.com/GSI-CS-CO/chart-fx)** ★ 611 LGPL-3.0 🟠
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +> **[Chart-FX](https://github.com/fair-acc/chart-fx)** ★ 611 LGPL-3.0 🟠
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. > **[DataMelt](https://datamelt.org/)**
Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) @@ -1871,7 +1887,7 @@ _Libraries that handle serialization with high efficiency._ > **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.6k 🟢
Google's data interchange format. -> **[SBE](https://github.com/real-logic/simple-binary-encoding)** ★ 3.5k Apache-2.0 🟢
Simple Binary Encoding, one of the fastest message formats around. +> **[SBE](https://github.com/aeron-io/simple-binary-encoding)** ★ 3.5k Apache-2.0 🟢
Simple Binary Encoding, one of the fastest message formats around. > **[Wire](https://github.com/square/wire)** ★ 4.4k Apache-2.0 🟢
Clean, lightweight protocol buffers. @@ -1971,7 +1987,7 @@ _Everything related to the creation and handling of random data._ > **[Instancio](https://github.com/instancio/instancio)** ★ 1.2k Apache-2.0 🟢
Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension. -> **[jFairy](https://github.com/Devskiller/jfairy)** ★ 742 Apache-2.0 🟢
Fake data generator. +> **[jFairy](https://github.com/SkillPanel/jfairy)** ★ 742 Apache-2.0 🟢
Fake data generator. > **[JMock](https://github.com/xcancloud/JMock)** ★ 212 Apache-2.0 🟢
JMock is a high-performance data generation and simulation component library implemented in Java. @@ -2011,7 +2027,7 @@ _Tools for integration, service and contract testing._ > **[Karate](https://github.com/karatelabs/karate)** ★ 8.9k MIT 🟢
DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy. -> **[Pact JVM](https://github.com/DiUS/pact-jvm)** ★ 1.1k Apache-2.0 🟢
Consumer-driven contract testing. +> **[Pact JVM](https://github.com/pact-foundation/pact-jvm)** ★ 1.1k Apache-2.0 🟢
Consumer-driven contract testing. > **[REST Assured](https://github.com/rest-assured/rest-assured)** ★ 7.1k Apache-2.0 🟢
DSL for easy testing of REST/HTTP services. @@ -2092,7 +2108,7 @@ _Tools for load and performance testing._ _Libraries which provide general utility functions._ -> **[bucket4j](https://github.com/vladimir-bukhtoyarov/bucket4j)** ★ 2.8k Apache-2.0 🟢
Rate limiting library based on token-bucket algorithm. +> **[bucket4j](https://github.com/bucket4j/bucket4j)** ★ 2.8k Apache-2.0 🟢
Rate limiting library based on token-bucket algorithm. > **[cactoos](https://github.com/yegor256/cactoos)** ★ 777 MIT 🟢
Collection of object-oriented primitives. @@ -2157,7 +2173,7 @@ _Libraries that analyze the content of websites._
-Web Frameworks 17 projects +Web Frameworks 18 projects _Frameworks that handle the communication between the layers of a web application._ @@ -2187,6 +2203,8 @@ _Frameworks that handle the communication between the layers of a web applicatio > **[Ratpack](https://github.com/ratpack/ratpack)** ★ 1.9k 🟢
Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications. +> **[Spring Boot](https://github.com/spring-projects/spring-boot)** ★ 81.2k Apache-2.0 🟢
Framework for creating stand-alone, production-grade Spring applications. + > **[Takes](https://github.com/yegor256/takes)** ★ 877 MIT 🟢
Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. > **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 Apache-2.0 🟢
Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. From 5289a586e9977ab01955b5be20f6391e6704e2bc Mon Sep 17 00:00:00 2001 From: seqradev Date: Tue, 28 Jul 2026 15:12:21 +0300 Subject: [PATCH 529/533] Add Security Analysis section with OpenTaint (#1295) * Add Security Analysis section with OpenTaint * Reword OpenTaint description to be descriptive, not promotional (review feedback) * Clarify it is the agents' analysis that runs once (review feedback) * Reword: 'this expensive work' instead of 'analysis' to avoid ambiguity * Reframe: engine reuses rules instead of repeating the work; state positive qualities * Clarify: engine reuses rules during search, not repeating the agents' learning work * Place OpenTaint in Code Analysis --------- Co-authored-by: Andreas Kull --- README_SOURCE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README_SOURCE.md b/README_SOURCE.md index 99d5e2b0..d1d9e6aa 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -148,6 +148,7 @@ _Tools that provide metrics and quality measurements._ - [Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector) - Reports whether instances of a given class are immutable. - [NullAway](https://github.com/uber/NullAway) - Eliminates NullPointerExceptions with low build-time overhead. - [OpenRewrite](https://github.com/openrewrite/rewrite) - Automates large-scale source-code refactoring through reusable recipes. +- [OpenTaint](https://github.com/seqra/opentaint) - Interprocedural taint analyzer for Java and Spring applications with reusable security rules and dependency models. - [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. - [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) - Identifies and prioritizes God Classes and Highly Coupled classes. - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) From 9504ecf72b60c0ba18055c77e6529129ed2900a5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 12:12:41 +0000 Subject: [PATCH 530/533] Update README with latest GitHub stats --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b58deaa..5e1abd45 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. -809 projects · 80 categories · 85 resources +810 projects · 80 categories · 85 resources Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months @@ -226,7 +226,7 @@ _Libraries to integrate or use cloud-specific features._
-Code Analysis 15 projects +Code Analysis 16 projects _Tools that provide metrics and quality measurements._ @@ -248,6 +248,8 @@ _Tools that provide metrics and quality measurements._ > **[OpenRewrite](https://github.com/openrewrite/rewrite)** ★ 3.6k Apache-2.0 🟢
Automates large-scale source-code refactoring through reusable recipes. +> **[OpenTaint](https://github.com/seqra/opentaint)** ★ 121 Apache-2.0 🟢
Interprocedural taint analyzer for Java and Spring applications with reusable security rules and dependency models. + > **[PMD](https://github.com/pmd/pmd)** ★ 5.5k 🟢
Source code analysis for finding bad coding practices. > **[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 538 Apache-2.0 🟢
Identifies and prioritizes God Classes and Highly Coupled classes. From e21bb94c8c4de5d17a6ce9058c9e04ff01bd243c Mon Sep 17 00:00:00 2001 From: paohaijiao Date: Tue, 28 Jul 2026 20:13:59 +0800 Subject: [PATCH 531/533] Add jquick-excel: declarative XML DSL for Excel import/export (#1296) Co-authored-by: Andreas Kull --- README_SOURCE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README_SOURCE.md b/README_SOURCE.md index d1d9e6aa..916ebcdd 100644 --- a/README_SOURCE.md +++ b/README_SOURCE.md @@ -431,6 +431,7 @@ _Libraries that assist with processing office document formats._ - [documents4j](https://github.com/documents4j/documents4j) - API for document format conversion using third-party converters such as MS Word. - [docx4j](https://github.com/plutext/docx4j) - Create and manipulate Microsoft Open XML files. - [html-to-markdown](https://github.com/xberg-io/html-to-markdown) - Converts HTML to CommonMark-compatible Markdown through a Java binding. +- [JQuick Excel](https://github.com/paohaijiao/jquick-excel) - Configures Excel import, export, validation, formulas and charts through a declarative XML DSL. - [xberg](https://github.com/xberg-io/xberg) - Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. ### Feature Flags From 28f951575f8869b0d87e1bc155ce9cecca83443c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 12:14:24 +0000 Subject: [PATCH 532/533] Update README with latest GitHub stats --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5e1abd45..76461d3a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated list of noteworthy Java frameworks, libraries, tools and resources. -810 projects · 80 categories · 85 resources +811 projects · 80 categories · 85 resources Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months @@ -740,7 +740,7 @@ _Tools that handle the distribution of applications in native formats._
-Document Processing 6 projects +Document Processing 7 projects _Libraries that assist with processing office document formats._ @@ -754,6 +754,8 @@ _Libraries that assist with processing office document formats._ > **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 MIT 🟢
Converts HTML to CommonMark-compatible Markdown through a Java binding. +> **[JQuick Excel](https://github.com/paohaijiao/jquick-excel)** ★ 130 🟢
Configures Excel import, export, validation, formulas and charts through a declarative XML DSL. + > **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k MIT 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding.
From 477312302efe1a548c3fe81d57c7cbda9c730671 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 00:32:56 +0000 Subject: [PATCH 533/533] Update README with latest GitHub stats --- README.md | 284 +++++++++++++++++++++++++++--------------------------- 1 file changed, 142 insertions(+), 142 deletions(-) diff --git a/README.md b/README.md index 76461d3a..a3f93389 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ _Frameworks and libraries that help implementing and verifying design and archit > **[jMolecules](https://github.com/xmolecules/jmolecules)** ★ 1.5k Apache-2.0 🟠
Annotations and interfaces to express design and architecture concepts in code. -> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 284 GPL-3.0 🟢
Static code analysis with Neo4J-based query language. +> **[jQAssistant](https://github.com/jQAssistant/jqassistant)** ★ 285 GPL-3.0 🟢
Static code analysis with Neo4J-based query language. > **[Taikai](https://github.com/enofex/taikai)** ★ 244 MIT 🟢
ArchUnit extension with predefined architecture rules for common Java technologies. @@ -34,29 +34,29 @@ _Frameworks and libraries that help implementing and verifying design and archit _Frameworks for building applications with AI, agents and knowledge-based systems._ -> **[A2A Java SDK](https://github.com/a2aproject/a2a-java)** ★ 466 Apache-2.0 🟢
Official Java SDK for the Agent2Agent protocol. +> **[A2A Java SDK](https://github.com/a2aproject/a2a-java)** ★ 467 Apache-2.0 🟢
Official Java SDK for the Agent2Agent protocol. -> **[AgentScope Java](https://github.com/agentscope-ai/agentscope-java)** ★ 4.7k 🟢
Framework for building distributed, long-running AI agents with tool execution, persistence and multi-agent orchestration. +> **[AgentScope Java](https://github.com/agentscope-ai/agentscope-java)** ★ 4.8k 🟢
Framework for building distributed, long-running AI agents with tool execution, persistence and multi-agent orchestration. -> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 21 Apache-2.0 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. +> **[Anahata ASI](https://github.com/anahata-os/anahata-asi)** ★ 23 Apache-2.0 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration. -> **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 47 MIT 🟢
Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. +> **[Dokimos](https://github.com/dokimos-dev/dokimos)** ★ 48 MIT 🟢
Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI. > **[Google Gen AI Java SDK](https://github.com/googleapis/java-genai)** ★ 385 Apache-2.0 🟢
Official Java SDK for integrating Google generative AI models. > **[JADE](https://jade.tilab.com)**
Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) -> **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 20 Apache-2.0 🟢
Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. +> **[JamJet](https://github.com/jamjet-labs/jamjet)** ★ 19 Apache-2.0 🟢
Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols. -> **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.7k Apache-2.0 🟢
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. +> **[LangChain4j](https://github.com/langchain4j/langchain4j)** ★ 12.8k Apache-2.0 🟢
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox. -> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 238 MIT 🟢
Provides a Java binding for a unified LLM API client across multiple providers. +> **[liter-llm](https://github.com/xberg-io/liter-llm)** ★ 240 MIT 🟢
Provides a Java binding for a unified LLM API client across multiple providers. > **[MCP Java SDK](https://github.com/modelcontextprotocol/java-sdk)** ★ 3.6k MIT 🟢
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. > **[Protégé](https://github.com/protegeproject/protege)** ★ 1.4k 🟠
Provides an ontology editor and a framework to build knowledge-based systems. -> **[Regulus](https://github.com/neul-labs/regulus)** ★ 7 MIT 🟢
Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. +> **[Regulus](https://github.com/neul-labs/regulus)** ★ 6 MIT 🟢
Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents. > **[simple-openai](https://github.com/sashirestela/simple-openai)** ★ 380 MIT 🟠
Library to use the OpenAI API (and compatible ones) in the simplest possible way. @@ -111,7 +111,7 @@ _Tools that handle the build cycle and dependencies of an application._ > **[Docker Maven Plugin](https://github.com/fabric8io/docker-maven-plugin)** ★ 1.9k Apache-2.0 🟢
Builds and runs Docker images from Maven. -> **[Eclipse JKube](https://github.com/eclipse-jkube/jkube)** ★ 851 EPL-2.0 🟢
Maven and Gradle plugins for building and deploying Java applications on Kubernetes. +> **[Eclipse JKube](https://github.com/eclipse-jkube/jkube)** ★ 850 EPL-2.0 🟢
Maven and Gradle plugins for building and deploying Java applications on Kubernetes. > **[Frontend Maven Plugin](https://github.com/eirslett/frontend-maven-plugin)** ★ 4.4k Apache-2.0 🟢
Installs and runs Node.js frontend tooling from Maven builds. @@ -146,11 +146,11 @@ _Libraries to manipulate bytecode programmatically._ > **[bytecode-viewer](https://github.com/Konloch/bytecode-viewer)** ★ 15.6k GPL-3.0 🟢
Java 8 Jar & Android APK reverse engineering suite. -> **[Byteman](https://github.com/bytemanproject/byteman)** ★ 513 🟢
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) +> **[Byteman](https://github.com/bytemanproject/byteman)** ★ 514 🟢
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later) > **[Javassist](https://github.com/jboss-javassist/javassist)** ★ 4.2k 🟢
Tries to simplify bytecode editing. -> **[Maker](https://github.com/cojen/maker)** ★ 70 Apache-2.0 🟢
Provides low level bytecode generation. +> **[Maker](https://github.com/cojen/maker)** ★ 72 Apache-2.0 🟢
Provides low level bytecode generation. > **[Recaf](https://github.com/Col-E/Recaf)** ★ 7.3k MIT 🟢
JVM reverse engineering toolkit, essentially an IDE for Java bytecode. @@ -161,7 +161,7 @@ _Libraries to manipulate bytecode programmatically._ _Libraries that provide caching facilities._ -> **[cache2k](https://github.com/cache2k/cache2k)** ★ 743 Apache-2.0 🔴
In-memory high performance caching library. +> **[cache2k](https://github.com/cache2k/cache2k)** ★ 742 Apache-2.0 🔴
In-memory high performance caching library. > **[Caffeine](https://github.com/ben-manes/caffeine)** ★ 17.8k Apache-2.0 🟢
High-performance, near-optimal caching library. @@ -184,7 +184,7 @@ _Libraries to assist with parsing command line arguments._ > **[Airline](https://github.com/rvesse/airline)** ★ 145 Apache-2.0 🟢
Annotation-based framework for parsing Git-like command-line arguments. -> **[jbock](https://github.com/jbock-java/jbock)** ★ 92 MIT 🟠
Reflectionless command line parser. +> **[jbock](https://github.com/jbock-java/jbock)** ★ 94 MIT 🟢
Reflectionless command line parser. > **[JCommander](https://github.com/cbeust/jcommander)** ★ 2.0k Apache-2.0 🟠
Command-line argument-parsing framework with custom types and validation via implementing interfaces. @@ -215,7 +215,7 @@ _Libraries to integrate or use cloud-specific features._ > **[Google Cloud Client Libraries](https://github.com/googleapis/google-cloud-java)** ★ 2.1k Apache-2.0 🟢
Client libraries for accessing Google Cloud services from Java applications. -> **[Java Operator SDK](https://github.com/operator-framework/java-operator-sdk)** ★ 935 Apache-2.0 🟢
SDK for implementing Kubernetes operators in Java. +> **[Java Operator SDK](https://github.com/operator-framework/java-operator-sdk)** ★ 936 Apache-2.0 🟢
SDK for implementing Kubernetes operators in Java. > **[Kubernetes Java Client](https://github.com/kubernetes-client/java)** ★ 4.0k Apache-2.0 🟢
Official Java client for the Kubernetes API. @@ -240,7 +240,7 @@ _Tools that provide metrics and quality measurements._ > **[JSpecify](https://github.com/jspecify/jspecify)** ★ 1.1k Apache-2.0 🟢
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools. -> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 390 Apache-2.0 🟢
Detect uses of legacy Java APIs. +> **[Modernizer](https://github.com/gaul/modernizer-maven-plugin)** ★ 391 Apache-2.0 🟢
Detect uses of legacy Java APIs. > **[Mutability Detector](https://github.com/MutabilityDetector/MutabilityDetector)** ★ 246 Apache-2.0 🟠
Reports whether instances of a given class are immutable. @@ -248,11 +248,11 @@ _Tools that provide metrics and quality measurements._ > **[OpenRewrite](https://github.com/openrewrite/rewrite)** ★ 3.6k Apache-2.0 🟢
Automates large-scale source-code refactoring through reusable recipes. -> **[OpenTaint](https://github.com/seqra/opentaint)** ★ 121 Apache-2.0 🟢
Interprocedural taint analyzer for Java and Spring applications with reusable security rules and dependency models. +> **[OpenTaint](https://github.com/seqra/opentaint)** ★ 126 Apache-2.0 🟢
Interprocedural taint analyzer for Java and Spring applications with reusable security rules and dependency models. > **[PMD](https://github.com/pmd/pmd)** ★ 5.5k 🟢
Source code analysis for finding bad coding practices. -> **[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 538 Apache-2.0 🟢
Identifies and prioritizes God Classes and Highly Coupled classes. +> **[RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)** ★ 542 Apache-2.0 🟢
Identifies and prioritizes God Classes and Highly Coupled classes. > **[SonarJava](https://github.com/SonarSource/sonar-java)** ★ 1.2k 🟢
Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) @@ -286,7 +286,7 @@ _Tools that format or restructure Java source code._ > **[JHarmonizer](https://github.com/lemon-ant/JHarmonizer)** ★ 26 🟢
Safely reorders Java source code with configurable rules and Palantir Java Format. -> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 847 Apache-2.0 🟢
Formatter based on google-java-format with wider lines and lambda-friendly output. +> **[Palantir Java Format](https://github.com/palantir/palantir-java-format)** ★ 856 Apache-2.0 🟢
Formatter based on google-java-format with wider lines and lambda-friendly output. > **[Spotless](https://github.com/diffplug/spotless)** ★ 5.6k Apache-2.0 🟢
A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages. @@ -305,9 +305,9 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a > **[Chocotea](https://github.com/cleopatra27/chocotea)** ★ 48 Apache-2.0 🔴
Generates postman collection, environment and integration tests from java code. -> **[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 10 Apache-2.0 🟢
Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. +> **[CRUDGen](https://github.com/bariskokulu/CRUDGen)** ★ 11 Apache-2.0 🟢
Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot. -> **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 10 MIT 🟠
Annotation processor for automatic DTO and Mapper generation with zero boilerplate. +> **[EasyEntityToDTO](https://github.com/Marcel091004/EasyEntityToDTO)** ★ 11 MIT 🟠
Annotation processor for automatic DTO and Mapper generation with zero boilerplate. > **[Geci](https://github.com/verhas/javageci)** ★ 138 Apache-2.0 🟠
Discovers files that need generated code, updates automatically and writes to the source with a convenient API. @@ -321,15 +321,15 @@ _Tools that generate patterns for repetitive code in order to reduce verbosity a > **[JPA Buddy](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. -> **[jsonschema2pojo](https://github.com/joelittlejohn/jsonschema2pojo)** ★ 6.4k Apache-2.0 🟢
Generates Java types from JSON Schema or example JSON. +> **[jsonschema2pojo](https://github.com/joelittlejohn/jsonschema2pojo)** ★ 6.4k Apache-2.0 🟠
Generates Java types from JSON Schema or example JSON. > **[JSpecify Package-Info Generator](https://github.com/bcaillard/jspecify-packageinfo-generator)** ★ 4 Apache-2.0 🟠
Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate. > **[Lombok](https://github.com/projectlombok/lombok)** ★ 13.5k 🟢
Code generator that aims to reduce verbosity. -> **[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 924 Apache-2.0 🟢
Companion builder class, withers and templates for Java records. +> **[Record-Builder](https://github.com/Randgalt/record-builder)** ★ 925 Apache-2.0 🟢
Companion builder class, withers and templates for Java records. -> **[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 37 Apache-2.0 🟢
Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. +> **[Spring CRUD Generator](https://github.com/mzivkovicdev/spring-crud-generator)** ★ 38 Apache-2.0 🟢
Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications. > **[Telosys](https://www.telosys.org/)** ★ 212 LGPL-3.0 🟠
Java code-generation toolkit with a CLI and model-driven template engine. @@ -366,9 +366,9 @@ _Libraries which seek to gain high level information from images and videos._ _Libraries that provide external configuration._ -> **[avaje config](https://github.com/avaje/avaje-config)** ★ 107 Apache-2.0 🟢
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. +> **[avaje config](https://github.com/avaje/avaje-config)** ★ 108 Apache-2.0 🟢
Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners. -> **[centraldogma](https://github.com/line/centraldogma)** ★ 663 Apache-2.0 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. +> **[centraldogma](https://github.com/line/centraldogma)** ★ 665 Apache-2.0 🟢
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2. > **[ClearConfig](https://github.com/japgolly/clear-config-java)** ★ 9 Apache-2.0 🟢
Type-safe, composable configuration library with a focus on runtime clarity. @@ -414,9 +414,9 @@ _Libraries that help with implementing optimization and satisfiability problems. _Frameworks and libraries that simplify reading/writing CSV data._ -> **[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 689 MIT 🟢
Performance-optimized, dependency-free and RFC 4180 compliant. +> **[FastCSV](https://github.com/osiegmar/FastCSV)** ★ 690 MIT 🟢
Performance-optimized, dependency-free and RFC 4180 compliant. -> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformats-text)** ★ 453 Apache-2.0 🟢
Jackson extension for reading and writing CSV. +> **[jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformats-text)** ★ 454 Apache-2.0 🟢
Jackson extension for reading and writing CSV. > **[opencsv](https://opencsv.sourceforge.net)**
Simple CSV parser. @@ -454,7 +454,7 @@ _Efficient and specific data structures._ > **[HashSmith](https://github.com/bluuewhale/hash-smith)** ★ 106 MIT 🟠
Hash map and set implementations using SwissTable-style SWAR/SIMD control-byte probing, optimized for memory efficiency. -> **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 785 🔴
Persistent and immutable analogue of the Java Collections Framework. +> **[Persistent Collection](https://github.com/hrldcpr/pcollections)** ★ 787 🔴
Persistent and immutable analogue of the Java Collections Framework. > **[RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)** ★ 3.9k Apache-2.0 🟢
Fast and efficient compressed bitmap. @@ -483,7 +483,7 @@ _Everything that simplifies interactions with the database._ > **[ArangoDB](https://github.com/arangodb/arangodb-java-driver)** ★ 209 Apache-2.0 🟢
ArangoDB Java driver. -> **[ArcadeDB](https://github.com/ArcadeData/arcadedb)** ★ 1.0k Apache-2.0 🟢
Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. +> **[ArcadeDB](https://github.com/ArcadeData/arcadedb)** ★ 1.1k Apache-2.0 🟢
Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility. > **[Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)** ★ 3.0k Apache-2.0 🟢
Efficient, in-memory (opt. persisted to disk), off-heap key-value store. @@ -515,7 +515,7 @@ _Everything that simplifies interactions with the database._ > **[jetcd](https://github.com/etcd-io/jetcd)** ★ 1.2k Apache-2.0 🟢
Java client for etcd v3. -> **[Jinq](https://github.com/my2iu/Jinq)** ★ 662 🔴
Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). +> **[Jinq](https://github.com/my2iu/Jinq)** ★ 661 🔴
Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). > **[jOOQ](https://github.com/jOOQ/jOOQ)** ★ 6.8k 🟢
Generates typesafe code based on SQL schema. @@ -533,7 +533,7 @@ _Everything that simplifies interactions with the database._ > **[ObjectBox](https://github.com/objectbox/objectbox-java)** ★ 4.6k Apache-2.0 🟢
Embedded object and vector database for Java and Android. -> **[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 218 Apache-2.0 🟢
Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. +> **[Open J Proxy](https://github.com/Open-J-Proxy/ojp)** ★ 219 Apache-2.0 🟢
Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management. > **[OpenDJ](https://github.com/OpenIdentityPlatform/OpenDJ)** ★ 435 🟢
LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities. @@ -557,7 +557,7 @@ _Everything that simplifies interactions with the database._ > **[Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions)** ★ 104 Apache-2.0 🟠
Allows you to use MongoDB query language to query your relational database. -> **[StarRocks](https://github.com/StarRocks/starrocks)** ★ 11.9k Apache-2.0 🟢
Distributed SQL query engine for real-time analytics and data lakehouses. +> **[StarRocks](https://github.com/StarRocks/starrocks)** ★ 12.0k Apache-2.0 🟢
Distributed SQL query engine for real-time analytics and data lakehouses. > **[Trino](https://github.com/trinodb/trino)** ★ 13.1k Apache-2.0 🟢
Distributed SQL query engine for big data. @@ -578,7 +578,7 @@ _Libraries related to handling date and time._ > **[ThreeTen-Extra](https://github.com/ThreeTen/threeten-extra)** ★ 423 BSD-3-Clause 🟢
Additional date-time classes that complement those in JDK 8. -> **[Time4J](https://github.com/MenoData/Time4J)** ★ 470 LGPL-2.1 🔴
Advanced date and time library. +> **[Time4J](https://github.com/MenoData/Time4J)** ★ 471 LGPL-2.1 🔴
Advanced date and time library. @@ -602,9 +602,9 @@ _Libraries for decompiling JVM bytecode._ > **[CFR](https://github.com/leibnitz27/cfr)** ★ 2.6k MIT 🟢
Java decompiler focused on modern language features. -> **[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.3k Apache-2.0 🟢
Java decompiler with broad JVM bytecode support. +> **[Fernflower](https://github.com/JetBrains/fernflower)** ★ 4.4k Apache-2.0 🟢
Java decompiler with broad JVM bytecode support. -> **[jadx](https://github.com/skylot/jadx)** ★ 49.8k Apache-2.0 🟢
Dex-to-Java decompiler with command-line and graphical interfaces. +> **[jadx](https://github.com/skylot/jadx)** ★ 49.9k Apache-2.0 🟢
Dex-to-Java decompiler with command-line and graphical interfaces. > **[transformer-api](https://github.com/nbauma109/transformer-api)** ★ 3 Apache-2.0 🟢
Unified API that exposes multiple decompilers through one in-memory transformation interface. @@ -629,7 +629,7 @@ _Libraries that help to realize the [Inversion of Control](https://en.wikipedia. > **[Guice](https://github.com/google/guice)** ★ 12.7k Apache-2.0 🟢
Lightweight and opinionated framework that completes Dagger. -> **[HK2](https://github.com/eclipse-ee4j/glassfish-hk2)** ★ 95 🟢
Lightweight and dynamic dependency injection framework. +> **[HK2](https://github.com/eclipse-ee4j/glassfish-hk2)** ★ 95 🟠
Lightweight and dynamic dependency injection framework. @@ -642,15 +642,15 @@ _Augmentation of the development process at a fundamental level._ > **[Faux Pas](https://github.com/zalando/faux-pas)** ★ 143 MIT 🔴
Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. -> **[Ghidra](https://github.com/NationalSecurityAgency/ghidra)** ★ 71.5k Apache-2.0 🟢
Extensible software reverse-engineering framework with Java APIs and scripting. +> **[Ghidra](https://github.com/NationalSecurityAgency/ghidra)** ★ 71.8k Apache-2.0 🟢
Extensible software reverse-engineering framework with Java APIs and scripting. -> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k GPL-2.0 🟠
Unlimited runtime class and resource redefinition. +> **[HotswapAgent](https://github.com/HotswapProjects/HotswapAgent)** ★ 2.6k GPL-2.0 🟢
Unlimited runtime class and resource redefinition. > **[JavaParser](https://github.com/javaparser/javaparser)** ★ 6.1k 🟢
Parse, modify and generate Java code. > **[Jctx](https://github.com/Shashwat-Gupta57/jctx)** ★ 6 MIT 🟠
Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase. -> **[JGit](https://github.com/eclipse-jgit/jgit)** ★ 413 🟢
Lightweight, pure Java library implementing the Git version control system. +> **[JGit](https://github.com/eclipse-jgit/jgit)** ★ 414 🟢
Lightweight, pure Java library implementing the Git version control system. > **[Manifold](https://github.com/manifold-systems/manifold)** ★ 2.8k Apache-2.0 🟢
Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods. @@ -687,7 +687,7 @@ _Libraries and frameworks for writing distributed and fault-tolerant application > **[resilience4j](https://github.com/resilience4j/resilience4j)** ★ 10.7k Apache-2.0 🟢
Functional fault tolerance library. -> **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 638 Apache-2.0 🟢
Embeddable Cluster-Membership library based on SWIM and gossip protocol. +> **[ScaleCube Services](https://github.com/scalecube/scalecube-services)** ★ 639 Apache-2.0 🟢
Embeddable Cluster-Membership library based on SWIM and gossip protocol. @@ -711,7 +711,7 @@ _Distributed transactions provide a mechanism for ensuring consistency of data u _Tools that handle the distribution of applications in native formats._ -> **[Artipie](https://github.com/artipie/artipie)** ★ 689 MIT 🟢
Binary artifact management toolkit which hosts them on the file system or S3. +> **[Artipie](https://github.com/artipie/artipie)** ★ 688 MIT 🟢
Binary artifact management toolkit which hosts them on the file system or S3. > **[Boxfuse](https://boxfuse.com)**
Deployment of JVM applications to AWS using the principles of immutable infrastructure. @@ -719,13 +719,13 @@ _Tools that handle the distribution of applications in native formats._ > **[Cloudsmith](https://cloudsmith.io)**
Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier. -> **[Getdown](https://github.com/threerings/getdown)** ★ 530 🟢
System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. +> **[Getdown](https://github.com/threerings/getdown)** ★ 529 🟢
System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start. -> **[IzPack](https://github.com/izpack/izpack)** ★ 352 Apache-2.0 🟢
Setup authoring tool for cross-platform deployments. +> **[IzPack](https://github.com/izpack/izpack)** ★ 353 Apache-2.0 🟢
Setup authoring tool for cross-platform deployments. > **[JavaPackager](https://github.com/javapackager/JavaPackager)** ★ 1.2k GPL-3.0 🟠
Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them. -> **[jDeploy](https://github.com/shannah/jdeploy)** ★ 414 Apache-2.0 🟢
Deploy desktop apps as native Mac, Windows or Linux bundles. +> **[jDeploy](https://github.com/shannah/jdeploy)** ★ 415 Apache-2.0 🟢
Deploy desktop apps as native Mac, Windows or Linux bundles. > **[jlink.online](https://github.com/AdoptOpenJDK/jlink.online)** ★ 51 Apache-2.0 🟢
Builds optimized runtimes over HTTP. @@ -752,11 +752,11 @@ _Libraries that assist with processing office document formats._ > **[docx4j](https://github.com/plutext/docx4j)** ★ 2.4k 🟢
Create and manipulate Microsoft Open XML files. -> **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 814 MIT 🟢
Converts HTML to CommonMark-compatible Markdown through a Java binding. +> **[html-to-markdown](https://github.com/xberg-io/html-to-markdown)** ★ 822 MIT 🟢
Converts HTML to CommonMark-compatible Markdown through a Java binding. > **[JQuick Excel](https://github.com/paohaijiao/jquick-excel)** ★ 130 🟢
Configures Excel import, export, validation, formulas and charts through a declarative XML DSL. -> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.7k MIT 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. +> **[xberg](https://github.com/xberg-io/xberg)** ★ 8.8k MIT 🟢
Extracts text, tables and metadata from PDFs, Office documents, images and other formats through a Java binding. @@ -767,7 +767,7 @@ _Libraries and SDKs for evaluating and managing feature flags._ > **[FF4J](https://github.com/ff4j/ff4j)** ★ 1.4k Apache-2.0 🟢
Feature Flags for Java. -> **[OpenFeature Java SDK](https://github.com/open-feature/java-sdk)** ★ 126 Apache-2.0 🟢
Vendor-neutral API for evaluating feature flags in Java applications. +> **[OpenFeature Java SDK](https://github.com/open-feature/java-sdk)** ★ 127 Apache-2.0 🟢
Vendor-neutral API for evaluating feature flags in Java applications. > **[Rollgate Java SDK](https://github.com/rollgate/sdks/tree/main/packages/sdk-java)** ★ 3 MIT 🟢
Java SDK for evaluating Rollgate feature flags with real-time configuration updates. @@ -782,7 +782,7 @@ _Libraries and SDKs for evaluating and managing feature flags._ _Libraries related to the financial domain._ -> **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 659 GPL-3.0 🔴
Trading bot framework. +> **[Cassandre](https://github.com/cassandre-tech/cassandre-trading-bot)** ★ 660 GPL-3.0 🔴
Trading bot framework. > **[Joda-Money](https://github.com/JodaOrg/joda-money)** ★ 679 Apache-2.0 🟠
Basic currency and money classes and algorithms not provided by the JDK. @@ -790,11 +790,11 @@ _Libraries related to the financial domain._ > **[Philadelphia](https://github.com/paritytrading/philadelphia)** ★ 344 Apache-2.0 🟢
Low-latency financial information exchange. -> **[Stripe](https://github.com/stripe/stripe-java)** ★ 993 MIT 🟢
Integration with the Stripe API. +> **[Stripe](https://github.com/stripe/stripe-java)** ★ 995 MIT 🟢
Integration with the Stripe API. > **[ta4j](https://github.com/ta4j/ta4j)** ★ 2.5k 🟢
Library for technical analysis. -> **[Wickra](https://github.com/wickra-lib/wickra)** ★ 38 Apache-2.0 🟢
Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. +> **[Wickra](https://github.com/wickra-lib/wickra)** ★ 36 Apache-2.0 🟢
Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j. > **[XChange](https://github.com/knowm/XChange)** ★ 4.1k MIT 🟢
Consistent Java API for market data and trading across cryptocurrency exchanges. @@ -822,11 +822,11 @@ _Formal-methods tools: proof assistants, model checking, symbolic execution, etc > **[Daikon](https://github.com/codespecs/daikon)** ★ 255 🟢
Detects likely program invariants and generates JML specs based on those invariants. -> **[Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core)** ★ 614 🟢
JVM formal verification tool containing a model checker and more. Created by NASA. +> **[Java Path Finder (JPF)](https://github.com/javapathfinder/jpf-core)** ★ 615 🟢
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://github.com/KeYProject/key)** ★ 87 🟢
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) +> **[KeY](https://github.com/KeYProject/key)** ★ 88 🟢
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](https://github.com/OpenJML/OpenJML)** ★ 182 🟢
Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only) @@ -845,7 +845,7 @@ _Libraries that facilitate functional programming._ > **[Packrat](https://github.com/jhspetersson/packrat)** ★ 29 Apache-2.0 🟢
Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations. -> **[Parallel Collectors](https://github.com/pivovarit/parallel-collectors)** ★ 679 Apache-2.0 🟢
Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. +> **[Parallel Collectors](https://github.com/pivovarit/parallel-collectors)** ★ 680 Apache-2.0 🟢
Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads. > **[protonpack](https://github.com/poetix/protonpack)** ★ 487 MIT 🟢
Collection of stream utilities. @@ -870,13 +870,13 @@ _Frameworks that support the development of games._ > **[libGDX](https://github.com/libgdx/libgdx)** ★ 25.3k Apache-2.0 🟢
All-round cross-platform, high-level framework. -> **[Litiengine](https://github.com/gurkenlabs/litiengine)** ★ 833 MIT 🟢
AWT-based, lightweight 2D game engine. +> **[Litiengine](https://github.com/gurkenlabs/litiengine)** ★ 834 MIT 🟢
AWT-based, lightweight 2D game engine. > **[LWJGL](https://github.com/LWJGL/lwjgl3)** ★ 5.4k BSD-3-Clause 🟢
Robust framework that abstracts libraries like OpenGL/CL/AL. -> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 377 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. +> **[Pathetic](https://github.com/bsommerfeld/pathetic)** ★ 382 MIT 🟢
A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. -> **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 95 BSD-3-Clause 🟠
Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. +> **[vulkan4j](https://github.com/chuigda/vulkan4j)** ★ 96 BSD-3-Clause 🔴
Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings. @@ -922,13 +922,13 @@ _Libraries to create modern graphical user interfaces._ > **[JavaFX](https://github.com/openjdk/jfx)** ★ 3.3k GPL-2.0 🟢
Successor of Swing. -> **[Scene Builder](https://github.com/gluonhq/scenebuilder)** ★ 818 🟠
Visual layout tool for JavaFX applications. +> **[Scene Builder](https://github.com/gluonhq/scenebuilder)** ★ 819 🟠
Visual layout tool for JavaFX applications. > **[Sierra](https://github.com/HTTP-RPC/Sierra)** ★ 150 Apache-2.0 🟢
Lightwieght declarative DSL for rapid development of Swing applications. -> **[SnapKit](https://github.com/reportmill/SnapKit)** ★ 332 🟢
Modern Java UI library for both desktop and web. +> **[SnapKit](https://github.com/reportmill/SnapKit)** ★ 331 🟢
Modern Java UI library for both desktop and web. -> **[SWT](https://github.com/eclipse-platform/eclipse.platform.swt)** ★ 199 EPL-2.0 🟢
Graphical widget toolkit. +> **[SWT](https://github.com/eclipse-platform/eclipse.platform.swt)** ★ 200 EPL-2.0 🟢
Graphical widget toolkit. @@ -970,7 +970,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ > **[JQuickCurl](https://github.com/paohaijiao-jquick/jquick-curl)** ★ 1.1k 🟢
Executes HTTP requests from cURL syntax through annotations, XML configuration and dynamic proxy clients. -> **[methanol](https://github.com/mizosoft/methanol)** ★ 298 MIT 🟠
HTTP client extensions library. +> **[methanol](https://github.com/mizosoft/methanol)** ★ 297 MIT 🟠
HTTP client extensions library. > **[OkHttp](https://github.com/lysine-dev/okhttp)** ★ 47.0k Apache-2.0 🟢
HTTP client for the JVM, Android and GraalVM. @@ -989,7 +989,7 @@ _Libraries that assist with creating HTTP requests and/or binding responses._ _Integrated development environments that try to simplify several aspects of development._ -> **[Eclipse Java IDE](https://www.eclipse.org)** ★ 643 EPL-2.0 🟢
Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. +> **[Eclipse Java IDE](https://www.eclipse.org)** ★ 644 EPL-2.0 🟢
Extensible Java IDE assembled from the Eclipse Platform, JDT and PDE. > **[Explyt](https://github.com/explyt/explyt)** ★ 22 🟢
AI coding agent for JetBrains IDEs that uses IDE indexes, refactorings, test runners, static analysis and debugging for Java and Kotlin projects. @@ -1010,11 +1010,11 @@ _Integrated development environments that try to simplify several aspects of dev _Libraries that assist with the creation, evaluation or manipulation of graphical images._ -> **[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 17 Apache-2.0 🟢
Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. +> **[Barcode-Lib4J](https://github.com/vws-java/Barcode-Lib4J)** ★ 18 Apache-2.0 🟢
Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support. > **[Glide](https://github.com/bumptech/glide)** ★ 35.0k 🟢
Image loading and caching library for Android focused on smooth scrolling. -> **[image-comparison](https://github.com/romankh3/image-comparison)** ★ 396 Apache-2.0 🔴
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)** ★ 396 Apache-2.0 🟢
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. > **[Imgscalr](https://github.com/rkalla/imgscalr)** ★ 1.2k Apache-2.0 🔴
Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D. @@ -1026,11 +1026,11 @@ _Libraries that assist with the creation, evaluation or manipulation of graphica > **[TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys)** ★ 2.1k BSD-3-Clause 🟢
Collection of plugins that extend the number of supported image file formats. -> **[vips-ffm](https://github.com/lopcode/vips-ffm)** ★ 130 Apache-2.0 🟢
Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. +> **[vips-ffm](https://github.com/lopcode/vips-ffm)** ★ 131 Apache-2.0 🟢
Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API. > **[webcam-capture](https://github.com/sarxos/webcam-capture)** ★ 2.4k MIT 🟠
Library for using built-in and external webcams directly in Java. -> **[ZXing](https://github.com/zxing/zxing)** ★ 34.0k Apache-2.0 🟢
Multi-format 1D/2D barcode image processing library. +> **[ZXing](https://github.com/zxing/zxing)** ★ 34.1k Apache-2.0 🟢
Multi-format 1D/2D barcode image processing library. @@ -1047,7 +1047,7 @@ _Libraries that help make the Java introspection and reflection API easier and f > **[ReflectASM](https://github.com/EsotericSoftware/reflectasm)** ★ 1.5k BSD-3-Clause 🔴
ReflectASM is a very small Java library that provides high performance reflection by using code generation. -> **[TypeTools](https://github.com/jhalterman/typetools)** ★ 629 Apache-2.0 🔴
Tools for resolving generic types. +> **[TypeTools](https://github.com/jhalterman/typetools)** ★ 628 Apache-2.0 🔴
Tools for resolving generic types. @@ -1091,11 +1091,11 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ > **[Jolt](https://github.com/bazaarvoice/jolt)** ★ 1.7k Apache-2.0 🟢
JSON to JSON transformation tool. -> **[JSON-io](https://github.com/jdereg/json-io)** ★ 390 Apache-2.0 🟢
Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. +> **[JSON-io](https://github.com/jdereg/json-io)** ★ 389 Apache-2.0 🟢
Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. > **[JsonPath](https://github.com/json-path/JsonPath)** ★ 9.4k Apache-2.0 🟠
Extract data from JSON using XPATH-like syntax. -> **[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 317 MIT 🔴
Streaming JsonPath processor dedicated to processing big and complicated JSON data. +> **[JsonSurfer](https://github.com/jsurfer/JsonSurfer)** ★ 316 MIT 🔴
Streaming JsonPath processor dedicated to processing big and complicated JSON data. > **[Moshi](https://github.com/square/moshi)** ★ 10.1k Apache-2.0 🟢
Modern JSON library, less opinionated and uses built-in types like List and Map. @@ -1118,7 +1118,7 @@ _Current implementations of the JVM/JDK._ > **[Liberica JDK](https://bell-sw.com)**
Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 MIT 🟢
Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! +> **[Microsoft JDK](https://github.com/microsoft/openjdk)** ★ 342 MIT 🟠
Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! > **[Open JDK](https://github.com/openjdk/jdk)** ★ 23.2k GPL-2.0 🟢
Open JDK community home. @@ -1126,7 +1126,7 @@ _Current implementations of the JVM/JDK._ > **[RedHat Open JDK](https://developers.redhat.com/products/openjdk/overview)**
RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 617 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. +> **[SAP Machine](https://github.com/SAP/SapMachine)** ★ 616 GPL-2.0 🟢
SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. > **[Zulu](https://www.azul.com/products/zulu-community/)**
OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0) @@ -1155,7 +1155,7 @@ _Libraries that log the behavior of an application._ > **[SLF4J](https://github.com/qos-ch/slf4j)** ★ 2.5k MIT 🟢
Abstraction layer/simple logging facade. -> **[tinylog](https://github.com/tinylog-org/tinylog)** ★ 770 Apache-2.0 🟢
Lightweight logging framework with static logger class. +> **[tinylog](https://github.com/tinylog-org/tinylog)** ★ 771 Apache-2.0 🟢
Lightweight logging framework with static logger class. @@ -1182,7 +1182,7 @@ _Tools that provide specific statistical algorithms for learning from data._ > **[Neureka](https://github.com/Gleethos/neureka)** ★ 91 MIT 🟠
A lightweight, platform independent, OpenCL accelerated nd-array/tensor library. -> **[oj! Algorithms](https://github.com/optimatika/ojAlgo)** ★ 502 MIT 🟢
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. +> **[oj! Algorithms](https://github.com/optimatika/ojAlgo)** ★ 501 MIT 🟢
High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing. > **[sklearn-java](https://github.com/kVeyra/sklearn-java)** ★ 3 Apache-2.0 🟢
Implements scikit-learn-style machine learning algorithms in pure Java. @@ -1205,7 +1205,7 @@ _Tools that help send messages between clients to ensure protocol independency._ > **[Apache Camel](https://github.com/apache/camel)** ★ 6.3k Apache-2.0 🟢
Glues together different transport APIs via Enterprise Integration Patterns. -> **[Apache Kafka](https://github.com/apache/kafka)** ★ 33.3k Apache-2.0 🟢
High-throughput distributed messaging system. +> **[Apache Kafka](https://github.com/apache/kafka)** ★ 33.4k Apache-2.0 🟢
High-throughput distributed messaging system. > **[Apache Pulsar](https://github.com/apache/pulsar)** ★ 15.3k Apache-2.0 🟢
Distributed pub/sub-messaging system. @@ -1213,19 +1213,19 @@ _Tools that help send messages between clients to ensure protocol independency._ > **[Apache RocketMQ](https://github.com/apache/rocketmq)** ★ 22.5k Apache-2.0 🟢
Fast, reliable, and scalable distributed messaging platform. -> **[AutoMQ](https://github.com/AutoMQ/automq)** ★ 10.3k Apache-2.0 🟢
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. +> **[AutoMQ](https://github.com/AutoMQ/automq)** ★ 10.4k Apache-2.0 🟢
AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. > **[CloudEvents Java SDK](https://github.com/cloudevents/sdk-java)** ★ 442 Apache-2.0 🟢
Java SDK for creating, serializing and transporting CloudEvents. > **[Emissary](https://github.com/joel-jeremy/emissary)** ★ 109 Apache-2.0 🟠
Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. -> **[Hermes](https://github.com/allegro/hermes)** ★ 863 🟢
Fast and reliable message broker built on top of Kafka. +> **[Hermes](https://github.com/allegro/hermes)** ★ 862 🟢
Fast and reliable message broker built on top of Kafka. > **[HiveMQ MQTT Client](https://github.com/hivemq/hivemq-mqtt-client)** ★ 1.1k Apache-2.0 🟢
Reactive and blocking Java client for MQTT 3.1.1 and MQTT 5. > **[JeroMQ](https://github.com/zeromq/jeromq)** ★ 2.4k MPL-2.0 🟠
Implementation of ZeroMQ. -> **[NATS client](https://github.com/nats-io/nats.java)** ★ 670 Apache-2.0 🟢
NATS client. +> **[NATS client](https://github.com/nats-io/nats.java)** ★ 671 Apache-2.0 🟢
NATS client. > **[Pushy](https://github.com/jchambers/pushy)** ★ 1.9k MIT 🟢
Java library for sending Apple Push Notification service messages. @@ -1271,7 +1271,7 @@ _Everything else._ > **[JObfuscator](https://www.pelock.com/products/jobfuscator)**
Source code obfuscator. -> **[yGuard](https://github.com/yWorks/yGuard)** ★ 478 MIT 🟠
Obfuscation via renaming and shrinking. +> **[yGuard](https://github.com/yWorks/yGuard)** ★ 479 MIT 🟠
Obfuscation via renaming and shrinking. @@ -1282,7 +1282,7 @@ _Tools for creating or managing mobile applications._ > **[Codename One](https://github.com/codenameone/CodenameOne)** ★ 1.9k 🟢
Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0) -> **[Gluon Substrate](https://github.com/gluonhq/substrate)** ★ 444 GPL-2.0 🟢
Builds native JavaFX applications for desktop, mobile and embedded targets. +> **[Gluon Substrate](https://github.com/gluonhq/substrate)** ★ 443 GPL-2.0 🟢
Builds native JavaFX applications for desktop, mobile and embedded targets. > **[MobileUI](https://github.com/MobileUI/mobileui)** ★ 13 MIT 🔴
Cross-platform framework for developing mobile apps with native UI in Java and Kotlin. @@ -1319,7 +1319,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ > **[JavaMelody](https://github.com/javamelody/javamelody)** ★ 3.0k Apache-2.0 🟢
Performance monitoring and profiling. -> **[Jolokia](https://github.com/jolokia/jolokia)** ★ 848 Apache-2.0 🟢
JMX over REST. +> **[Jolokia](https://github.com/jolokia/jolokia)** ★ 849 Apache-2.0 🟢
JMX over REST. > **[Micrometer](https://github.com/micrometer-metrics/micrometer)** ★ 4.9k Apache-2.0 🟢
Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries. @@ -1335,7 +1335,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ > **[SPM](https://github.com/sematext/sematext-agent-java)** ★ 25 Apache-2.0 🟢
Performance monitor with distributing transaction tracing for JVM apps. -> **[zipkin](https://github.com/openzipkin/zipkin)** ★ 17.4k Apache-2.0 🟠
Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. +> **[zipkin](https://github.com/openzipkin/zipkin)** ★ 17.5k Apache-2.0 🟠
Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures. @@ -1406,7 +1406,7 @@ _Libraries for building network clients and servers._ > **[MINA](https://github.com/apache/mina)** ★ 925 Apache-2.0 🟢
Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO. -> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 192 Apache-2.0 🔴
Lightweight, small and customizable FTP server. +> **[MinimalFTP](https://github.com/Guichaguri/MinimalFTP)** ★ 191 Apache-2.0 🔴
Lightweight, small and customizable FTP server. > **[Netty](https://github.com/netty/netty)** ★ 35.0k Apache-2.0 🟢
Framework for building high-performance network applications. @@ -1429,7 +1429,7 @@ _Libraries for building network clients and servers._ _APIs that handle the persistence of objects._ -> **[Apache Cayenne](https://github.com/apache/cayenne)** ★ 345 🟢
Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. +> **[Apache Cayenne](https://github.com/apache/cayenne)** ★ 344 🟢
Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation. > **[Doma](https://github.com/domaframework/doma)** ★ 504 Apache-2.0 🟢
Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL. @@ -1447,9 +1447,9 @@ _APIs that handle the persistence of objects._ > **[ObjectiveSql](https://github.com/braisdom/ObjectiveSql)** ★ 1.3k Apache-2.0 🔴
ActiveRecord ORM for rapid development and convention over configuration. -> **[Permazen](https://github.com/permazen/permazen)** ★ 424 Apache-2.0 🟠
Language-natural persistence layer. +> **[Permazen](https://github.com/permazen/permazen)** ★ 423 Apache-2.0 🟠
Language-natural persistence layer. -> **[SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper)** ★ 458 MIT 🟠
Simple database and CSV mapper. +> **[SimpleFlatMapper](https://github.com/arnaudroger/SimpleFlatMapper)** ★ 459 MIT 🟠
Simple database and CSV mapper. @@ -1483,7 +1483,7 @@ _Tools to help with PDF files._ > **[DynamicReports](https://github.com/dynamicreports/dynamicreports)** ★ 244 LGPL-3.0 🟢
Simplifies JasperReports. -> **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 539 EPL-2.0 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. +> **[Eclipse BIRT](https://github.com/eclipse-birt/birt)** ★ 540 EPL-2.0 🟢
Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor. > **[flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer)** ★ 2.2k 🟢
XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) @@ -1497,9 +1497,9 @@ _Tools to help with PDF files._ > **[Nostrum Dynamic Jasper](https://github.com/nostrum-tech/NostrumDynamicJasper)** ★ 1 LGPL-3.0 🟢
Provides dynamic report layouts on top of JasperReports. -> **[Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf)** ★ 266 🟢
Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +> **[Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf)** ★ 267 🟢
Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. -> **[OpenDataLoader PDF](https://github.com/opendataloader-project/opendataloader-pdf)** ★ 27.9k Apache-2.0 🟢
Parses PDFs into structured Markdown, JSON and HTML through a Java API and command line. +> **[OpenDataLoader PDF](https://github.com/opendataloader-project/opendataloader-pdf)** ★ 28.1k Apache-2.0 🟢
Parses PDFs into structured Markdown, JSON and HTML through a Java API and command line. > **[OpenPDF](https://github.com/LibrePDF/OpenPDF)** ★ 4.3k 🟢
Open-source iText fork. (LGPL-3.0-only & MPL-2.0) @@ -1520,7 +1520,7 @@ _Tools for performance analysis, profiling and benchmarking._ > **[Heap Seance](https://github.com/SegfaultSorcerer/heap-seance)** ★ 4 Apache-2.0 🟠
Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts. -> **[JDK Mission Control](https://github.com/openjdk/jmc)** ★ 985 🟢
Profiling and diagnostics suite for JVM applications using Java Flight Recorder. +> **[JDK Mission Control](https://github.com/openjdk/jmc)** ★ 983 🟢
Profiling and diagnostics suite for JVM applications using Java Flight Recorder. > **[jHiccup](https://github.com/giltene/jHiccup)** ★ 704 🟠
Logs and records platform JVM stalls. @@ -1543,7 +1543,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie > **[BCEL](https://github.com/apache/commons-bcel)** ★ 273 Apache-2.0 🟢
Byte Code Engineering Library - analyze, create, and manipulate Java class files. -> **[BeanUtils](https://github.com/apache/commons-beanutils)** ★ 321 Apache-2.0 🟢
Easy-to-use wrappers around the Java reflection and introspection APIs. +> **[BeanUtils](https://github.com/apache/commons-beanutils)** ★ 322 Apache-2.0 🟢
Easy-to-use wrappers around the Java reflection and introspection APIs. > **[BSF](https://github.com/apache/commons-bsf)** ★ 32 Apache-2.0 🟢
Bean Scripting Framework - interface to scripting languages, including JSR-223. @@ -1555,29 +1555,29 @@ _Frameworks that are suites of multiple libraries encompassing several categorie > **[Codec](https://github.com/apache/commons-codec)** ★ 490 Apache-2.0 🟢
General encoding/decoding algorithms, e.g. phonetic, base64 or URL. -> **[Collections](https://github.com/apache/commons-collections)** ★ 724 Apache-2.0 🟢
Extends or augments the Java Collections Framework. +> **[Collections](https://github.com/apache/commons-collections)** ★ 726 Apache-2.0 🟢
Extends or augments the Java Collections Framework. > **[Compress](https://github.com/apache/commons-compress)** ★ 402 Apache-2.0 🟢
Defines an API for working with tar, zip and bzip2 files. -> **[Configuration](https://github.com/apache/commons-configuration)** ★ 214 Apache-2.0 🟢
Reading of configuration/preferences files in various formats. +> **[Configuration](https://github.com/apache/commons-configuration)** ★ 215 Apache-2.0 🟢
Reading of configuration/preferences files in various formats. > **[Convert](https://commons.apache.org/sandbox/commons-convert/)**
Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. -> **[CSV](https://github.com/apache/commons-csv)** ★ 413 Apache-2.0 🟢
Component for reading and writing comma separated value files. +> **[CSV](https://github.com/apache/commons-csv)** ★ 414 Apache-2.0 🟢
Component for reading and writing comma separated value files. > **[Daemon](https://github.com/apache/commons-daemon)** ★ 107 Apache-2.0 🟢
Alternative invocation mechanism for unix-daemon-like java code. -> **[DBCP](https://github.com/apache/commons-dbcp)** ★ 369 Apache-2.0 🟢
Database connection pooling services. +> **[DBCP](https://github.com/apache/commons-dbcp)** ★ 368 Apache-2.0 🟢
Database connection pooling services. > **[DbUtils](https://github.com/apache/commons-dbutils)** ★ 392 Apache-2.0 🟢
JDBC helper library. > **[Digester](https://github.com/apache/commons-digester)** ★ 62 Apache-2.0 🟢
XML-to-Java-object mapping utility. -> **[Email](https://github.com/apache/commons-email)** ★ 176 Apache-2.0 🟢
Library for sending e-mail from Java. +> **[Email](https://github.com/apache/commons-email)** ★ 177 Apache-2.0 🟢
Library for sending e-mail from Java. > **[Exec](https://github.com/apache/commons-exec)** ★ 162 Apache-2.0 🟢
API for dealing with external process execution and environment management in Java. -> **[FileUpload](https://github.com/apache/commons-fileupload)** ★ 260 Apache-2.0 🟢
File upload capability for your servlets and web applications. +> **[FileUpload](https://github.com/apache/commons-fileupload)** ★ 261 Apache-2.0 🟢
File upload capability for your servlets and web applications. > **[Finder](https://commons.apache.org/sandbox/commons-finder/)**
Java library inspired by the UNIX find command. @@ -1609,7 +1609,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie > **[Lang](https://github.com/apache/commons-lang)** ★ 3.0k Apache-2.0 🟢
Provides extra functionality for classes in java.lang. -> **[Logging](https://github.com/apache/commons-logging)** ★ 167 Apache-2.0 🟢
Wrapper around a variety of logging API implementations. +> **[Logging](https://github.com/apache/commons-logging)** ★ 168 Apache-2.0 🟢
Wrapper around a variety of logging API implementations. > **[Math](https://github.com/apache/commons-math)** ★ 651 Apache-2.0 🟢
Lightweight, self-contained mathematics and statistics components. @@ -1617,7 +1617,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie > **[Nabla](https://commons.apache.org/sandbox/commons-nabla/)**
Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language. -> **[Net](https://github.com/apache/commons-net)** ★ 295 Apache-2.0 🟢
Collection of network utilities and protocol implementations. +> **[Net](https://github.com/apache/commons-net)** ★ 296 Apache-2.0 🟢
Collection of network utilities and protocol implementations. > **[OpenPGP](https://commons.apache.org/sandbox/commons-openpgp/)**
Interface to signing and verifying data using OpenPGP. @@ -1625,7 +1625,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie > **[Pipeline](https://commons.apache.org/sandbox/commons-pipeline/)**
Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects. -> **[Pool](https://github.com/apache/commons-pool)** ★ 552 Apache-2.0 🟢
Generic object pooling component. +> **[Pool](https://github.com/apache/commons-pool)** ★ 553 Apache-2.0 🟢
Generic object pooling component. > **[RDF](https://github.com/apache/commons-rdf)** ★ 58 Apache-2.0 🟢
Common implementation of RDF 1.1 that could be implemented by systems on the JVM. @@ -1641,7 +1641,7 @@ _Frameworks that are suites of multiple libraries encompassing several categorie #### Other 3 projects -> **[CUBA Platform](https://github.com/jmix-framework/jmix)** ★ 693 Apache-2.0 🟢
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. +> **[CUBA Platform](https://github.com/jmix-framework/jmix)** ★ 695 Apache-2.0 🟢
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. > **[Light-4J](https://github.com/networknt/light-4j/)** ★ 3.7k Apache-2.0 🟢
Fast, lightweight and productive microservices framework with built-in security. @@ -1667,9 +1667,9 @@ _Libraries that help the management of operating system processes._ _Java proxy and gateway servers for routing and mediating traffic._ -> **[LittleProxy](https://github.com/LittleProxy/LittleProxy)** ★ 149 Apache-2.0 🟢
High performance HTTP proxy atop Netty's event-based networking library. +> **[LittleProxy](https://github.com/LittleProxy/LittleProxy)** ★ 150 Apache-2.0 🟢
High performance HTTP proxy atop Netty's event-based networking library. -> **[Membrane Service Proxy](https://github.com/membrane/api-gateway)** ★ 626 Apache-2.0 🟢
Open-source, reverse-proxy framework. +> **[Membrane Service Proxy](https://github.com/membrane/api-gateway)** ★ 628 Apache-2.0 🟢
Open-source, reverse-proxy framework. > **[OpenIG](https://github.com/OpenIdentityPlatform/OpenIG)** ★ 90 🟢
High-performance reverse proxy server with specialized session management and credential replay functionality. @@ -1749,9 +1749,9 @@ _Frameworks specifically for creating RESTful services._ _Libraries for scientific computing, analysis and visualization._ -> **[BioJava](https://github.com/biojava/biojava)** ★ 627 LGPL-2.1 🟢
Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. +> **[BioJava](https://github.com/biojava/biojava)** ★ 628 LGPL-2.1 🟢
Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics. -> **[Chart-FX](https://github.com/fair-acc/chart-fx)** ★ 611 LGPL-3.0 🟠
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. +> **[Chart-FX](https://github.com/fair-acc/chart-fx)** ★ 612 LGPL-3.0 🟠
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets. > **[DataMelt](https://datamelt.org/)**
Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) @@ -1763,15 +1763,15 @@ _Libraries for scientific computing, analysis and visualization._ > **[JGraphT](https://github.com/jgrapht/jgrapht)** ★ 2.8k EPL-2.0 🟢
Graph library that provides mathematical graph-theory objects and algorithms. -> **[jSciPy](https://github.com/hissain/jscipy)** ★ 24 MIT 🟢
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. +> **[jSciPy](https://github.com/hissain/jscipy)** ★ 23 MIT 🟢
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. > **[LogicNG](https://github.com/logic-ng/LogicNG)** ★ 155 Apache-2.0 🟢
Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. > **[Mines Java Toolkit](https://github.com/MinesJTK/jtk)** ★ 87 Apache-2.0 🔴
Library for geophysical scientific computation, visualization and digital signal analysis. -> **[Orekit](https://github.com/CS-SI/Orekit)** ★ 285 Apache-2.0 🟢
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. +> **[Orekit](https://github.com/CS-SI/Orekit)** ★ 286 Apache-2.0 🟢
A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them. -> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 121 GPL-3.0 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. +> **[Orson-Charts](https://github.com/jfree/orson-charts)** ★ 122 GPL-3.0 🔴
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. > **[XChart](https://github.com/knowm/XChart)** ★ 1.6k Apache-2.0 🟢
Light-weight library for plotting data. Many customizable chart types are available. @@ -1786,7 +1786,7 @@ _Tools and runtimes for using Java or Java-like languages as scripts._ > **[JPad](https://jpad.io)**
Snippet runner. -> **[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 449 🟢
Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. +> **[JQuick Java](https://github.com/paohaijiao/jquick-java)** ★ 447 🟢
Java-like scripting language for dynamic rule engines with XML orchestration and Java interoperability. @@ -1801,11 +1801,11 @@ _Engines that index documents for search and analysis._ > **[Elasticsearch](https://github.com/elastic/elasticsearch)** ★ 77.6k 🟢
Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents. -> **[Elasticsearch Java Client](https://github.com/elastic/elasticsearch-java)** ★ 522 Apache-2.0 🟢
Official typed Java client for Elasticsearch. +> **[Elasticsearch Java Client](https://github.com/elastic/elasticsearch-java)** ★ 524 Apache-2.0 🟢
Official typed Java client for Elasticsearch. > **[OpenSearch](https://github.com/opensearch-project/OpenSearch)** ★ 13.4k Apache-2.0 🟢
Distributed search and analytics engine derived from Elasticsearch. -> **[Viglet Turing ES](https://github.com/openviglet/turing-ce)** ★ 0 Apache-2.0 🟢
Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends. +> **[Viglet Turing ES](https://github.com/openviglet/turing-ce)** ★ 14 Apache-2.0 🟢
Self-hosted enterprise search platform with faceted, semantic and hybrid search, RAG, AI agents and pluggable Solr, Elasticsearch or Lucene backends. @@ -1816,15 +1816,15 @@ _Libraries that handle security, authentication, authorization or session manage > **[Apache Shiro](https://github.com/apache/shiro)** ★ 4.4k Apache-2.0 🟢
Performs authentication, authorization, cryptography and session management. -> **[Ayza](https://github.com/Hakky54/ayza)** ★ 579 Apache-2.0 🟢
High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. +> **[Ayza](https://github.com/Hakky54/ayza)** ★ 578 Apache-2.0 🟢
High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS. > **[Bouncy Castle](https://github.com/bcgit/bc-java)** ★ 2.7k MIT 🟢
All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations. -> **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 920 Apache-2.0 🟢
CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. +> **[Certificate Ripper](https://github.com/Hakky54/certificate-ripper)** ★ 919 Apache-2.0 🟢
CLI tool and library for extracting and exporting server certificates from HTTPS endpoints. > **[Cryptomator](https://github.com/cryptomator/cryptomator)** ★ 15.8k GPL-3.0 🟢
Multiplatform, transparent, client-side encryption of files in the cloud. -> **[Dependency-Track](https://github.com/DependencyTrack/dependency-track)** ★ 4.0k Apache-2.0 🟢
Software composition analysis platform for identifying supply-chain risk. +> **[Dependency-Track](https://github.com/DependencyTrack/dependency-track)** ★ 4.1k Apache-2.0 🟢
Software composition analysis platform for identifying supply-chain risk. > **[Jasypt Spring Boot](https://github.com/ulisesbocchio/jasypt-spring-boot)** ★ 3.1k MIT 🟠
Integrates encrypted properties with Spring Boot applications. @@ -1834,15 +1834,15 @@ _Libraries that handle security, authentication, authorization or session manage > **[jwt-java](https://github.com/BastiaanJansen/jwt-java)** ★ 14 MIT 🔴
Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API. -> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 35.8k Apache-2.0 🟢
Integrated SSO and IDM for browser apps and RESTful web services. +> **[Keycloak](https://github.com/keycloak/keycloak)** ★ 36.0k Apache-2.0 🟢
Integrated SSO and IDM for browser apps and RESTful web services. > **[MOSS](https://github.com/mosscomputing/moss-java)** ★ 0 🟢
Cryptographic signing for AI agents using ML-DSA-44 post-quantum signatures, creating audit trails for attribution and compliance. > **[Nbvcxz](https://github.com/GoSimpleLLC/nbvcxz)** ★ 309 MIT 🟠
Advanced password strength estimation. -> **[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 879 🟢
Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. +> **[OpenAM](https://github.com/OpenIdentityPlatform/OpenAM)** ★ 880 🟢
Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. -> **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 238 MIT 🟢
One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). +> **[OTP-Java](https://github.com/BastiaanJansen/OTP-Java)** ★ 241 MIT 🟢
One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). > **[OWASP Dependency-Check](https://github.com/dependency-check/DependencyCheck)** ★ 7.6k Apache-2.0 🟢
Detects publicly disclosed vulnerabilities contained within a project's dependencies. @@ -1850,7 +1850,7 @@ _Libraries that handle security, authentication, authorization or session manage > **[Passay](https://github.com/vt-middleware/passay)** ★ 313 🟠
Enforce password policy by validating candidate passwords against a configurable rule set. -> **[Password4j](https://github.com/Password4j/password4j)** ★ 428 Apache-2.0 🟠
User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. +> **[Password4j](https://github.com/Password4j/password4j)** ★ 430 Apache-2.0 🟠
User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions. > **[ScribeJava](https://github.com/scribejava/scribejava)** ★ 5.5k MIT 🟢
OAuth client library supporting OAuth 1.0a, OAuth 2.0 and numerous providers. @@ -1860,11 +1860,11 @@ _Libraries that handle security, authentication, authorization or session manage > **[Themis](https://github.com/cossacklabs/themis)** ★ 2.0k Apache-2.0 🟠
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/tink-crypto/tink-java)** ★ 295 Apache-2.0 🟢
Provides a simple and misuse-proof API for common cryptographic tasks. +> **[Tink](https://github.com/tink-crypto/tink-java)** ★ 297 Apache-2.0 🟢
Provides a simple and misuse-proof API for common cryptographic tasks. > **[Topaz](https://github.com/aserto-dev/topaz)** ★ 1.4k Apache-2.0 🟢
Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC. -> **[WebAuthn4J](https://github.com/webauthn4j/webauthn4j)** ★ 580 Apache-2.0 🟢
Server-side WebAuthn and passkey verification library. +> **[WebAuthn4J](https://github.com/webauthn4j/webauthn4j)** ★ 582 Apache-2.0 🟢
Server-side WebAuthn and passkey verification library. @@ -1889,7 +1889,7 @@ _Libraries that handle serialization with high efficiency._ > **[MessagePack](https://github.com/msgpack/msgpack-java)** ★ 1.5k Apache-2.0 🟢
Efficient binary serialization format. -> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.6k 🟢
Google's data interchange format. +> **[Protobuf](https://github.com/protocolbuffers/protobuf)** ★ 71.7k 🟢
Google's data interchange format. > **[SBE](https://github.com/aeron-io/simple-binary-encoding)** ★ 3.5k Apache-2.0 🟢
Simple Binary Encoding, one of the fastest message formats around. @@ -1927,9 +1927,9 @@ _Libraries for reading, writing and generating spreadsheet files._ > **[jackson-dataformat-spreadsheet](https://github.com/scndry/jackson-dataformat-spreadsheet)** ★ 23 Apache-2.0 🟢
Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`. -> **[Jxls](https://github.com/jxlsteam/jxls)** ★ 523 Apache-2.0 🟠
Generates Excel reports from spreadsheet templates. +> **[Jxls](https://github.com/jxlsteam/jxls)** ★ 524 Apache-2.0 🟠
Generates Excel reports from spreadsheet templates. -> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 62 Apache-2.0 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. +> **[Sheetz](https://github.com/chitralabs/sheetz)** ★ 60 Apache-2.0 🟢
Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation. > **[zerocell](https://github.com/creditdatamw/zerocell)** ★ 82 Apache-2.0 🔴
Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead. @@ -1952,7 +1952,7 @@ _Tools that substitute expressions in a template._ > **[Pebble](https://github.com/PebbleTemplates/pebble)** ★ 1.2k BSD-3-Clause 🟢
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)** ★ 781 🟠
Optimized, memory efficient and speedy template engine producing statically typed, plain objects. +> **[Rocker](https://github.com/fizzed/rocker)** ★ 780 🟠
Optimized, memory efficient and speedy template engine producing statically typed, plain objects. > **[StringTemplate](https://github.com/antlr/stringtemplate4)** ★ 1.0k 🔴
Template engine for generating source code, web pages, emails, or any other formatted text output. @@ -1979,7 +1979,7 @@ _Testing for the software development process that emerged from TDD and was heav > **[Kensa](https://github.com/kensa-dev/kensa)** ★ 22 Apache-2.0 🟢
Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code. -> **[Serenity BDD](https://github.com/serenity-bdd/serenity-core)** ★ 755 🟢
Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. +> **[Serenity BDD](https://github.com/serenity-bdd/serenity-core)** ★ 754 🟢
Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications. #### Fixtures 6 projects @@ -1993,7 +1993,7 @@ _Everything related to the creation and handling of random data._ > **[jFairy](https://github.com/SkillPanel/jfairy)** ★ 742 Apache-2.0 🟢
Fake data generator. -> **[JMock](https://github.com/xcancloud/JMock)** ★ 212 Apache-2.0 🟢
JMock is a high-performance data generation and simulation component library implemented in Java. +> **[JMock](https://github.com/xcancloud/JMock)** ★ 213 Apache-2.0 🟢
JMock is a high-performance data generation and simulation component library implemented in Java. > **[Randomized Testing](https://github.com/randomizedtesting/randomizedtesting)** ★ 184 Apache-2.0 🟢
JUnit test runner and plugins for running JUnit tests with pseudo-randomness. @@ -2001,11 +2001,11 @@ _Everything related to the creation and handling of random data._ _Provide environments to run tests for a specific use case._ -> **[BitDive Java Agent](https://github.com/bitDive/java-producer)** ★ 87 🟢
Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. +> **[BitDive Java Agent](https://github.com/bitDive/java-producer)** ★ 86 🟠
Java agent that captures runtime traces, SQL queries and HTTP payloads for BitDive testing. > **[jqwik](https://github.com/jqwik-team/jqwik)** ★ 837 EPL-2.0 🟢
Engine for property-based testing built on JUnit 5. -> **[JUnit](https://github.com/junit-team/junit-framework)** ★ 7.1k EPL-2.0 🟢
Common testing framework. +> **[JUnit](https://github.com/junit-team/junit-framework)** ★ 7.0k EPL-2.0 🟢
Common testing framework. > **[PIT](https://github.com/hcoles/pitest)** ★ 1.8k Apache-2.0 🟢
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites. @@ -2071,7 +2071,7 @@ _Other stuff related to testing._ > **[LogCaptor](https://github.com/Hakky54/log-captor)** ★ 432 Apache-2.0 🟢
Captures log entries for unit testing purposes. -> **[Selfie](https://github.com/diffplug/selfie)** ★ 100 Apache-2.0 🟢
Snapshot testing (inline and on disk). +> **[Selfie](https://github.com/diffplug/selfie)** ★ 101 Apache-2.0 🟢
Snapshot testing (inline and on disk). > **[skipper-java](https://github.com/get-skipper/skipper-java)** ★ 4 MIT 🟠
Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes. @@ -2085,7 +2085,7 @@ _Tools which mock collaborators to help testing single, isolated units._ > **[EasyMock](https://github.com/easymock/easymock)** ★ 832 🟢
EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing. -> **[JMockit](https://github.com/jmockit/jmockit1)** ★ 472 🔴
Integration testing, API mocking and faking, and code coverage. +> **[JMockit](https://github.com/jmockit/jmockit1)** ★ 473 🔴
Integration testing, API mocking and faking, and code coverage. > **[Mockito](https://github.com/mockito/mockito)** ★ 15.4k MIT 🟢
Mocking framework that lets you write tests with a clean and simple API. @@ -2114,7 +2114,7 @@ _Libraries which provide general utility functions._ > **[bucket4j](https://github.com/bucket4j/bucket4j)** ★ 2.8k Apache-2.0 🟢
Rate limiting library based on token-bucket algorithm. -> **[cactoos](https://github.com/yegor256/cactoos)** ★ 777 MIT 🟢
Collection of object-oriented primitives. +> **[cactoos](https://github.com/yegor256/cactoos)** ★ 778 MIT 🟢
Collection of object-oriented primitives. > **[fswatch](https://github.com/vorburger/ch.vorburger.fswatch)** ★ 33 Apache-2.0 🟢
Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService. @@ -2124,13 +2124,13 @@ _Libraries which provide general utility functions._ > **[Java Diff Utils](https://github.com/java-diff-utils/java-diff-utils)** ★ 1.5k Apache-2.0 🟢
Utilities for text or data comparison and patching. -> **[Java UUID Generator](https://github.com/cowtowncoder/java-uuid-generator)** ★ 933 Apache-2.0 🟢
Generates standard UUID versions including time-ordered UUIDv6 and UUIDv7. +> **[Java UUID Generator](https://github.com/cowtowncoder/java-uuid-generator)** ★ 934 Apache-2.0 🟢
Generates standard UUID versions including time-ordered UUIDv6 and UUIDv7. > **[java-refined](https://github.com/JunggiKim/java-refined)** ★ 4 MIT 🟠
Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections. > **[java-util](https://github.com/jdereg/java-util)** ★ 440 Apache-2.0 🟢
Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal. -> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 114 Apache-2.0 🟢
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. +> **[JEmoji](https://github.com/felldo/JEmoji)** ★ 115 Apache-2.0 🟢
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. > **[Jimfs](https://github.com/google/jimfs)** ★ 2.6k Apache-2.0 🟢
In-memory file system. @@ -2138,9 +2138,9 @@ _Libraries which provide general utility functions._ > **[PipelinR](https://github.com/sizovs/pipelinr)** ★ 493 MIT 🟠
Small utility library for using handlers and commands with pipelines. -> **[Semver4j](https://github.com/semver4j/semver4j)** ★ 115 MIT 🟢
Lightweight library that helps you handling semantic versioning with different modes. +> **[Semver4j](https://github.com/semver4j/semver4j)** ★ 116 MIT 🟢
Lightweight library that helps you handling semantic versioning with different modes. -> **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 551 MIT 🟢
Port of Underscore.js functions. +> **[Underscore-java](https://github.com/javadev/underscore-java)** ★ 550 MIT 🟢
Port of Underscore.js functions. > **[Zip4j](https://github.com/srikanth-lingala/zip4j)** ★ 2.2k Apache-2.0 🟠
Reads, writes, encrypts and streams ZIP files. @@ -2151,7 +2151,7 @@ _Libraries which provide general utility functions._ _Utilities that help create the development shell environment and switch between different Java versions._ -> **[jabba](https://github.com/Jabba-Team/jabba)** ★ 306 Apache-2.0 🟠
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. +> **[jabba](https://github.com/Jabba-Team/jabba)** ★ 310 Apache-2.0 🟠
Java Version Manager inspired by nvm. Supports macOS, Linux and Windows. > **[jenv](https://github.com/jenv/jenv)** ★ 6.6k MIT 🟠
Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS. @@ -2166,11 +2166,11 @@ _Libraries that analyze the content of websites._ > **[Apache Nutch](https://github.com/apache/nutch)** ★ 3.3k Apache-2.0 🟢
Highly extensible, highly scalable web crawler for production environments. -> **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 145 MIT 🟢
Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. +> **[crawlberg](https://github.com/xberg-io/crawlberg)** ★ 150 MIT 🟢
Crawls and scrapes websites through a Java binding with Markdown conversion and optional browser rendering. > **[jsoup](https://github.com/jhy/jsoup)** ★ 11.4k MIT 🟢
Scrapes, parses, manipulates and cleans HTML. -> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 987 Apache-2.0 🟢
SDK for building low-latency and scalable web crawlers. +> **[StormCrawler](https://github.com/apache/stormcrawler)** ★ 991 Apache-2.0 🟢
SDK for building low-latency and scalable web crawlers. > **[webmagic](https://github.com/code4craft/webmagic)** ★ 11.7k Apache-2.0 🟠
Scalable crawler with downloading, url management, content extraction and persistent. @@ -2181,7 +2181,7 @@ _Libraries that analyze the content of websites._ _Frameworks that handle the communication between the layers of a web application._ -> **[ActiveJ](https://github.com/activej/activej)** ★ 995 Apache-2.0 🟠
Lightweight asynchronous framework built from the ground up for developing high-performance web applications. +> **[ActiveJ](https://github.com/activej/activej)** ★ 996 Apache-2.0 🟠
Lightweight asynchronous framework built from the ground up for developing high-performance web applications. > **[Apache Tapestry](https://github.com/apache/tapestry-5)** ★ 136 Apache-2.0 🟢
Component-oriented framework for creating dynamic, robust, highly scalable web applications. @@ -2209,9 +2209,9 @@ _Frameworks that handle the communication between the layers of a web applicatio > **[Spring Boot](https://github.com/spring-projects/spring-boot)** ★ 81.2k Apache-2.0 🟢
Framework for creating stand-alone, production-grade Spring applications. -> **[Takes](https://github.com/yegor256/takes)** ★ 877 MIT 🟢
Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. +> **[Takes](https://github.com/yegor256/takes)** ★ 876 MIT 🟢
Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. -> **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 351 Apache-2.0 🟢
Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. +> **[tinystruct](https://github.com/tinystruct/tinystruct)** ★ 352 Apache-2.0 🟢
Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support. > **[Vaadin](https://vaadin.com)** ★ 1.7k 🟢
Full-stack Java platform for building browser applications with server-side components. @@ -2228,7 +2228,7 @@ _Engines for orchestrating long-running workflows and business processes._ > **[Apache DolphinScheduler](https://github.com/apache/dolphinscheduler)** ★ 14.4k Apache-2.0 🟢
Distributed workflow orchestration platform with visual and API-driven scheduling. -> **[Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client)** ★ 150 Apache-2.0 🟢
Java client and workflow framework for the Cadence orchestration service. +> **[Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client)** ★ 152 Apache-2.0 🟢
Java client and workflow framework for the Cadence orchestration service. > **[Conductor](https://github.com/conductor-oss/conductor)** ★ 32.0k Apache-2.0 🟢
Event-driven workflow engine for distributed applications and AI agents. @@ -2236,7 +2236,7 @@ _Engines for orchestrating long-running workflows and business processes._ > **[Maestro](https://github.com/Netflix/maestro)** ★ 3.8k Apache-2.0 🟢
Workflow orchestration engine developed by Netflix. -> **[Temporal Java SDK](https://github.com/temporalio/sdk-java)** ★ 421 Apache-2.0 🟢
Java SDK for writing durable workflows and activities on Temporal. +> **[Temporal Java SDK](https://github.com/temporalio/sdk-java)** ★ 424 Apache-2.0 🟢
Java SDK for writing durable workflows and activities on Temporal.