JVM

354 resources17 categoriesView Original

Documentation(19 items)

A

An introduction to distributed systems

Kyle Kingsbury (author of Jepsen).

Documentation
C

Coordinated Omission problem

Discussion on Mechanical Sympathy.

Documentation
C

CPU Utilization is Wrong

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

Documentation
F

False sharing

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

Documentation
G

Garbage Collection Tuning Guide

HotSpot Virtual Machine Garbage Collection Tuning Guide.

Documentation
J

JVM Anatomy Park

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

Documentation
L

Linux Load Averages: Solving the Mystery

Brendan Gregg.

Documentation
L

Linux tracing workshop

JVM monitoring with BPF, examples and hands-on labs for Linux tracing tools workshops.

Documentation
Q

Quick Tips for Fast Code on the JVM

Daniel Spiewak.

Documentation
S

Safepoints

Where is my safepoint? Nitsan Wakart.

Documentation
T

TCP Tracepoints

Linux bcc/BPF using tcplife by Brendan Gregg

Documentation
T

The Java Memory Model

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

Documentation
T

The JSR-133 Cookbook for Compiler Writers

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

Documentation
T

The JVM specification

The Java Virtual

Documentation
T

The USE method

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

Documentation
T

Top 10 Performance Mistakes

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

Documentation
T

Topics in High-Performance Messaging

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

Documentation
U

Using JDK 9 Memory Order Modes

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

Documentation
W

What every programmer should know about solid-s...

Emmanuel Goossaert.

Documentation

Languages(21 items)

C

Ceylon

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

Languages
C

Clojure

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

Languages
E

Erjang

A JVM-based Erlang VM.

Languages
E

Eta

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

Languages
F

Frege

Pure functional programming language in the spirit of Haskell.

Languages
G

gojava

Java bindings for Go packages.

Languages
G

Golo

A simple dynamic language that makes extensive usage of `invokedynamic`.

Languages
G

Groovy

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

Languages
J

Java

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

Languages
J

JPHP

PHP on the Java VM.

Languages
J

JRuby

Implementation of the Ruby language on the JVM.

Languages
J

Jython

Python for the Java Platform.

Languages
K

Kawa

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

Languages
K

Kotlin

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

Languages
L

LuaJ

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

Languages
N

Nashorn

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

Languages
O

OCaml-Java

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

Languages
R

Rembulan

Rembulan is an implementation of Lua 5.3 for the JVM, written in pure Java with minimal dependencies.

Languages
R

Renjin

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

Languages
S

Scala

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

Languages
X

Xtend

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

Languages

Media(39 items)

A

A Crash Course in Modern Hardware

Cliff Click

Media
A

Analyzing and Debugging the Java HotSpot VM at ...

Volker Simonis.

Media
B

Bits of advice for VM writers

Cliff Click.

Media
C

Cliff Click podcast 2017/09/16

Programming and Performance Intro.

Media
C

Cliff Click podcast 2017/09/16

Bugs and Coding Styles.

Media
C

Cliff Click podcast 2017/09/18

Java vs C/C++.

Media
C

Cliff Click podcast 2017/09/21

Debugging Data Races.

Media
C

Cliff Click podcast 2017/09/24

Fast Bytecodes for Funny Languages.

Media
C

Cliff Click podcast 2017/09/28

Struct of Arrays vs Array of Structs.

Media
C

Cliff Click podcast 2017/10/04

The 3 Hardest Problems in Programming.

Media
C

Cliff Click podcast 2017/11/05

Modern Hardware Performance and Cache Lines.

Media
C

Cliff Click podcast 2017/11/09

Queuing In Practice.

Media
D

Designing for Performance

Martin Thompson.

Media
E

Everything about Stack Traces and Heap Dumps

Andrei Pangin.

Media
E

Extreme Profiling: Digging Into Hotspots

Nitsan Wakart.

Media
F

Fast and safe production monitoring of JVM with...

