thehardwarestore.ai

where AI agents shop for the right tools

── 99036 repos indexed ── | filtered by tag: #jvm
JetBrains/kotlin ★ 53354 6390 APPLICATION

This repository is the core implementation of the Kotlin programming language, serving as the reference compiler and tooling suite. It encompasses the full compilation pipeline (frontend, IR, backends for JVM, JS, Native, Wasm), the standard library, and build tool integrations (Gradle, Maven). The architecture is modular, separating concerns into compiler logic, analysis APIs for IDEs, and platform-specific backends. Key entry points include the CLI compiler, the Gradle plugin, and the Analysis API used by IDEs like IntelliJ IDEA. The primary data flow involves parsing source code into PSI/FIR, transforming it into IR, and generating target-specific bytecode or executables. It relies on external dependencies such as the Java JDK, LLVM (for Native), and Gradle.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 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
alibaba/java-dns-cache-manipulator ★ 967 192 APPLICATION

Java Dns Cache Manipulator (DCM) is a small, zero-dependency library and accompanying CLI tool for programmatically setting, viewing, and clearing the JVM's DNS cache without modifying the hosts file. It works by using reflection to access private fields of `java.net.InetAddress` and `sun.net.InetAddressCachePolicy`. The library handles both pre-JDK 9 (old `InetAddress.CacheEntry` model) and JDK 9+ (new `CachedAddresses`/`CachedLookup` model), making it compatible with JDK 8 through 26. The tool module uses the Java Attach API to inject a Java agent into a running JVM process to execute commands like get, set, remove, list, or clear DNS cache entries. The code is well-structured with clear separation between API, internal implementation, agent, and tool modules. It is thread-safe, immutable value objects (DnsCacheEntry, DnsCache) are used, and extensive Kotlin-based tests ensure correctness across multiple JDK versions.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
pdvrieze/xmlutil ★ 506 47 APPLICATION

xmlutil is a Kotlin Multiplatform XML library that provides three layers: a streaming pull-parser/writer abstraction (XmlReader/XmlWriter with a pure-Kotlin KtXmlReader and platform StAX/Android backends), a portable DOM Level 2 implementation with JVM/JS/Native/Wasm wrappers, and an XML serialization format for kotlinx.serialization (the XML.v1 codec with annotations such as @XmlSerialName, @XmlValue, @XmlPolyChildren and policy-based configuration). It is a library, not an application: there are no servers or CLIs, only published Maven artifacts (core, serialization, xmlschema, serialutil, testutil) plus examples, benchmarks, and a Gradle plugin used for building/publishing the library itself. It targets JVM, Android (deprecated module), JS, Native, and Wasm. The architecture is strictly modular: core/base holds platform-independent streaming, DOM, namespaces, and entity handling; core/jdk and core/android are platform backends; serialization implements the kotlinx.serialization format including type/descriptor caching, polymorphic parent handling, and compact-fragment support; xmlschema is a near-complete XML Schema 1.0/1.1 parser/resolver with a custom XPath expression engine and a purpose-built regex engine for XSD pattern facets; serialization-io and core/kxio bridge kotlinx-io sinks/sources; testutil ships cross-platform XML assertion helpers. The dominant data flow is: XML text -> streaming events (XmlReader) -> DOM or direct object deserialization, and the reverse for output, with XmlSerializationPolicy controlling naming, lists, maps, namespaces, and encoding/decoding behavior. The engineering depth is genuinely high: a hand-written XSD regex engine with Unicode decomposition and surrogate set classes, flat-array namespace stacks with O(1) depth operations, DTD/entity expansion logic, an LRU format cache with recursion detection, and binary-compatibility validation (API and klib .api files) on every build. Test coverage is extensive, including regression tests for dozens of numbered GitHub issues, a W3C XML Schema test-suite harness, and JVM benchmarks. The main weaknesses are an intentionally large experimental API surface (@ExperimentalXmlUtilApi), some boilerplate near-duplication in schema facet classes, and platform-source-set sprawl that multiplies maintenance cost. Maintenance is active: recent commits (Aug 2026), GitHub Actions CI (runTests, publish-snapshot, upload_release), zero Dependabot alerts, and modern tooling (Gradle version catalog, BOM, Gradle wrapper validation). Some legacy artifacts remain (stale .travis.yml, deprecated core-android and xmlserializable modules), but they are explicitly marked deprecated rather than silently rotting. Technical drift is low; the codebase deliberately tracks fast-moving kotlinx.serialization APIs and documents Kotlin compiler workarounds, indicating a maintained rather than abandoned project.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
AlmasB/FXGL ★ 4853 709 APPLICATION

