User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome JVM

A curated list of awesome loosely performance related JVM stuff. Inspired by awesome-python.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Dec. 4, 2021, 11:02 a.m.

Thank you deephacks & contributors
View Topic on GitHub:
deephacks/awesome-jvm

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Bytecode

Garbage collectors

Load tools

A constant throughput, correct latency recording variant of wrk

3.27K
278
2y 72d
Apache-2.0

Languages

Machine Learning

Statistical Machine Intelligence & Learning Engine

5.4K
1.06K
1d
n/a

Memory and concurrency

Reactive Programming for Android

7.29K
663
3y 9m
Apache-2.0

High Performance data structures and utility methods for Java

2.09K
309
1d
Apache-2.0

Bloofi: A java implementation of multidimensional Bloom filters

68
6
5y 9m
LGPL-3.0

A high performance caching library for Java

10.8K
1.12K
1d
Apache-2.0

Chronicle Bytes has a similar purpose to Java NIO's ByteBuffer with many extensions

285
68
4d
Apache-2.0

Micro second messaging that stores everything to disk

2.47K
441
1d
Apache-2.0

Replicate your Key Value Store across your network, with consistency, persistance and performance.

2.29K
429
1d
Apache-2.0

Clojure's data structures modified for use outside of Clojure

221
32
8y 43d
n/a

binary serialization format

638
48
5m
n/a

High performance Java implementation of a Cuckoo filter - Apache Licensed

145
30
4y 6m
Apache-2.0

An advanced, but easy to use, platform for writing functional applications in Java 8.

1.2K
132
1y 11m
Apache-2.0

Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.

1.83K
429
10d
n/a

External-Memory Sorting in Java

220
93
9m
n/a

Fault tolerance and resilience patterns for the JVM

3.53K
274
0d
Apache-2.0
136
13
7y 6m
n/a

A Java library for quickly and efficiently parsing and writing UUIDs

122
11
102d
MIT

Geohash utitlies in java

353
80
20d
Apache-2.0

GS Collections has been migrated to the Eclipse Foundation, re-branded as Eclipse Collections. https://www.eclipse.org/collections/

1.8K
285
5y 9m
n/a

Hollow is a java library and toolset for disseminating in-memory datasets from a single producer to many consumers for high performance read-only access.

1.01K
171
10d
Apache-2.0

A fork of Cliff Click's High Scale Library. Improved with bug fixes and a real build system.

389
57
7y 6m
n/a

High Performance Primitive Collections for Java

806
133
31d
Apache-2.0
59
11
6y 7m
Apache-2.0

Java port of a concurrent trie hash map implementation from the Scala collections library

145
22
2y 106d
n/a

Java library for the HyperLogLog algorithm

283
64
7y 4m
Apache-2.0

A simple integer compression library in Java

451
52
2y 5m
Apache-2.0

Implementation of various string similarity and distance algorithms: Levenshtein, Jaro-winkler, n-Gram, Q-Gram, Jaccard index, Longest Common Subsequence edit distance, cosine similarity ...

2.4K
381
6m
n/a

jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams. The JDK 8's main efforts (default methods, lambdas, and the Stream API) were focused around maintaining backwards compatibility and implementing a functional API for parallelism.

1.87K
155
6m
Apache-2.0

Java Collections till the last breadcrumb of memory and performance

941
131
5y 5m
n/a

Port of LevelDB to Java

1.34K
365
1y 10m
Apache-2.0

A very memory-efficient trie (radix tree) implementation

46
6
9y 5m
n/a

LMDB for Java

199
26
4y 6m
Apache-2.0

Lightning Memory Database (LMDB) for Java: a low latency, transactional, sorted, embedded, key-value store

615
92
27d
Apache-2.0

Library for creating In-memory circular buffers that use direct ByteBuffers to minimize GC overhead

131
16
1y 52d
n/a

LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.

3.52K
518
12d
BSD-3-Clause

Immutable key/value store with efficient space utilization and fast reads. They are ideal for the use-case of tables built by batch processes and shipped to multiple servers.

86
13
2y 5m
Apache-2.0

Java large off heap cache

644
114
8m
Apache-2.0

A modern I/O library for Android, Java, and Kotlin Multiplatform.

7.81K
1.12K
2d
Apache-2.0