Sasha Goldshtein.

Media
F

Faster Object Arrays

Gil Tene at GOTO Conferences.

Media
F

FOSDEM 2018

FOSDEM 2018 Free Java devroom.

Media
G

G1 Garbage Collector in Java 8/9

Kirk Pepperdine.

Media
G

Give me 15 minutes and I'll change your view of...

Brendan Gregg.

Media
H

How NOT to Measure Latency

Gil Tene.

Media
J

Java Memory Model Pragmatics

Aleksey Shipilev.

Media
J

Java Profiling from the Ground Up

Nitsan Wakart.

Media
J

Java vs. C Performance

Cliff Click.

Media
J

JFokus 2018

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

Media
J

JVM Language Summit 2015

JVM Language Summit 2015.

Media
J

JVM Language Summit 2016

JVM Language Summit 2016.

Media
J

JVM Language Summit 2017

JVM Language Summit 2017.

Media
J

JVM Mechanics

Douglas Hawkins.

Media
K

Kernel Recipes 2017: Performance Analysis with BPF

Brendan Gregg.

Media
M

Mythbusting Modern Hardware to Gain 'Mechanical...

Martin Thompson.

Media
S

Shenandoah deep talk

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

Media
S

Shenandoah: The Garbage Collector That Could

Aleksey Shipilev - Devoxx 2017/11

Media
T

The Future of the Linux Page Cache

Matthew Wilcox.

Media
T

The Illusion of Execution

Nitsan Wakart.

Media
U

Understanding Java garbage collection ...

Gil Tene.

Media
W

Which technique do programming language parsers...

Cliff Click.

Media
W

Why JNI is slow?

Cliff Click

Media
W

With GC Solved, What Else Makes a JVM Pause?

John Cuthbertson.

Media

Memory and concurrency(75 items)

A

Agera

Reactive Programming for Android by Google.

Memory and concurrency
A

Agrona

Library of data structures and utility methods that are a common need when building high-performance applications.

Memory and concurrency
A

Apache Arrow

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

Memory and concurrency
B

bloofi

Java implementation of multidimensional Bloom filters

Memory and concurrency
C

caffeine

A high performance caching library for Java 8.

Memory and concurrency
C

Cap’n Proto

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

Memory and concurrency
C

Chronicle-Bytes

Low level memory access wrappers.

Memory and concurrency
C

Chronicle-Map

In-memory key-value store designed for low-latency and/or multi-process applications.

Memory and concurrency
C

Chronicle-Queue

Micro second messaging that stores everything to disk.

Memory and concurrency
C

clj-ds

Clojure's data structures modified for use outside of Clojure.

Memory and concurrency
C

colfer

Binary serialization format and class generator.

Memory and concurrency
C

commons-math

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

Memory and concurrency
C

CuckooFilter4J

Bloom filter replacement for approximated set-membership queries.

Memory and concurrency
C

cyclops

Integration modules for RxJava, Reactor, FunctionalJava, Guava & Javaslang.

Memory and concurrency
D

DataSketches

A Java software library of stochastic streaming algorithms.

Memory and concurrency
D

DSL-JSON

High performance JSON library with advanced compile-time databinding.

Memory and concurrency
E

Eclipse Collections

Collections framework for Java.

Memory and concurrency
E

externalsortinginjava

Sort very large files using multiple cores and an external-memory algorithm.

Memory and concurrency
F

failsafe

A lightweight, zero-dependency library for handling failures.

Memory and concurrency
F

fast-uuid

Java library for quickly and efficiently parsing and writing UUIDs.

Memory and concurrency
F

fasttuple

Collections that are laid out adjacently in both on- and off-heap memory.

Memory and concurrency
F

FlatBuffers

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

Memory and concurrency
G

geohash

Java utility methods for geohashing.

Memory and concurrency
G

gs-collections

Goldman Sachs collections framework.

Memory and concurrency
H

high-scale-lib

Cliff Click's High Scale Library.

