An open API service indexing awesome lists of open source software.

awesome-jvm

A curated list of awesome loosely performance related JVM stuff. Inspired by awesome-python.
https://github.com/deephacks/awesome-jvm

Last synced: 26 days ago
JSON representation

Bytecode

  • asmtools - Used to develop tools for the production of Java .class files.
  • Byte Buddy - Code generation library creating Java classes at runtime without the help of a compiler.
  • asmtools - Used to develop tools for the production of Java .class files.
  • Jitescript - Bytecode generation library similar to BiteScript.

Communities

  • mechanical-sympathy - Discussing how to code sympathetically to and measure the underlying stack/platform so good performance can be extracted.
  • hotspot-compiler-dev - Technical discussion about the development of the HotSpot bytecode compilers.
  • hotspot-dev - HotSpot development mailing list.
  • hotspot-gc-dev - Technical discussion about the development of the HotSpot garbage collectors.
  • Performance Java User's Group - For expert Java developers who want to push their systems to the next level
  • Virtual Machine Meetup 2017 - Venue for discussing the latest research and developments in the area of managed language execution.
  • hotspot-compiler-dev - Technical discussion about the development of the HotSpot bytecode compilers.
  • hotspot-dev - HotSpot development mailing list.
  • hotspot-gc-dev - Technical discussion about the development of the HotSpot garbage collectors.
  • Virtual Machine Meetup 2017 - Venue for discussing the latest research and developments in the area of managed language execution.

Documentation

Garbage collectors

  • Balanced GC - GC policy available in the Java Virtual Machine for IBM WebSphere Application Server V8.
  • Epsilon GC - Completely passive GC implementation with bounded allocation limit, and lowest runtime performance overhead possible.
  • G1 - The Garbage-First Garbage Collector.
  • Shenandoah - Ultra-Low-Pause-Time Garbage Collector.
  • The Garbage Collection Handbook - 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.
  • Epsilon GC - Completely passive GC implementation with bounded allocation limit, and lowest runtime performance overhead possible.
  • Shenandoah - Ultra-Low-Pause-Time Garbage Collector.
  • ZGC - Garbage collector optimized for low latency and very large heaps.
  • The Garbage Collection Handbook - Book that addresses new challenges to garbage collection made by recent advances in hardware and software.
  • G1 - The Garbage-First Garbage Collector.
  • Balanced GC - GC policy available in the Java Virtual Machine for IBM WebSphere Application Server V8.
  • Balanced GC - GC policy available in the Java Virtual Machine for IBM WebSphere Application Server V8.
  • The Garbage Collection Handbook - Book that addresses new challenges to garbage collection made by recent advances in hardware and software.

Languages

  • Ceylon - Object-oriented, strong and static programming language with an emphasis on immutability, created by Red Hat.
  • Clojure - Dialect of Lisp created by Rich Hickey. Dynamically typed with emphasis on functional programming.
  • Erjang - A JVM-based Erlang VM.
  • Eta - Pure, lazy, strongly typed functional programming language on the JVM.
  • Golo - A simple dynamic language that makes extensive usage of invokedynamic.
  • Groovy - Optionally typed and dynamic language, with static-typing and static compilation capabilities.
  • Java - General-purpose, concurrent, strongly typed, class-based object-oriented language.
  • JRuby - Implementation of the Ruby language on the JVM.
  • Jython - Python for the Java Platform.
  • Kawa - Extension of the Scheme language, which is in the Lisp family of programming languages.
  • Kotlin - Statically typed programming language for the JVM, Android and the browser.
  • LuaJ - Java-centric implementation of lua vm built to leverage standard Java features.
  • Nashorn - Lightweight high-performance JavaScript runtime in Java with a native JVM.
  • OCaml-Java - Supports OCaml language v4. Generates plain Java bytecode and have seamless integration with Java.
  • Renjin - JVM-based interpreter for the R language for the statistical analysis
  • Scala - Strong and static programming language that combine object-oriented and functional programming ideas.
  • Xtend - Flexible and expressive dialect of Java, which compiles into Java 5 source code.
  • Nashorn - Lightweight high-performance JavaScript runtime in Java with a native JVM.
  • Frege - Pure functional programming language in the spirit of Haskell.
  • gojava - Java bindings for Go packages.
  • Groovy - Optionally typed and dynamic language, with static-typing and static compilation capabilities.
  • JPHP - PHP on the Java VM.
  • LuaJ - Java-centric implementation of lua vm built to leverage standard Java features.
  • OCaml-Java - Supports OCaml language v4. Generates plain Java bytecode and have seamless integration with Java.
  • Rembulan - Rembulan is an implementation of Lua 5.3 for the JVM, written in pure Java with minimal dependencies.
  • Renjin - JVM-based interpreter for the R language for the statistical analysis
  • Java - General-purpose, concurrent, strongly typed, class-based object-oriented language.
  • Golo - A simple dynamic language that makes extensive usage of invokedynamic.
  • JRuby - Implementation of the Ruby language on the JVM.

Load tools

  • Gatling - Asynchronous non-blocking scenario driven load testing tool for testing HTTP servers.
  • wrk2 - A constant throughput, correct latency recording variant of wrk.