The Java API for Onyx

5
4
4y 6m
EPL-1.0

A java.util.HashMap compatible map that won't stall puts or gets when resizing

145
19
7y 5m
Apache-2.0

A Persistent Java Collections Library

681
58
11m
MIT

Immutable in-memory R-tree and R*-tree implementations in Java with reactive api

922
189
1y 52d
Apache-2.0

RTree2D is a 2D immutable R-tree for ultra-fast nearest and intersection queries in plane and spherical coordinates

103
7
4d
Apache-2.0

A better compressed bitset in Java

2.44K
422
4d
Apache-2.0

Rolling hash functions in Java

71
13
5y 7m
n/a

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

45.54K
7.52K
10d
Apache-2.0

A gulp of low latency Java

264
30
1y 11m
n/a

Simple Binary Encoding (SBE) - High Performance Message Codec

2.54K
422
2d
Apache-2.0

Parallel boolean circuit evaluation

18
1
3y 38d
Apache-2.0

A fast object pool for the JVM

286
31
7m
Apache-2.0

Stream summarizer and cardinality estimator.

2.21K
565
2y 100d
n/a

Fast integer compression in C using the StreamVByte codec

210
18
97d
Apache-2.0

A Java implementation of Transducers

115
12
7y 53d
Apache-2.0

a fast, scalable, multi-language and extensible build system

17.71K
3.19K
0d
Apache-2.0

gRPC and protocol buffers for Android, Kotlin, and Java.

3.67K
512
1d
Apache-2.0

Zero-allocation hashing for Java

619
111
11d
Apache-2.0

Metaprogramming

A collection of source code generators for Java.

9.54K
1.11K
3d
Apache-2.0

Testing tools for javac and annotation processors

604
119
11d
Apache-2.0

Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.

524
47
109d
n/a

Catch common Java mistakes as compile-time errors

5.78K
646
1d
Apache-2.0

The Eta Programming Language, a dialect of Haskell on the JVM

2.5K
149
2y 4m
n/a

Write parsers for arbitrary text inputs, entirely in Java, with no preprocessing phase

62
9
5y 8m
Apache-2.0

Java 1-15 Parser and Abstract Syntax Tree for Java, including preview features to Java 13

3.95K
916
1d
n/a

A Java API for generating .java source files.

9.29K
1.18K
6m
Apache-2.0

Build parsers in Java

309
52
7m
Apache-2.0

Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful.

1.2K
153
11d
Apache-2.0

Obsolete repository. Moved to oracle/graal.

622
61
3y 0d
n/a

Compiler of Java bytecode to JavaScript

1.81K
198
51d
n/a

GraalVM: Run Programs Faster Anywhere

16.23K
1.25K
1d
n/a

Native

A JNI code generator based on the JNI generator used by the eclipse SWT project

139
60
11m
Apache-2.0

Compile Java byte-code to native CPU's.

374
36
62d
n/a

Java Bindings for V8

2.09K
326
116d
n/a

The missing bridge between Java and native C++

3.69K
513
35d
n/a

Java Abstracted Foreign Function Layer

937
132
3d
n/a

Jssembly is a library that allows you to execute native assembly from Java.

118
12
4y 7m
MIT

Low-overhead, non-blocking I/O, external Process implementation for Java

539
79
6m
Apache-2.0

Network

Efficient reliable UDP unicast, UDP multicast, and IPC message transport

5.77K
688
1d
Apache-2.0

Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.

3.37K
636
2d
Apache-2.0

A High Performance Network ( TCP/IP ) Library

195
70
4d
Apache-2.0

Simulating shitty network connections so you can build better systems.

7.68K
329
6m
Apache-2.0

GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.

14.94K
1.5K
59d
n/a

jRT measures the response time of a java application to socket-based requests

44
11
6y 5m
n/a

Java API over Accelio

72
27
5y 85d
n/a

"I am fluent in over 6 million forms of communication!"

42
37
1y 48d
Apache-2.0

Chaos engineering tool for simulating real-world distributed system failures

790
33
2y 6m
MIT

Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

41.23K
8.7K
1d
Apache-2.0

Unconventional I/O library for Java

531
80
4m
Apache-2.0

Proteus Java Client

42
4
2y 7m
Apache-2.0