Memory and concurrency
H

hollow

Java library and comprehensive toolset for harnessing small to moderately sized in-memory datasets.

Memory and concurrency
H

hppc

High Performance Primitive Collections.

Memory and concurrency
I

injector

A new Executor for Java.

Memory and concurrency
J

java-concurrent-hash-trie-map

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

Memory and concurrency
J

java-hll

Java library for the HyperLogLog algorithm.

Memory and concurrency
J

java-string-similarity

String similarity and distance measures, including Levenshtein edit distance and sibblings, Jaro-Winkler, Longest Common Subsequence, cosine similarity etc.

Memory and concurrency
J

JavaFastPFOR

Library to compress and uncompress arrays of integers very fast.

Memory and concurrency
J

JCTools

Concurrent data structures currently missing from the JDK.

Memory and concurrency
J

jOOL

Useful extensions to Java 8 lambdas.

Memory and concurrency
J

jsoniter

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

Memory and concurrency
K

Koloboke

Java Collections til the last breadcrumb of memory and performance.

Memory and concurrency
L

LevelDB

Rewrite (port) of LevelDB in Java.

Memory and concurrency
L

lightweight_trie

A very memory-efficient trie (radix tree) implementation.

Memory and concurrency
L

lmdbjava

Java API to LMDB (JNR) which is an ultra-fast, ultra-compact key-value embedded data store written in C.

Memory and concurrency
L

lmdbjni

Java API to LMDB (HawtJNI) which is an ultra-fast, ultra-compact key-value embedded data store written in C.

Memory and concurrency
L

low-gc-membuffers

In-memory circular buffers that use direct ByteBuffers to minimize GC overhead.

Memory and concurrency
L

lwjgl3

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.

Memory and concurrency
M

MapDB

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

Memory and concurrency
M

mph-table

Minimal Perfect Hash Tables are an immutable key/value store with efficient space utilization and fast reads.

Memory and concurrency
M

mug

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

Memory and concurrency
N

netty-buffers

Memory buffer pool implementation similar to jemalloc.

Memory and concurrency
O

ObjectLayout

A layout-optimized Java data structure package.

Memory and concurrency
O

ohc

Java large off heap cache developed for Apache Cassandra 3.0.

Memory and concurrency
O

okio

Modern Java IO library that do clever things to save CPU and memory.

Memory and concurrency
O

onyx-java

Mirrors the Onyx Platform core API by providing a Java equivalent for each component of an Onyx workflow.

Memory and concurrency
P

parquet

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

Memory and concurrency
P

PauselessHashMap

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

Memory and concurrency
P

pcollections

A Persistent Java Collections Library.

Memory and concurrency
P

protobuf

Google's data interchange format.

Memory and concurrency
Q

Quasar

Lightweight threads and actors for the JVM.

Memory and concurrency
R

Reactive Streams

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

Memory and concurrency
R

Reactive Streams Utilities

Future standard utilities library for Reactive Streams.

Memory and concurrency
R

Reactor

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

Memory and concurrency
R

RoaringBitmap

A better compressed bitset in Java.

Memory and concurrency
R

rollinghashjava

Rolling hash functions in Java.

Memory and concurrency
R

rtree

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

Memory and concurrency
R

RTree2D

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

Memory and concurrency
R

RxJava

Library for composing asynchronous and event-based programs using observable sequences.

Memory and concurrency
S

Simple Binary Encoding

High Performance Message Codec.

Memory and concurrency
S

SmoothieMap

java.util.Map impl with worst put latencies more than 100 times smaller than java.util.HashMap.

Memory and concurrency
S

splitmap

A parallel bitmap implementation.

Memory and concurrency
S

stormpot

A fast object pool for the JVM.

Memory and concurrency
S

stream-lib

A Java library for summarizing data in streams for which it is infeasible to store all events.

Memory and concurrency
S

streamvbyte

Fast integer compression in C using the StreamVByte codec.

