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. 5, 2020, 12: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

Jitescript - Java API for Bytecode

173
24
4y 68d
Apache-2.0

Used to develop tools for the production of Java .class files.

Runtime code generation library with support for Android.

Garbage collectors

Providing continuous, pauseless operation for Java applications.

GC policy available in the Java Virtual Machine for IBM WebSphere Application Server V8.

Completely passive GC implementation with bounded allocation limit, and lowest runtime performance overhead possible.

G1

The Garbage-First Garbage Collector.

Ultra-Low-Pause-Time Garbage Collector.

Book that addresses new challenges to garbage collection made by recent advances in hardware and software.

ZGC

Garbage collector optimized for low latency and very large heaps.

Load tools

A constant throughput, correct latency recording variant of wrk

2.77K
233
1y 73d
Apache-2.0

Asynchronous non-blocking scenario driven load testing tool for testing HTTP servers.

Languages

Frege is a Haskell for the JVM. It brings purely functional programing to the Java platform.

3.37K
135
5m
n/a

GoJava - Java bindings for Go packages

173
11
2y 10m
Apache-2.0

JPHP - an implementation of PHP on Java VM

1.62K
162
5m
Apache-2.0

Rembulan, an implementation of Lua 5.3 for the Java Virtual Machine

136
24
4y 42d
Apache-2.0

Object-oriented, strong and static programming language with an emphasis on immutability, created by Red Hat.

Dialect of Lisp created by Rich Hickey. Dynamically typed with emphasis on functional programming.

A JVM-based Erlang VM.

Eta

Pure, lazy, strongly typed functional programming language on the JVM.

A simple dynamic language that makes extensive usage of invokedynamic.

Optionally typed and dynamic language, with static-typing and static compilation capabilities.

General-purpose, concurrent, strongly typed, class-based object-oriented language.

Implementation of the Ruby language on the JVM.

Python for the Java Platform.

Extension of the Scheme language, which is in the Lisp family of programming languages.

Statically typed programming language for the JVM, Android and the browser.

Java-centric implementation of lua vm built to leverage standard Java features.

Lightweight high-performance JavaScript runtime in Java with a native JVM.

Supports OCaml language v4. Generates plain Java bytecode and have seamless integration with Java.

JVM-based interpreter for the R language for the statistical analysis

Strong and static programming language that combine object-oriented and functional programming ideas.

Flexible and expressive dialect of Java, which compiles into Java 5 source code.

Machine Learning

Statistical Machine Intelligence & Learning Engine

5.07K
1.01K
2d
n/a

Open-Source, Distributed, Deep Learning Library for the JVM.

H2O

Fast statistical, machine learning & math runtime.

Memory and concurrency

Reactive Programming for Android

7.32K
665
2y 9m
Apache-2.0

High Performance data structures and utility methods for Java

1.79K
275
3d
Apache-2.0

Bloofi: A java implementation of multidimensional Bloom filters

66
7
4y 9m
LGPL-3.0

A high performance caching library for Java 8

8.81K
886
5d
Apache-2.0

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

223
56
2d
n/a

Micro second messaging that stores everything to disk

2.19K
407
3d
Apache-2.0

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

2.08K
397
5d
Apache-2.0

Clojure's data structures modified for use outside of Clojure

218
32
7y 44d
n/a

binary serialization format

573
43
4m
n/a

High performance Java implementation of a Cuckoo filter - Apache Licensed

122
22
3y 6m
Apache-2.0

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

1.16K
124
11m
Apache-2.0

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

1.59K
371
6d
n/a

External-Memory Sorting in Java

191
84
44d
n/a

Fault tolerance and resilience patterns for the JVM

3.3K
249
65d
Apache-2.0
136
13
8m
n/a

A Java library for quickly and efficiently parsing and writing UUIDs

109
8
53d
MIT

Geohash utitlies in java

331
76
53d
Apache-2.0

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

