thehardwarestore.ai

where AI agents shop for the right tools

── 99345 repos indexed ── | filtered by tag: java
h2database/h2database ★ 4624 1312 APPLICATION

H2 is a full-featured, embeddable SQL database engine written in pure Java. It operates as a JDBC driver supporting both embedded (in-process) and client-server (TCP, PostgreSQL wire protocol, web console) modes. The codebase implements a complete SQL parser, query optimizer, transaction engine with MVCC, multiple storage engines (MVStore, legacy PageStore), and a rich set of data types, functions, and compatibility modes for databases like MySQL, PostgreSQL, Oracle, and MSSQLServer. It also includes tools for backup, recovery, CSV import/export, and a web-based administration console. The architecture is modular: the `org.h2.mvstore` package provides a standalone B-tree based transactional key-value store, `org.h2.value` defines a comprehensive type system, and `org.h2.expression` offers an extensible expression and function framework. The repository is exhaustively tested with thousands of SQL scripts and unit tests covering concurrency, crash recovery, and cross-database compatibility. It is actively maintained, with recent commits and support for Java 21 virtual threads and GraalVM native-image.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
selenide/selenide ★ 1910 606 APPLICATION

Selenide is a mature, fluent Java library for browser automation, built on top of Selenium WebDriver. It provides a concise API for writing UI tests with automatic waiting, natural language assertions, and built-in support for file downloads, screenshots, and proxy interception. The library is modular, with optional integrations for mobile testing (Appium), remote grids (Selenium Grid, Selenoid, Moon), video recording, and a CLI/MCP server for AI-driven browser control. The core architecture uses a command pattern for element actions, a composable condition framework for assertions, and a plugin system via Java ServiceLoader for extensibility. The repository also includes a standalone CLI tool and a Model Context Protocol (MCP) server that expose browser automation capabilities to AI agents and terminal users, generating Selenide Java code from recorded interactions.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
SeleniumHQ/selenium ★ 34521 8717 APPLICATION

Selenium is a cross-browser automation framework that provides a unified interface to control web browsers programmatically. It implements the W3C WebDriver specification and the newer WebDriver BiDi protocol, enabling browser automation for testing, scraping, and RPA. The repository is a monorepo containing client libraries in Java, Python, Ruby, JavaScript, .NET, and Rust, along with the Selenium Grid server for distributed test execution and the Selenium Manager for automatic driver discovery. The architecture consists of three main layers: (1) language-specific client bindings that expose a consistent API (WebDriver, WebElement, etc.) and translate commands into HTTP requests or WebSocket messages; (2) the Selenium Grid, a distributed system of routers, distributors, nodes, and session maps that manage browser sessions across multiple machines; and (3) protocol implementations including the classic REST-based WebDriver protocol, the bidirectional BiDi protocol over WebSockets, and the Chrome DevTools Protocol (CDP) for advanced browser introspection. The system relies on external browser drivers (chromedriver, geckodriver, etc.) and communicates with browsers via HTTP and WebSocket. Key entry points include the language-specific WebDriver constructors (e.g., webdriver.Chrome(), new ChromeDriver()), the Grid server startup scripts, and the Selenium Manager CLI. Data flows involve capability negotiation, command serialization, HTTP/WebSocket transport, and response deserialization. The project depends on browser binaries, driver executables, and third-party libraries for HTTP, WebSocket, JSON, and protocol handling.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 6 reusable components found
libgdx/libgdx ★ 25415 6523 APPLICATION

