GC forensics by example: multi-second pauses and allocation pressure
This post will analyze a Hotspot GC log exhibiting large GC pauses (> 1 min) leading to allocation pressure and system load as a cause of pathological behaviour on Hotspot’s garbage collector.
How does the default hashCode() work? (and why does it affect biased locking?)
In which scratching the surface of hashCode() leads to a speleology trip through the JVM source reaching object layout, biased locking, and surprising performance implications of relying on the default hashCode().
Contention on sun.misc.Cleaner
I found recently a (dying) JVM with about 10 threads BLOCKED on the sun.misc.Cleaner class instance. This was not the root cause of the failure, but I could learn something by looking into those blocks.
How does the JVM change tenuring thresholds, and when?
On a recent Tuesday evening I ran into this 3 year old JVM question in Stack Overflow. GC features and