1.78K
281
4y 9m
Apache-2.0

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.

956
151
15d
Apache-2.0

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

373
56
6y 6m
n/a

High Performance Primitive Collections for Java

728
112
11d
Apache-2.0
60
12
5y 7m
Apache-2.0

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

139
21
1y 107d
n/a

Java library for the HyperLogLog algorithm

271
64
6y 4m
Apache-2.0

A simple integer compression library in Java

420
50
1y 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.22K
358
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.74K
148
53d
Apache-2.0

Java Collections till the last breadcrumb of memory and performance

898
127
4y 5m
n/a

Port of LevelDB to Java

1.24K
331
10m
Apache-2.0

A very memory-efficient trie (radix tree) implementation

44
6
8y 5m
n/a

LMDB for Java

197
22
3y 6m
Apache-2.0

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

519
79
42d
Apache-2.0

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

131
14
53d
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.

2.97K
449
51d
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.

75
12
1y 5m
Apache-2.0

Java large off heap cache

543
97
38d
Apache-2.0

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

7.29K
1.03K
3d
Apache-2.0

The Java API for Onyx

5
4
3y 6m
EPL-1.0

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

144
19
6y 5m
Apache-2.0

A Persistent Java Collections Library

645
57
73d
MIT

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

848
178
53d
Apache-2.0

RTree2D is a 2D immutable R-tree with STR (Sort-Tile-Recursive) packing for ultra-fast nearest and intersection queries

91
8
12d
Apache-2.0

A better compressed bitset in Java

1.98K
357
26d
Apache-2.0

Rolling hash functions in Java

66
13
4y 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.

43.83K
7.29K
3d
Apache-2.0

A gulp of low latency Java

244
27
11m
n/a

Simple Binary Encoding (SBE) - High Performance Message Codec

2.31K
385
3d
Apache-2.0

Parallel boolean circuit evaluation

14
0
2y 39d
Apache-2.0

A fast object pool for the JVM

259
27
6m
Apache-2.0

Stream summarizer and cardinality estimator.

2.18K
560
1y 101d
n/a

Fast integer compression in C using the StreamVByte codec

192
16
10m
Apache-2.0

A Java implementation of Transducers

113
11
6y 54d
Apache-2.0

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

15.28K
2.66K
93d
Apache-2.0

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

3.35K
456
9d
Apache-2.0

Zero-allocation hashing for Java

543
96
4d
n/a

A high-performance cross-system data layer for columnar in-memory analytics.

Insanely fast data interchange format and capability-based RPC system.

Library of lightweight, self-contained mathematics and statistics components.

Efficient cross platform serialization library for C++, C#, Go, Java, JavaScript, PHP, and Python.

Concurrent data structures currently missing from the JDK.

Claims to be the fastest JSON parser ever (copy of DSL-JSON).

Collections backed by off-heap or on-disk storage.

mug

A small, zero-dep functional util library originating from Google.

Memory buffer pool implementation similar to jemalloc.

A layout-optimized Java data structure package.

Columnar storage format that uses the record shredding and assembly algorithm described in the Dremel paper.

Google's data interchange format.

Lightweight threads and actors for the JVM.

Standard for asynchronous stream processing with non-blocking back pressure.

Reactive data applications on the JVM for Java, Groovy, Clojure and other.

A Java software library of stochastic streaming algorithms.

High-performance implementation of the Future abstraction.

Functional Library for Java 8+.

Metaprogramming

A collection of source code generators for Java.

8.97K
1.05K
10d
Apache-2.0

Testing tools for javac and annotation processors

549
110
5d
Apache-2.0

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

508
42
1y 49d
n/a

Catch common Java mistakes as compile-time errors

5.42K
590
3d
Apache-2.0

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

2.44K
145
1y 4m
n/a

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

63
9
4y 8m
Apache-2.0

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

3.39K
788
3d
n/a

A Java API for generating .java source files.

8.52K
1.1K
5m
Apache-2.0

