Ring Buffer Tutorial
Ring buffers are fast bounded queue implementations. This tutorial explains how a ring buffer works and shows two different implementations in Java.
Event-driven architecture is an architectural style where individual services in the system listen for events from each other, and from the outside world. The events are often stored in one or more central event queues.
Race Conditions and Critical Sections
I have updated my tutorial about race conditions and critical sections. It is part of my Java concurrency tutorial. Now it better explains the concepts and problems.
JMH - Java Microbenchmark Harness
JMH is a small toolkit that makes it easier for you to write correct performance benchmarks for your Java components. JMH is made by the same people who develop the JVM, so these guys know what they are doing.
Memory Management for Performance
How you manage memory has a big impact on the performance of your application. This tutorial explains a few reusable memory management techniques and principles that you can use in your applications to speed them up.
This tutorial contains the minimum set of facts you should know about how modern hardware works, in order to tune the performance of your Java applications.
Java Performance Tutorial
Java performance tuning is a bit of a black art. It is not so easy to find information about. Therefore I have started a new tutorial about Java performance tuning where I collect tips and tricks from the masters of Java performance.
Java volatile tutorial updated
I have updated my Java volatile keyword tutorial. Now it also explains the happens-before guarantee of the volatile keyword, as well as better explain what volatile guarantees and does not guarantee (when synchronized is needed).