JVM
Contents
Load tools
Languages
Pure functional programming language in the spirit of Haskell.
Java bindings for Go packages.
PHP on the Java VM.
Rembulan is an implementation of Lua 5.3 for the JVM, written in pure Java with minimal dependencies.
Memory and concurrency
Reactive Programming for Android by Google.
Library of data structures and utility methods that are a common need when building high-performance applications.
Java implementation of multidimensional Bloom filters
A high performance caching library for Java 8.
Low level memory access wrappers.
Micro second messaging that stores everything to disk.
In-memory key-value store designed for low-latency and/or multi-process applications.
Clojure's data structures modified for use outside of Clojure.
Binary serialization format and class generator.
Bloom filter replacement for approximated set-membership queries.
Integration modules for RxJava, Reactor, FunctionalJava, Guava & Javaslang.
Collections framework for Java.
Sort very large files using multiple cores and an external-memory algorithm.
A lightweight, zero-dependency library for handling failures.
Collections that are laid out adjacently in both on- and off-heap memory.
Java library for quickly and efficiently parsing and writing UUIDs.
Java utility methods for geohashing.
Goldman Sachs collections framework.
Java library and comprehensive toolset for harnessing small to moderately sized in-memory datasets.
Cliff Click's High Scale Library.
High Performance Primitive Collections.
A new Executor for Java.
Java port of a concurrent trie hash map implementation from Scala collections.
Java library for the HyperLogLog algorithm.
Library to compress and uncompress arrays of integers very fast.
String similarity and distance measures, including Levenshtein edit distance and sibblings, Jaro-Winkler, Longest Common Subsequence, cosine similarity etc.
Java Collections til the last breadcrumb of memory and performance.
Rewrite (port) of LevelDB in Java.
A very memory-efficient trie (radix tree) implementation.
Java API to LMDB (HawtJNI) which is an ultra-fast, ultra-compact key-value embedded data store written in C.
Java API to LMDB (JNR) which is an ultra-fast, ultra-compact key-value embedded data store written in C.
In-memory circular buffers that use direct ByteBuffers to minimize GC overhead.
Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL), audio (OpenAL) and parallel computing (OpenCL) applications.
Minimal Perfect Hash Tables are an immutable key/value store with efficient space utilization and fast reads.
Java large off heap cache developed for Apache Cassandra 3.0.
Modern Java IO library that do clever things to save CPU and memory.
Mirrors the Onyx Platform core API by providing a Java equivalent for each component of an Onyx workflow.
Useful extensions to Java 8 lambdas.
A java.util.HashMap compatible map that won't stall puts or gets when resizing.
A Persistent Java Collections Library.
Future standard utilities library for Reactive Streams.
A better compressed bitset in Java.
Rolling hash functions in Java.
Library for composing asynchronous and event-based programs using observable sequences.
High Performance Message Codec.
java.util.Map impl with worst put latencies more than 100 times smaller than java.util.HashMap.
A parallel bitmap implementation.
A fast object pool for the JVM.
A Java library for summarizing data in streams for which it is infeasible to store all events.
Fast integer compression in C using the StreamVByte codec.
Composable algorithmic transformations independent from the context of their input and output sources.
Hashing any sequences of bytes in Java, including all kinds of primitive arrays, buffers, CharSequences and more.
Clean, lightweight protocol buffers for Android and Java.
No-deps variable int implementation without deps (by Bazel).
Metaprogramming
A collection of source code generators for Java.
Testing tools for javac and annotation processors.
Algebraic data types constructors, pattern-matching, morphisms, optics and typeclasses.
Catch common Java mistakes as compile-time errors.
A Haskell to JVM compiler that supports GHC Haskell.
Java fork of Parboiled. Write grammars with no preprocessing phase.
Java 1.8 Parser and Abstract Syntax Tree for Java.
A Java API for generating .java source files.
Builds mini parsers in pure Java a la Haskell Parsec.
LLVM IR interpreter written in Java using Truffle and Graal.
Ahead-of-time translating compiler (transpiler) from Java bytecode to JavaScript.
Framework for implementing languages as simple interpreters.
Native
A JNI code generator based on the JNI generator used in Eclipse SWT.
Compile Java bytecode to microcontroller assembly.
Java API for Google's V8 JavaScript engine.
JavaCPP provides efficient access to native C++ inside Java.
Load native libraries without writing JNI code by hand.
Execution of native assembly from Java.
A low-overhead, non-blocking I/O, external Process execution implementation for Java.
Network
Efficient reliable UDP unicast, UDP multicast, and IPC message transport.
Asynchronous RPC/API client/server library built on top of Java 8, Netty 4.1, HTTP/2, and Thrift.
A High Performance Network library.
Simulating shitty network connections.
HTTP traffic replay in real-time.
Measures response time of a java application to socket-based requests.
Java API over AccelIO (C library), a high-performance asynchronous reliable messaging and RPC library optimized for hardware acceleration.
Create arbitrary network traffic and behavior to certify whether a network endpoint behaves correctly.
Simulating real-world distributed system failures.
An HTTP+HTTP/2 client for Android and Java applications.
library for building high performance Java servers.
Proteus Java Client based on RSocket.
Reactive gRPC is a suite of libraries for using gRPC with Reactive Streams programming libraries.
Resiliency tool that helps ensure that your applications can tolerate random instance failures.
Java library for capturing, crafting, and sending packets using libpcap.
A Linux packet crafting tool.
Captures TCP connections flows in a way that is convenient for protocol analysis and debugging.
Pcap editing and replay tools.
Nix tools
Tools for BPF-based Linux IO analysis, networking, monitoring, and more.
Simple disk I/0 latency measuring tool.
Read hardware performance counters on Intel and AMD processors.
Performance analysis tools based on Linux perf_events (aka perf) and ftrace.
Profilers
Java agent that rewrites bytecode to instrument allocation sites.
Java memory allocation profiler.
Sampling CPU profiler for Java featuring AsyncGetCallTrace + perf_events.
a safe, dynamic tracing tool for the Java platform.
Turn JVM bytecode execution into flame graphs.
GCViewer is a tool that visualizes verbose GC output.
A collection of tools to help visualise process execution.
Tools for tracking down memory / JVM problems & generating predictable-as-possible VM behaviour.
Utilities for HDR Histogram logs manipulation.
Production heap profiling for the JVM.
Sampling JVM profiler without the safepoint sample bias.
Measure actual object memory use including JVM overhead.
Memory consumption estimator for Java.
Converting JFR Method Profiling Samples to FlameGraph compatible format.
Tool for creating reports from Java Flight Recorder dumps.
Log analyser / visualiser for Java HotSpot JIT compiler.
JITWatch plugin for IntelliJ IDEA.
GUI for comparing JMH results.
Lightweight console application to monitor running jvms on a machine in top-like manner.
Java Agent to collect various metrics and stacktraces for Hadoop/Spark JVM processes in a distributed way.
A memory leak detection library for Android and Java.
An application metrics facade for the most popular monitoring tools.
Generate method mappings to use with the linux perf tool.
Linux perf for java programs.
A tool to help diagnose OutOfMemoryError conditions.
JVM agent which sends function-level profiler telemetry to a Riemann server for analysis, visualization, and storage.
JVM agent profiler that sends profiling data to StatsD.
Small set of tools for JVM troublshooting, monitoring and profiling.
Manages custom trace identifiers and carries them through distributed systems.
A distributed tracing system gather timing data for disparate services developed by Twitter.
Runtimes
Dead-Simple Packaging and Deployment for JVM Apps.
Fast JVM launching without the hassle of persistent JVMs.
Redefine classes at runtime and skip the redeploy process.
Agent that forcibly terminates the JVM when it is unable to allocate memory or create a thread.
Virtual Machines
Lightweight highly portable JVM with an option for AOT compilation.
Eclipse OpenJ9.
Translator from Java source to Objective-C code. Keeps shared code between iOS native apps and Android native apps.
A JVM written in Go.
Ahead of time compiler for JVM bytecode targeting iOS, Mac OSX and Linux.