Build parsers in Java

284
44
1y 11m
Apache-2.0

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

1.17K
146
3d
Apache-2.0

Obsolete repository. Moved to oracle/graal.

616
61
2y 1d
n/a

Compiler of Java bytecode to JavaScript

1.55K
186
8d
n/a

GraalVM: Run Programs Faster Anywhere

14.09K
1.04K
3d
n/a

Parser generator for reading, processing, executing, or translating structured text or binary files.

Dynamic data management framework and SQL parser plugin.

Compiler plug-ins that find bugs or verify their absence.

New experimental just-in-time compiler for Java that is integrated with the HotSpot virtual machine.

Generate simple, safe and consistent value objects.

Parser generator for use with Java.

A transpiler from Java to TypeScript/JavaScript.

MPS

Design and build extensible DSLs and editors.

Reduce the amount of boilerplate code that is commonly written for Java classes.

Framework for development of programming languages and DSLs.

Native

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

123
54
3d
Apache-2.0

Compile Java byte-code to native CPU's.

345
33
16d
n/a

Java Bindings for V8

1.85K
281
5m
n/a

The missing bridge between Java and native C++

3.33K
464
9d
n/a

Java Abstracted Foreign Function Layer

816
117
3d
n/a

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

116
12
3y 7m
MIT

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

504
69
6m
Apache-2.0

Enriching the connections between the JVM and APIs used by C programmers.

Network

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

5.27K
622
3d
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.

2.86K
566
3d
Apache-2.0

A High Performance Network ( TCP/IP ) Library

153
59
3d
Apache-2.0

Simulating shitty network connections so you can build better systems.

6.79K
305
8m
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.

13.61K
1.33K
86d
n/a

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

44
11
5y 5m
n/a

Java API over Accelio

70
27
4y 86d
n/a

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

40
37
49d
Apache-2.0

Chaos engineering tool for simulating real-world distributed system failures

748
30
1y 6m
MIT

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

38.82K
8.32K
6d
Apache-2.0

Unconventional I/O library for Java

445
74
19d
Apache-2.0

Proteus Java Client

42
3
1y 7m
Apache-2.0

Reactive stubs for gRPC

564
79
72d
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.69K
1.11K
2y 97d
Apache-2.0

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

830
258
1y 14d
n/a

A Linux packet crafting tool.

378
36
33d
GPL-2.0

TCP/IP packet demultiplexer. Download from:

1.18K
201
11d
GPL-3.0

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

707
199
5m
n/a

A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.

Async event-driven network library for high performance protocol servers & clients.

RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron.

Packet analyzer for network traffic capture.

Nix tools

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

10.63K
1.97K
9d
Apache-2.0

simple disk I/0 latency measuring tool

728
60
4m
GPL-3.0

Performance monitoring and benchmarking suite

916
151
8d
GPL-3.0

Performance analysis tools based on Linux perf_events (aka perf) and ftrace

7.05K
1.21K
10m
GPL-2.0

Logging of system and process activity for long-term analysis, highlighting overloaded system.

Visualization of profiled software, allowing the most frequent code-paths to be identified quickly and accurately.

Disassembles class files into code that reflects the java bytecode.

Launch a postmortem debugger to analyze the content of a core-dump from a crashed JVM.

Prints configuration information for a given process.

Prints stack traces of threads for a given Java process.

Monitors GC and compiler statistics in the JVM.

Reports the structure of the processor, number of cores, hyperthreads and cache size.

Control NUMA policy for processes or shared memory.

System-wide hardware performance monitoring with easy-to-use interface at low overhead.

Linux profiling with performance counters.

Capture system state and activity from a running Linux instance, then save, filter and analyze.

Performance monitoring tools for Linux.

Retrieve or set a processes’s CPU affinity.

Like top but also shows instructions per cycle (IPC).

Profilers

A Java agent that rewrites bytecode to instrument allocation sites

