I arrived in Oslo for @javazone.bsky.social and just wanted to say thank you to the organizers, who were able to sort out any issues for the speakers within minutes (I was clumsy). It's the first conference I'll be speaking at as a newly minted Java Champion. Thanks for being awesome.
Johannes Bechberger
@mostlynerdless.de
OpenJDK hacker at SapMachine, works on hello-ebpf for fun
Why is Arrays.fill 265 times slower on G1GC Good article from Krzysztof Ślusarski krzysztofslusarski.github.io/2026/08/19/g...
[Java][JVM][Tuning][Profiling][G1][JIT] Why is Arrays.fill 265 times slower on G1GC?
[Java][JVM][Tuning][Profiling][G1][JIT] Why is Arrays.fill 265 times slower on G1GC?
krzysztofslusarski.github.io
My fun little blog post titled "OpenJDK is faster than GraalVM Java*" became a major source for GoogleAI, and I don't know why: mostlynerdless.de/blog/2026/07...
I accidentally became Google AI's main resource for GraalVM vs OpenJDK - Mostly nerdless
My fun little blog post titled "OpenJDK is faster than GraalVM Java*", became a major source for GoogleAI, and I don't know why.
mostlynerdless.de
Learn how to create a hand-drawn text reveal for header text with CSS and some clip-path magic in this week's blog posts: mostlynerdless.de/blog/2026/07...
mostlynerdless.de
SAP joined the OpenJDK 15 years ago on the 14th of July 2011, contributing many ports, features, and ecosystem improvements. Let's celebrate: https:// mostlynerdless.de/blog/2026/07/07/celebrating-15-years-of-saps-involvement-in-the-openjdk/
Celebrating 15 years of SAP's involvement in the OpenJDK - Mostly nerdless
SAP joined the OpenJDK 15 years ago on the 14th of July, contributing many ports, features and ecosystem improvements. Let's celebrate.
mostlynerdless.de
Want to make vegan waffles that don't rip or stick even when doing large badges on commercial-grade equipment? Here is a recipe that gives you proper heart waffles with inexperienced labor: mostlynerdless.de/blog/2026/05...
Vegan Waffle Recipe - Mostly nerdless
A vegan waffle recipe for waffles that don't riped apart or stick, using the power of food additives. Made for big events.
mostlynerdless.de
I'm looking forward to speaking at this conference (and did you know that bagels came from Krakow?).
🚀 When your Java app is slow, are you measuring the right thing? Join Johannes Bechberger (@mostlynerdless.de) to explore the brand-new CPU-Time Profiler in JDK 25 (JEP 509) — and learn why execution time alone can mislead you. 2026.geecon.org/speakers/inf... #Java #JDK25 #Performance #Profiling
Femtojar is a new tool and Maven plugin that reduces the size of your tool's JAR files using ProGuard, Zopfli, and a custom classloader. Read more on it in my latest blog post: mostlynerdless.de/blog/2026/04...
Honey, I shrank the JARs - Mostly nerdless
Femtojar is a new tool and Maven plugin to reduce the JAR files of your tools using ProGuard, Zopfli and a custom classloader.
mostlynerdless.de
Dear bluesky: Does anyone here work at #SAP and want to show off a cool #opensource project they work on (at least partially) on company time? Then please message me, as I'm looking for people to tell cool stories in an SAP internal OSPO meetup in Walldorf. Please share...
I released a new version of ap-loader that wraps the newest async-profiler 4.4 version: github.com/jvm-profilin...
Release Loader for 4.4 (v13): async-profiler 4.4 · jvm-profiling-tools/ap-loader
ap-loader v13 Fix bug in AsyncProfilerLoader.getVersion() that caused it to return the same version number twice and crash The following is copied from the wrapped async-profiler release by Andre...
github.com
JCmd allows you to quickly get information on an existing JVM, like thread-dumps. In this blog post, you'll learn to send commands programmatically: mostlynerdless.de/blog/2026/04...
Calling jcmd Commands Programmatically - Mostly nerdless
JCmd allows you to quickly get information on an existing JVM, like thread-dumps. In this blog post you'll learn to send commands programmatically.
mostlynerdless.de
Honestly, it's surprising how easy it is to port a Java CLI into a tiny web-app with @graalvm.org: parttimenerd.github.io/jhserr/ It is far superior to running the CLI on a webserver, as these leads to all sorts of security problems and also privacy concerns (especially with redaction tools).
hs_err Parser — Parse, Redact & Export
parttimenerd.github.io
Ever looked at a HotSpot error file and thought “nope”? I wrote a guide + built a VSCode highlighter and a browser redaction tool (using @graalvm.org). mostlynerdless.de/blog/2026/04...
A secret: Being able to submit a talk to JPrime on it is a good incentive to implement a feature :)
Johannes Bechberger @mostlynerdless.de is back to Sofia to tell us about JDK 25's new CPU-Time Profiler! Live at #jPrime26! Grab Your Pass: 🗓️ 3-4 June 2026 ! 📍 Sofia 🇧🇬 ! 🎫 jprime.io/tickets
Ever looked at a HotSpot error file and thought “nope”? I wrote a guide + built a VSCode highlighter and a browser redaction tool (using @graalvm.org). mostlynerdless.de/blog/2026/04...
On HotSpot Error Files and Useful Tools - Mostly nerdless
Learn all about HotSpot Error Files, a new syntax highlighter for VSCode and a redaction tool running directly in your browser.
mostlynerdless.de
I just updated femtocli, my tiny (<50KB) CLI option parsing library. More bug fixes, better type conversions, and documentation: github.com/parttimenerd...
Release Release 0.4.0 · parttimenerd/femtocli
Added Builtin type converters for short, byte, and char fields ${COMPLETION-CANDIDATES} and ${DEFAULT-VALUE} placeholder expansion in @Parameters descriptions Changed Increased minimal JAR size ...
github.com
Probably the most cool visual explanation for HTTP/3 in #JDK26 by @lutskedev.bsky.social and Johannes Bechberger 🥳🥳🥳!!! #Java #JEP #VoxxedDaysAmsterdam
Join us today at 13:30 in zaal 11 @amsterdam.voxxeddays.com and hear why @mostlynerdless.de and I think that Java 26 is boring! #VDAMS26
Java 26 is here, but it's boring. Nothing really exciting. But that's a good thing, as the boring stability is what made Java successful (co-written with @lutskedev.bsky.social): mostlynerdless.de/blog/2026/03...
Java 26 is boring, and that's a good thing - Mostly nerdless
Java 26 is here, but it's boring. Nothing really exciting. But that's a good thing, as the boring stability is what made Java successful.
mostlynerdless.de
Come and win a "Java 26 is boring" t-shirt :)
Excited for #JCON EUROPE 2026? See Johannes Bechberger at #JCON2026 in Cologne talking about 'Guess the #Java Version' In this interactive #quiz, we'll look through Java snippets from Java 1.0 to Java 25 and try to guess the version... 🎟️ 2026.europe.jcon.one/tickets Free for #JUG members
Parsing JSON is not hard; we can easily build a parser that directly follows a (transformed) JSON grammar, creating femtojson in the process: mostlynerdless.de/blog/2026/03...
Writing a tiny JSON Parser - Mostly nerdless
Parsing JSON is not hard, we can easily build a parser that directly follows a (transformed) JSON grammar, creating femtojson in the process.
mostlynerdless.de
I need your help: If anyone wants to send me an audio snippet saying "Boring" (as in "Java 26 is stable. It's boring."), I would happily accept them. I want to play this audio via a button press during a talk. In other news: I'm speaking at @amsterdam.voxxeddays.com with @lutskedev.bsky.social.
Java Heap Dumps might contain sensitive information; with hprof-redact, you can easily remove it. Learn more in this blog post: mostlynerdless.de/blog/2026/02...
Redacting Data from Heap Dumps via hprof-redact - Mostly nerdless
Java Heap Dumps might contain sensitive information, with hprof-redact you can easily remove it. Learn more in this blog post.
mostlynerdless.de
Command-line parser libraries don't have to be big to support everything you need, like subcommands, validators, and Java-agent-style argument parsing: Introducing femtocli, with a 45KB JAR file. Read more at mostlynerdless.de/blog/2026/02...
Femtocli: A small but mighty CLI library for small CLI tools in < 45KB - Mostly nerdless
Command-line parser libraries don't have to be big to support everything you need: Introducing femtocli, which is smaller than 45KB.
mostlynerdless.de
Redact sensitive data from Java Flight Recorder and JVM crash logs with jfr-redact, a tool for safely sharing profiling and error files: mostlynerdless.de/blog/2026/02...
Redacting Sensitive Data from Java Flight Recorder Files - Mostly nerdless
Redact sensitive data from Java Flight Recorder and JVM crash logs with jfr-redact, a tool for safely sharing profiling and error files.
mostlynerdless.de
Think you really know Java? ☕ Guess the Java version from code snippets in my Java Version Quiz: mostlynerdless.de/java-game/
Guess the Java version of a code snippet in this fun game
A game that let's you guess the Java version of snippets, from Java 1.0 to Java 25
mostlynerdless.de
In this week's blog post, I explain how a chaotic eBPF-based scheduler helps reproduce rare concurrency bugs, illustrated with a real-world OpenJDK case: mostlynerdless.de/blog/2026/01...
JEP 323: Local-Variable Syntax for Lambda Parameters
openjdk.org
A tiny puzzler: Is this valid Java? import java.util.function.Predicate; public class Test { Predicate<String> f = (var a) -> a.isEmpty(); }
I'm looking for suggestions for modern open-source Java applications and libraries for a code analysis project
Async-profiler has released an update that includes native lock profiling and a latency filter. Consequently, ap-loader, which wraps async-profiler in a platform-independent JAR, has also been updated: github.com/jvm-profilin...
Release Loader for 4.3 (v11): Native lock profiling and latency filter · jvm-profiling-tools/ap-loader
ap-loader v11 Fixed JfrSync #25 The following is copied from the wrapped async-profiler release by Andrei Pangin. The source code linked below should be ignored. v4.3 Features #1547: Native lock...
github.com
JFR is great, but do you know how to read and write JFR files programmatically? Learn more in this week's blog post: mostlynerdless.de/blog/2026/01...
Reading and Writing JFR Files Programmatically - Mostly nerdless
JFR is great, but do you know how to read and write JFR files programmatically? Learn more in this week's blog post.
mostlynerdless.de