
Johannes Bechberger is a JVM developer, MVP Java, and Java Champion working on profilers and their underlying technology in the SapMachine team at SAP. This includes improvements to async-profiler and its ecosystem, a website to view the different JFR event types, and improvements to the FirefoxProfiler, making it usable in the Java world. His work today comprises many open-source contributions and his blog, where he regularly writes on in-depth profiling and debugging topics. He also works on hello-ebpf, the first eBPF library for Java. His most recent contribution is the new CPU Time Profiler in JDK 25.
Upcoming Tuesday, 19.01.2027 18:15h
LOCATION: Zürich
ROOM: PH Zürich, Lagerstrasse 2, 8090 Zürich, Building LAC, Room E071
KEYWORDS: Lessons learned, Open Source, Language, Technology
| AGENDA: | 18:15-19:30h: Talk incl. Q/A After the talk, you will have the opportunity to exchange ideas and network with the speaker and professional colleagues over beer and rich finger foods. |
SPEAKER: Johannes Bechberger COMPANY: SAP
Out-of-memory errors are a common JVM production problem. Finding the real cause means understanding what the JVM has retained in the heap, why it is still reachable, and which objects are keeping your memory alive.
In this talk, we’ll work through real OOM examples and learn how to turn a heap dump into a root cause. We’ll look at the HPROF format, analyze dumps with Eclipse MAT and hprof-analyzer, and explore where AI can help with heap analysis and where it cannot.
We’ll also look at practical ways to capture heap dumps from production, from `jcmd` to integrations with Spring Boot and Cloud Foundry.
But there’s a catch: a heap dump is effectively a snapshot of your application’s memory, and that memory may contain credentials, personal data, database contents, and other sensitive information. We’ll see how easily that data can end up in a dump, why sharing production dumps can be risky, and how `hprof-analyzer redact` can sanitize them before they leave the production environment.
By the end, you’ll know how to go from an `OutOfMemoryError` to the actual problem and a fix, without leaking your production data.
LANGUAGE: Talk: en / Slides: en

Johannes Bechberger is a JVM developer, MVP Java, and Java Champion working on profilers and their underlying technology in the SapMachine team at SAP. This includes improvements to async-profiler and its ecosystem, a website to view the different JFR event types, and improvements to the FirefoxProfiler, making it usable in the Java world. His work today comprises many open-source contributions and his blog, where he regularly writes on in-depth profiling and debugging topics. He also works on hello-ebpf, the first eBPF library for Java. His most recent contribution is the new CPU Time Profiler in JDK 25.
JUG Switzerland aims at promoting the application of Java technology in Switzerland.
JUG Switzerland facilitates the sharing of experience and information among its members. This is accomplished through workshops, seminars and conferences. JUG Switzerland supports and encourages the cooperation between commercial organizations and research institutions.
JUG Switzerland is funded through membership fees.