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: Aug. 7, 2022, 6:01 p.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.34K
286
2y 10m
Apache-2.0

Languages

Machine Learning

Statistical Machine Intelligence & Learning Engine

5.45K
1.07K
6m
n/a

Memory and concurrency

Reactive Programming for Android

7.29K
663
4y 5m
Apache-2.0

High Performance data structures and utility methods for Java

2.19K
315
5m
Apache-2.0

Bloofi: A java implementation of multidimensional Bloom filters

68
6
6y 5m
LGPL-3.0

A high performance caching library for Java

11.14K
1.18K
6m
Apache-2.0

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

303
69
6m
Apache-2.0

Micro second messaging that stores everything to disk

2.58K
458
5m
Apache-2.0

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

2.36K
435
5m
Apache-2.0

Clojure's data structures modified for use outside of Clojure

221
32
8y 9m
n/a

binary serialization format

651
50
1y 37d
n/a

High performance Java implementation of a Cuckoo filter - Apache Licensed

147
30
5y 85d
Apache-2.0

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

1.22K
137
2y 7m
Apache-2.0

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

1.86K
442
5m
n/a

External-Memory Sorting in Java

221
95
6m
n/a

Fault tolerance and resilience patterns for the JVM

3.62K
279
5m
Apache-2.0
136
13
8y 85d
n/a

A Java library for quickly and efficiently parsing and writing UUIDs

128
14
11m
MIT

Geohash utitlies in java

362
81
5m
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
6y 5m
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.02K
174
5m
Apache-2.0

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

391
59
8y 89d
n/a

High Performance Primitive Collections for Java

819
139
7m
Apache-2.0
58
11
7y 104d
Apache-2.0

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

145
22
2y 11m
n/a

Java library for the HyperLogLog algorithm

289
64
8y 12d
Apache-2.0

A simple integer compression library in Java

460
52
3y 35d
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.42K
386
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.9K
159
1y 76d
Apache-2.0

Java Collections till the last breadcrumb of memory and performance

950
133
6y 39d
n/a

Port of LevelDB to Java

1.35K
365
2y 6m
Apache-2.0

A very memory-efficient trie (radix tree) implementation

46
6
10y 46d
n/a

LMDB for Java

200
26
5y 68d
Apache-2.0

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

624
93
6m
Apache-2.0

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

131
16
1y 9m
n/a

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

3.62K
529
5m
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.

88
13
3y 45d
Apache-2.0

Java large off heap cache

656
119
7m
Apache-2.0

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

7.89K
1.13K
6m
Apache-2.0

The Java API for Onyx

5
4
5y 69d
EPL-1.0

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

145
19
8y 56d
Apache-2.0

A Persistent Java Collections Library

686
60
1y 7m
MIT

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

933
190
1y 9m
Apache-2.0

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

109
8
6m
Apache-2.0

A better compressed bitset in Java

2.5K
427
6m
Apache-2.0

Rolling hash functions in Java

71
13
6y 94d
n/a

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

46.28K
7.63K
17d
Apache-2.0

A gulp of low latency Java

265
30
2y 7m
n/a

Simple Binary Encoding (SBE) - High Performance Message Codec

2.58K
430
5m
Apache-2.0

Parallel boolean circuit evaluation

19
2
3y 9m
Apache-2.0

A fast object pool for the JVM

291
32
1y 107d
Apache-2.0

Stream summarizer and cardinality estimator.

2.22K
564
2y 11m
n/a

Fast integer compression in C using the StreamVByte codec

221
21
11m
Apache-2.0

A Java implementation of Transducers

115
12
7y 10m
Apache-2.0

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

18.11K
3.28K
5m
Apache-2.0

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

3.7K
519
5m
Apache-2.0

Zero-allocation hashing for Java

637
116
6m
Apache-2.0

Metaprogramming

A collection of source code generators for Java.

9.62K
1.13K
6m
Apache-2.0

Testing tools for javac and annotation processors

611
123
5m
Apache-2.0

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

530
48
11m
n/a

Catch common Java mistakes as compile-time errors

5.87K
659
5m
Apache-2.0

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

2.51K
149
3y 24d
n/a

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

62
9
6y 4m
Apache-2.0

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

4.06K
937
5m
n/a

A Java API for generating .java source files.

9.41K
1.21K
1y 91d
Apache-2.0

Build parsers in Java

312
52
1y 96d
Apache-2.0

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

1.2K
154
6m
Apache-2.0

