Speaker: Kirk Pepperdine

Java Performance Expert & Java Champion

Kirk has been working in high performance and distributed computing for nearly 20 years. His focus has primarily been on performance, working on architecting, developing, and tuning applications running on Cray and other high-performance computing platforms. Kirk now specializes in Java, where he works in all aspects of performance and tuning in each phase of a project life cycle. Author, speaker, consultant, Kirk was recognized as a 2006 Java Champion recipient for his contributions to the Java community.

Find Kirk Pepperdine at:


Java Performance Workshop

This comprehensive one-day workshop is packed with techniques that have been proven to improve your ability to fully diagnose performance bottlenecks. At the core the workshop is jPDM, a Performance Diagnostic Model used to bring structure to root cause analysis  of performance regressions. The mythology is combined with a deep dive into some core JVM technology and tooling to give you the visibility you need to understand what’s gone wrong.

During the day you will be presented with problems drawn from real production systems. The hands on experience should help deepen your understanding of the flow that jPDM brings to the diagnostic process. Bring your laptop, bring your performance issues and prepare to be challenged.

Topics covered will include;

  1. A rescued project case study
  2. Improving Observability
  3. Introduction to jPDM, a performance diagnostic methodology
  4. JVM Managed memory
    1. Allocator essentials
    2. Garbage collection essentials
    3. JIT interactions
  5. Profiling methods for solving common problems
    1. High allocation rates
    2. Native and Java heap based memory leaks
  6. Hands on tuning


Level Advanced





The Trouble with Memory

When developers and operations are asked: what is the biggest performance bottleneck you face on a regular basis, it's rare that memory inefficiency comes up as an answer. Yet our observations suggest that approximately 60% of all Java applications suffer from this problem.  We also see this inefficiency in new (Java 11/12) and older versions of Java as well as Scala, Ruby, Kotlin, Clojure, Groovy, et al.  We’ve also seen it in C#/CLR applications, on Android devices, in the cloud, on bare metal systems and just about everywhere. There are many reasons why this bottleneck is being overlooked. Quite often this memory inefficiency hides itself as lower application throughput and longer-tail latency events.  These other non-memory issues then take the mistaken blame.  In this session, we’ll look at the telltale signs that your JVM based application is in that 60% memory inefficiency area, and demonstrate steps you can take with your Java application to attack this problem.


Soho Complex, 7th fl.


Modern Java Innovations




This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.