Skip to main content

Java

Why HeapDumpOnOutOfMemoryError Should Be Avoided in Production
·702 words·4 mins
A comprehensive guide exploring why enabling HeapDumpOnOutOfMemoryError can cause significant performance issues in production environments, which OutOfMemoryError types actually trigger heap dumps, and better alternatives like JFR for memory leak detection and automatic service restart strategies.
Maximizing Request Throughput to Third-Party APIs: A Practical Testing Approach
·892 words·5 mins
Learn how to develop and test high-performance API clients using WebClient, TestContainers, and toxicproxy. This comprehensive guide covers asynchronous request handling, isolated testing environments, and realistic failure simulation for robust microservice development.
OpenJDK JVM Deep Dive: The Most Detailed JVM Memory Structure Analysis
·23344 words·110 mins
A comprehensive deep-dive into JVM memory architecture covering heap memory, metaspace, thread stacks, and compressed object pointers. This technical analysis examines memory allocation processes, Native Memory Tracking, and provides practical examples using tools like jol, jhsdb, and JFR for understanding JVM memory management internals.
OpenJDK JVM Deep Dive: A Complete Guide to Java's PRNG Evolution
·4434 words·21 mins
A comprehensive exploration of pseudo-random number generators in Java, covering everything from basic Linear Congruential algorithms to advanced LXM implementations in Java 17. Learn about algorithm performance, security considerations, and how to choose the right random number generator for your specific use case.
OpenJDK JVM Deep Dive: Java Memory Model - A Comprehensive Guide to Concurrency and Memory Barriers
·12058 words·57 mins
A deep dive into Java Memory Model (JMM) from specification to implementation, covering memory barriers, CPU reordering, and Java 9+ VarHandle APIs. Learn about coherence, causality, consensus, and how volatile, final, and other synchronization mechanisms work under the hood with practical jcstress examples.
The Hidden Performance Killer: Why Code Location in Logs Can Destroy Your Microservice Performance
·898 words·5 mins
Discover how enabling code location in logs can cause severe CPU performance issues in microservices, especially reactive applications. This deep-dive analysis reveals the hidden costs of stack walking in Log4j2 and provides actionable solutions for high-throughput systems.
Troubleshooting a SSL Performance Bottleneck Using JFR
·395 words·2 mins
In-depth analysis of a microservice performance issue with CPU spikes and database connection anomalies. Through JFR profiling, we discovered the root cause was Java SecureRandom blocking on /dev/random and provide solutions using /dev/urandom.