JVM Internals
-
Core Java

Understanding the Java Memory Model: Visibility, Ordering, and the Guarantees Most Developers Miss
Why the JMM is the invisible contract behind every concurrent Java program — and what breaks when you misread it.…
Read More » -
Enterprise Java

How Spring Proxies Actually Work — And the Four Cases Where They Silently Don’t
A deep-dive into how @Transactional, @Cacheable, and @Async use CGLIB or JDK dynamic proxies — and the four well-known failure…
Read More » -
Core Java

Value Classes (JEP 401): When Records Aren’t Flat Enough for the JIT
How value classes differ from records — no identity, no heap header — where they outperform records in tight loops,…
Read More » -
Core Java

How the JVM Decides What to Compile: Inside the JIT Tier System and Profiling Pipeline
A conceptual walkthrough of C1, C2, tiered compilation, and why the JVM’s optimizer knows more about your code than you…
Read More » -
Core Java

Understanding Garbage Collection Pauses: Why Stop-the-World Still Happens and What the JVM Is Actually Doing
A conceptual guide to safepoints, GC roots, and why even modern collectors like ZGC and Shenandoah cannot always avoid pausing…
Read More » -
Core Java

The Java Memory Model Explained: Happens-Before and Concurrency Semantics
There is a quiet assumption embedded in almost every line of Java ever written: that when one thread writes a…
Read More » -
Core Java

Stop Using Virtual Threads for Everything: Performance Lessons Learned
When JEP 444 landed in Java 21 in September 2023, the reaction across the Java community was unusually enthusiastic. Virtual threads promised…
Read More » -
Core Java

Project Panama FFM API: Calling C Code Without JNI Hell
Java has always needed a way to call native code. Scientific computing, image processing, hardware drivers, cryptography libraries — the…
Read More » -
Core Java

Java 26 Primitive Types in Patterns — The Interview Trap
Java 26 ships JEP 530 — the fourth preview of primitive types in patterns — and with it comes one of the…
Read More »
- 1
- 2