393
82
40d
Apache-2.0

Java memory allocation profiler

193
35
3y 91d
n/a

Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events

3.5K
398
26d
Apache-2.0

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

4.22K
787
25d
n/a

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

24
2
4m
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.46K
830
13d
n/a

Performance visualisation tools

256
16
1y 9m
Apache-2.0

Tools for tracking down memory / JVM problems & generating predictable-as-possible VM behaviour

40
6
5y 5d
GPL-2.0

Utilities for HDR Histogram logs manipulation

24
4
2y 63d
n/a

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

386
23
4y 7m
n/a

A sampling JVM profiler without the safepoint sample bias

1.12K
132
1y 7m
n/a

Java Agent for Memory Measurements

560
104
32d
Apache-2.0

Memory consumption estimator for Java

124
24
2y 9m
n/a

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

224
55
1y 58d
Apache-2.0

Tool for creating reports from Java Flight Recorder dumps

40
8
2y 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.23K
307
26d
n/a

JITWatch plugin for IntelliJ IDEA

157
13
4y 4m
Apache-2.0

GUI for comparing JMH results

69
4
4y 78d
Apache-2.0

Java monitoring for the command-line, profiler included

1.04K
223
4y 47d
GPL-2.0

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

1.44K
280
39d
n/a

A memory leak detection library for Android.

25.5K
3.7K
50d
Apache-2.0

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

2.65K
619
4d
Apache-2.0

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

1.3K
226
2y 45d
GPL-2.0

PerfJ is a wrapper of linux perf for java programs.

350
56
5y 63d
GPL-2.0

OOM diagnostics for Java.

20
5
8y 53d
n/a

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

287
18
5y 11m
EPL-1.0

Simple JVM Profiler Using StatsD and Other Metrics Backends

326
89
1y 5m
MIT

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

2.8K
452
41d
Apache-2.0

Best-of-breed OpenTracing utilities, instrumentations and extensions

154
42
9d
MIT

Zipkin is a distributed tracing system

13.74K
2.6K
8d
Apache-2.0

tracing, monitoring and testing tool for Java

Record your entire java program. Replay on any machine.

Machine learning guided Garbage collection log analysis tool. Auto-detect problems in the JVM GC logs and recommend solutions to it.

A Histogram that supports recording and analyzing sampled data value counts.

A Metrics Reservoir implementation backed by HdrHistogram.

Tool for collecting diagnostic and profiling data about a running Java application with almost no performance overhead.

Experimental harness and tests to aid the research in the correctness of concurrency support in the JVM, class libraries, and hardware.

jHiccup is an open source tool designed to measure the pauses and stalls associated with an application’s underlying Java runtime platform.

jmh

Micro benchmarks written in Java and other languages targetting the JVM.

JOL

Analyze actual object layout schemes, footprint, and references in JVMs.

Helps resolve performance bottlenecks, pin down memory leaks and understand threading issues.

Provide a native API to inspect the state and to control the execution of applications running in the JVM.

MAT

Java heap analyzer that help find memory leaks and reduce memory consumption.

Measure the behavior of critical components in production environment.

osquery is an instrumentation framework that expose the operating system as a high-performance relational database.

Low-Level Hardware Monitoring and Management for Java.

A vendor-neutral open standard for distributed tracing.

Tells you when and why code breaks in production.

Fully featured, easy to use, low overhead profiler.

Runtimes

Dead-Simple Packaging and Deployment for JVM Apps

1.14K
91
3y 11m
EPL-1.0

Fast JVM launching without the hassle of persistent JVMs.

1.5K
75
3y 21d
EPL-1.0

Java unlimited redefinition of classes at runtime.

1.56K
367
10d
GPL-2.0

Terminate the JVM when resources are exhausted

129
35
7m
Apache-2.0

The shell for the Java Platform.

Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead.

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.18K
162
39d
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.5K
532
2d
n/a

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

5.72K
838
3d
Apache-2.0