Reactive stubs for gRPC

698
97
53d
BSD-3-Clause

Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.

7.83K
1.14K
3y 96d
Apache-2.0

A Java library for capturing, crafting, and sending packets.

923
273
2y 13d
n/a

A Linux packet crafting tool.

410
38
1y 32d
GPL-2.0

TCP/IP packet demultiplexer. Download from:

1.34K
222
4m
GPL-3.0

Pcap editing and replay tools for *NIX and Windows - Users please download source from

825
223
7m
n/a

Nix tools

Profilers

A Java agent that rewrites bytecode to instrument allocation sites

414
85
1y 39d
Apache-2.0

Java memory allocation profiler

206
37
4y 90d
n/a

Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events

4.58K
512
1d
Apache-2.0

BTrace - a safe, dynamic tracing tool for the Java platform

4.84K
866
25d
n/a

Turn -XX:+TraceBytecodes output into a FlameGraph compatible stack format

28
2
1y 119d
MIT

Fork of tagtraum industries' GCViewer. Tagtraum stopped development in 2008, I aim to improve support for Sun's / Oracle's java 1.6+ garbage collector logs (including G1 collector)

3.84K
892
53d
n/a

Performance visualisation tools

270
19
2y 9m
Apache-2.0

Utilities for HDR Histogram logs manipulation

28
5
3y 62d
n/a

production heap profiling for the JVM. compatible with google-perftools.

390
23
5y 7m
n/a

A sampling JVM profiler without the safepoint sample bias

1.18K
140
2y 7m
n/a

Java Agent for Memory Measurements

593
107
1y 31d
Apache-2.0

Memory consumption estimator for Java

124
24
3y 9m
n/a

Get Method Sampling from Java Flight Recorder Dump and convert to FlameGraph compatible format.

236
59
2y 57d
Apache-2.0

Tool for creating reports from Java Flight Recorder dumps

44
10
3y 7m
Apache-2.0

Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.

2.53K
349
1d
n/a

JITWatch plugin for IntelliJ IDEA

163
15
5y 4m
Apache-2.0

GUI for comparing JMH results

70
4
5y 77d
Apache-2.0

Java monitoring for the command-line, profiler included

1.11K
242
5y 46d
GPL-2.0

JVM Profiler Sending Metrics to Kafka, Console Output or Custom Reporter

1.55K
305
4m
n/a

A memory leak detection library for Android.

26.99K
3.83K
64d
Apache-2.0

An application metrics facade for the most popular monitoring tools. Think SLF4J, but for metrics.

3.15K
723
2d
Apache-2.0

A java agent to generate method mappings to use with the linux perf tool

1.41K
247
3y 44d
GPL-2.0

PerfJ is a wrapper of linux perf for java programs.

356
56
6y 62d
GPL-2.0

OOM diagnostics for Java.

20
5
9y 52d
n/a

Sends stacktrace-level performance data from a JVM process to Riemann.

288
19
6y 11m
EPL-1.0

Simple JVM Profiler Using StatsD and Other Metrics Backends

326
91
2y 5m
MIT

Small set of tools for JVM troublshooting, monitoring and profiling.

2.99K
486
61d
Apache-2.0

Best-of-breed OpenTracing utilities, instrumentations and extensions

178
45
4d
MIT

Zipkin is a distributed tracing system

14.93K
2.83K
1d
Apache-2.0

Runtimes

Dead-Simple Packaging and Deployment for JVM Apps

1.15K
93
4y 11m
EPL-1.0

Fast JVM launching without the hassle of persistent JVMs.

1.52K
75
4y 20d
EPL-1.0

Java unlimited redefinition of classes at runtime.

1.73K
388
1d
GPL-2.0

Terminate the JVM when resources are exhausted

150
37
1y 7m
Apache-2.0

Virtual Machines

[INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.

1.2K
169
1y 38d
n/a

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.

2.79K
595
1d
n/a

A Java to iOS Objective-C translation tool and runtime.

5.85K
904
1d
Apache-2.0

A toy JVM written in Go

3.37K
457
2y 1d
MIT

Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.

1.13K
297
4d
GPL-2.0

Ahead of time compiler for JVM bytecode targetting iOS, Mac OSX and Linux

701
112
25d
n/a

Documentation

Communities

Media

People