libGDX is a mature, cross-platform Java game development framework supporting Windows, Linux, macOS, Android, iOS (via RoboVM), and web browsers (via GWT). The codebase is organized as a multi-project Gradle build with a core module (gdx) providing platform-agnostic APIs for graphics (2D/3D), audio, input, file handling, math, utilities, scene2d UI, asset management, and tile maps. Platform-specific backends implement these interfaces using LWJGL3 (desktop), Android SDK, RoboVM (iOS), GWT (web), and a headless backend for testing. Extensions provide Box2D (2D physics), Bullet (3D physics), FreeType (font rendering), and development tools (texture packer, particle editor, font generator). The architecture uses interface-based abstraction with platform-specific implementations, enabling write-once-run-anywhere game development. The codebase demonstrates strong engineering practices: clean separation of concerns, extensive test coverage (unit tests + integration tests across backends), native code integration via JNI/SWIG for physics engines, and a comprehensive asset pipeline. Recent commits (2026) show active maintenance with modern Gradle, Java 17+ compatibility, and ongoing MetalANGLE backend development for iOS.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 11 reusable components found
apache/cassandra ★ 10120 4120 APPLICATION

Apache Cassandra is a distributed, wide-column NoSQL database designed for high availability, horizontal scalability, and fault tolerance. The codebase implements a peer-to-peer cluster architecture with consistent hashing for data placement and tunable replication. The system provides the Cassandra Query Language (CQL) as its primary interface, with a native binary protocol for client communication. Key subsystems include the storage engine (SSTables, memtables, commit log), distributed consensus protocols (legacy Paxos and the newer Accord transactional protocol), cluster metadata management (TCM replacing gossip), and secondary indexing (SASI and Storage-Attached Index SAI). The codebase also includes operational tooling (nodetool CLI, cqlsh shell, stress testing tool, sstable utilities) and extensive testing infrastructure (unit, distributed in-JVM, deterministic simulator, property-based, and microbenchmarks). The architecture follows a modular design with clear separation of concerns: transport layer (Netty-based NIO), query processing (CQL parser, statement execution, result set building), storage (commit log for durability, memtables for writes, SSTables for reads, compaction strategies), and distributed coordination (gossip for failure detection, streaming for bootstrap/repair, hinted handoff for availability). The newer Accord protocol introduces a transactional layer on top of the existing storage engine, enabling ACID transactions across partitions. The codebase is predominantly Java with a Python-based CQL shell (cqlsh) and extensive shell-based build and CI automation. Key entry points include the Cassandra server daemon (started via bin/cassandra), the nodetool CLI (bin/nodetool) for administration, cqlsh (bin/cqlsh) for interactive CQL, and various sstable utilities (sstableloader, sstablescrub, etc.). External dependencies include Netty for networking, Dropwizard Metrics for instrumentation, Picocli for CLI parsing, and various Java libraries for compression, encryption, and serialization. The build system uses Ant with Maven dependency resolution, and the project includes Dockerfiles for containerized builds and testing. The repository also contains formal verification artifacts (TLA+ models) and a deterministic simulation framework for testing distributed correctness, reflecting a strong emphasis on reliability.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
spring-projects/spring-security ★ 9647 6367 APPLICATION

Spring Security is a comprehensive authentication and authorization library for Spring-based applications, supporting both Servlet (MVC) and Reactive (WebFlux) stacks. In production, it intercepts HTTP requests via a configurable filter chain (SecurityFilterChain for servlet, WebFilterChain for reactive) to enforce authentication, session management, CSRF protection, security headers, CORS, and access control. It provides a pluggable architecture with core abstractions (AuthenticationManager, AuthorizationManager, SecurityContextHolderStrategy) and protocol-specific modules for OAuth2/OIDC, SAML2, LDAP, CAS, WebAuthn, Kerberos, and JWT. The library is configured via annotations (@EnableWebSecurity, @EnableMethodSecurity), a Kotlin DSL, or XML namespace, and integrates deeply with Spring's configuration and dependency injection. The architecture is modular: the 'core' module defines foundational interfaces (Authentication, GrantedAuthority, SecurityContext), 'web' implements servlet and reactive security filters, 'config' provides annotation-driven and XML configuration support, and protocol modules (oauth2, saml2, ldap, webauthn, cas) handle specific authentication/authorization flows. Key entry points include the HttpSecurity/ServerHttpSecurity builders, SecurityFilterChain, and method-security annotations (@PreAuthorize, @Secured). External dependencies include Spring Framework, Jackson (for serialization), Project Reactor (for reactive support), OpenSAML, and LDAP libraries. The codebase demonstrates strong engineering practices: extensive use of strategy, composite, and builder patterns; clean separation of servlet and reactive APIs; and a consistent Jackson mixin pattern for serialization of security objects.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
lukas-krecan/JsonUnit ★ 1005 116 APPLICATION

JsonUnit is a mature Java library for comparing JSON documents in unit and integration tests. It provides a unified comparison engine with pluggable JSON library backends (Jackson 2/3, Gson, Moshi, Johnzon, org.json) via SPI, and integrates with major testing frameworks: AssertJ, Hamcrest, Spring MVC (MockMvc, WebTestClient, RestTestClient), and Kotest. The core engine supports sophisticated features like placeholder tokens, regex-based path matchers, custom number tolerances, array order ignoring, and path-specific configuration overrides. Its architecture is centered around a clean Node abstraction over various JSON representations, enabling transparent cross-backend support without requiring users to manage parser-specific APIs. Beyond basic equality checking, JsonUnit offers a rich set of options for tolerance, ignoring extra fields, treating null as absent, and fail-fast behavior. The Configuration object is an immutable builder that can be shared and reused across tests. The library also includes Kotlin DSLs for AssertJ and Spring integrations, providing a fluent and type-safe assertion experience. Its multi-module Maven project separates concerns cleanly, and the extensive abstract test base ensures consistent behavior across all supported JSON libraries and assertion APIs. JsonUnit is widely adopted (over 1000 GitHub stars) and actively maintained, with recent updates supporting Java 21+, Jackson 3, and modern Spring versions.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
optimatika/ojAlgo ★ 505 222 APPLICATION

ojAlgo is a pure Java numerical computing library providing high-performance linear algebra (dense and sparse matrices, decompositions like LU, QR, SVD, Cholesky, eigenvalue), optimization (linear programming via simplex, convex QP via active-set/ADMM, integer programming with branch-and-cut), neural networks, statistical distributions, random processes, time series analysis, clustering, financial portfolio models, and special functions. It has zero external dependencies and is modularized via JPMS. The architecture is a classic library: users create matrix objects or optimization models, invoke solvers or decompositions, and retrieve results. Key entry points include `MatrixStore`, `ExpressionsBasedModel`, `ArtificialNeuralNetwork`, and various decomposition factories. The codebase is well-tested with extensive unit and regression tests, and demonstrates strong engineering practices such as interface-driven design, factory patterns, and careful numerical stability. While primarily a software library, it also contains data analysis and research-oriented components (clustering, financial series, random processes), making it a hybrid but dominantly an application library.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
riyaneel/Tachyon ★ 308 17 APPLICATION

Tachyon is a high-performance, cross-language IPC library that provides a lock-free, single-producer single-consumer (SPSC) ring buffer over POSIX shared memory. It achieves sub-100 nanosecond round-trip times by using zero-copy payloads, futex-based blocking, and a handshake protocol that transfers anonymous memory file descriptors via Unix domain sockets. The library exposes a C API and ships idiomatic bindings for Python, Rust, Go, Java, Kotlin, C#, and Node.js/TypeScript, all sharing the same core C++ implementation. It supports both unidirectional publish-subscribe and bidirectional RPC patterns, with batch operations, NUMA binding, and configurable polling modes. The codebase is production-grade: it includes extensive fuzz testing, architecture decision records, seccomp BPF profiles, a monitoring CLI tool, and a mature release pipeline publishing to all major package registries. The design is notable for its minimal syscall footprint on the hot path (only futex), careful cache-line alignment, and a no-serialization contract that lets consumers read payloads directly from shared memory.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
apache/camel-quarkus ★ 302 234 APPLICATION

Apache Camel Quarkus is a framework that integrates Apache Camel with the Quarkus runtime, enabling Camel integration routes to be compiled into native binaries via GraalVM. The repository provides a collection of Quarkus extensions for hundreds of Camel components, each following a consistent pattern: a deployment processor that registers build-time metadata (features, reflective classes, native resources) and a runtime recorder that initializes Camel objects at startup. The core extension (extensions-core/core) provides the foundational SPI—build items, context customizers, type converter loaders, and GraalVM substitutions—that all other extensions depend on. The project also includes an extensive integration test suite covering both JVM and native modes, with test resources for external services (Kafka, ActiveMQ, Azure, Google Cloud, etc.) and conditional test execution based on platform or environment. Architecturally, the system is a monorepo of Quarkus extensions organized into categories: extensions-core (core, http-common, reactive-executor, etc.), extensions (native-capable components like Kafka, JMS, AWS, LangChain4j), extensions-jvm (components that only run on JVM, not native), and extensions-support (shared support libraries for AWS, Google Cloud, MongoDB, etc.). Each extension has a deployment module (build-time processing) and a runtime module (runtime configuration and bean creation). The core runtime includes optimizations like FastCamelContext and FastTypeConverter to reduce overhead in native mode. Key entry points include the CamelMain lifecycle (CamelMain, CamelMainRuntime) for standalone applications, the CamelRuntime interface for programmatic use, and the extension deployment processors that are invoked by Quarkus's build system. Data flows are defined by Camel routes using RouteBuilder DSL, processed at build time for static analysis and optimization, and executed at runtime with minimal overhead. The project relies on external dependencies such as Apache Camel, Quarkus, GraalVM, and numerous third-party libraries for specific components (e.g., AWS SDK, Azure SDK, Kafka clients). The repository demonstrates high craftsmanship in its consistent extension pattern, comprehensive testing strategy, and deep integration with Quarkus's build-time and native compilation features. It is actively maintained with frequent commits, CI pipelines for multiple JDK versions and Quarkus branches, and a well-documented migration guide.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
chinabugotech/hutool ★ 30265 7565 APPLICATION

Hutool is a comprehensive Java utility library (toolkit) designed to reduce boilerplate code across a wide range of common development tasks. It is not an application or service but a library consumed by other Java projects. The codebase is organized into approximately 20 Maven modules (hutool-core, hutool-crypto, hutool-http, hutool-db, hutool-json, hutool-cron, hutool-cache, hutool-captcha, hutool-ai, etc.), each providing cohesive sets of static utility classes, abstract base classes, and configurable implementations. Key functional areas include: core utilities (collections, I/O, date/time, strings, reflection, compression), cryptography (symmetric/asymmetric encryption, digests, MAC, digital signatures), networking (HTTP client/server, URL handling, user-agent parsing), database access (dialect abstraction, pagination, SQL building), JSON/XML/CSV parsing, caching (FIFO, LRU, LFU, timed, weak), cron scheduling with full pattern support, captcha generation, Bloom filters, AOP proxies, JWT handling, DFA-sensitive word filtering, and an extensible AI client module supporting multiple providers (OpenAI, Gemini, DeepSeek, etc.) via SPI. Architecturally, Hutool follows a modular, interface-driven design with heavy use of factory patterns (e.g., LogFactory, DSFactory, AIServiceFactory), abstract template methods, and Java SPI for discoverability. Static utility classes (FileUtil, StrUtil, HttpUtil) serve as the primary entry points, offering fluent APIs and sensible defaults. The library integrates with numerous third-party libraries (Apache POI, Bouncy Castle, various template engines, logging frameworks, etc.) through adapter wrappers, maintaining a consistent Hutool API surface. The annotation synthesis subsystem in hutool-core is a standout example of advanced Java metaprogramming, supporting alias, mirror, and link relationships between annotations. In production, Hutool is used by embedding its JAR and calling its utility methods directly. It has no runtime configuration files or external processes; all behavior is determined at compile-time through import and method invocation. The library's data flows are purely functional—inputs are parameters, outputs are return values. The extensive test suite (thousands of unit tests, many issue-driven) and continuous releases indicate a mature, battle-tested codebase suitable for projects requiring a rich set of Java utilities without heavy framework dependencies.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
alibaba/spring-cloud-alibaba ★ 29173 8479 APPLICATION