A toy JVM written in Go

3.17K
421
1y 2d
MIT

Write once run anywhere native mobile apps using with Java 8 or Kotlin. Supports iOS (iPhone/iPad), Android, Windows (UWP) & others

953
261
5d
GPL-2.0

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

608
102
14d
n/a

Android runtime (ART) is the managed runtime used by applications and some system services on Android.

Modification of Java HotSwap VM with unlimited support for reloading classes at runtime.

HotSpot virtual machine maintained and distributed by Oracle Corporation.

The only JVM that eliminates Java garbage collection pauses for large heap sizes.

The only certified multi-platform build of OpenJDK: Free, 100% open source Java.

Documentation

Examples and hands-on labs for Linux tracing tools workshops

875
233
5m
MIT

Class materials for a distributed systems lecture series

7.33K
572
20d
n/a

Linux bcc/BPF using tcplife by Brendan Gregg

mini-post series where every post goes deep for only a single topic by Aleksey Shipilёv.

Threads impact the performance of each other while modifying independent variables sharing the same cache line. Martin Thompson.

Starting point for discussions of and information concerning the Java Memory Model.

Unofficial guide to implementing the new Java Memory Model (JMM) specified by JSR-133.

HotSpot Virtual Machine Garbage Collection Tuning Guide.

Where is my safepoint? Nitsan Wakart.

Design decisions, experience and constraints explained in high performance messaging systems.

Digest of the top 10 performance related mistakes Martin Thompson has seen in production.

The Utilization Saturation and Errors (USE) Method is a methodology for analyzing the performance of any system. Brendan Gregg.

For expert programmers familiar with Java concurrency, but unfamiliar with the memory order modes available in JDK 9 provided by VarHandles.

Measure instructions per cycle (IPC) for CPU utilization. Brendan Gregg.

Communities

Technical discussion about the development of the HotSpot bytecode compilers.

Technical discussion about the development of the HotSpot garbage collectors.

Discussing how to code sympathetically to and measure the underlying stack/platform so good performance can be extracted.

For expert Java developers who want to push their systems to the next level

Venue for discussing the latest research and developments in the area of managed language execution.

Media

The GC edition. Shenandoah, ZGC, Zing, Fibers, Falcon etc.

Aleksey Shipilëv slightly-deeper-than-usual Shenandoah talk from Virtual Machine Meetup 2017.

People

Developing Oracle/Open JDK/Hotspot and other Java-related technologies.

Lead Language Designer of Kotlin @ JetBrains.

Java Language Architect at Oracle.

Facebook, Netflix, Apple engineering.

Cloud performance, kernel engineer, speaker, author.

Working with OpenJDK stuff @ Oracle.

Creator of the HotSpot Server Compiler.

Senior research scientist in the Scalable Synchronization Research Group within Oracle.

RxJava committer that blogs about advanced RxJava.

Author of the Java memory model.

Author of 250+ Java Specialists' Newsletters.

Square, Google, open source hacker.

Founder & CTO of Lightbend.

Blogger. Author of JOOQ.

Java language team alumnus.

Chief Architect, Java Platform Group, Oracle.

Pasty faced performance gangster.

Working in high performance and distributed computing for nearly 20 years.

Where is my safepoint? Nitsan Wakart.

Forever undisputed SLOC Scala compiler dev.

Hacking on the HotSpot JVM at Oracle.

Innovative developer of high performance Java systems for competitive advantage.

Performance Analyst, developer, blogger.

Parallel Universe. Leading Fibers and Continuations for the JVM.

Java Champion. Occasional blogger and speaker. Best known for Joda projects and JSR-310.

Ex-CTO, Ex-NASA researcher, network geek, messaging middleware designer.

Project Reactor Lead @Pivotal.

Doctor Deprecator. Java/JDK/OpenJDK developer

hacking HotSpot JVM @ Oracle.

Deputy CTO at Typesafe Inc.