Memory and concurrency
T

TraneIO

High-performance implementation of the Future abstraction.

Memory and concurrency
T

transducers-java

Composable algorithmic transformations independent from the context of their input and output sources.

Memory and concurrency
V

VarInt

No-deps variable int implementation without deps (by Bazel).

Memory and concurrency
V

vavr

Functional Library for Java 8+.

Memory and concurrency
W

wire

Clean, lightweight protocol buffers for Android and Java.

Memory and concurrency
Z

Zero-Allocation-Hashing

Hashing any sequences of bytes in Java, including all kinds of primitive arrays, buffers, CharSequences and more.

Memory and concurrency

Metaprogramming(23 items)

A

Antlr

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

Metaprogramming
A

Apache Calcite

Dynamic data management framework and SQL parser plugin.

Metaprogramming
A

auto

A collection of source code generators for Java.

Metaprogramming
C

Checker Framework

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

Metaprogramming
C

compile-testing

Testing tools for javac and annotation processors.

Metaprogramming
D

derive4j

Algebraic data types constructors, pattern-matching, morphisms, optics and typeclasses.

Metaprogramming
E

error-prone

Catch common Java mistakes as compile-time errors.

Metaprogramming
G

GHCVM

A Haskell to JVM compiler that supports GHC Haskell.

Metaprogramming
G

Graal

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

Metaprogramming
G

grappa

Java fork of Parboiled. Write grammars with no preprocessing phase.

Metaprogramming
I

immutables

Generate simple, safe and consistent value objects.

Metaprogramming
J

javacc

Parser generator for use with Java.

Metaprogramming
J

javaparser

Java 1.8 Parser and Abstract Syntax Tree for Java.

Metaprogramming
J

JavaPoet

A Java API for generating .java source files.

Metaprogramming
J

jparsec

Builds mini parsers in pure Java a la Haskell Parsec.

Metaprogramming
J

JSweet

A transpiler from Java to TypeScript/JavaScript.

Metaprogramming
L

lombok

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

Metaprogramming
M

MPS

Design and build extensible DSLs and editors.

Metaprogramming
P

parboiled

Parsing of arbitrary input text based on parsing expression grammars.

Metaprogramming
S

Sulong

LLVM IR interpreter written in Java using Truffle and Graal.

Metaprogramming
T

TeaVM

Ahead-of-time translating compiler (transpiler) from Java bytecode to JavaScript.

Metaprogramming
T

Truffle

Framework for implementing languages as simple interpreters.

Metaprogramming
X

Xtext

Framework for development of programming languages and DSLs.

Metaprogramming

Network(22 items)

A

Aeron

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

Network
A

armeria

Asynchronous RPC/API client/server library built on top of Java 8, Netty 4.1, HTTP/2, and Thrift.

Network
C

Chronicle-Network

A High Performance Network library.

Network
C

comcast

Simulating shitty network connections.

Network
G

gor

HTTP traffic replay in real-time.

Network
G

gRPC

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

Network
J

jRT

Measures response time of a java application to socket-based requests.

Network
J

JXIO

Java API over AccelIO (C library), a high-performance asynchronous reliable messaging and RPC library optimized for hardware acceleration.

Network
K

K3PO

Create arbitrary network traffic and behavior to certify whether a network endpoint behaves correctly.

Network
M

muxy

Simulating real-world distributed system failures.

Network
N

Netty

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

Network
O

okhttp

An HTTP+HTTP/2 client for Android and Java applications.

Network
O

one-nio

library for building high performance Java servers.

Network
P

pcap4j

Java library for capturing, crafting, and sending packets using libpcap.

Network
P

pig

A Linux packet crafting tool.

Network
P

proteus-java

Proteus Java Client based on RSocket.

Network
R

reactive-grpc

Reactive gRPC is a suite of libraries for using gRPC with Reactive Streams programming libraries.

Network
R

RSocket

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

Network
S

SimianArmy