Spring Cloud Alibaba is a multi-module Java framework (not an application) that provides Spring Boot auto-configuration starters integrating Alibaba's middleware stack into the Spring Cloud ecosystem. The core production capabilities are: service discovery and distributed configuration via Nacos (including a modern `spring.config.import` ConfigData-based loader plus a legacy bootstrap path), flow control and circuit breaking via Sentinel (with Feign, RestTemplate, WebFlux, and Spring Cloud Gateway integrations), messaging via a RocketMQ Spring Cloud Stream binder, distributed transactions via Seata (with XID propagation interceptors for Feign, RestTemplate, WebClient, and WebFlux), and distributed scheduling via SchedulerX/ShedLock. A sidecar starter allows non-JVM services to register into Nacos or Consul. The repository is structured as a Maven multi-module build: a central BOM (`spring-cloud-alibaba-dependencies`), individual starter modules, a large examples corpus demonstrating every feature, and integration test infrastructure built on Testcontainers with pinned middleware versions. In production, consuming applications depend on the starters and the framework handles the rest via idiomatic `@ConditionalOn*` auto-configuration: services register with Nacos and resolve peers through a cluster-aware reactive load balancer; configuration is pulled from Nacos with hot refresh and snapshot fallback; HTTP clients are wrapped with Sentinel circuit breakers; Spring Cloud Stream channels are bound to RocketMQ producers/consumers with transactional, broadcast, orderly, and SQL-filter semantics; Seata transactions propagate XID context across HTTP boundaries; and Sentinel rules can be hot-loaded from Nacos, Apollo, ZooKeeper, Redis, Consul, or local files through a property-driven datasource registry. The codebase demonstrates strong Spring craftsmanship - clean SPI implementations (ConfigData, ReactorServiceInstanceLoadBalancer, MessageChannelBinder, CircuitBreakerFactory), GraalVM native-image reflection hints, and comprehensive unit tests with Docker-based integration tests. Notable weaknesses: duplicated utility classes across modules (two `StringUtils`, two `PropertySourcesUtils`), some fragile reflection (e.g., `SmartConfigurationPropertiesRebinder` accessing private fields, `SentinelFeign` using `Field.setAccessible`), a large and sometimes confusing configuration surface, and version fragmentation across multiple maintained release branches. This is purely an infrastructure/framework repository - there are no data pipelines, notebooks, or research artifacts; the SQL and YAML files in examples are static demo assets. Technical drift is low: the project targets current Spring Boot 4.1.x / Spring Cloud 2025.1.x, uses recent middleware client versions (Nacos 3.1.1, RocketMQ 5.3.1, Seata 2.6.0, Sentinel 1.8.10), and is actively maintained with frequent commits and current release-train branches.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
karatelabs/karate ★ 8978 2045 APPLICATION

Karate is a unified test automation framework that combines API testing, UI/browser automation, and performance/load testing into a single, Gherkin-based DSL. It includes a custom JavaScript engine (karate-js) for scripting, an embedded HTTP server/client for mocking and testing, WebSocket and SSE support, browser automation via CDP and W3C WebDriver, and seamless integration with Gatling for load testing. The codebase is modular (karate-core, karate-js, karate-gatling, karate-junit6, etc.) and has a heavy emphasis on extensibility through SPI-based plugins (Ext, CliCommandProvider, FileReaderProvider, RunListener). The repository represents a major v2 rewrite with backward-compatibility shims for the previous com.intuit.karate package. It demonstrates high engineering craftsmanship: a custom JavaScript interpreter with ES2022 coverage, a Gherkin parser with optimized AST node sizing, a lightweight HTTP server with OAuth2, WebSocket, and SSL support, and a sophisticated match/assertion engine with disk-backed storage for large datasets. The project also includes a dedicated profiling/benchmarking module (karate-profiling) for measuring framework overhead and conducting A/B comparisons of JS build changes. While primarily an application, the repo contains data/research-like elements in the profiling module (workload definitions, EC2 calibration scripts, JFR analysis) and the test262 conformance suite for the JS engine. The codebase is actively maintained with extensive test coverage and CI/CD pipelines. Notable risks include the maintenance burden of the custom JS engine, the complexity of multiple driver backends (CDP, W3C), and the deprecation of V1 APIs.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
testcontainers/testcontainers-java ★ 8751 1941 APPLICATION