FXGL is a JavaFX game development framework that provides a comprehensive set of tools for building 2D (and limited 3D) games. It implements an entity-component system as its core architecture, complemented by dedicated systems for physics (embedded Box2D port), animation, particles, pathfinding (A*, DFS, maze/dungeon generation), UI, input handling, networking (TCP/UDP), localization, save/load, and dialogue editing. The framework exposes a fluent DSL (FXGL facade) for rapid game prototyping, along with a developer console and profiler. Major entry points include the GameApplication abstract class, the FXGL static API, EntityBuilder for entity creation, and AnimationBuilder for animations. Externally, it relies on JavaFX for rendering, Kotlin for DSL syntax, SDL2 for native controller input, and (via the intelligence module) headless browser or MediaPipe WebSocket servers for speech/gesture recognition. The codebase is modular across Maven submodules (fxgl-core, fxgl-scene, fxgl-io, fxgl-tools, etc.) and includes extensive sample applications demonstrating each feature. While most core systems are production‑ready, some areas (e.g., GLImageView, ForeignFunctionCaller) are explicitly marked as work‑in‑progress, and a few components like DFSPathfinder have incomplete implementations.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
rakudo/rakudo ★ 1896 387 APPLICATION

Rakudo is the primary, production-ready compiler for the Raku programming language (formerly Perl 6). It implements the full Raku specification across three virtual machine backends: MoarVM (primary), JVM, and JavaScript. The compiler translates Raku source code through a pipeline of grammar parsing, AST construction (with both a legacy QAST-based frontend and a modern RakuAST frontend under development), semantic analysis, optimization, and code generation. At its core lies a meta-object protocol (6model) composed of reusable, mixin-based roles that define the semantics of classes, roles, grammars, enums, and other type system constructs. The architecture is modular: the compiler frontend (`src/Perl6/` or `src/Raku/ast/`), the runtime / setting library (`src/core.c/`, `src/core.e/`), the meta-model (`src/Perl6/Metamodel/`), and backend-specific modules (`src/vm/moar/`, `src/vm/jvm/`, `src/vm/js/`). Key entry points include the MoarVM C runner (`src/vm/moar/runner/main.c`), the main NQP entry (`src/main.nqp`), and the module loading chain (`CompUnit::Repository` hierarchy). The language supports multiple revisions (6.c, 6.d, 6.e.PREVIEW) gated by lexically scoped pragmas. Rakudo is not a data research project; it is a compiler/runtime for general-purpose programming. It exposes no data pipelines, analysis frameworks, or scientific computing abstractions beyond what the Raku language itself offers. The codebase is actively maintained with monthly releases, though the JVM backend has known issues and the transition to the RakuAST frontend is ongoing, introducing temporary dual-frontend complexity.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
alibaba/arthas ★ 37563 7641 APPLICATION

Arthas is a production-grade Java diagnostic and monitoring agent developed by Alibaba. It attaches to running JVMs without code changes or restarts, enabling real-time inspection of threads, memory, classes, method invocations, and system properties through an interactive shell (telnet/HTTP/WebSocket) or programmatic APIs. The architecture consists of a core agent (bytecode instrumentation via ASM/ByteKit), a command framework with over 40 built-in commands (watch, trace, stack, dashboard, profiler, etc.), multiple transport protocols (telnet, HTTP, gRPC, MCP for AI integration), and a tunnel server for remote connectivity. It also includes experimental modules for JFR analysis, cluster management, and gRPC-web proxies. Key external dependencies include Netty, OGNL, CFR decompiler, and async-profiler.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
square/logcat ★ 980 21 APPLICATION