Obsolete repository. Moved to oracle/graal.

622
61
3y 8m
n/a

Compiler of Java bytecode to JavaScript

1.86K
201
5m
n/a

GraalVM: Run Programs Faster Anywhere

16.55K
1.29K
5m
n/a

Native

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

148
60
1y 7m
Apache-2.0

Compile Java byte-code to native CPU's.

377
37
5m
n/a

Java Bindings for V8

2.15K
334
12m
n/a

The missing bridge between Java and native C++

3.75K
520
5m
n/a

Java Abstracted Foreign Function Layer

965
136
6m
n/a

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

119
12
5y 113d
MIT

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

545
79
6m
Apache-2.0

Network

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

5.85K
713
6m
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.46K
657
5m
Apache-2.0

A High Performance Network ( TCP/IP ) Library

204
71
6m
Apache-2.0

Simulating shitty network connections so you can build better systems.

7.77K
332
7m
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.

15.21K
1.54K
5m
n/a

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

44
11
7y 49d
n/a

Java API over Accelio

72
27
5y 11m
n/a

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

42
37
1y 9m
Apache-2.0

Chaos engineering tool for simulating real-world distributed system failures

798
34
3y 90d
MIT

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

42.62K
8.9K
4d
Apache-2.0

Unconventional I/O library for Java

538
80
1y 13d
Apache-2.0

Proteus Java Client

42
4
3y 98d
Apache-2.0

Reactive stubs for gRPC

716
99
6m
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.85K
1.15K
3y 11m
Apache-2.0

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

945
279
2y 8m
n/a

A Linux packet crafting tool.

415
38
1y 9m
GPL-2.0

TCP/IP packet demultiplexer. Download from:

1.37K
224
6m
GPL-3.0

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

846
226
5m
n/a

Nix tools

Profilers

A Java agent that rewrites bytecode to instrument allocation sites

420
85
1y 9m
Apache-2.0

Java memory allocation profiler

206
36
4y 11m
n/a

Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events

4.78K
538
6m
Apache-2.0

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

4.96K
886
6m
n/a

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

28
2
2y 1d
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.9K
906
1y 26d
n/a

Performance visualisation tools

271
19
3y 5m
Apache-2.0

Utilities for HDR Histogram logs manipulation

28
5
3y 10m
n/a

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

389
23
6y 4m
n/a

A sampling JVM profiler without the safepoint sample bias

1.18K
141
3y 117d
n/a

Java Agent for Memory Measurements

599
107
1y 9m
Apache-2.0

Memory consumption estimator for Java

124
24
4y 5m
n/a

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

235
59
2y 10m
Apache-2.0

Tool for creating reports from Java Flight Recorder dumps

46
10
4y 102d
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.58K
358
6m
n/a

JITWatch plugin for IntelliJ IDEA

162
15
6y 4d
Apache-2.0

GUI for comparing JMH results

70
4
5y 10m
Apache-2.0

Java monitoring for the command-line, profiler included

1.12K
245
5y 9m
GPL-2.0

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

1.59K
313
7m
n/a

A memory leak detection library for Android.

27.73K
3.9K
27d
Apache-2.0

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

3.25K
749
5m
Apache-2.0

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

1.43K
251
3y 9m
GPL-2.0

PerfJ is a wrapper of linux perf for java programs.

356
56
6y 10m
GPL-2.0

OOM diagnostics for Java.

20
5
9y 9m
n/a

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

287
19
7y 7m
EPL-1.0

Simple JVM Profiler Using StatsD and Other Metrics Backends

327
92
3y 60d
MIT

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

3.01K
491
10m
Apache-2.0

Best-of-breed OpenTracing utilities, instrumentations and extensions

179
45
6m
MIT

Zipkin is a distributed tracing system

15.14K
2.88K
6m
Apache-2.0

Runtimes

Dead-Simple Packaging and Deployment for JVM Apps

1.14K
94
5y 7m
EPL-1.0

Fast JVM launching without the hassle of persistent JVMs.

1.52K
76
4y 8m
EPL-1.0

Java unlimited redefinition of classes at runtime.

1.76K
395
6m
GPL-2.0

Terminate the JVM when resources are exhausted

151
37
2y 92d
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 9m
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.83K
610
5m
n/a

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

5.86K
908
5m
Apache-2.0

A toy JVM written in Go

3.39K
459
2y 8m
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.16K
297
6m
GPL-2.0

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

713
113
6m
n/a

Documentation

Communities

Media

People