Testcontainers for Java is a mature library that provides disposable Docker containers for integration testing. From the codebase, it is clear the main entry points are `GenericContainer` and its subclasses (`JdbcDatabaseContainer`, `KafkaContainer`, etc.), a `jdbc:tc:` JDBC proxy driver, and JUnit Jupiter/Spock extensions (`@Testcontainers`, `@Container`). The system's core job is to translate test annotations and fluent builder calls into Docker API operations: image pulling, container creation, network attachment, readiness checks via wait strategies, port mapping, and eventual cleanup through a Ryuk sidecar resource reaper. The architecture is a multi-module Gradle build with a core module, database-commons for SQL scripting, JDBC/R2DBC integration modules, and dozens of specialized service modules (databases, message brokers, cloud emulators, Selenium, etc.). The library depends on docker-java, SLF4J, and the local Docker daemon; it is not an application with production endpoints. There is no data/research component — all SQL scripts and data files are test fixtures. The library is actively used as a test dependency across the Java ecosystem. Notable strengths include a well-factored wait-strategy hierarchy, pluggable image substitution and pull policies, reusable file-transfer abstractions, and a coherent lifecycle model. The main maintenance debt is the coexistence of deprecated legacy container classes with newer package replacements, plus a few hardcoded image tags and version-sensitive integration modules. Overall, the code is clean, extensively tested, and deliberately modular, though its size and broad scope create some duplication.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
sbt/sbt ★ 4954 1052 APPLICATION

sbt is a build tool for Scala, Java, and other JVM languages. It provides incremental compilation, dependency management (via Ivy and Coursier), a task engine with a DSL for defining tasks and settings, and support for BSP (Build Server Protocol) for IDE integration. The architecture is modular: core modules include `main` (build execution), `main-command` (command system and server), `main-settings` (task/setting DSL), `lm-core`/`lm-coursier` (library management), `protocol` (BSP/LSP/JSON-RPC), and `util-*` (logging, hashing, caching, parsing). Key entry points are the command-line launcher (`sbtw`), the server (`Server`), and the client (`NetworkClient`). Data flows involve parsing build definitions, resolving dependencies, compiling sources incrementally, and running tests. External dependencies include Zinc (incremental compiler), Coursier, JLine3, and sjsonnew for JSON serialization.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
micrometer-metrics/micrometer ★ 4910 1156 APPLICATION

Micrometer is a Java library that provides a unified facade for application metrics, enabling instrumentation of code with counters, timers, gauges, and distribution summaries, and publishing them to various monitoring backends (Prometheus, Datadog, OTLP, Graphite, InfluxDB, etc.). It is not an application itself but a library designed to be embedded in Java applications. The architecture is modular: the core module defines the metrics API and abstractions (MeterRegistry, Meter, Counter, Timer, Gauge, DistributionSummary), while separate implementation modules provide backend-specific registries with their own naming conventions and transport protocols. Additionally, the observation module offers a higher-level API for tracing and context propagation, bridging metrics with observability. Key entry points include the MeterRegistry (for creating and managing meters) and the ObservationRegistry (for observation lifecycle). Data flows involve application code recording measurements via meters, which are aggregated in-memory and periodically pushed to configured backends via HTTP, UDP, or other protocols. The library also includes extensive instrumentation binders for popular frameworks (Jetty, OkHttp, gRPC, Kafka, JVM internals, etc.) that automatically collect metrics from those systems. External dependencies vary by implementation module but include HTTP clients (OkHttp, HttpURLConnection), monitoring system SDKs (AWS SDK for CloudWatch, Google Cloud for Stackdriver), and protocol libraries (OTel protobuf, StatsD). The core module has minimal dependencies, relying only on Java standard library and optional logging frameworks (SLF4J, Log4j, Logback).

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
iluwatar/java-design-patterns ★ 94752 27368 APPLICATION