Machine Learning

  • Deeplearning4j - Open-Source, Distributed, Deep Learning Library for the JVM.
  • H2O - Fast statistical, machine learning & math runtime.
  • Deeplearning4j - Open-Source, Distributed, Deep Learning Library for the JVM.
  • Smile - Statistical Machine Intelligence & Learning Engine.

Media

Memory and concurrency

  • Apache Arrow - A high-performance cross-system data layer for columnar in-memory analytics.
  • Cap’n Proto - Insanely fast data interchange format and capability-based RPC system.
  • commons-math - Library of lightweight, self-contained mathematics and statistics components.
  • jsoniter - Claims to be the fastest JSON parser ever (copy of DSL-JSON).
  • MapDB - Collections backed by off-heap or on-disk storage.
  • netty-buffers - Memory buffer pool implementation similar to jemalloc.
  • ObjectLayout - A layout-optimized Java data structure package.
  • parquet - Columnar storage format that uses the record shredding and assembly algorithm described in the Dremel paper.
  • protobuf - Google's data interchange format.
  • Quasar - Lightweight threads and actors for the JVM.
  • Reactive Streams - Standard for asynchronous stream processing with non-blocking back pressure.
  • Reactor - Reactive data applications on the JVM for Java, Groovy, Clojure and other.
  • RxJava - Library for composing asynchronous and event-based programs using observable sequences.
  • DataSketches - A Java software library of stochastic streaming algorithms.
  • TraneIO - High-performance implementation of the Future abstraction.
  • VarInt - No-deps variable int implementation without deps (by Bazel).
  • vavr - Functional Library for Java 8+.
  • Agera - Reactive Programming for Android by Google.
  • bloofi - Java implementation of multidimensional Bloom filters
  • caffeine - A high performance caching library for Java 8.
  • Chronicle-Bytes - Low level memory access wrappers.
  • Chronicle-Queue - Micro second messaging that stores everything to disk.
  • Chronicle-Map - In-memory key-value store designed for low-latency and/or multi-process applications.
  • clj-ds - Clojure's data structures modified for use outside of Clojure.
  • colfer - Binary serialization format and class generator.
  • CuckooFilter4J - Bloom filter replacement for approximated set-membership queries.
  • cyclops - Integration modules for RxJava, Reactor, FunctionalJava, Guava & Javaslang.
  • externalsortinginjava - Sort very large files using multiple cores and an external-memory algorithm.
  • failsafe - A lightweight, zero-dependency library for handling failures.
  • fasttuple - Collections that are laid out adjacently in both on- and off-heap memory.
  • fast-uuid - Java library for quickly and efficiently parsing and writing UUIDs.
  • geohash - Java utility methods for geohashing.
  • gs-collections - Goldman Sachs collections framework.
  • hollow - Java library and comprehensive toolset for harnessing small to moderately sized in-memory datasets.
  • high-scale-lib - Cliff Click's High Scale Library.
  • hppc - High Performance Primitive Collections.
  • injector - A new Executor for Java.
  • java-concurrent-hash-trie-map - Java port of a concurrent trie hash map implementation from Scala collections.
  • java-hll - Java library for the HyperLogLog algorithm.
  • java-string-similarity - String similarity and distance measures, including Levenshtein edit distance and sibblings, Jaro-Winkler, Longest Common Subsequence, cosine similarity etc.
  • JCTools - Concurrent data structures currently missing from the JDK.
  • jOOL - Useful extensions to Java 8 lambdas.
  • LevelDB - Rewrite (port) of LevelDB in Java.
  • lightweight_trie - A very memory-efficient trie (radix tree) implementation.
  • lmdbjni - Java API to LMDB (HawtJNI) which is an ultra-fast, ultra-compact key-value embedded data store written in C.
  • lmdbjava - Java API to LMDB (JNR) which is an ultra-fast, ultra-compact key-value embedded data store written in C.
  • low-gc-membuffers - In-memory circular buffers that use direct ByteBuffers to minimize GC overhead.
  • 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.
  • mph-table - Minimal Perfect Hash Tables are an immutable key/value store with efficient space utilization and fast reads.
  • mug - A small, zero-dep functional util library originating from Google.
  • ObjectLayout - A layout-optimized Java data structure package.
  • ohc - Java large off heap cache developed for Apache Cassandra 3.0.
  • okio - Modern Java IO library that do clever things to save CPU and memory.
  • onyx-java - Mirrors the Onyx Platform core API by providing a Java equivalent for each component of an Onyx workflow.
  • PauselessHashMap - A java.util.HashMap compatible map that won't stall puts or gets when resizing.
  • pcollections - A Persistent Java Collections Library.
  • rtree - Immutable in-memory R-tree and R*-tree implementations in Java with reactive api.
  • Reactive Streams - Standard for asynchronous stream processing with non-blocking back pressure.
  • Reactive Streams Utilities - Future standard utilities library for Reactive Streams.
  • RoaringBitmap - A better compressed bitset in Java.
  • rollinghashjava - Rolling hash functions in Java.
  • SmoothieMap - java.util.Map impl with worst put latencies more than 100 times smaller than java.util.HashMap.