Johannes Bechberger's Avatar

Johannes Bechberger

@mostlynerdless.de

OpenJDK hacker at SapMachine, works on hello-ebpf for fun

664
Followers
98
Following
210
Posts
09.01.2024
Joined
Posts Following

Latest posts by Johannes Bechberger @mostlynerdless.de

When you come to the Java 26 talk, a custom-made "Java 26 is boring" shirt could be yours if you win our quiz.

05.03.2026 14:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Looking forward to seeing you again :)

02.03.2026 13:35 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
The Simpsons - β€œBoring”
The Simpsons - β€œBoring” YouTube video by AreaEightyNine

See www.youtube.com/watch?v=I6vy...

26.02.2026 18:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

The submissions will be treated anonymously. Please send them our way at cap.in.the.pocket@gmail.com

26.02.2026 18:32 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

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.

26.02.2026 18:31 πŸ‘ 1 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

I was in the talk and can confirm: I never learned so many things about Llamas (crias...).

24.02.2026 13:24 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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...

24.02.2026 12:54 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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...

16.02.2026 08:20 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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...

13.02.2026 11:36 πŸ‘ 7 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0

Do you know the book "Street-Fighting Mathematics"? It is similar

streetfightingmath.com

12.02.2026 18:55 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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

Think you really know Java? β˜•
Guess the Java version from code snippets in my Java Version Quiz: mostlynerdless.de/java-game/

03.02.2026 07:35 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
JEP 323: Local-Variable Syntax for Lambda Parameters

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...

26.01.2026 08:25 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
JEP 323: Local-Variable Syntax for Lambda Parameters

"Align the syntax of a formal parameter declaration in an implicitly typed lambda expression with the syntax of a local variable declaration." (from the openjdk.org/jeps/323)

25.01.2026 20:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

A tiny puzzler: Is this valid Java?

import java.util.function.Predicate;

public class Test {
Predicate<String> f = (var a) -> a.isEmpty();
}

25.01.2026 00:27 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Thanks :)

22.01.2026 13:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

No, because I only analyse the used Java syntax, so I don't need to build the projects. I just need to parse the Java code.

22.01.2026 13:35 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'm just trying to analyze which Java features existing libraries use. The plan is to implement a tiny code analysis for a (hopefully) upcoming talk.

22.01.2026 13:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'm not looking for small projects, so kestra is good

22.01.2026 12:45 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'm looking for suggestions for modern open-source Java applications and libraries for a code analysis project

22.01.2026 09:15 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
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...

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...

21.01.2026 08:50 πŸ‘ 2 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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...

19.01.2026 07:43 πŸ‘ 4 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
GitHub - SAP/cf-cli-java-plugin: Cloud Foundry CLI Plugin to troubleshoot Java apps Cloud Foundry CLI Plugin to troubleshoot Java apps - SAP/cf-cli-java-plugin

I just released a new version of the cf-cli-java-plugin (github.com/SAP/cf-cli-j...), which solves a rare ssh connection issue by not using the plugin framework to call "cf ssh", but calling it directly via exec.Command

14.01.2026 16:17 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Release Loader for 4.2.1 (v11): Maintenance release Β· 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.2.1 Bug fixes #1599: Workarou...

I have just released version 4.2.1-11 of ap-loader, which combines the 4.2.1 async-profiler maintenance release with a bug fix related to --jfr-sync in ap-loader itself. Get it via Maven or from the GitHub releases: github.com/jvm-profilin...

14.01.2026 08:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It will be a story of blood, sweat, and C++. I'm currently writing the first draft of the storyline. The first part of the talk will cover profiling, followed by an introduction to the new sampler (and why it's a good one), and will conclude with how I integrated the profiler into OpenJDK.

13.01.2026 17:17 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It will probably be one of the most in-depth views into how a feature turned from idea to code in four years. With all the ups and downs.

13.01.2026 09:49 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

Java 25 got a new CPU time profiler, get into the details and the journey to get there in my talk at @jfokus.se early February: jfokus.se

13.01.2026 08:54 πŸ‘ 6 πŸ” 2 πŸ’¬ 2 πŸ“Œ 1
Preview
The Fastest Way to get the Version of a Java Installation - Mostly nerdless Learn how I built the java-version to replace "java -version" and get you the version of a Java binary in less than a millisecond.

After last week's blog post that showed you how OpenJDK is faster than GraalVM, this week you will learn the quickest way to obtain the version of a Java binary (hint: it runs in less than a millisecond): mostlynerdless.de/blog/2026/01...

12.01.2026 08:18 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

But the slight mislead apparently worked.

10.01.2026 21:32 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I updated the SEO description :)

09.01.2026 14:41 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

... and so many different topics

09.01.2026 12:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0