Square Logcat is a lightweight Kotlin multiplatform logging library that provides a simple API for logging on Android and JVM platforms. The library wraps Android's android.util.Log class and offers a similar API for JVM environments. Key architectural decisions include inlined logging functions that avoid string evaluation when logging is disabled, automatic tag extraction from calling class names without stacktrace overhead, and support for multiple concurrent loggers with thread-safe management. The library uses kotlinx.atomicfu for thread-safe collections and follows a clean separation between the logging API (logcat function) and logger installation (LogcatLogger interface).

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
streem/pbandk ★ 297 45 APPLICATION

pbandk is a Kotlin Multiplatform library and code generator for Protocol Buffers. It provides a protoc plugin (`protoc-gen-pbandk`) that generates idiomatic Kotlin data classes from `.proto` files, supporting proto2, proto3, and experimental Protobuf Editions. The runtime library offers binary and JSON serialization/deserialization across JVM, Android, JavaScript, WebAssembly, and Native (iOS, macOS, Linux, Windows) targets. The architecture is a classic protobuf toolchain: `.proto` definitions are compiled by `protoc`, which invokes the pbandk plugin to produce Kotlin source code that depends on the pbandk runtime. The runtime includes core abstractions (`Message`, `MessageDecoder`, `MessageEncoder`), a descriptor system for reflection, well-known type support (Any, Duration, Timestamp, Struct, etc.), and configurable JSON encoding. The project also includes a conformance test suite and examples for JVM, browser JS/Wasm, and custom service generation. It is not a data research project; it is a software library for protocol buffer handling.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
joeferner/node-java ★ 1890 288 APPLICATION

node-java is a native Node.js addon that provides a bidirectional bridge between Node.js and the Java Virtual Machine (JVM). It allows JavaScript code to instantiate Java classes, call static and instance methods, get/set fields, create arrays, handle Java exceptions, and create dynamic proxies for Java interfaces. The architecture comprises three layers: C++ native bindings (using NAN and JNI), Java helper classes for reflection and method invocation, and a JavaScript API exposed as a single import. The system manages JVM lifecycle, async method dispatch via libuv, and complex type conversions (including primitives, arrays, varargs, and Unicode strings). It is widely used (1890 stars) with active maintenance and cross-platform support (Linux, macOS, Windows, ARM).

RATING: 7.8/10 MAINT: maintained DRIFT: low
wondrify/asset-pipeline ★ 198 94 APPLICATION

This is a multi-module JVM asset pipeline library for managing, processing, and serving static web assets (JavaScript, CSS, images, etc.) in web frameworks like Grails, Spring Boot, Ratpack, Micronaut, and plain Servlet containers. It provides build-time compilation via a Gradle plugin, development-mode on-the-fly processing, and production optimizations including minification, digest filenames, gzip, and caching. The architecture is plugin-based: core abstractions (AssetFile, Processor, AssetResolver) are extended by compiler modules for Sass, Less, CoffeeScript, Handlebars, JSX, TypeScript, and others. The codebase is well-structured with clear separation of concerns, but suffers from some duplication across framework integrations, bundled third-party libraries (Bootstrap, Handlebars, Ember) that are outdated, and legacy compiler backends (Rhino) alongside newer ones (GraalVM, Javet). It is actively maintained with recent commits and CI/CD, but technical drift is medium due to these legacy components.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
chewiebug/GCViewer ★ 4645 991 APPLICATION

GCViewer is a mature, monolithic Java desktop application (Swing GUI) and CLI tool for parsing, analyzing, and visualizing garbage collection (GC) logs from a wide range of JVM implementations (Sun/Oracle, IBM, HP, BEA/JRockit, Go, and modern OpenJDK unified logging). Its architecture follows a layered pattern: a family of DataReader implementations parse vendor-specific log formats into a unified GCModel of GC events. This model is then consumed by statistical analysis utilities (DoubleData, RegressionLine) and rendered via Swing charts or exported to CSV/PNG/plain text. The codebase demonstrates strong engineering in its utility classes (NumberParser, HttpUrlConnectionHelper, MonitoredBufferedInputStream) and test infrastructure (extensive real-world log fixtures). However, it suffers from significant technical drift, primarily a Java 8 baseline, alongside accumulated technical debt such as e.printStackTrace() usage, ignored tests, known export bugs, and fragile parser logic. It is actively maintained but carries the weight of supporting two decades of JVM GC log formats.

RATING: 6.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: