Johannes Bechberger
@parttimen3rd
Hacking on OpenJDK and profilers at @SweetSapMachine
In this weeks blog post I'll show you how develop and run a CAP Spring-Boot Java app locally on your Android phone using Termux and VSCode: mostlynerdless.de/blog/2025/05/0…
I just released ap-loader 4.1 (v10). ap-loader is a wrapper around async-profiler, conveniently packaging all platform versions in one JAR. You can find the newest release on GitHub (github.com/jvm-profiling-…) and soon on Maven Central.
By the way, Firefox has not supported Java applets for 10 years (blog.mozilla.org/futurereleases…) and Chrome for 11 (blog.chromium.org/2013/09/saying…), so essentially nobody will notice the removal of applets from Java.
RIP Java Applets. You made Java popular and helped it grow to what it is today. JEP 504: Remove the Applet API has been proposed to target (openjdk.org/jeps/504), so there will be no more applets with the next JDK (JDK 26).
RIP Java Applets. You made Java popular and helped it grow to what it is today. JEP 504: Remove the Applet API has been proposed to target (openjdk.org/jeps/504), so there will be no more applets with the next JDK (JDK 26).

If you want to see what I'm doing in my spare, watch this talk: app.media.ccc.de/v/gpn23-15-cre…
Learn how to use JFR queries and my new experimental query tool to explore your JFR recordings in this weeks blog post: mostlynerdless.de/blog/2025/06/2…
Learn all about Java 25's new CPU-time profiler and why it matters in this week's blog post: mostlynerdless.de/blog/2025/06/1…
I just updated the JFR events collection (sapmachine.io/jfrevents). It now includes JDK 25 and JDK 26 with my CPUTimeSample event:

It finally happened :)
JEP 509 ("JFR CPU-Time Profiling (Experimental)") updated: Status changed from "Targeted for version 25" to "Integrated for version 25". See openjdk.org/jeps/509
Learn how to install and run Garden Linux on your smartphone using Termux and proot-distro in this week's short blog post: mostlynerdless.de/blog/2025/06/0…
JFR is getting a new method sampler that walks stacks at safepoints in JDK 25. Learn all about the new sampler in this week's blog post: mostlynerdless.de/blog/2025/05/2…
I'll be speaking with David Kiefer next Wednesday on writing Linux schedulers in Java at @jugka : jug-karlsruhe.de/content/sounds… Come by to see the first idle game scheduler in action (a scheduler where you yourself schedule the tasks in form of a cookie clicker style game)
I just released the newest version of my Java profiling plugin for @intellijidea, it includes the newest version of async-profiler: plugins.jetbrains.com/plugin/20937-j…
JEP 509 ("JFR CPU-Time Profiling (Experimental)") added. See openjdk.org/jeps/509
I finally got ap-loader published on maven central: central.sonatype.com/artifact/me.be…
I just released the newest version of ap-loader, a platform independent wrapper for async-profiler. The new versions supports async-profiler 4.0: github.com/jvm-profiling-…
Learn how to create a scheduler that makes your system run fast when you shout at it using sched-ext and hello-ebpf in this week's blog post: mostlynerdless.de/blog/2025/03/2…
Join me to see how we can use an instrumenter that instruments instrumenters in a programmatic way (maven plugin included): mostlynerdless.de/blog/2025/03/1…
Johannes Bechberger, JDK developer and awesome engineer at SapMachine (the JDK team of SAP) x.com/i/broadcasts/1…