Linux 6.12 introduces scheduler extensions—enabling custom schedulers via eBPF! 🚀 Learn how we used this for concurrency testing in OpenJDK, stopping & starting threads inside the kernel. Don't miss the #FOSDEM2025 session with @parttimen3rd.
🔗 sap.to/6010xbQXp.
Struggling with Java profiling trade-offs?Stability vs. precision is a challenge! Learn how to combine JFR, eBPF probes, & async sampling for accurate profiling. Don't miss the #FOSDEM2025 talk from @BachorikJ and @parttimen3rd on the future of JVM! 🔗 sap.to/6017xjEKD.
Java’s Foreign Function & Memory API (JEP 454) is changing how we call native code! 🔥 In this session, we explore FFI internals, calling conventions, stack layouts & the future of Java-native integration. Don't miss it! #FOSDEM2025
🔗 sap.to/6018xjJsG.
As always, here's the completion notification for our SapMachine October 2024 update. Patches for all supported releases have been built and distributed through all channels. Have fun on sapmachine.io
Virtual Threads in @java have immense potential to change the way server applications run. But it will take time to mature, and there are a few pitfalls to be aware of: Visit github.com/SAP/SapMachine… to read more.
Every new JDK, we get new JFR events. Checkout the new event selector buttons in my JFR event collection (sap.github.io/SapMachine/jfr…) to find all events added since the last LTS and in every specific JDK. Thanks @gunnarmorling for suggesting this feature :)
Calling native code from Java has never been easier: With Project Panama, you can call native functions directly. Read more on this in my latest blog post mostlynerdless.de/blog/2023/12/1…
The new release of my IntelliJ profiler plugin has support for profiling Maven goals like "spring-boot:run" and @QuarkusIO.
The plugin is alive and thriving. Read more on the release at mostlynerdless.de/blog/2023/12/0…
Some JFR events have fake end times (that are equal to the start time). With the new release of sapmachine.io/jfrevents/, I decided to hide them. So no more confusion about ExecutionSample's duration. It has none :)