RSSAmplifier

Blog

David Vlijmincx

David Vlijmincx

davidvlijmincx.comRSS feed ↗10 posts

Latest posts

Thread-Safe Native Memory in Java: VarHandle Access Modes Explained

A practical guide to thread-safe native memory access in Java using VarHandle access modes, covering Plain, Opaque, Acquire/Release, and Volatile with JCStress tests to prove each guarantee.

Managing Native Memory in Java: Arenas, Malloc, and Custom Pools

A practical guide to managing native memory in Java using the Foreign Function & Memory API, covering Arenas, manual allocation, pooling, and slicing

Pointer Arithmetic in Modern Java

In this post, we dive into how to perform pointer arithmetic using the Foreign Function & Memory API to achieve zero-GC memory access.

Project Panama from Zero to hero Part 1

The first part where we introduce project Panama and show some of the basics. We will keep building on this knowledge in the other parts.

Foreign Function Utilities

A simple helper class that makes Foreign Function Interface calls much nicer to work with. In this post we explore how this utility class works and how to use it effectively with records.

Benchmarking and profiling Java code with JMH

In this post, we take a look at how to benchmark Java code

Working with Memory Segments in Java

In this post we cover how to use the memory segments introduced in Java 22

Try Catch and Throw: Error Handling in Java with Code Examples

In this post we cover how to throw, catch, and handle different kind of built in and self made exceptions

Async IO with Java and Panama: Unlocking the Power of IO_uring

When I first started exploring Virtual Threads in Java, I wanted to understand everything about them like, performance characteristics, when they yield, and limitations. This journey led me to an interesting challenge about file I/O operations. These operations cause Virtual Threads to become “pinned” to platform threads, limiting their effectiveness for I/O-heavy applications. This…

Java development for Linux on Mac OS

In this post, we look at how to do Java development for Linux while working on Mac OS.