About:

Johannes Bechberger is a JVM developer at SAP, passionate about compilers and program analyses, with interests in profiling and debugging.

Website:

Specializations:

Interests:

Compiler building Program analyses Java security analyses Profiling Debugging Programming languages

Incoming Links:

Subscribe to RSS:
A custom Java concurrency-fuzz-scheduler is utilized to efficiently reproduce a complex bug in OpenJDK, showcasing its effectiveness in debugging race conditions.
The blog post discusses the development of a meta-agent that allows for the instrumentation of native Java agents using the JVMTI API. It explains how the meta-agent can now instrument native agents, providing examples and code sn...
This blog post discusses how to load JFR (Java Flight Recorder) files into a DuckDB database, enabling users to query profiling data using SQL. It introduces a new tool that simplifies the process of transforming JFR files into Du...
The blog post discusses the behavior of the Java Flight Recorder (JFR) when started with the -XX:StartFlightRecorder option, particularly focusing on the logging output that defaults to 'info' during startup. It explains how to si...
The blog post discusses various methods to intentionally waste CPU time for testing purposes, particularly in the context of profiling applications. The author presents seven different implementations of a function to waste CPU ti...
This blog post discusses the optimal sizing of the JfrCPUTimeTraceQueue in Java 25's new CPU-time profiler. It emphasizes the importance of correctly sizing the queue to avoid losing samples or wasting memory. The author presents ...
A new tool, 'java-version', retrieves Java version information in under a millisecond, outperforming the traditional 'java -version' command significantly.
This blog post discusses the complexities of comparing objects from Java Flight Recorder (JFR) recordings, particularly focusing on the differences in how recorded methods and frames are handled. It provides a code example for col...
A guide on programmatically interacting with Java Flight Recorder data using various APIs and the author's basic-jfr-processor library.
The blog post discusses the nature of the sampler queue in Java, questioning whether it should be classified as a queue due to its lack of a dequeue operation. It explains the historical context of the queue's implementation, the ...
jfr-redact is a tool designed to redact sensitive information from Java Flight Recorder files and error logs, enhancing data privacy for developers.
Execjar is a tool that allows developers to easily create executable JARs from standard JAR files, improving usability for Java applications.
Custom JFR events in Java are useful but have limitations with array support, leading to potential data omissions without warnings.
Java 26 prioritizes stability and performance improvements over flashy features, reinforcing its reputation as a reliable platform for developers.
Femtojson is a lightweight JSON parser that implements the official JSON grammar, designed for simplicity and ease of use in parsing basic JSON structures.
OpenJDK (SapMachine) outperforms GraalVM in version emission speed, with significant performance improvements noted in recent benchmarks.
JStall is a command-line tool that helps Java developers inspect application performance by analyzing thread dumps and identifying CPU usage and deadlocks.
Femtocli is a compact command-line parsing library that provides essential features for small tools while maintaining a minimal JAR size.
hprof-redact is a tool designed to redact sensitive data from Java heap dumps, offering a simple interface and customizable transformers for data protection.
This blog post discusses profiling Java applications in Cloud Foundry using a Java plugin developed by the SAP team. It explains how to use the Cloud Foundry CLI to obtain heap and thread dumps, as well as how to profile applicati...
The post details the author's development journey in adding a jvm-support analysis feature to JStall, showcasing their coding process and tools involved.
A Java quiz game challenges users to identify the correct version of Java for given code snippets, showcasing the language's evolution and features.
The blog post provides a guide on creating a unique advent calendar using various technologies such as Gridfinity, 3D printing, vacuum molding, laser cutting, and automated paper cutting. It emphasizes the combination of aesthetic...
The blog post introduces an open-source Android app that allows users to run AI models using the MediaPipe API directly on their phones. The app, which is experimental, enables users to download and test various AI models, includi...