Resiliency tool that helps ensure that your applications can tolerate random instance failures.

Network
T

tcpdump

Packet analyzer for network traffic capture.

Network
T

tcpflow

Captures TCP connections flows in a way that is convenient for protocol analysis and debugging.

Network
T

tcpreplay

Pcap editing and replay tools.

Network

Nix tools(20 items)

A

atoptool

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

Nix tools
B

bcc

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

Nix tools
F

Flame Graphs

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

Nix tools
H

hwloc

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

Nix tools
I

ioping

Simple disk I/0 latency measuring tool.

Nix tools
J

javap

Disassembles class files into code that reflects the java bytecode.

Nix tools
J

jhat

Java Heap Analysis Tool

Nix tools
J

jhsdb

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

Nix tools
J

jinfo

Prints configuration information for a given process.

Nix tools
J

jstack

Prints stack traces of threads for a given Java process.

Nix tools
J

jstat

Monitors GC and compiler statistics in the JVM.

Nix tools
L

likwid

Read hardware performance counters on Intel and AMD processors.

Nix tools
N

numactl

Control NUMA policy for processes or shared memory.

Nix tools
O

oprofile

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

Nix tools
P

perf

Linux profiling with performance counters.

Nix tools
P

perf-tools

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

Nix tools
S

sysdig

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

Nix tools
S

sysstat

Performance monitoring tools for Linux.

Nix tools
T

taskset/process-affinity

Retrieve or set a processes’s CPU affinity.

Nix tools
T

tiptop

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

Nix tools

People(38 items)

A

Aleksey Shipilëv

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

People
A

Andrey Breslav

Lead Language Designer of Kotlin @ JetBrains.

People
B

Ben Christensen

Facebook, Netflix, Apple engineering.

People
B

Brendan Gregg

Cloud performance, kernel engineer, speaker, author.

People
B

Brian Goetz

Java Language Architect at Oracle.

People
C

Charles Nutter

JRuby guy.

People
C

Claes Redestad

Working with OpenJDK stuff @ Oracle.

People
C

Cliff Click

Creator of the HotSpot Server Compiler.

People
D

Dave Dice

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

People
D

Dávid Karnok

RxJava committer that blogs about advanced RxJava.

People
D

Doug Lea

Author of the Java memory model.

People
G

Gil Tene

Azul Systems.

People
H

Heinz Kabutz

Author of 250+ Java Specialists' Newsletters.

People
I

Ivan Krylov

JVM expert.

People
J

Jake Wharton

Square, Google, open source hacker.

People
J

John Rose

HotSpot developer.

People
J

Jonas Bonér

Founder & CTO of Lightbend.

People
K

Kirk Pepperdine

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

People
L

Lukas Eder

Blogger. Author of JOOQ.

People
M

Marcus Lagergren

Java language team alumnus.

People
M

Mark Reinhold

Chief Architect, Java Platform Group, Oracle.

People
M

Martijn Verburg

Java Champion.

People
M

Martin Thompson

Pasty faced performance gangster.

People
N

Nitsan Wakart

Azul Systems.

People
N

Norman Maurer

Netty developer.

People
P

Paul Phillips

Forever undisputed SLOC Scala compiler dev.

People
P

Per Liden

Hacking on the HotSpot JVM at Oracle.

People
P

Peter Lawrey

Innovative developer of high performance Java systems for competitive advantage.

People
R

Rafael Winterhalter

Author of ByteBuddy.

People
R

Richard Startin

Performance Analyst, developer, blogger.

People
R

Richard Warburton

Developer, Speaker, Author.

People
R

Ron Pressler

Parallel Universe. Leading Fibers and Continuations for the JVM.

People
S

Stéphane Maldini

Project Reactor Lead @Pivotal.

People
S

Stephen Colebourne

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

People
S

Stuart Marks

Doctor Deprecator. Java/JDK/OpenJDK developer

People
T

Todd L. Montgomery

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

