Field guide · 02
Programming
Full-stack Java, the JVM & distributed systems
Full-stack Java: the JVM, Spring, concurrency, frontend, architecture and tooling.
Field guide · 02
Full-stack Java, the JVM & distributed systems
Full-stack Java: the JVM, Spring, concurrency, frontend, architecture and tooling.
Share groups (KIP-932) let many consumers read the same partition and acknowledge records one by one. How they work, how they differ from consumer groups, and how to use KafkaShareConsumer from Java.
How to measure Java code correctly with JMH, and how virtual threads, compact object headers, AOT caches, the Vector API and lazy constants change what a benchmark actually tells you.
Java virtual threads make thread-per-request cheap again. Here is how to adopt them, what pinning is, and the habits you should drop.
What request(n) really means, how prefetch and limitRate shape demand, and how to choose an overflow strategy when a producer is faster than its consumer.
Build a tiny Java agent that rewrites classes at load time with ASM and records how long each method takes, and learn the pitfalls on the way.