Skip to content

JVM

Awesome JVM Awesome

精选的 JVM 底层、性能和非框架相关内容的精选列表.

- [Communities](#communities)

Bytecode

字节码操作和分析工具.

  • asmtools - 用于开发用于生成 Java .class 文件的工具.
  • Byte Buddy - 无需编译器帮助即可在运行时创建 Java 类的代码生成库.
  • Jitescript - 类似于 BiteScript 的字节码生成库.

Garbage collectors

JVM 的垃圾收集器.

  • Azul Pauseless Garbage Collection - 为 Java 应用程序提供连续、无间断的操作.
  • Balanced GC - GC 策略在 IBM WebSphere Application Server V8 的 Java 虚拟机中可用.
  • Epsilon GC - 完全被动的 GC 实现,具有有限的分配限制和尽可能低的运行时性能开销.
  • G1 - 垃圾优先垃圾收集器.
  • Shenandoah - 超低停顿时间垃圾收集器.
  • The Garbage Collection Handbook - 本书解决了硬件和软件的最新进展对垃圾收集带来的新挑战.
  • ZGC - 针对低延迟和超大堆优化的垃圾收集器.

Load tools

产生负载并准确测量系统的工具,无协同遗漏

  • Gatling - 用于测试 HTTP 服务器的异步非阻塞场景驱动负载测试工具.
  • wrk2 - 恒定的吞吐量,正确的 wrk 延迟记录变体.

Languages

在 JVM 上运行的语言. * Ceylon - 面向对象的、强大的静态编程语言,强调不变性,由 Red Hat 创建. * Clojure - 由 Rich Hickey 创建的 Lisp 方言. 强调函数式编程的动态类型. * Erjang - 基于 JVM 的 Erlang VM. * Eta - JVM 上纯粹的、惰性的、强类型的函数式编程语言. * Frege - 本着 Haskell 精神的纯函数式编程语言. * gojava - Go 包的 Java 绑定. * Golo - 一种简单的动态语言,广泛使用了“invokedynamic”. * Groovy - 可选类型和动态语言,具有静态类型和静态编译功能. * Java - 通用、并发、强类型、基于类的面向对象语言. * JRuby - 在 JVM 上实现 Ruby 语言. * JPHP - Java 虚拟机上的 PHP. * Jython - 用于 Java 平台的 Python. * Kawa - Scheme 语言的扩展,属于 Lisp 编程语言家族. * Kotlin - 用于 JVM、Android 和浏览器的静态类型编程语言. * LuaJ - 以 Java 为中心的 lua vm 实现,旨在利用标准 Java 功能. * Nashorn - 具有本机 JVM 的 Java 轻量级高性能 JavaScript 运行时. * OCaml-Java - 支持 OCaml 语言 v4. 生成纯 Java 字节码并与 Java 无缝集成. * Rembulan - Rembulan 是 JVM 的 Lua 5.3 实现,用纯 Java 编写,具有最小的依赖性. * Renjin - 基于 JVM 的 R 语言解释器,用于统计分析 * Scala - 强大的静态编程语言,结合了面向对象和函数式编程思想. * Xtend - 灵活且富有表现力的 Java 方言,可编译成 Java 5 源代码.

Machine Learning

  • Deeplearning4j - 用于 JVM 的开源、分布式、深度学习库.
  • H2O - 快速统计、机器学习和数学运行时.
  • Smile - 统计机器智能和学习引擎.

Memory and concurrency

用于高效内存布局和并发访问的工具和数据结构.

  • Agera - Google 的 Android 响应式编程.
  • Agrona - 构建高性能应用程序时通常需要的数据结构和实用方法库.
  • Apache Arrow - A high-performance cross-system data layer for columnar in-memory analytics.
  • bloofi - 多维布隆过滤器的Java实现
  • Cap’n Proto - 极其快速的数据交换格式和基于能力的 RPC 系统.
  • caffeine - Java 8 的高性能缓存库.
  • Chronicle-Bytes - 低级内存访问包装器.
  • Chronicle-Queue - 将所有内容存储到磁盘的微秒消息传递.
  • Chronicle-Map - 专为低延迟和/或多进程应用程序设计的内存中键值存储.
  • clj-ds - 为在 Clojure 之外使用而修改的 Clojure 数据结构.
  • colfer - 二进制序列化格式和类生成器.
  • commons-math - 轻量级、独立的数学和统计组件库.
  • CuckooFilter4J - 用于近似集合成员查询的 Bloom 过滤器替换.
  • cyclops - RxJava、Reactor、FunctionalJava、Guava 和 Javaslang 的集成模块.
  • Eclipse Collections - Java 的集合框架.
  • externalsortinginjava - 使用多核和外部内存算法对非常大的文件进行排序.
  • failsafe - 用于处理故障的轻量级、零依赖库.
  • fasttuple - 在堆内和堆外内存中相邻布置的集合.
  • fast-uuid - 用于快速有效地解析和编写 UUID 的 Java 库.
  • FlatBuffers - Efficient cross platform serialization library for C++, C#, Go, Java, JavaScript, PHP, and Python.
  • geohash - 用于 geohashing 的 Java 实用方法.
  • gs-collections - 高盛收藏框架.
  • hollow - 用于利用中小型内存数据集的 Java 库和综合工具集.
  • high-scale-lib - Cliff Click 的大型图书馆.
  • hppc - 高性能原始集合.
  • injector - 一个新的 Java 执行器.
  • java-concurrent-hash-trie-map - 来自 Scala 集合的并发 trie 哈希映射实现的 Java 端口.
  • java-hll - HyperLogLog 算法的 Java 库.
  • JavaFastPFOR - 非常快速地压缩和解压缩整数数组的库.
  • java-string-similarity - 字符串相似性和距离度量,包括 Levenshtein 编辑距离和兄弟姐妹、Jaro-Winkler、最长公共子序列、余弦相似性等.
  • JCTools - JDK 当前缺少并发数据结构.
  • DSL-JSON - 具有高级编译时数据绑定的高性能 JSON 库.
  • jsoniter - 声称是有史以来最快的 JSON 解析器(DSL-JSON 的副本).
  • jOOL - 对 Java 8 lambdas 的有用扩展.
  • Koloboke - Java Collections 直到内存和性能的最后一个面包屑.
  • LevelDB - 用 Ja​​va 重写(端口)LevelDB.
  • lightweight_trie - 一个非常节省内存的 trie(基数树)实现.
  • lmdbjni - LMDB (HawtJNI) 的 Java API,它是一种用 C 编写的超快速、超紧凑的键值嵌入式数据存储.
  • lmdbjava - LMDB (JNR) 的 Java API,它是一种用 C 编写的超快速、超紧凑的键值嵌入式数据存储.
  • low-gc-membuffers - 使用直接 ByteBuffers 以最小化 GC 开销的内存循环缓冲区.
  • lwjgl3 - Java 库支持跨平台访问流行的本机 API,这些 API 在图形 (OpenGL)、音频 (OpenAL) 和并行计算 (OpenCL) 应用程序的开发中很有用.
  • MapDB - 由堆外或磁盘存储支持的集合.
  • mph-table - 最小完美哈希表是一种不可变的键/值存储,具有高效的空间利用和快速读取.
  • mug - 一个源自 Google 的小型零依赖函数式实用程序库.
  • netty-buffers - 类似于 jemalloc 的内存缓冲池实现.
  • ObjectLayout - 布局优化的 Java 数据结构包.
  • ohc - 为 Apache Cassandra 3.0 开发的 Java 大型堆外缓存.
  • okio - 现代 Java IO 库可以巧妙地节省 CPU 和内存.
  • onyx-java - 通过为 Onyx 工作流的每个组件提供 Java 等效项来镜像 Onyx 平台核心 API.
  • parquet - 使用 Dremel 论文中描述的记录切碎和组装算法的列式存储格式.
  • PauselessHashMap - java.util.HashMap 兼容映射,在调整大小时不会停止放置或获取.
  • pcollections - 持久性 Java 集合库.
  • protobuf - Google 的数据交换格式.
  • Quasar - JVM 的轻量级线程和参与者.
  • rtree - 不可变的内存中 R-tree 和 R*-tree 在 Java 中使用反应性 api 实现.
  • RTree2D - RTree2D 是一个 2D 不可变 R 树,带有 STR(Sort-Tile-Recursive)包装,用于平面和球面上的超快速最近和交叉查询.
  • Reactive Streams - 具有非阻塞背压的异步流处理标准.
  • Reactive Streams Utilities - Reactive Streams 的未来标准实用程序库.
  • RoaringBitmap - Java 中更好的压缩位集.
  • rollinghashjava - Java 中的滚动哈希函数.
  • Reactor - 用于 Java、Groovy、Clojure 等的 JVM 上的反应式数据应用程序.
  • RxJava - 用于使用可观察序列编写异步和基于事件的程序的库.
  • SmoothieMap - java.util.Map impl 的最差放置延迟比 java.util.HashMap 小 100 多倍.
  • Simple Binary Encoding - 高性能消息编解码器.
  • splitmap - 并行位图实现.
  • DataSketches - 随机流算法的 Java 软件库.
  • stormpot - JVM 的快速对象池.
  • stream-lib - 一个 Java 库,用于汇总无法存储所有事件的流中的数据.
  • streamvbyte - 使用 StreamVByte 编解码器在 C 中进行快速整数压缩.
  • TraneIO - 未来抽象的高性能实现.
  • transducers-java - 独立于输入和输出源上下文的可组合算法转换.
  • VarInt - 没有 deps 的 No-deps 变量 int 实现(由 Bazel).
  • vavr - Java 8+ 的功能库.
  • wire - 适用于 Android 和 Java 的干净、轻量级协议缓冲区.
  • Zero-Allocation-Hashing - 散列 Java 中的任何字节序列,包括各种原始数组、缓冲区、CharSequences 等.

Metaprogramming

针对 JVM 的解析器、解释器、编译器和源代码生成.

  • Antlr - 用于读取、处理、执行或翻译结构化文本或二进制文件的解析器生成器.
  • auto - Java 源代码生成器的集合.
  • Apache Calcite - Dynamic data management framework and SQL parser plugin.
  • Checker Framework - 查找错误或验证错误是否存在的编译器插件.
  • compile-testing - javac 和注释处理器的测试工具.
  • derive4j - 代数数据类型构造函数、模式匹配、态射、光学和类型类.
  • error-prone - 将常见的 Java 错误捕获为编译时错误.
  • GHCVM - 支持 GHC Haskell 的 Haskell 到 JVM 编译器.
  • Graal - 与 HotSpot 虚拟机集成的新实验性 Java 即时编译器.
  • grappa - Parboiled 的 Java 分支. 编写没有预处理阶段的语法.
  • immutables - 生成简单、安全和一致的值对象.
  • javacc - 用于 Java 的解析器生成器.
  • javaparser - Java 1.8 解析器和 Java 抽象语法树.
  • JavaPoet - 用于生成 .java 源文件的 Java API.
  • jparsec - 用纯 Java 构建迷你解析器,如 Haskell Parsec.
  • JSweet - 从 Java 到 TypeScript/JavaScript 的转换器.
  • MPS - 设计和构建可扩展的 DSL 和编辑器.
  • lombok - 减少通常为 Java 类编写的样板代码的数量.
  • parboiled - 基于解析表达式语法解析任意输入文本.
  • Sulong - 使用 Truffle 和 Graal 用 Ja​​va 编写的 LLVM IR 解释器.
  • TeaVM - 提前将编译器(transpiler)从 Java 字节码翻译成 JavaScript.
  • Truffle - 将语言实现为简单解释器的框架.
  • Xtext - 编程语言和 DSL 的开发框架.

Native

互连 JVM 和本机代码

  • hawtjni - 基于 Eclipse SWT 中使用的 JNI 生成器的 JNI 代码生成器.
  • Java Grinder - 将 Java 字节码编译为微控制器程序集.
  • j2v8 - 用于谷歌 V8 JavaScript 引擎的 Java API.
  • JavaCPP - JavaCPP 提供对 Java 内部原生 C++ 的高效访问.
  • jnr-ffi - 无需手动编写 JNI 代码即可加载本机库.
  • jssembly - 从 Java 执行本机程序集.
  • NuProcess - 用于 Java 的低开销、非阻塞 I/O、外部进程执行实现.
  • Project Panama - 丰富了 C 程序员使用的 JVM 和 API 之间的联系.

Network

用于网络编程、数据包捕获、监控、测试和弹性的工具.

  • Aeron - 高效可靠的 UDP 单播、UDP 多播和 IPC 消息传输.
  • armeria - 基于 Java 8、Netty 4.1、HTTP/2 和 Thrift 构建的异步 RPC/API 客户端/服务器库.
  • Chronicle-Network - 高性能网络库.
  • comcast - 模拟糟糕的网络连接.
  • gor - HTTP 流量实时回放.
  • gRPC - 一个高性能、开源、通用的 RPC 框架,将移动和 HTTP/2 放在首位.
  • jRT - 测量 Java 应用程序对基于套接字的请求的响应时间.
  • JXIO - Java API over AccelIO(C 库),一种针对硬件加速优化的高性能异步可靠消息传递和 RPC 库.
  • K3PO - 创建任意网络流量和行为,以证明网络端点的行为是否正确.
  • muxy - 模拟真实世界的分布式系统故障.
  • Netty - 用于高性能协议服务器和客户端的异步事件驱动网络库.
  • okhttp - 用于 Android 和 Java 应用程序的 HTTP+HTTP/2 客户端.
  • one-nio - 用于构建高性能 Java 服务器的库.
  • proteus-java - 基于 RSocket 的 Proteus Java 客户端.
  • reactive-grpc - Reactive gRPC 是一套库,用于将 gRPC 与 Reactive Streams 编程库一起使用.
  • RSocket - RSocket 是一种二进制协议,用于字节流传输,例如 TCP、WebSockets 和 Aeron.
  • SimianArmy - 帮助确保您的应用程序能够容忍随机实例故障的弹性工具.
  • pcap4j - 用于使用 libpcap 捕获、制作和发送数据包的 Java 库.
  • pig - Linux 数据包制作工具.
  • tcpdump - 用于网络流量捕获的数据包分析器.
  • tcpflow - 以方便协议分析和调试的方式捕获 TCP 连接流.
  • tcpreplay - Pcap 编辑和回放工具.

Nix tools

分析 JVM 和与主机环境交互时有用的 nix 工具* * atoptool - 记录系统和进程活动以进行长期分析,突出显示过载系统. * bcc - 基于 BPF 的 Linux IO 分析、网络、监控等工具. * Flame Graphs - 配置软件的可视化,允许快速准确地识别最频繁的代码路径. * ioping - 简单的磁盘 I/0 延迟测量工具. * javap - 将类文件反汇编成反映 java 字节码的代码. * jhat - Java堆分析工具 * jinfo - 打印给定进程的配置信息. * jstack - 打印给定 Java 进程的线程堆栈跟踪. * jstat - 监控 JVM 中的 GC 和编译器统计信息. * hwloc - 报告处理器结构、核心数、超线程和高速缓存大小. * likwid - 读取 Intel 和 AMD 处理器上的硬件性能计数器. * numactl - 控制进程或共享内存的 NUMA 策略. * oprofile - 系统范围的硬件性能监控,具有易于使用的界面,开销低. * perf - 使用性能计数器进行 Linux 分析. * perf-tools - 基于 Linux perf_events(又名 perf)和 ftrace 的性能分析工具. * sysdig - 从正在运行的 Linux 实例捕获系统状态和活动,然后保存、过滤和分析. * sysstat - Linux 的性能监控工具. * taskset/process-affinity - 检索或设置进程的 CPU 关联. * tiptop - 与 top 类似,但也显示每个周期的指令 (IPC).

Profilers

提供分析和跟踪信息以帮助程序优化的工具

  • allocation-instrumenter - 将字节码重写到工具分配站点的 Java 代理.
  • aprof - Java 内存分配分析器.
  • async-profiler - 具有 AsyncGetCallTrace + perf_events 的 Java 采样 CPU 分析器.
  • BTrace - 用于 Java 平台的安全动态跟踪工具.
  • Byteman - Java的跟踪、监控和测试工具
  • bytestacks - 将 JVM 字节码执行转换为火焰图.
  • Chronon - 记录你的整个java程序. 在任何机器上重播.
  • GCeasy - 机器学习引导垃圾收集日志分析工具. 自动检测 JVM GC 日志中的问题并推荐解决方案.
  • GCViewer - GCViewer 是一个可视化详细 GC 输出的工具.
  • grav - 帮助可视化流程执行的工具集合.
  • hawkshaw - 用于跟踪内存/JVM 问题和生成尽可能可预测的 VM 行为的工具.
  • HdrHistogram - 支持记录和分析采样数据值计数的直方图.
  • hdrhistogram-metrics-reservoir - 由 HdrHistogram 支持的 Metrics Reservoir 实现.
  • HdrLogProcessing - 用于 HDR 直方图日志操作的实用程序.
  • heapster - JVM 的生产堆分析.
  • honest-profiler - 在没有安全点样本偏差的情况下对 JVM 分析器进行抽样.
  • jamm - 测量实际对象内存使用情况,包括 JVM 开销.
  • Java Flight Recorder (JFR) - 用于收集有关正在运行的 Java 应用程序的诊断和分析数据的工具,几乎没有性能开销.
  • java-sizeof - Java 的内存消耗估算器.
  • jcstress - 实验工具和测试,以帮助研究 JVM、类库和硬件中并发支持的正确性.
  • jfr-flame-graph - 将 JFR 方法分析样本转换为 FlameGraph 兼容格式.
  • jfr-report-tool - 用于从 Java Flight Recorder 转储创建报告的工具.
  • jitwatch - Java HotSpot JIT 编译器的日志分析/可视化.
  • jitwatch-intellij - IntelliJ IDEA 的 JITWatch 插件.
  • jHiccup - jHiccup 是一种开源工具,旨在测量与应用程序的底层 Java 运行时平台相关的暂停和停顿.
  • jmh - 用 Ja​​va 和其他针对 JVM 的语言编写的微基准测试.
  • jmh-compare-gui - 用于比较 JMH 结果的 GUI.
  • JOL - 分析 JVM 中的实际对象布局方案、足迹和引用.
  • JProfiler - 帮助解决性能瓶颈、确定内存泄漏并了解线程问题.
  • JVMTI - 提供本机 API 来检查状态并控制在 JVM 中运行的应用程序的执行.
  • jvmtop - 轻量级控制台应用程序以类似顶级的方式监控机器上运行的 jvms.
  • jvm-profiler - Java 代理以分布式方式为 Hadoop/Spark JVM 进程收集各种指标和堆栈跟踪.
  • MAT - Java 堆分析器,有助于发现内存泄漏并减少内存消耗.
  • leakcanary - 适用于 Android 和 Java 的内存泄漏检测库.
  • metrics - 测量生产环境中关键组件的行为.
  • micrometer - 最流行的监控工具的应用程序指标外观.
  • osquery - osquery 是一种将操作系统公开为高性能关系数据库的检测框架.
  • Overseer - Java 的低级硬件监控和管理.
  • OpenTracing - 一个供应商中立的分布式跟踪开放标准.
  • perf-map-agent - 生成方法映射以与 linux perf 工具一起使用.
  • perfj - 用于 Java 程序的 Linux 性能.
  • polarbear - 帮助诊断 OutOfMemoryError 情况的工具.
  • Riemann JVM Profiler - JVM 代理将功能级分析器遥测数据发送到 Riemann 服务器以进行分析、可视化和存储.
  • statsd-jvm-profiler - 将分析数据发送到 StatsD 的 JVM 代理分析器.
  • Swiss Java Knife - 用于 JVM 故障排除、监控和分析的小型工具集.
  • Takipi - 告诉您代码何时以及为何在生产中中断.
  • Tracer - 管理自定义跟踪标识符并通过分布式系统携带它们.
  • YourKit - 功能齐全,易于使用,低开销分析器.
  • Zipkin - 分布式跟踪系统收集 Twitter 开发的不同服务的时间数据.

Runtimes

用于管理 jvm 运行时进程的工具 * Capsule - 非常简单的 JVM 应用程序打包和部署. * CRaSH - Java 平台的外壳. * Drip - 快速启动 JVM,无需持久 JVM 的麻烦. * HotswapAgent - 在运行时重新定义类并跳过重新部署过程. * jvmkill - 无法分配内存或创建线程时强行终止 JVM 的代理. * Nailgun - Nailgun 是一种客户端、协议和服务器,用于从命令行运行 Java 程序,而不会产生 JVM 启动开销.

Virtual Machines

实现 JVM 规范或部分规范的虚拟机. * Avian - 具有 AOT 编译选项的轻量级高度可移植 JVM. * Dalvik - Android 运行时 (ART) 是 Android 上的应用程序和某些系统服务使用的托管运行时. * DCEVM - 修改 Java HotSwap VM,无限支持在运行时重新加载类. * HotSpot - HotSpot 虚拟机由 Oracle Corporation 维护和分发. * IBM J9 - IBM 开发的 JVM. * Eclipse OpenJ9 - Eclipse OpenJ9. * J2ObjC - 从 Java 源代码到 Objective-C 代码的翻译器. 保持 iOS 本机应用程序和 Android 本机应用程序之间的共享代码. * jvm.go - 用 Go 编写的 JVM. * ParparVM - 用于 iOS 本机开发的开源 Java 字节码到 C 转换器. 设计为的一部分 Codename One 用于移动项目的 WORA. * MobiDevelop's RoboVM Fork - 针对 iOS、Mac OSX 和 Linux 的 JVM 字节码的提前编译器. * Zing - 唯一消除大堆大小的 Java 垃圾收集暂停的 JVM. * Zulu - The only certified multi-platform build of OpenJDK: Free, 100% open source Java.

Resources

Documentation

JVM相关文档 * TCP Tracepoints Linux bcc/BPF 使用 tcplife by Brendan Gregg * Linux tracing workshop - 使用 BPF 进行 JVM 监控、Linux 跟踪工具研讨会的示例和动手实验. * JVM Anatomy Park - Aleksey Shipilёv 的迷你帖子系列,其中每篇帖子都只针对一个主题. * Coordinated Omission problem - 关于机械同情的讨论. * False sharing - 线程在修改共享同一缓存行的独立变量时会影响彼此的性能. 马丁汤普森. * The JVM specification - Java虚拟 机器规范 Java SE 8 版. * The Java Memory Model - 有关 Java 内存模型的讨论和信息的起点. * The JSR-133 Cookbook for Compiler Writers - 实施 JSR-133 指定的新 Java 内存模型 (JMM) 的非官方指南. * Garbage Collection Tuning Guide - HotSpot 虚拟机垃圾收集调优指南. * Safepoints - 我的安全点在哪里? 尼桑·瓦卡特. * Topics in High-Performance Messaging - 在高性能消息传递系统中解释的设计决策、经验和约束. * Top 10 Performance Mistakes - Martin Thompson 在生产中遇到的前 10 个与性能相关的错误摘要. * The USE method - Utilization Saturation and Errors (USE) 方法是一种用于分析任何系统性能的方法. 布伦丹·格雷格. * An introduction to distributed systems - Kyle Kingsbury(Jepsen 的作者). * Using JDK 9 Memory Order Modes - 适用于熟悉 Java 并发但不熟悉 VarHandles 提供的 JDK 9 中可用的内存顺序模式的专业程序员. * CPU Utilization is Wrong - 测量每周期指令 (IPC) 的 CPU 利用率. 布伦丹·格雷格. * Linux Load Averages: Solving the Mystery -布伦丹·格雷格. * What every programmer should know about solid-state drives - 伊曼纽尔·古萨尔特. * Quick Tips for Fast Code on the JVM - 丹尼尔斯皮瓦克.

Communities

积极讨论.

Media

与 JVM 相关的视频、播客和其他媒体 * FOSDEM 2018 - FOSDEM 2018 免费 Java 开发室. * JFokus 2018 - 气相色谱版. Shenandoah、ZGC、Zing、Fibers、Falcon等. * G1 Garbage Collector in Java 8/9 - 柯克佩珀代因. * Extreme Profiling: Digging Into Hotspots - 尼桑·瓦卡特. * Java vs. C Performance - 悬崖点击. * Why JNI is slow? - 悬崖点击 * A Crash Course in Modern Hardware - 悬崖点击 * Java Profiling from the Ground Up - 尼桑·瓦卡特. * The Illusion of Execution - 尼桑·瓦卡特. * Mythbusting Modern Hardware to Gain 'Mechanical Sympathy' - 马丁汤普森. * Designing for Performance - 马丁汤普森. * How NOT to Measure Latency - 吉尔特内. * JVM Language Summit 2015 - 2015 年 JVM 语言峰会. * JVM Language Summit 2016 - 2016 年 JVM 语言峰会. * JVM Language Summit 2017 - 2017 年 JVM 语言峰会. * Bits of advice for VM writers - 悬崖点击. * Understanding Java garbage collection ... - 吉尔特内. * Faster Object Arrays - GOTO 会议上的 Gil Tene. * Java Memory Model Pragmatics - 阿列克谢·希皮廖夫. * With GC Solved, What Else Makes a JVM Pause? - 约翰卡斯伯森. * JVM Mechanics - 道格拉斯霍金斯. * Give me 15 minutes and I'll change your view of Linux tracing -布伦丹·格雷格. * Kernel Recipes 2017: Performance Analysis with BPF -布伦丹·格雷格. * Shenandoah deep talk - 来自 Virtual Machine Meetup 2017 的 Aleksey Shipilëv 比往常 Shenandoah 演讲稍微深入一些. * Shenandoah: The Garbage Collector That Could - Alexey Shipilev - Devoxx 2017/11 * Analyzing and Debugging the Java HotSpot VM at the OS Level - 沃尔克·西蒙尼斯. * Cliff Click podcast 2017/09/16 - 编程和性能介绍. * Cliff Click podcast 2017/09/16 - 错误和编码风格. * Cliff Click podcast 2017/09/18 - Java 与 C/C++. * Cliff Click podcast 2017/09/21 - 调试数据竞争. * Cliff Click podcast 2017/09/24 - 有趣语言的快速字节码. * Cliff Click podcast 2017/09/28 - 数组结构与结构数组. * Cliff Click podcast 2017/10/04 - 编程中最难的 3 个问题. * Cliff Click podcast 2017/11/05 - 现代硬件性能和缓存线. * Cliff Click podcast 2017/11/09 - 实践中的排队. * Which technique do programming language parsers and interpreters use? - 悬崖点击. * Everything about Stack Traces and Heap Dumps - 安德烈潘金. * Fast and safe production monitoring of JVM with BPF tools - 萨沙·戈德斯坦. * The Future of the Linux Page Cache - 马修威尔科克斯.

People

分享 JVM 内部工作的来之不易的知识和数据的人 * Aleksey Shipilëv - 开发Oracle/Open JDK/Hotspot等Java相关技术. * Andrey Breslav - Kotlin @ JetBrains 的首席语言设计师. * Brian Goetz - Oracle 的 Java 语言架构师. * Ben Christensen - Facebook、Netflix、Apple 工程. * Brendan Gregg - 云性能、内核工程师、演讲者、作者. * Charles Nutter - JRuby 家伙. * Claes Redestad - 使用 OpenJDK 的东西 @ Oracle. * Cliff Click - HotSpot 服务器编译器的创建者. * Dave Dice - Oracle 可扩展同步研究小组的高级研究科学家. * Dávid Karnok - 关于高级 RxJava 的博客的 RxJava 提交者. * Doug Lea - Java 内存模型的作者. * Gil Tene - 蔚蓝系统. * Heinz Kabutz - Author of 250+ Java Specialists' Newsletters. * Ivan Krylov - JVM 专家. * Jake Wharton - Square、谷歌、开源黑客. * John Rose - 热点开发商. * Jonas Bonér - Lightbend 的创始人兼首席技术官. * Lukas Eder - 博主. JOOQ 的作者. * Marcus Lagergren - Java 语言团队校友. * Mark Reinhold - 甲骨文 Java 平台组首席架构师. * Martin Thompson - 面无表情的表演黑帮. * Martijn Verburg - Java 冠军. * Kirk Pepperdine - 在高性能和分布式计算领域工作近 20 年. * Nitsan Wakart - 蔚蓝系统. * Norman Maurer - Netty 开发人员. * Paul Phillips - 永远无可争议的 SLOC Scala 编译器开发者. * Per Liden - 攻击 Oracle 的 HotSpot JVM. * Peter Lawrey - 具有竞争优势的高性能 Java 系统的创新开发人员. * Rafael Winterhalter - ByteBuddy 的作者. * Richard Warburton - 开发者、演讲者、作者. * Richard Startin - 性能分析师、开发人员、博主. * Ron Pressler - 平行宇宙. JVM 的主要纤程和延续. * Stephen Colebourne - Java 冠军. 偶尔的博主和演讲者. 最著名的是 Joda 项目和 JSR-310. * Todd L. Montgomery - 前 CTO、前 NASA 研究员、网络极客、消息中间件设计师. * Stéphane Maldini - 反应堆项目负责人@Pivotal. * Stuart Marks - 反对者医生. Java/JDK/OpenJDK 开发人员 * Vladimir Ivanov - 破解 HotSpot JVM @ Oracle. * Viktor Klang - Typesafe Inc. 副 CTO

Contributing

非常欢迎投稿!

请看一看 contributing.md 指南.