People
V

Viktor Klang

Deputy CTO at Typesafe Inc.

People
V

Vladimir Ivanov

hacking HotSpot JVM @ Oracle.

People

Profilers(49 items)

A

allocation-instrumenter

Java agent that rewrites bytecode to instrument allocation sites.

Profilers
A

aprof

Java memory allocation profiler.

Profilers
A

async-profiler

Sampling CPU profiler for Java featuring AsyncGetCallTrace + perf_events.

Profilers
B

BTrace

a safe, dynamic tracing tool for the Java platform.

Profilers
B

Byteman

tracing, monitoring and testing tool for Java

Profilers
B

bytestacks

Turn JVM bytecode execution into flame graphs.

Profilers
C

Chronon

Record your entire java program. Replay on any machine.

Profilers
G

GCeasy

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

Profilers
G

GCViewer

GCViewer is a tool that visualizes verbose GC output.

Profilers
G

grav

A collection of tools to help visualise process execution.

Profilers
H

hawkshaw

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

Profilers
H

HdrHistogram

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

Profilers
H

hdrhistogram-metrics-reservoir

A Metrics Reservoir implementation backed by HdrHistogram.

Profilers
H

HdrLogProcessing

Utilities for HDR Histogram logs manipulation.

Profilers
H

heapster

Production heap profiling for the JVM.

Profilers
H

honest-profiler

Sampling JVM profiler without the safepoint sample bias.

Profilers
J

jamm

Measure actual object memory use including JVM overhead.

Profilers
J

Java Flight Recorder (JFR)

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

Profilers
J

java-sizeof

Memory consumption estimator for Java.

Profilers
J

jcstress

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

Profilers
J

jfr-flame-graph

Converting JFR Method Profiling Samples to FlameGraph compatible format.

Profilers
J

jfr-report-tool

Tool for creating reports from Java Flight Recorder dumps.

Profilers
J

jHiccup

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

Profilers
J

jitwatch

Log analyser / visualiser for Java HotSpot JIT compiler.

Profilers
J

jitwatch-intellij

JITWatch plugin for IntelliJ IDEA.

Profilers
J

jmh

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

Profilers
J

jmh-compare-gui

GUI for comparing JMH results.

Profilers
J

JOL

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

Profilers
J

JProfiler

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

Profilers
J

jvm-profiler

Java Agent to collect various metrics and stacktraces for Hadoop/Spark JVM processes in a distributed way.

Profilers
J

JVMTI

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

Profilers
J

jvmtop

Lightweight console application to monitor running jvms on a machine in top-like manner.

Profilers
L

leakcanary

A memory leak detection library for Android and Java.

Profilers
M

MAT

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

Profilers
M

metrics

Measure the behavior of critical components in production environment.

Profilers
M

micrometer

An application metrics facade for the most popular monitoring tools.

Profilers
O

OpenTracing

A vendor-neutral open standard for distributed tracing.

Profilers
O

osquery

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

Profilers
O

Overseer

Low-Level Hardware Monitoring and Management for Java.

Profilers
P

perf-map-agent

Generate method mappings to use with the linux `perf` tool.

Profilers
P

perfj

Linux perf for java programs.

Profilers
P

polarbear

A tool to help diagnose OutOfMemoryError conditions.

Profilers
R

Riemann JVM Profiler

JVM agent which sends function-level profiler telemetry to a Riemann server for analysis, visualization, and storage.

Profilers
S

statsd-jvm-profiler

JVM agent profiler that sends profiling data to StatsD.

Profilers
S

Swiss Java Knife

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

Profilers
T

Takipi

Tells you when and why code breaks in production.

Profilers
T

Tracer

Manages custom trace identifiers and carries them through distributed systems.

Profilers
Y

YourKit

Fully featured, easy to use, low overhead profiler.

Profilers
Z

Zipkin

A distributed tracing system gather timing data for disparate services developed by Twitter.

Profilers