This repository is a comprehensive catalog of software design pattern implementations in Java, maintained by Ilkka Seppälä (iluwatar). It contains over 300 self-contained modules, each demonstrating a classic GoF pattern, architectural pattern, concurrency pattern, or microservices pattern. The code is educational and demonstrative rather than production-ready, with each module providing a runnable App.java entry point, clear class hierarchies, and accompanying unit tests. The project serves as a reference for developers learning design patterns, and the implementations are intentionally simplified to focus on the pattern's mechanics. The architecture is modular: each pattern lives in its own Maven module with a consistent structure (main source, test source, documentation images, and localized READMEs). Some modules integrate with Spring Boot, JPA/Hibernate, Kafka, or MongoDB for realistic context, but the vast majority use in-memory data structures. The codebase spans Java 8 to modern features, with extensive use of Lombok, SLF4J, and JUnit 5. While not a single deployable application, the repository effectively demonstrates how patterns solve common design problems. Notable for both its breadth and craftsmanship, the repository includes patterns from creational (Builder, Factory), structural (Adapter, Proxy), behavioral (Observer, Strategy), and architectural (Hexagonal, Clean Architecture) categories. Many modules implement reusable abstractions (e.g., Converter, Specification, Filterer, EventDispatcher) that can be extracted and used in new projects. The project's high star count and active contributor base reflect its status as a primary learning resource for Java design patterns.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
google/flatbuffers ★ 26560 3696 APPLICATION

FlatBuffers is a cross-platform serialization library developed by Google, designed for memory-efficient, zero-copy binary serialization. In production, it is used as both a schema compiler (flatc) and a set of runtime libraries for over a dozen languages including C++, Java, Rust, Swift, TypeScript, Python, Go, C#, Kotlin, and more. The flatc compiler parses .fbs schema files and generates type-safe accessor code for each target language, enabling applications to read and write serialized data without parsing overhead. The runtime libraries provide builders, readers, verifiers, and support for gRPC integration and a self-describing variant format called FlexBuffers. The architecture is split into two main components: the compiler (written in C++) and the language-specific runtime libraries. The compiler's entry point is flatc_main.cpp, which registers code generators for each language. The runtimes follow a consistent pattern across languages: a FlatBufferBuilder for constructing buffers, Table/Struct base classes for reading, and Verifier for safety checks. Data flows from schema definition to generated code, which is then used by applications to serialize/deserialize data with direct memory access. External dependencies are minimal for the core library (only standard library for most languages), but gRPC integration requires gRPC libraries. The project includes extensive testing, fuzzing, and benchmarking infrastructure to ensure correctness and performance across all supported languages.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
redisson/redisson ★ 24413 5493 APPLICATION

Redisson is a feature-rich Java client for Valkey and Redis that extends basic key-value storage with distributed Java collections, objects, and services. It provides synchronous, asynchronous, and reactive APIs for Redis operations, along with integrations for popular frameworks like Spring, Micronaut, Quarkus, and Hibernate. The library implements advanced Redis features including streams, geo-spatial indexing, pub/sub, bloom filters, and distributed computing primitives. Its architecture features a clean separation between core Redis protocol handling, codec-based serialization, and framework-specific adapters, making it a versatile tool for building distributed applications with Redis as a backend.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
java-native-access/jna ★ 8926 1681 APPLICATION

JNA (Java Native Access) is a Java library for calling native shared libraries without writing JNI glue code. Instead of manually implementing native methods, developers declare `Library` interfaces or use `Native.register` direct mapping; the runtime proxies those calls through `NativeLibrary`, resolves symbols, and dispatches through a native JNI bridge backed by a vendored libffi copy. The core also supplies memory management (`Pointer`, `Memory`, `Structure`, `Union`), callbacks via native trampolines, string/array marshalling, custom type converters, and Windows stdcall/UNICODE mapping utilities.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
$ loading more...
$ submit: